From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EE5A145741 for ; Mon, 5 Aug 2024 16:01:24 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DAAAA402E6; Mon, 5 Aug 2024 16:01:24 +0200 (CEST) Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) by mails.dpdk.org (Postfix) with ESMTP id 6BB1A402D2 for ; Mon, 5 Aug 2024 16:01:19 +0200 (CEST) Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-6bb96ef0e96so22549046d6.2 for ; Mon, 05 Aug 2024 07:01:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722866478; x=1723471278; darn=dpdk.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=CaAnbQP5TRDC1tAWPbUNY+k2HBq+l7Y6/gzOyhuCyHU=; b=fIFUkzuXbBVkxZAkWmvzJESJ1E3WCjFXd9SmFYM5LSZOMOBuRgOwsaDLkhgDoFH6lg yB4FqyBYgJk0R3a7VMc45IRcWPjCb5+MsG3qGe7xQHJZeriQGBe7dLLPHgjZ4b3XrQF9 UVkTyLhLw7A03+D3Oot3lk7+Lr5l6IvuDA2/Rpols2wcZeCNvyH0PtEp3yf+vrGOtDhR DsOxws+GPPvI0edD/LXeXkTSWNKhI1653c3DlI0n2qPSfN8rMi1UNFBC0z4VPy3qQ53F rnMY9+PcQsNGnGNpA8TjXn0utPEd3GEUrTBj4yI4QL5LuYZccOUM1gIFnuJe9vzQSOVu jfzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722866478; x=1723471278; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=CaAnbQP5TRDC1tAWPbUNY+k2HBq+l7Y6/gzOyhuCyHU=; b=wMVr+s5E2c9Z4ddWsuNuNAVZ/N/cqns734IgJdudJTRCRSY8bZhpP/F08Q6c/5j/Rc N6qriiwRzBzRjqE5WjkeRxRQnW9j4o366WV30zZdXQTFE1C1ethubmzHOAz+iDCcgi9O AF21biLAOZGRgcA5tluzq6FScIJQ2eqkBMixYVsSE8MWwPS9coemxP6pCpdm7FbooU66 zbkcjm+mDDAnmHcKLPx8myn+hYdmon26e+tIHDk7PFx7RjFcB0ip+1Di4f0cP3s615dl 1OcW5NKY6PwBgnbfFED/Sv8nhIvaaFqhaWJWU1nwUaG+HHKn762/KcBsIs8n9iIeYYU+ tLpA== X-Gm-Message-State: AOJu0YwcbW/TFiiuM5wuM8WDt/XDYeMykXGoyHXRqn1GPEIhvZkNFdqn abePUBFD5JyCUYhUgttYVRHzssaOtAdMQI262dP4BOFLWy55JsOvbmgxjg667d8Xul4e9PxAboY oSTRTkOA5+wvUzVrOf4cZmo7vgL0TiXy43HQ= X-Google-Smtp-Source: AGHT+IFqQ3tG1y1ZmSwwgJRMW8+AqkHME9FHgT6OrLZ4mMQeqyxln3MpuV6GUhlfKwzdlSkoUP9aEGbUM8yZNFiru/U= X-Received: by 2002:a05:6214:310f:b0:6b0:7b41:ca94 with SMTP id 6a1803df08f44-6bb983a65dbmr127891386d6.33.1722866478443; Mon, 05 Aug 2024 07:01:18 -0700 (PDT) MIME-Version: 1.0 From: Lokesh Chakka Date: Mon, 5 Aug 2024 19:31:06 +0530 Message-ID: Subject: resend same queue tx burst To: users Content-Type: multipart/mixed; boundary="000000000000724f03061ef01c06" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org --000000000000724f03061ef01c06 Content-Type: multipart/alternative; boundary="000000000000724f00061ef01c04" --000000000000724f00061ef01c04 Content-Type: text/plain; charset="UTF-8" hi, I've written a small piece of code(PFA) for sending packets. I'm facing two issues here : In rte_pktmbuf_append, if I pass dev_info.max_mtu, it's failing. however, if I set 1500, it is able to allocate. Is there a way to allocate dev_info.max_mtu(9702) ? I want to send the same queue multiple times using rte_eth_tx_burst. First time, it is sending. But the second time it is giving an error. Can someone help me understand? Thanks & Regards -- Lokesh Chakka. --000000000000724f00061ef01c04 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
hi,

I've written a small= piece of code(PFA) for sending packets. I'm facing two issues here :
In rte_pktmbuf_append, if I pass dev_info.max_mtu, it's failin= g. however, if I set 1500, it is able to allocate.
Is there a way to allocate dev_info.max_mtu(9702) ?

I want to send the same queue multiple times using rte_et= h_tx_burst. First time, it is sending. But the second time it is giving an = error.

Can someone help me understand?

Thanks & Regards
--
Lokesh Chakka.
=
--000000000000724f00061ef01c04-- --000000000000724f03061ef01c06 Content-Type: text/plain; charset="US-ASCII"; name="log.txt" Content-Disposition: attachment; filename="log.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lzh1ygaw0 Z2NjIHBtZC5jIC1nIC1vIHBtZCAtSS91c3IvbG9jYWwvbGliNjQgLWxydGVfZWFsIC1scnRlX21i dWYgLWxydGVfZXRoZGV2IC1scnRlX21lbXBvb2wgJiYgLi9wbWQgMCBzIGEKRUFMOiBEZXRlY3Rl ZCBDUFUgbGNvcmVzOiA4NApFQUw6IERldGVjdGVkIE5VTUEgbm9kZXM6IDEKRUFMOiBEZXRlY3Rl ZCBzaGFyZWQgbGlua2FnZSBvZiBEUERLCkVBTDogTXVsdGktcHJvY2VzcyBzb2NrZXQgL3Zhci9y dW4vZHBkay9ydGUvbXBfc29ja2V0CkVBTDogU2VsZWN0ZWQgSU9WQSBtb2RlICdWQScKRUFMOiBW RklPIHN1cHBvcnQgaW5pdGlhbGl6ZWQKRUFMOiBVc2luZyBJT01NVSB0eXBlIDEgKFR5cGUgMSkK RUFMOiBJZ25vcmUgbWFwcGluZyBJTyBwb3J0IGJhcigxKQpFQUw6IElnbm9yZSBtYXBwaW5nIElP IHBvcnQgYmFyKDQpCkVBTDogUHJvYmUgUENJIGRyaXZlcjogbmV0X2ljZSAoODA4Njo1NzlkKSBk ZXZpY2U6IDAwMDA6MWI6MDAuMiAoc29ja2V0IDApCmljZV9kZXZfaW5pdCgpOiBGYWlsZWQgdG8g cmVhZCBkZXZpY2Ugc2VyaWFsIG51bWJlcgoKaWNlX2xvYWRfcGtnX3R5cGUoKTogQWN0aXZlIHBh Y2thZ2UgaXM6IDEuMy4zNi4wLCBJQ0UgT1MgRGVmYXVsdCBQYWNrYWdlIChkb3VibGUgVkxBTiBt b2RlKQpFQUw6IElnbm9yZSBtYXBwaW5nIElPIHBvcnQgYmFyKDEpCkVBTDogSWdub3JlIG1hcHBp bmcgSU8gcG9ydCBiYXIoNCkKRUFMOiBQcm9iZSBQQ0kgZHJpdmVyOiBuZXRfaWNlICg4MDg2OjU3 OWQpIGRldmljZTogMDAwMDoxYjowMC4zIChzb2NrZXQgMCkKaWNlX2Rldl9pbml0KCk6IEZhaWxl ZCB0byByZWFkIGRldmljZSBzZXJpYWwgbnVtYmVyCgppY2VfbG9hZF9wa2dfdHlwZSgpOiBBY3Rp dmUgcGFja2FnZSBpczogMS4zLjM2LjAsIElDRSBPUyBEZWZhdWx0IFBhY2thZ2UgKGRvdWJsZSBW TEFOIG1vZGUpClRFTEVNRVRSWTogTm8gbGVnYWN5IGNhbGxiYWNrcywgbGVnYWN5IHNvY2tldCBu b3QgY3JlYXRlZAptYWluIDUwIHBvcnQgaWQ6IDAgbnVtX29mX3BrdHNfcGVyX3F1ZXVlOiA0MDk2 CmljZV9zZXRfcnhfZnVuY3Rpb24oKTogVXNpbmcgQVZYMiBWZWN0b3IgUnggKHBvcnQgMCkuCmlj ZV9pbnRlcnJ1cHRfaGFuZGxlcigpOiBPSUNSOiBNREQgZXZlbnQKaWNlX2ludGVycnVwdF9oYW5k bGVyKCk6IE9JQ1I6IE1ERCBldmVudAppY2VfaW50ZXJydXB0X2hhbmRsZXIoKTogT0lDUjogTURE IGV2ZW50CmljZV9pbnRlcnJ1cHRfaGFuZGxlcigpOiBPSUNSOiBNREQgZXZlbnQKbWFpbiAxMDUg cG9ydDogMCBwYWNrZXQ6IGEgc2VudCA0MDk2IHBhY2tldHMKaWNlX2ludGVycnVwdF9oYW5kbGVy KCk6IE9JQ1I6IE1ERCBldmVudAoyIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKRUFMOiBFcnJv ciAtIGV4aXRpbmcgd2l0aCBjb2RlOiAxCiAgQ2F1c2U6IG1haW4gMTAzIHJ0ZV9ldGhfdHhfYnVy c3QgcG9ydCBpZDogMAoK --000000000000724f03061ef01c06 Content-Type: text/x-csrc; charset="US-ASCII"; name="pmd.c" Content-Disposition: attachment; filename="pmd.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lzh1ygcd1 Ly9wbWQgMCBzIGEKI2luY2x1ZGU8cnRlX2V0aGRldi5oPgojaW5jbHVkZTxydGVfbWFsbG9jLmg+ CiNpbmNsdWRlPHB0aHJlYWQuaD4KI2luY2x1ZGU8c2lnbmFsLmg+CgpfQm9vbCByZWNlaXZlZF9z aWdpbnQgPSBmYWxzZTsKCnN0cnVjdCBydGVfZXRoX2NvbmYgcG9ydF9jb25mID0KewoJLnJ4bW9k ZSA9IHsgLm1xX21vZGUgPSBSVEVfRVRIX01RX1JYX05PTkUsIH0sCgkudHhtb2RlID0geyAubXFf bW9kZSA9IFJURV9FVEhfTVFfVFhfTk9ORSwgfSwKfTsKCnN0YXRpYyB2b2lkIFNJR0lOVF9zaWdu YWxfaGFuZGxlciggY29uc3QgaW50IHNpZ25hbCApCnsKCWZwcmludGYoIHN0ZGVyciwgIlxiXGJS ZWNlaXZlZCBJbnRlcnJ1cHQgU2lnbmFsIFNJR0lOVCAoJWQpLiBFeGl0aW5nLi4uXG4iLCBzaWdu YWwgKTsKCXJlY2VpdmVkX3NpZ2ludCA9IHRydWU7Cn0KCmludCBtYWluKCBpbnQgYXJnYywgY2hh ciAqKmFyZ3YgKQp7Cgl1aW50MTZfdCBwa3RfY291bnQsIG51bV9vZl9wa3RzX3JjdmQ7CglzdHJ1 Y3QgcnRlX2V0aF9kZXZfaW5mbyBkZXZfaW5mbzsKCglpZiggc2lnbmFsKCBTSUdJTlQsIFNJR0lO VF9zaWduYWxfaGFuZGxlciApID09IFNJR19FUlIgKQoJewoJCWZwcmludGYoIHN0ZGVyciwgIiVz ICVkIFNJR0lOVCBzaWduYWwgaGFuZGxpbmcgZmFpbGVkXG4iLCBfX2Z1bmNfXywgX19MSU5FX18g KTsKCQlleGl0KCAxICk7Cgl9Cgljb25zdCBpbnQgcmV0ID0gcnRlX2VhbF9pbml0KCBhcmdjLCBh cmd2ICk7CglpZiggcmV0IDwgMCApCgkJcnRlX2V4aXQoIEVYSVRfRkFJTFVSRSwgIkVycm9yIHdp dGggRUFMIGluaXRpYWxpemF0aW9uXG4iICk7CglhcmdjIC09IHJldDsKCWFyZ3YgKz0gcmV0OwoJ Y29uc3QgaW50IHBvcnRfaWQgPSBhdG9pKCBhcmd2WzFdICk7Cgljb25zdCBjaGFyIHNlbmRfcmVj diA9IGFyZ3ZbMl1bMF07CglpZiggcnRlX2V0aF9kZXZfaW5mb19nZXQoIHBvcnRfaWQsICZkZXZf aW5mbyApICE9IDAgKQoJCXJ0ZV9leGl0KCBFWElUX0ZBSUxVUkUsICIlcyAlZCBydGVfZXRoX2Rl dl9pbmZvX2dldFxuIiwgX19mdW5jX18sIF9fTElORV9fICk7Cgljb25zdCBpbnQgc29jayA9IHJ0 ZV9ldGhfZGV2X3NvY2tldF9pZCggcG9ydF9pZCApOwoJaWYoIHNvY2sgPT0gLTEgKQoJCXJ0ZV9l eGl0KCBFWElUX0ZBSUxVUkUsICIlcyAlZCBydGVfZXRoX2Rldl9zb2NrZXRfaWQgcG9ydCBpZDog JXUiLCBfX2Z1bmNfXywgX19MSU5FX18sIHBvcnRfaWQgKTsKLy8JaWYoIHJ0ZV9ldGhfcHJvbWlz Y3VvdXNfZW5hYmxlKCBwb3J0X2lkICkgIT0gMCApCi8vCQlydGVfZXhpdCggRVhJVF9GQUlMVVJF LCAiJXMgJWQgcnRlX2V0aF9wcm9taXNjdW91c19lbmFibGUgcG9ydCBpZDogJXUiLCBfX2Z1bmNf XywgX19MSU5FX18sIHBvcnRfaWQgKTsKCWNoYXIgbWVtX3Bvb2xfbmFtZVsyMF07CglzcHJpbnRm KCBtZW1fcG9vbF9uYW1lLCAicG9vbF8ldV8lYyIsIHBvcnRfaWQsIHNlbmRfcmVjdiApOwoJY29u c3QgdWludDMyX3QgbnVtX29mX3BrdHNfcGVyX3F1ZXVlID0gNDA5NjsKCXN0cnVjdCBydGVfbWJ1 ZiAqbWJ1ZltudW1fb2ZfcGt0c19wZXJfcXVldWVdOwoJY2hhciAqcGFja2V0X2J1ZmZlcltudW1f b2ZfcGt0c19wZXJfcXVldWVdOwoJZnByaW50Ziggc3RkZXJyLCAiJXMgJWQgcG9ydCBpZDogJWQg bnVtX29mX3BrdHNfcGVyX3F1ZXVlOiAldVxuIiwgX19mdW5jX18sIF9fTElORV9fLCBwb3J0X2lk LCBudW1fb2ZfcGt0c19wZXJfcXVldWUgKTsKCXN0cnVjdCBydGVfbWVtcG9vbCAqbWVtX3Bvb2wg PSBydGVfcGt0bWJ1Zl9wb29sX2NyZWF0ZSggbWVtX3Bvb2xfbmFtZSwgbnVtX29mX3BrdHNfcGVy X3F1ZXVlLCBSVEVfTUVNUE9PTF9DQUNIRV9NQVhfU0laRSwgMCwgUlRFX01CVUZfREVGQVVMVF9C VUZfU0laRSwgc29jayApOwoJaWYoIG1lbV9wb29sID09IE5VTEwgKQoJewoJCWZwcmludGYoIHN0 ZGVyciwgIiVkICVzXG4iLCBydGVfZXJybm8sIHJ0ZV9zdHJlcnJvcihydGVfZXJybm8pICk7CgkJ cnRlX2V4aXQoIEVYSVRfRkFJTFVSRSwgIiVzICVkIHJ0ZV9wa3RtYnVmX3Bvb2xfY3JlYXRlIHBv cnQgaWQ6ICV1XG4iLCBfX2Z1bmNfXywgX19MSU5FX18sIHBvcnRfaWQgKTsKCX0KCWZvciggcGt0 X2NvdW50PTA7IHBrdF9jb3VudDxudW1fb2ZfcGt0c19wZXJfcXVldWU7IHBrdF9jb3VudCsrICkK CXsKCQltYnVmW3BrdF9jb3VudF0gPSBydGVfcGt0bWJ1Zl9hbGxvYyggbWVtX3Bvb2wgKTsKCQlp ZiggbWJ1Zltwa3RfY291bnRdID09IE5VTEwgKQoJCQlydGVfZXhpdCggRVhJVF9GQUlMVVJFLCAi JXMgJWQgcnRlX3BrdG1idWZfYWxsb2MgcG9ydCBpZDogJXUgcGt0X2NvdW50OiAldSIsIF9fZnVu Y19fLCBfX0xJTkVfXywgcG9ydF9pZCwgcGt0X2NvdW50ICk7CgkJY29uc3QgdWludDE2X3QgcGt0 X3NpemUgPSAxNTAwOwoJCXBhY2tldF9idWZmZXJbcGt0X2NvdW50XSA9IHJ0ZV9wa3RtYnVmX2Fw cGVuZCggbWJ1Zltwa3RfY291bnRdLCBwa3Rfc2l6ZSApOwoJCWlmKCBwYWNrZXRfYnVmZmVyW3Br dF9jb3VudF0gPT0gTlVMTCApCgkJewoJCQlmcHJpbnRmKCBzdGRlcnIsICIlZCAlcyBtYXhfbXR1 OiAldVxuIiwgcnRlX2Vycm5vLCBydGVfc3RyZXJyb3IocnRlX2Vycm5vKSwgcGt0X3NpemUgKTsK CQkJcnRlX2V4aXQoIEVYSVRfRkFJTFVSRSwgIiVzICVkIHJ0ZV9wa3RtYnVmX2FwcGVuZCBwb3J0 IGlkOiAldSBwa3RfY291bnQ6ICV1XG4iLCBfX2Z1bmNfXywgX19MSU5FX18sIHBvcnRfaWQsIHBr dF9jb3VudCApOwoJCX0KCX0KCWlmKCBzZW5kX3JlY3YgPT0gJ3MnICkKCXsKCQlpZiggcnRlX2V0 aF9kZXZfY29uZmlndXJlKCBwb3J0X2lkLCAwLCAxLCAmcG9ydF9jb25mICkgIT0gMCApCgkJCXJ0 ZV9leGl0KCBFWElUX0ZBSUxVUkUsICIlcyAlZCBydGVfZXRoX2Rldl9jb25maWd1cmUgcG9ydCBp ZDogJXUiLCBfX2Z1bmNfXywgX19MSU5FX18sIHBvcnRfaWQgKTsKCQlpZiggcnRlX2V0aF90eF9x dWV1ZV9zZXR1cCggcG9ydF9pZCwgMCwgbnVtX29mX3BrdHNfcGVyX3F1ZXVlLCAodW5zaWduZWQg aW50KXNvY2ssIE5VTEwgKSA8IDAgKQoJCQlydGVfZXhpdCggRVhJVF9GQUlMVVJFLCAiJXMgJWQg cnRlX2V0aF90eF9xdWV1ZV9zZXR1cCBwb3J0IGlkOiAldSIsIF9fZnVuY19fLCBfX0xJTkVfXywg cG9ydF9pZCApOwoJCWZvciggcGt0X2NvdW50PTA7IHBrdF9jb3VudDxudW1fb2ZfcGt0c19wZXJf cXVldWU7IHBrdF9jb3VudCsrICkKCQl7CgkJCW1lbXNldCggcGFja2V0X2J1ZmZlcltwa3RfY291 bnRdLCBhcmd2WzNdWzBdLCBkZXZfaW5mby5tYXhfbXR1ICk7CgkJCXBhY2tldF9idWZmZXJbcGt0 X2NvdW50XVtkZXZfaW5mby5tYXhfbXR1LTFdID0gJ1wwJzsKCQkJbWJ1Zltwa3RfY291bnRdLT5w a3RfbGVuID0gbWJ1Zltwa3RfY291bnRdLT5kYXRhX2xlbiA9IGRldl9pbmZvLm1heF9tdHU7CgkJ fQoJfQoJZWxzZSBpZiggc2VuZF9yZWN2ID09ICdyJyApCgl7CgkJaWYoIHJ0ZV9ldGhfZGV2X2Nv bmZpZ3VyZSggcG9ydF9pZCwgMSwgMCwgJnBvcnRfY29uZiApICE9IDAgKQoJCQlydGVfZXhpdCgg RVhJVF9GQUlMVVJFLCAiJXMgJWQgcnRlX2V0aF9kZXZfY29uZmlndXJlIHBvcnQgaWQ6ICV1Iiwg X19mdW5jX18sIF9fTElORV9fLCBwb3J0X2lkICk7CgkJaWYoIHJ0ZV9ldGhfcnhfcXVldWVfc2V0 dXAoIHBvcnRfaWQsIDAsIG51bV9vZl9wa3RzX3Blcl9xdWV1ZSwgKHVuc2lnbmVkIGludClzb2Nr LCBOVUxMLCBtZW1fcG9vbCApIDwgMCApCgkJCXJ0ZV9leGl0KCBFWElUX0ZBSUxVUkUsICIlcyAl ZCBydGVfZXRoX3J4X3F1ZXVlX3NldHVwIHBvcnQgaWQ6ICV1IiwgX19mdW5jX18sIF9fTElORV9f LCBwb3J0X2lkICk7Cgl9CgllbHNlCgl7CgkJcnRlX2V4aXQoIEVYSVRfRkFJTFVSRSwgIiVzICVk IEludmFsaWQgcGFyYW0gJWMgcG9ydCBpZDogJXUiLCBfX2Z1bmNfXywgX19MSU5FX18sIHNlbmRf cmVjdiwgcG9ydF9pZCApOwoJfQoJaWYoIHJ0ZV9ldGhfZGV2X3N0YXJ0KCBwb3J0X2lkICkgPCAw ICkKCQlydGVfZXhpdCggRVhJVF9GQUlMVVJFLCAiJXMgJWQgcnRlX2V0aF9kZXZfc3RhcnQgcG9y dCBpZDogJXUiLCBfX2Z1bmNfXywgX19MSU5FX18sIHBvcnRfaWQgKTsKCXdoaWxlKCByZWNlaXZl ZF9zaWdpbnQgPT0gZmFsc2UgKQoJewoJCWlmKCBzZW5kX3JlY3YgPT0gJ3MnICkKCQl7CgkJCWlm KCBydGVfZXRoX3R4X2J1cnN0KCBwb3J0X2lkLCAwLCBtYnVmLCBudW1fb2ZfcGt0c19wZXJfcXVl dWUgKSAhPSBudW1fb2ZfcGt0c19wZXJfcXVldWUgKQoJCQl7CgkJCQlmcHJpbnRmKCBzdGRlcnIs ICIlZCAlc1xuIiwgcnRlX2Vycm5vLCBydGVfc3RyZXJyb3IocnRlX2Vycm5vKSApOwoJCQkJcnRl X2V4aXQoIEVYSVRfRkFJTFVSRSwgIiVzICVkIHJ0ZV9ldGhfdHhfYnVyc3QgcG9ydCBpZDogJXVc biIsIF9fZnVuY19fLCBfX0xJTkVfXywgcG9ydF9pZCApOwoJCQl9CgkJCWZwcmludGYoIHN0ZGVy ciwgIiVzICVkIHBvcnQ6ICV1IHBhY2tldDogJWMgc2VudCAldSBwYWNrZXRzXG4iLCBfX2Z1bmNf XywgX19MSU5FX18sIHBvcnRfaWQsIGFyZ3ZbM11bMF0sIG51bV9vZl9wa3RzX3Blcl9xdWV1ZSAp OwoJCX0KCQllbHNlIGlmKCBzZW5kX3JlY3YgPT0gJ3InICkKCQl7CgkJCWZwcmludGYoIHN0ZGVy ciwgInBvcnQ6ICV1IHJ0ZV9ldGhfcnhfYnVyc3RcbiIsIHBvcnRfaWQgKTsKCQkJbnVtX29mX3Br dHNfcmN2ZCA9IHJ0ZV9ldGhfcnhfYnVyc3QoIHBvcnRfaWQsIDAsIG1idWYsIG51bV9vZl9wa3Rz X3Blcl9xdWV1ZSApOwoJCQlmb3IoIHBrdF9jb3VudD0wOyBwa3RfY291bnQ8bnVtX29mX3BrdHNf cmN2ZDsgcGt0X2NvdW50KysgKQoJCQl7CgkJCQlpZiggbWJ1Zltwa3RfY291bnRdLT5wa3RfbGVu ICE9IG1idWZbcGt0X2NvdW50XS0+ZGF0YV9sZW4gKQoJCQkJCXJ0ZV9leGl0KCBFWElUX0ZBSUxV UkUsICIlcyAlZCBtYnVmW3BrdF9jb3VudF0tPnBrdF9sZW4oJXUpICE9IG1idWZbcGt0X2NvdW50 XS0+ZGF0YV9sZW4oJXUpIHBvcnQgaWQ6ICV1IiwgX19mdW5jX18sIF9fTElORV9fLCBtYnVmW3Br dF9jb3VudF0tPnBrdF9sZW4sIG1idWZbcGt0X2NvdW50XS0+ZGF0YV9sZW4sIHBvcnRfaWQgKTsK CQkJCWlmKCBtYnVmW3BrdF9jb3VudF0tPnBrdF9sZW4gPiA0MCApCgkJCQkJbWJ1Zltwa3RfY291 bnRdLT5wa3RfbGVuID0gNDA7CgkJCQlmcHJpbnRmKCBzdGRlcnIsICJwb3J0OiAldSBwa3QgY291 bnQ6ICV1XHQiLCBwb3J0X2lkLCBwa3RfY291bnQgKTsKCQkJCWZvciggdWludDhfdCBpPTA7IGk8 bWJ1Zltwa3RfY291bnRdLT5wa3RfbGVuOyBpKysgKQoJCQkJCWZwcmludGYoIHN0ZGVyciwgIiUw MlggIiwgcGFja2V0X2J1ZmZlcltwa3RfY291bnRdW2ldICk7CgkJCQlmcHJpbnRmKCBzdGRlcnIs ICJcbiIgKTsKCQkJfQoJCX0KCX0KCWZvciggcGt0X2NvdW50PTA7IHBrdF9jb3VudDxudW1fb2Zf cGt0c19wZXJfcXVldWU7IHBrdF9jb3VudCsrICkKCXsKCQlydGVfcGt0bWJ1Zl9mcmVlKCBtYnVm W3BrdF9jb3VudF0gKTsKCX0KCXJ0ZV9tZW1wb29sX2ZyZWUoIG1lbV9wb29sICk7CglpZiggcnRl X2V0aF9kZXZfc3RvcCggcG9ydF9pZCApIDwgMCApCgkJcnRlX2V4aXQoIEVYSVRfRkFJTFVSRSwg IiVzICVkIHJ0ZV9ldGhfZGV2X3N0b3AgcG9ydCBpZDogJXUiLCBfX2Z1bmNfXywgX19MSU5FX18s IHBvcnRfaWQgKTsKCXJldHVybiAwOwp9Cg== --000000000000724f03061ef01c06--