From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 20926A0096 for ; Mon, 8 Apr 2019 08:10:16 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CE4392BCE; Mon, 8 Apr 2019 08:10:14 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20053.outbound.protection.outlook.com [40.107.2.53]) by dpdk.org (Postfix) with ESMTP id 870002B95 for ; Mon, 8 Apr 2019 08:10:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UbxbO+1YdU8owVntrkmU3LgOrUP5VoacW7WY2/T+joY=; b=qN8lEzCXUvkBacGXRU/kd+XcWa2vbS64VinCjelLOdmV3DM/zn6466GyTuf6nYLNT4Xn4T12vadxeMWK2AB+0I6392qi3WFlst5Ocufj9mIR2StqsZSuZBloQ1rUDm0KII3owPHJtbJLR0aAH8/qrHL0XMNcRKrM4nQHZOudlRw= Received: from AM6PR08MB3782.eurprd08.prod.outlook.com (20.178.89.23) by AM6PR08MB5128.eurprd08.prod.outlook.com (10.255.120.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1771.16; Mon, 8 Apr 2019 06:10:11 +0000 Received: from AM6PR08MB3782.eurprd08.prod.outlook.com ([fe80::a019:568d:d0c2:59b7]) by AM6PR08MB3782.eurprd08.prod.outlook.com ([fe80::a019:568d:d0c2:59b7%4]) with mapi id 15.20.1771.014; Mon, 8 Apr 2019 06:10:10 +0000 From: "Ruifeng Wang (Arm Technology China)" To: "Shreyansh.jain@nxp.com" , "dev@dpdk.org" CC: nd Thread-Topic: [dpdk-dev] [PATCH] examples/l3fwd: support separate buffer pool per port Thread-Index: AQHUo1eqaIUoRjuicUqwMQcvs709jaYyVziw Date: Mon, 8 Apr 2019 06:10:10 +0000 Message-ID: References: <20190103112932.4415-1-shreyansh.jain@nxp.com> In-Reply-To: <20190103112932.4415-1-shreyansh.jain@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ruifeng.Wang@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0beee340-c6d2-45f7-ff33-08d6bbe8db8c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600139)(711020)(4605104)(4618075)(2017052603328)(7193020); SRVR:AM6PR08MB5128; x-ms-traffictypediagnostic: AM6PR08MB5128: x-ms-exchange-purlcount: 1 x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr nodisclaimer: True x-microsoft-antispam-prvs: x-forefront-prvs: 0001227049 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(396003)(376002)(136003)(39850400004)(346002)(13464003)(189003)(199004)(97736004)(186003)(74316002)(33656002)(7696005)(81156014)(76176011)(14454004)(14444005)(256004)(102836004)(2501003)(8936002)(3846002)(81166006)(53936002)(26005)(6436002)(2906002)(55236004)(4326008)(53546011)(105586002)(106356001)(99286004)(6506007)(305945005)(7736002)(71200400001)(71190400001)(6116002)(68736007)(316002)(446003)(6246003)(6306002)(5660300002)(229853002)(86362001)(11346002)(9686003)(476003)(486006)(110136005)(72206003)(25786009)(66066001)(52536014)(966005)(55016002)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB5128; H:AM6PR08MB3782.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: zrwUlmGcXkQKvS3PBek3DMhuXRFHsMrT/vNbR9o7SSMLTt+64Upsg8uKo4L4+OxSGkVmoK04ICyddxLhdY/s+7GpC3zu/kfCANfAp2TwAxa1K2UPJI/DsaDZnHIud97ODU9J7JbP6uYAkRHRlU9q1RednUexSBXQj84uMB/dDFYJyXRJCE1W1WhCI9pJK6Veu9WOWCD9j+LFFmesCCvLPyOpmdMAZsUYlJ1zJ/8PdNzs7vvTR1MF02u3qxhwU8ukc1Es79x538cmUUTuPruLtb8u39wyH4uIDe6vrbrLm+tdQv5bvuRUbTbFpUhP4Hf1i4nN2L3sIbS+7MUZsd0G7XaLH3rSmojnlyBfXXKUqXKqBDN+9SWViV758V3gvtvIKpn3txRj4u9t5umEFX/Zo0SDTpxpjSOl3OCRIJRdbjY= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0beee340-c6d2-45f7-ff33-08d6bbe8db8c X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2019 06:10:10.9070 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5128 Subject: Re: [dpdk-dev] [PATCH] examples/l3fwd: support separate buffer pool per port X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190408061010.gV3vZLN-SUUVz93k_sOsMmepUIS577IckuY4gTnn-HI@z> SGkgU2hyZXlhbnNoLA0KDQpJIHRyaWVkIHRoaXMgcGF0Y2ggb24gTWFjY2hpYXRvQmluICsgODI1 OTkgTklDLg0KQ29tcGFyZWQgd2l0aCBnbG9iYWwtcG9vbCBtb2RlLCBwZXItcG9ydC1wb29sIG1v ZGUgc2hvd2VkIHNsaWdodGx5IGxvd2VyIHBlcmZvcm1hbmNlIGluIHNpbmdsZSBjb3JlIHRlc3Qu DQpJbiBkdWFsIGNvcmUgdGVzdCwgYm90aCBtb2RlcyBoYWQgbmVhcmx5IHNhbWUgcGVyZm9ybWFu Y2UuIA0KDQpNeSBzZXR1cCBvbmx5IGhhcyB0d28gcG9ydHMgd2hpY2ggaXMgbGltaXRlZC4gDQpK dXN0IHdhbnQgdG8ga25vdyB0aGUgcGVyLXBvcnQtcG9vbCBtb2RlIGhhcyBtb3JlIHBlcmZvcm1h bmNlIGdhaW4gd2hlbiBtYW55IHBvcnRzIGFyZSBib3VuZCB0byAgZGlmZmVyZW50IGNvcmVzPw0K DQpVc2VkIGNvbW1hbmRzOg0Kc3VkbyAuL2V4YW1wbGVzL2wzZndkL2J1aWxkL2wzZndkIC1jIDB4 NCAtdyAwMDAwOjAxOjAwLjAgLXcgMDAwMDowMTowMC4xIC0tIC1QIC1wIDMgLS1jb25maWc9Jygw LDAsMiksKDEsMCwyKScgLS1wZXItcG9ydC1wb29sDQpzdWRvIC4vZXhhbXBsZXMvbDNmd2QvYnVp bGQvbDNmd2QgLWMgMHhjIC13IDAwMDA6MDE6MDAuMCAtdyAwMDAwOjAxOjAwLjEgLS0gLVAgLXAg MyAtLWNvbmZpZz0nKDAsMCwyKSwoMSwwLDMpJyAtLXBlci1wb3J0LXBvb2wNCg0KUmVnYXJkcywN Ci9SdWlmZW5nDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IDxk ZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFNocmV5YW5zaCBKYWluDQo+IFNlbnQ6 IDIwMTnE6jHUwjPI1SAxOTozMA0KPiBUbzogZGV2QGRwZGsub3JnDQo+IENjOiBTaHJleWFuc2gg SmFpbiA8c2hyZXlhbnNoLmphaW5AbnhwLmNvbT4NCj4gU3ViamVjdDogW2RwZGstZGV2XSBbUEFU Q0hdIGV4YW1wbGVzL2wzZndkOiBzdXBwb3J0IHNlcGFyYXRlIGJ1ZmZlciBwb29sDQo+IHBlciBw b3J0DQo+IA0KPiBUcmFkaXRpb25hbGx5LCBvbmx5IGEgc2luZ2xlIGJ1ZmZlciBwb29sIHBlciBw b3J0IChvciwgcGVyLXBvcnQtcGVyLXNvY2tldCkgaXMNCj4gY3JlYXRlZCBpbiBsM2Z3ZCBhcHBs aWNhdGlvbi4NCj4gDQo+IElmIHNlcGFyYXRlIHBvb2xzIGFyZSBjcmVhdGVkIHBlci1wb3J0LCBp dCBtaWdodCBsZWFkIHRvIGdhaW4gaW4gcGVyZm9ybWFuY2UgYXMNCj4gcGFja2V0IGFsbG9jL2Rl YWxsb2MgcmVxdWVzdHMgd291bGQgYmUgaXNvbGF0ZWQgYWNyb3NzIHBvcnRzIChhbmQgdGhlaXIN Cj4gY29ycmVzcG9uZGluZyBsY29yZXMpLg0KPiANCj4gVGhpcyBwYXRjaCBhZGRzIGFuIGFyZ3Vt ZW50ICctLXBlci1wb3J0LXBvb2wnIHRvIHRoZSBsM2Z3ZCBhcHBsaWNhdGlvbi4NCj4gQnkgZGVm YXVsdCwgb2xkIG1vZGUgb2Ygc2luZ2xlIHBvb2wgcGVyIHBvcnQgKHNwbGl0IG9uIHNvY2tldHMp IGlzIGFjdGl2ZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFNocmV5YW5zaCBKYWluIDxzaHJleWFu c2guamFpbkBueHAuY29tPg0KPiAtLS0NCj4gDQo+IFJGQzogaHR0cHM6Ly9tYWlscy5kcGRrLm9y Zy9hcmNoaXZlcy9kZXYvMjAxOC1Ob3ZlbWJlci8xMjAwMDIuaHRtbA0KPiANCj4gIGV4YW1wbGVz L2wzZndkL21haW4uYyB8IDc0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LQ0KPiAtLS0tDQo+ICAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRp b25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvbDNmd2QvbWFpbi5jIGIvZXhhbXBs ZXMvbDNmd2QvbWFpbi5jIGluZGV4DQo+IGU0Yjk5ZWZlMC4uN2I5NjgzMTg3IDEwMDY0NA0KPiAt LS0gYS9leGFtcGxlcy9sM2Z3ZC9tYWluLmMNCj4gKysrIGIvZXhhbXBsZXMvbDNmd2QvbWFpbi5j DQo+IEBAIC02OSwxMSArNjksMTMgQEAgc3RhdGljIGludCBwcm9taXNjdW91c19vbjsgIHN0YXRp YyBpbnQgbDNmd2RfbHBtX29uOw0KPiBzdGF0aWMgaW50IGwzZndkX2VtX29uOw0KPiANCj4gKy8q IEdsb2JhbCB2YXJpYWJsZXMuICovDQo+ICsNCj4gIHN0YXRpYyBpbnQgbnVtYV9vbiA9IDE7IC8q KjwgTlVNQSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuICovICBzdGF0aWMgaW50DQo+IHBhcnNlX3B0 eXBlOyAvKio8IFBhcnNlIHBhY2tldCB0eXBlIHVzaW5nIHJ4IGNhbGxiYWNrLCBhbmQgKi8NCj4g IAkJCS8qKjwgZGlzYWJsZWQgYnkgZGVmYXVsdCAqLw0KPiAtDQo+IC0vKiBHbG9iYWwgdmFyaWFi bGVzLiAqLw0KPiArc3RhdGljIGludCBwZXJfcG9ydF9wb29sOyAvKio8IFVzZSBzZXBhcmF0ZSBi dWZmZXIgcG9vbHMgcGVyIHBvcnQ7IGRpc2FibGVkDQo+ICovDQo+ICsJCQkgIC8qKjwgYnkgZGVm YXVsdCAqLw0KPiANCj4gIHZvbGF0aWxlIGJvb2wgZm9yY2VfcXVpdDsNCj4gDQo+IEBAIC0xMzMs NyArMTM1LDggQEAgc3RhdGljIHN0cnVjdCBydGVfZXRoX2NvbmYgcG9ydF9jb25mID0gew0KPiAg CX0sDQo+ICB9Ow0KPiANCj4gLXN0YXRpYyBzdHJ1Y3QgcnRlX21lbXBvb2wgKiBwa3RtYnVmX3Bv b2xbTkJfU09DS0VUU107DQo+ICtzdGF0aWMgc3RydWN0IHJ0ZV9tZW1wb29sDQo+ICpwa3RtYnVm X3Bvb2xbUlRFX01BWF9FVEhQT1JUU11bTkJfU09DS0VUU107DQo+ICtzdGF0aWMgdWludDhfdCBs a3BfcGVyX3NvY2tldFtOQl9TT0NLRVRTXTsNCj4gDQo+ICBzdHJ1Y3QgbDNmd2RfbGtwX21vZGUg ew0KPiAgCXZvaWQgICgqc2V0dXApKGludCk7DQo+IEBAIC0yODUsNyArMjg4LDggQEAgcHJpbnRf dXNhZ2UoY29uc3QgY2hhciAqcHJnbmFtZSkNCj4gIAkJIiBbLS1uby1udW1hXSINCj4gIAkJIiBb LS1oYXNoLWVudHJ5LW51bV0iDQo+ICAJCSIgWy0taXB2Nl0iDQo+IC0JCSIgWy0tcGFyc2UtcHR5 cGVdXG5cbiINCj4gKwkJIiBbLS1wYXJzZS1wdHlwZV0iDQo+ICsJCSIgWy0tcGVyLXBvcnQtcG9v bF1cblxuIg0KPiANCj4gIAkJIiAgLXAgUE9SVE1BU0s6IEhleGFkZWNpbWFsIGJpdG1hc2sgb2Yg cG9ydHMgdG8NCj4gY29uZmlndXJlXG4iDQo+ICAJCSIgIC1QIDogRW5hYmxlIHByb21pc2N1b3Vz IG1vZGVcbiINCj4gQEAgLTI5OSw3ICszMDMsOCBAQCBwcmludF91c2FnZShjb25zdCBjaGFyICpw cmduYW1lKQ0KPiAgCQkiICAtLW5vLW51bWE6IERpc2FibGUgbnVtYSBhd2FyZW5lc3NcbiINCj4g IAkJIiAgLS1oYXNoLWVudHJ5LW51bTogU3BlY2lmeSB0aGUgaGFzaCBlbnRyeSBudW1iZXIgaW4N Cj4gaGV4YWRlY2ltYWwgdG8gYmUgc2V0dXBcbiINCj4gIAkJIiAgLS1pcHY2OiBTZXQgaWYgcnVu bmluZyBpcHY2IHBhY2tldHNcbiINCj4gLQkJIiAgLS1wYXJzZS1wdHlwZTogU2V0IHRvIHVzZSBz b2Z0d2FyZSB0byBhbmFseXplIHBhY2tldA0KPiB0eXBlXG5cbiIsDQo+ICsJCSIgIC0tcGFyc2Ut cHR5cGU6IFNldCB0byB1c2Ugc29mdHdhcmUgdG8gYW5hbHl6ZSBwYWNrZXQNCj4gdHlwZVxuIg0K PiArCQkiICAtLXBlci1wb3J0LXBvb2w6IFVzZSBzZXBhcmF0ZSBidWZmZXIgcG9vbCBwZXIgcG9y dFxuXG4iLA0KPiAgCQlwcmduYW1lKTsNCj4gIH0NCj4gDQo+IEBAIC00NTIsNiArNDU3LDcgQEAg c3RhdGljIGNvbnN0IGNoYXIgc2hvcnRfb3B0aW9uc1tdID0gICNkZWZpbmUNCj4gQ01EX0xJTkVf T1BUX0VOQUJMRV9KVU1CTyAiZW5hYmxlLWp1bWJvIg0KPiAgI2RlZmluZSBDTURfTElORV9PUFRf SEFTSF9FTlRSWV9OVU0gImhhc2gtZW50cnktbnVtIg0KPiAgI2RlZmluZSBDTURfTElORV9PUFRf UEFSU0VfUFRZUEUgInBhcnNlLXB0eXBlIg0KPiArI2RlZmluZSBDTURfTElORV9PUFRfUEVSX1BP UlRfUE9PTCAicGVyLXBvcnQtcG9vbCINCj4gIGVudW0gew0KPiAgCS8qIGxvbmcgb3B0aW9ucyBt YXBwZWQgdG8gYSBzaG9ydCBvcHRpb24gKi8NCj4gDQo+IEBAIC00NjUsNiArNDcxLDcgQEAgZW51 bSB7DQo+ICAJQ01EX0xJTkVfT1BUX0VOQUJMRV9KVU1CT19OVU0sDQo+ICAJQ01EX0xJTkVfT1BU X0hBU0hfRU5UUllfTlVNX05VTSwNCj4gIAlDTURfTElORV9PUFRfUEFSU0VfUFRZUEVfTlVNLA0K PiArCUNNRF9MSU5FX09QVF9QQVJTRV9QRVJfUE9SVF9QT09MLA0KPiAgfTsNCj4gDQo+ICBzdGF0 aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsZ29wdHNbXSA9IHsgQEAgLTQ3NSw2ICs0ODIsNyBAQCBz dGF0aWMgY29uc3QNCj4gc3RydWN0IG9wdGlvbiBsZ29wdHNbXSA9IHsNCj4gIAl7Q01EX0xJTkVf T1BUX0VOQUJMRV9KVU1CTywgMCwgMCwNCj4gQ01EX0xJTkVfT1BUX0VOQUJMRV9KVU1CT19OVU19 LA0KPiAgCXtDTURfTElORV9PUFRfSEFTSF9FTlRSWV9OVU0sIDEsIDAsDQo+IENNRF9MSU5FX09Q VF9IQVNIX0VOVFJZX05VTV9OVU19LA0KPiAgCXtDTURfTElORV9PUFRfUEFSU0VfUFRZUEUsIDAs IDAsDQo+IENNRF9MSU5FX09QVF9QQVJTRV9QVFlQRV9OVU19LA0KPiArCXtDTURfTElORV9PUFRf UEVSX1BPUlRfUE9PTCwgMCwgMCwNCj4gQ01EX0xJTkVfT1BUX1BBUlNFX1BFUl9QT1JUX1BPT0x9 LA0KPiAgCXtOVUxMLCAwLCAwLCAwfQ0KPiAgfTsNCj4gDQo+IEBAIC00ODUsMTAgKzQ5MywxMCBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsZ29wdHNbXSA9IHsNCj4gICAqIFJURV9NQVgg aXMgdXNlZCB0byBlbnN1cmUgdGhhdCBOQl9NQlVGIG5ldmVyIGdvZXMgYmVsb3cgYSBtaW5pbXVt DQo+ICAgKiB2YWx1ZSBvZiA4MTkyDQo+ICAgKi8NCj4gLSNkZWZpbmUgTkJfTUJVRiBSVEVfTUFY KAlcDQo+IC0JKG5iX3BvcnRzKm5iX3J4X3F1ZXVlKm5iX3J4ZCArCQlcDQo+IC0JbmJfcG9ydHMq bmJfbGNvcmVzKk1BWF9QS1RfQlVSU1QgKwlcDQo+IC0JbmJfcG9ydHMqbl90eF9xdWV1ZSpuYl90 eGQgKwkJXA0KPiArI2RlZmluZSBOQl9NQlVGKG5wb3J0cykgUlRFX01BWCgJXA0KPiArCShucG9y dHMqbmJfcnhfcXVldWUqbmJfcnhkICsJCVwNCj4gKwlucG9ydHMqbmJfbGNvcmVzKk1BWF9QS1Rf QlVSU1QgKwlcDQo+ICsJbnBvcnRzKm5fdHhfcXVldWUqbmJfdHhkICsJCVwNCj4gIAluYl9sY29y ZXMqTUVNUE9PTF9DQUNIRV9TSVpFKSwJCVwNCj4gIAkodW5zaWduZWQpODE5MikNCj4gDQo+IEBA IC01OTQsNiArNjAyLDExIEBAIHBhcnNlX2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiAg CQkJcGFyc2VfcHR5cGUgPSAxOw0KPiAgCQkJYnJlYWs7DQo+IA0KPiArCQljYXNlIENNRF9MSU5F X09QVF9QQVJTRV9QRVJfUE9SVF9QT09MOg0KPiArCQkJcHJpbnRmKCJwZXIgcG9ydCBidWZmZXIg cG9vbCBpcyBlbmFibGVkXG4iKTsNCj4gKwkJCXBlcl9wb3J0X3Bvb2wgPSAxOw0KPiArCQkJYnJl YWs7DQo+ICsNCj4gIAkJZGVmYXVsdDoNCj4gIAkJCXByaW50X3VzYWdlKHByZ25hbWUpOw0KPiAg CQkJcmV0dXJuIC0xOw0KPiBAQCAtNjQyLDcgKzY1NSw3IEBAIHByaW50X2V0aGFkZHIoY29uc3Qg Y2hhciAqbmFtZSwgY29uc3Qgc3RydWN0DQo+IGV0aGVyX2FkZHIgKmV0aF9hZGRyKSAgfQ0KPiAN Cj4gIHN0YXRpYyBpbnQNCj4gLWluaXRfbWVtKHVuc2lnbmVkIG5iX21idWYpDQo+ICtpbml0X21l bSh1aW50MTZfdCBwb3J0aWQsIHVuc2lnbmVkIGludCBuYl9tYnVmKQ0KPiAgew0KPiAgCXN0cnVj dCBsY29yZV9jb25mICpxY29uZjsNCj4gIAlpbnQgc29ja2V0aWQ7DQo+IEBAIC02NjQsMTMgKzY3 NywxNCBAQCBpbml0X21lbSh1bnNpZ25lZCBuYl9tYnVmKQ0KPiAgCQkJCXNvY2tldGlkLCBsY29y ZV9pZCwgTkJfU09DS0VUUyk7DQo+ICAJCX0NCj4gDQo+IC0JCWlmIChwa3RtYnVmX3Bvb2xbc29j a2V0aWRdID09IE5VTEwpIHsNCj4gLQkJCXNucHJpbnRmKHMsIHNpemVvZihzKSwgIm1idWZfcG9v bF8lZCIsIHNvY2tldGlkKTsNCj4gLQkJCXBrdG1idWZfcG9vbFtzb2NrZXRpZF0gPQ0KPiArCQlp ZiAocGt0bWJ1Zl9wb29sW3BvcnRpZF1bc29ja2V0aWRdID09IE5VTEwpIHsNCj4gKwkJCXNucHJp bnRmKHMsIHNpemVvZihzKSwgIm1idWZfcG9vbF8lZDolZCIsDQo+ICsJCQkJIHBvcnRpZCwgc29j a2V0aWQpOw0KPiArCQkJcGt0bWJ1Zl9wb29sW3BvcnRpZF1bc29ja2V0aWRdID0NCj4gIAkJCQly dGVfcGt0bWJ1Zl9wb29sX2NyZWF0ZShzLCBuYl9tYnVmLA0KPiAgCQkJCQlNRU1QT09MX0NBQ0hF X1NJWkUsIDAsDQo+ICAJCQkJCVJURV9NQlVGX0RFRkFVTFRfQlVGX1NJWkUsDQo+IHNvY2tldGlk KTsNCj4gLQkJCWlmIChwa3RtYnVmX3Bvb2xbc29ja2V0aWRdID09IE5VTEwpDQo+ICsJCQlpZiAo cGt0bWJ1Zl9wb29sW3BvcnRpZF1bc29ja2V0aWRdID09IE5VTEwpDQo+ICAJCQkJcnRlX2V4aXQo RVhJVF9GQUlMVVJFLA0KPiAgCQkJCQkiQ2Fubm90IGluaXQgbWJ1ZiBwb29sIG9uDQo+IHNvY2tl dCAlZFxuIiwNCj4gIAkJCQkJc29ja2V0aWQpOw0KPiBAQCAtNjc4LDggKzY5MiwxMyBAQCBpbml0 X21lbSh1bnNpZ25lZCBuYl9tYnVmKQ0KPiAgCQkJCXByaW50ZigiQWxsb2NhdGVkIG1idWYgcG9v bCBvbiBzb2NrZXQgJWRcbiIsDQo+ICAJCQkJCXNvY2tldGlkKTsNCj4gDQo+IC0JCQkvKiBTZXR1 cCBlaXRoZXIgTFBNIG9yIEVNKGYuZSBIYXNoKS4gICovDQo+IC0JCQlsM2Z3ZF9sa3Auc2V0dXAo c29ja2V0aWQpOw0KPiArCQkJLyogU2V0dXAgZWl0aGVyIExQTSBvciBFTShmLmUgSGFzaCkuIEJ1 dCwgb25seSBvbmNlDQo+IHBlcg0KPiArCQkJICogYXZhaWxhYmxlIHNvY2tldC4NCj4gKwkJCSAq Lw0KPiArCQkJaWYgKCFsa3BfcGVyX3NvY2tldFtzb2NrZXRpZF0pIHsNCj4gKwkJCQlsM2Z3ZF9s a3Auc2V0dXAoc29ja2V0aWQpOw0KPiArCQkJCWxrcF9wZXJfc29ja2V0W3NvY2tldGlkXSA9IDE7 DQo+ICsJCQl9DQo+ICAJCX0NCj4gIAkJcWNvbmYgPSAmbGNvcmVfY29uZltsY29yZV9pZF07DQo+ ICAJCXFjb25mLT5pcHY0X2xvb2t1cF9zdHJ1Y3QgPQ0KPiBAQCAtODk5LDcgKzkxOCwxNCBAQCBt YWluKGludCBhcmdjLCBjaGFyICoqYXJndikNCj4gIAkJCShzdHJ1Y3QgZXRoZXJfYWRkciAqKSh2 YWxfZXRoICsgcG9ydGlkKSArIDEpOw0KPiANCj4gIAkJLyogaW5pdCBtZW1vcnkgKi8NCj4gLQkJ cmV0ID0gaW5pdF9tZW0oTkJfTUJVRik7DQo+ICsJCWlmICghcGVyX3BvcnRfcG9vbCkgew0KPiAr CQkJLyogcG9ydGlkID0gMDsgdGhpcyBpcyAqbm90KiBzaWduaWZ5aW5nIHRoZSBmaXJzdCBwb3J0 LA0KPiArCQkJICogcmF0aGVyLCBpdCBzaWduaWZpZXMgdGhhdCBwb3J0aWQgaXMgaWdub3JlZC4N Cj4gKwkJCSAqLw0KPiArCQkJcmV0ID0gaW5pdF9tZW0oMCwgTkJfTUJVRihuYl9wb3J0cykpOw0K PiArCQl9IGVsc2Ugew0KPiArCQkJcmV0ID0gaW5pdF9tZW0ocG9ydGlkLCBOQl9NQlVGKDEpKTsN Cj4gKwkJfQ0KPiAgCQlpZiAocmV0IDwgMCkNCj4gIAkJCXJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwg ImluaXRfbWVtIGZhaWxlZFxuIik7DQo+IA0KPiBAQCAtOTY2LDEwICs5OTIsMTYgQEAgbWFpbihp bnQgYXJnYywgY2hhciAqKmFyZ3YpDQo+ICAJCQlydGVfZXRoX2Rldl9pbmZvX2dldChwb3J0aWQs ICZkZXZfaW5mbyk7DQo+ICAJCQlyeHFfY29uZiA9IGRldl9pbmZvLmRlZmF1bHRfcnhjb25mOw0K PiAgCQkJcnhxX2NvbmYub2ZmbG9hZHMgPSBjb25mLT5yeG1vZGUub2ZmbG9hZHM7DQo+IC0JCQly ZXQgPSBydGVfZXRoX3J4X3F1ZXVlX3NldHVwKHBvcnRpZCwgcXVldWVpZCwNCj4gbmJfcnhkLA0K PiAtCQkJCQlzb2NrZXRpZCwNCj4gLQkJCQkJJnJ4cV9jb25mLA0KPiAtCQkJCQlwa3RtYnVmX3Bv b2xbc29ja2V0aWRdKTsNCj4gKwkJCWlmICghcGVyX3BvcnRfcG9vbCkNCj4gKwkJCQlyZXQgPSBy dGVfZXRoX3J4X3F1ZXVlX3NldHVwKHBvcnRpZCwNCj4gcXVldWVpZCwNCj4gKwkJCQkJCW5iX3J4 ZCwgc29ja2V0aWQsDQo+ICsJCQkJCQkmcnhxX2NvbmYsDQo+ICsJCQkJCQlwa3RtYnVmX3Bvb2xb MF1bc29ja2V0aWRdKTsNCj4gKwkJCWVsc2UNCj4gKwkJCQlyZXQgPSBydGVfZXRoX3J4X3F1ZXVl X3NldHVwKHBvcnRpZCwNCj4gcXVldWVpZCwNCj4gKwkJCQkJCW5iX3J4ZCwgc29ja2V0aWQsDQo+ ICsJCQkJCQkmcnhxX2NvbmYsDQo+ICsNCj4gCXBrdG1idWZfcG9vbFtwb3J0aWRdW3NvY2tldGlk XSk7DQo+ICAJCQlpZiAocmV0IDwgMCkNCj4gIAkJCQlydGVfZXhpdChFWElUX0ZBSUxVUkUsDQo+ ICAJCQkJInJ0ZV9ldGhfcnhfcXVldWVfc2V0dXA6IGVycj0lZCwNCj4gcG9ydD0lZFxuIiwNCj4g LS0NCj4gMi4xNy4xDQoNCg==