From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0077.outbound.protection.outlook.com [104.47.1.77]) by dpdk.org (Postfix) with ESMTP id 37AC75B3E for ; Wed, 25 Apr 2018 14:00:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=GjJ8oorDxLPz+o0A+BY0Be2/fFnqi1wIb2ux6cUob0Q=; b=LGb2im1X7/amdxVfVm7gvGXPEmzxPKz2KDEm2Wx8WQ5uKw9BlqbXegug9IZ3uDw6YT4EsoDFWGsLQU69qVVt0Qn73TPzLUysmWeFmcuwUGB6sMm6qM/Bw+1bwTTLEJXGNrjv9nDf6nspsvo3PSeSEGdsFt4/ILK5di6ay8TMiJg= Received: from HE1PR0501MB2314.eurprd05.prod.outlook.com (10.168.34.19) by HE1PR0501MB2747.eurprd05.prod.outlook.com (10.172.125.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.696.15; Wed, 25 Apr 2018 12:00:22 +0000 Received: from HE1PR0501MB2314.eurprd05.prod.outlook.com ([fe80::d405:aec8:cd2f:85cc]) by HE1PR0501MB2314.eurprd05.prod.outlook.com ([fe80::d405:aec8:cd2f:85cc%18]) with mapi id 15.20.0675.018; Wed, 25 Apr 2018 12:00:22 +0000 From: Ophir Munk To: Ferruh Yigit , Pascal Mazon CC: "dev@dpdk.org" , Mordechay Haimovsky , Olga Shern , Thomas Monjalon , Raslan Darawsheh , Shahaf Shuler Thread-Topic: [PATCH v3] net/tap: remove queue specific offload support Thread-Index: AQHT2/VMztHsJDV5x06BviJMlkSv5qQRGsxAgAAiV4CAACQWMA== Date: Wed, 25 Apr 2018 12:00:21 +0000 Message-ID: References: <20180423093846.81133-1-ferruh.yigit@intel.com> <20180424175408.42099-1-ferruh.yigit@intel.com> In-Reply-To: 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=ophirmu@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; HE1PR0501MB2747; 7:zViodScMeGlH6QTk1zMpWT5Nb0+L5/Z2AsQuVsjBXJo4b54RK7igUv7MxFWYRukdB6GJr0M9fSmkdisXLGYSLS5NJMrzBGY6hOi/kAB8QELepkuCdguYnRvHf8NdSF5Cnc2dngBVKy2/tncGT5JCnEEuteTmqYXjMmxLTV+Dou4tV2ESnIoYzPwPIeeGc0Yof+WfNiFq3dzvvXVpXWzKG/JmG+rooATM5hNduPmGWORTDLDBuWaBuDgyYviMkWly x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:HE1PR0501MB2747; x-ms-traffictypediagnostic: HE1PR0501MB2747: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(278428928389397)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231232)(944501410)(52105095)(10201501046)(6055026)(6041310)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:HE1PR0501MB2747; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0501MB2747; x-forefront-prvs: 06530126A4 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(396003)(346002)(376002)(39860400002)(39380400002)(13464003)(189003)(199004)(51914003)(8676002)(9686003)(2906002)(55016002)(81166006)(81156014)(3280700002)(54906003)(3660700001)(68736007)(6436002)(229853002)(6506007)(107886003)(8936002)(110136005)(53936002)(446003)(99286004)(478600001)(2900100001)(66066001)(5250100002)(316002)(4326008)(6246003)(105586002)(186003)(74316002)(5660300001)(7736002)(97736004)(6116002)(305945005)(25786009)(76176011)(7696005)(476003)(3846002)(93886005)(53546011)(486006)(26005)(11346002)(33656002)(106356001)(86362001)(14454004)(102836004)(59450400001); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0501MB2747; H:HE1PR0501MB2314.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: g9o//yJbePt48N+EodsyqepEp7MfuSSeXcu38zsxN3CeWVzJD1QibYXq9+9QCyQNg6coAIqTDAzow2PL7GdCtqwp8458RG5ypw2tm1GoTpe80iMDxBrscCW8PpcnYIIJZaS3cz67wrGWba+algIvtm4hq7r62g2o4rZkHmO6IlXecvC2OMPRz3lQXyP5avqk spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: bef17a99-c43d-4783-f9fb-08d5aaa41f5b X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: bef17a99-c43d-4783-f9fb-08d5aaa41f5b X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2018 12:00:21.8866 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0501MB2747 Subject: Re: [dpdk-dev] [PATCH v3] net/tap: remove queue specific offload support 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: , X-List-Received-Date: Wed, 25 Apr 2018 12:00:25 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IFtt YWlsdG86ZmVycnVoLnlpZ2l0QGludGVsLmNvbV0NCj4gU2VudDogV2VkbmVzZGF5LCBBcHJpbCAy NSwgMjAxOCAxMjo0OCBQTQ0KPiBUbzogT3BoaXIgTXVuayA8b3BoaXJtdUBtZWxsYW5veC5jb20+ OyBQYXNjYWwgTWF6b24NCj4gPHBhc2NhbC5tYXpvbkA2d2luZC5jb20+DQo+IENjOiBkZXZAZHBk ay5vcmc7IE1vcmRlY2hheSBIYWltb3Zza3kgPG1vdGloQG1lbGxhbm94LmNvbT47IE9sZ2ENCj4g U2hlcm4gPG9sZ2FzQG1lbGxhbm94LmNvbT47IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmph bG9uLm5ldD47DQo+IFJhc2xhbiBEYXJhd3NoZWggPHJhc2xhbmRAbWVsbGFub3guY29tPjsgU2hh aGFmIFNodWxlcg0KPiA8c2hhaGFmc0BtZWxsYW5veC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFU Q0ggdjNdIG5ldC90YXA6IHJlbW92ZSBxdWV1ZSBzcGVjaWZpYyBvZmZsb2FkIHN1cHBvcnQNCj4g DQo+IE9uIDQvMjUvMjAxOCAxMDoxOCBBTSwgT3BoaXIgTXVuayB3cm90ZToNCj4gPiBIaSBGZXJy dWgsDQo+ID4NCj4gPiBJIHNob3VsZCBoYXZlIG1lbnRpb25lZCBlYXJsaWVyIHRoYXQgVEFQIGRv ZXMgc3VwcG9ydCBxdWV1ZSBzcGVjaWZpYw0KPiBjYXBhYmlsaXRpZXMuDQo+ID4gUGxlYXNlIGxv b2sgaW4gdGFwX3F1ZXVlX3NldHVwKCkgYW5kIG5vdGUgdGhhdCBlYWNoIFRBUCBxdWV1ZSBpcyBj cmVhdGVkDQo+IHdpdGggYSBkaXN0aW5jdCBmaWxlIGRlc2NyaXB0b3IgKGZkKS4NCj4gPiBUaGVu IHN1cHBvcnRpbmcgYW4gb2ZmbG9hZCBjYXBhYmlsaXR5IGlzIGp1c3QgaW1wbGVtZW50aW5nIGl0 IGluIFNXIChlLmcuDQo+IGNhbGN1bGF0aW5nIElQIGNoZWNrc3VtKS4NCj4gPg0KPiA+IElmIHRo ZSBtYWluIGFzc3VtcHRpb24gb2YgdGhpcyBwYXRjaCB3YXMgdGhhdCBUQVAgZG9lcyBub3Qgc3Vw cG9ydCBxdWV1ZQ0KPiBzcGVjaWZpYyBvZmZsb2FkcyAtIHRoZW4gcGxlYXNlIGNvbnNpZGVyIHRo aXMgcGF0Y2ggYWdhaW4uDQo+IA0KPiBZZXMgdGhhdCB3YXMgdGhlIGluaXRpYWwgcXVlc3Rpb24s IGlzIHRhcCBzdXBwb3J0cyBxdWV1ZSBzcGVjaWZpYyBvZmZsb2FkcyBvcg0KPiBub3QuIFRoYW5r cyBmb3IgdGhlIGFuc3dlci4NCj4gDQo+ID4NCj4gPiBPbiB0aGUgb3RoZXIgaGFuZCB0aGVyZSBp cyBubyBwb3J0IHNwZWNpZmljIGNhcGFiaWxpdHkgc3VwcG9ydGVkIGJ5IFRBUC4NCj4gDQo+IElm IHNvIHZlcmlmeSBmdW5jdGlvbnMgYXJlIHdyb25nLCB0aGF0IHdhcyB0aGUgZXJyb3IgSSBnb3Qu DQoNCkNhbiB5b3UgcGxlYXNlIHNwZWNpZnkgdGhlIHRlc3QgeW91IGRpZCB3aGF0IGVycm9yIHlv dSBnb3Q/IA0KSWYgSSBmaXggc29tZXRoaW5nIEkgd2FudCB0byB2ZXJpZnkgd2hhdCBJIGFtIGZp eGluZy4NCg0KPiBJdCBzZWVtcyBjb3B5L3Bhc3RlIG9mIG1seCBvbmUgYnV0IHRoZSBwb3J0X3N1 cHBfb2ZmbG9hZHMgaGFzIGRpZmZlcmVudA0KPiBtZWFuaW5nIHRoZXJlLg0KPiANCj4gPiBIb3dl dmVyLCBpbiBvcmRlciB0byBzdXBwb3J0IGxlZ2FjeSBhcHBsaWNhdGlvbnMsIHBvcnQgY2FwYWJp bGl0aWVzIGFyZQ0KPiB1c3VhbGx5IHJlcG9ydGVkIGFzIHRoZSBPUiBvcGVyYXRpb24gYmV0d2Vl biBxdWV1ZSAmIHBvcnQgY2FwYWJpbGl0aWVzLg0KPiA+IFRBUCBjdXJyZW50bHkgY2xvbmVzIHRo ZSBxdWV1ZSBjYXBhYmlsaXRpZXMgdG8gcG9ydCBjYXBhYmlsaXRpZXMuIFdlIGNvdWxkDQo+IG9w dGltaXplIHRoaXMgY2xvbmluZyBieSBhbHdheXMgcmV0dXJuIHF1ZXVlIGNhcGFiaWxpdGllcyB3 aGVuIHF1ZXJpZWQgYWJvdXQNCj4gcXVldWVzIG9yIHBvcnRzLiBJbiB0aGlzIGNhc2UgLSB0YXBf cnhfb2ZmbG9hZF9nZXRfcG9ydF9jYXBhKCkgYW5kDQo+IHRhcF90eF9vZmZsb2FkX2dldF9wb3J0 X2NhcGEoKSBjb3VsZCBiZSByZW1vdmVkLg0KPiANCj4gSW5zdGVhZCBvZiByZW1vdmluZyB0aGUg ZnVuY3Rpb25zIEkgdGhpbmsgeW91IGNhbiBrZWVwIHRoZW0gYnV0IHJldHVybg0KPiBjb3JyZWN0 IHZhbHVlcywgaW4gdGhpcyBjYXNlIHJldHVybiBlbXB0eSwgdGhpcyB3aWxsIG1ha2UgdGhlIGV4 aXRpbmcgdmFsaWRhdGlvbg0KPiBmdW5jdGlvbnMgY29ycmVjdC4NCj4gDQo+IENhbiB5b3Ugc2Vu ZCBhIGZpeCBmb3IgdGhhdD8NCj4gSWYgbm8gZml4IHNlbnQsIEkgc3VnZ2VzdCBnb2luZyB3aXRo IHRoaXMgcGF0Y2ggdG8gcmVtb3ZlIHF1ZXVlIGxldmVsIG9mZmxvYWQNCj4gc3VwcG9ydCB1bnRp bCBpdCBpcyBmaXhlZC4NCj4gDQo+ID4NCj4gPiBQbGVhc2UgZmluZCBtb3JlIGNvbW1lbnRzIGlu bGluZS4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBG ZXJydWggWWlnaXQgW21haWx0bzpmZXJydWgueWlnaXRAaW50ZWwuY29tXQ0KPiA+PiBTZW50OiBU dWVzZGF5LCBBcHJpbCAyNCwgMjAxOCA4OjU0IFBNDQo+ID4+IFRvOiBQYXNjYWwgTWF6b24gPHBh c2NhbC5tYXpvbkA2d2luZC5jb20+DQo+ID4+IENjOiBkZXZAZHBkay5vcmc7IEZlcnJ1aCBZaWdp dCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IE1vcmRlY2hheQ0KPiA+PiBIYWltb3Zza3kgPG1v dGloQG1lbGxhbm94LmNvbT47IE9waGlyIE11bmsNCj4gPG9waGlybXVAbWVsbGFub3guY29tPg0K PiA+PiBTdWJqZWN0OiBbUEFUQ0ggdjNdIG5ldC90YXA6IHJlbW92ZSBxdWV1ZSBzcGVjaWZpYyBv ZmZsb2FkIHN1cHBvcnQNCj4gPj4NCj4gPj4gSXQgaXMgbm90IGNsZWFyIGlmIHRhcCBQTUQgc3Vw cG9ydHMgcXVldWUgc3BlY2lmaWMgb2ZmbG9hZHMsIHJlbW92aW5nDQo+ID4+IHRoZSByZWxhdGVk IGNvZGUuDQo+ID4+DQo+ID4+IEZpeGVzOiA5NWFlMTk2YWUxMGIgKCJuZXQvdGFwOiB1c2UgbmV3 IFJ4IG9mZmxvYWRzIEFQSSIpDQo+ID4+IEZpeGVzOiA4MThmZTE0YTk4OTEgKCJuZXQvdGFwOiB1 c2UgbmV3IFR4IG9mZmxvYWRzIEFQSSIpDQo+ID4+IENjOiBtb3RpaEBtZWxsYW5veC5jb20NCj4g Pj4NCj4gPj4gU2lnbmVkLW9mZi1ieTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwu Y29tPg0KPiA+PiAtLS0NCj4gPj4gQ2M6IE9waGlyIE11bmsgPG9waGlybXVAbWVsbGFub3guY29t Pg0KPiA+Pg0KPiA+PiB2MjoNCj4gPj4gKiByZWJhc2VkDQo+ID4+DQo+ID4+IHYzOg0KPiA+PiAq IHR4cS0+Y3N1bSByZXN0b3JlZCwNCj4gPj4gICAtIEVUSF9UWFFfRkxBR1NfSUdOT1JFIGNoZWNr IHJlbW92ZWQgc2luY2UgZXRoZGV2IGxheWVyIHRha2VzIGNhcmUNCj4gPj4gb2YgaXQNCj4gPj4g ICAtIHR4X2NvbmYgIT0gTlVMTCBjaGVjayByZW1vdmVkLCB0aGlzIGlzIGludGVybmFsIGFwaSB3 aG8gY2FsbHMgdGhpcyBpcw0KPiA+PiAgIGV0aGRldiBhbmQgaXQgZG9lc24ndCBwYXNzIG51bGwg dHhfY29uZg0KPiA+PiAtLS0NCj4gPj4gIGRyaXZlcnMvbmV0L3RhcC9ydGVfZXRoX3RhcC5jIHwg MTAyDQo+ID4+ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ PiAgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDkyIGRlbGV0aW9ucygtKQ0KPiA+ Pg0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdGFwL3J0ZV9ldGhfdGFwLmMNCj4gPj4g Yi9kcml2ZXJzL25ldC90YXAvcnRlX2V0aF90YXAuYyBpbmRleCBlZjMzYWFjZTkuLjYxYjRiNWRm MyAxMDA2NDQNCj4gPj4gLS0tIGEvZHJpdmVycy9uZXQvdGFwL3J0ZV9ldGhfdGFwLmMNCj4gPj4g KysrIGIvZHJpdmVycy9uZXQvdGFwL3J0ZV9ldGhfdGFwLmMNCj4gPj4gQEAgLTI3OCwzMSArMjc4 LDYgQEAgdGFwX3J4X29mZmxvYWRfZ2V0X3BvcnRfY2FwYSh2b2lkKQ0KPiA+PiAgCSAgICAgICBE RVZfUlhfT0ZGTE9BRF9DUkNfU1RSSVA7DQo+ID4+ICB9DQo+ID4+DQo+ID4+IC1zdGF0aWMgdWlu dDY0X3QNCj4gPj4gLXRhcF9yeF9vZmZsb2FkX2dldF9xdWV1ZV9jYXBhKHZvaWQpDQo+ID4+IC17 DQo+ID4+IC0JcmV0dXJuIERFVl9SWF9PRkZMT0FEX1NDQVRURVIgfA0KPiA+PiAtCSAgICAgICBE RVZfUlhfT0ZGTE9BRF9JUFY0X0NLU1VNIHwNCj4gPj4gLQkgICAgICAgREVWX1JYX09GRkxPQURf VURQX0NLU1VNIHwNCj4gPj4gLQkgICAgICAgREVWX1JYX09GRkxPQURfVENQX0NLU1VNIHwNCj4g Pj4gLQkgICAgICAgREVWX1JYX09GRkxPQURfQ1JDX1NUUklQOw0KPiA+PiAtfQ0KPiA+PiAtDQo+ ID4NCj4gPiBUQVAgUE1EIHN1cHBvcnRzIGFsbCBvZiB0aGVzZSBSWCBxdWV1ZSBzcGVjaWZpYyBv ZmZsb2Fkcy4gSSBzdWdnZXN0IHRvDQo+IGxlYXZlIHRoaXMgZnVuY3Rpb24gaW4gcGxhY2UuDQo+ ID4NCj4gPj4gLXN0YXRpYyBib29sDQo+ID4+IC10YXBfcnhxX2FyZV9vZmZsb2Fkc192YWxpZChz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDY0X3Qgb2ZmbG9hZHMpIC0NCj4gew0KPiA+PiAt CXVpbnQ2NF90IHBvcnRfb2ZmbG9hZHMgPSBkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZs b2FkczsNCj4gPj4gLQl1aW50NjRfdCBxdWV1ZV9zdXBwX29mZmxvYWRzID0gdGFwX3J4X29mZmxv YWRfZ2V0X3F1ZXVlX2NhcGEoKTsNCj4gPj4gLQl1aW50NjRfdCBwb3J0X3N1cHBfb2ZmbG9hZHMg PSB0YXBfcnhfb2ZmbG9hZF9nZXRfcG9ydF9jYXBhKCk7DQo+ID4+IC0NCj4gPj4gLQlpZiAoKG9m ZmxvYWRzICYgKHF1ZXVlX3N1cHBfb2ZmbG9hZHMgfCBwb3J0X3N1cHBfb2ZmbG9hZHMpKSAhPQ0K PiA+PiAtCSAgICBvZmZsb2FkcykNCj4gPj4gLQkJcmV0dXJuIGZhbHNlOw0KPiA+PiAtCWlmICgo cG9ydF9vZmZsb2FkcyBeIG9mZmxvYWRzKSAmIHBvcnRfc3VwcF9vZmZsb2FkcykNCj4gPj4gLQkJ cmV0dXJuIGZhbHNlOw0KPiA+PiAtCXJldHVybiB0cnVlOw0KPiA+PiAtfQ0KPiA+PiAtDQo+ID4N Cj4gPiBQdXR0aW5nIGFzaWRlIHRoZSBmYWN0IHRoYXQgcXVldWUgb2ZmbG9hZHMgZXF1YWxzIHBv cnQgb2ZmbG9hZHMgKHNvIGNvdWxkDQo+IGlnbm9yZSAicG9ydF9zdXBwX29mZmxvYWQiIHZhcmlh YmxlKSAtIHRoaXMgZnVuY3Rpb24gaXMgZXNzZW50aWFsIHRvIHZhbGlkYXRlDQo+IHRoYXQgdGhl IGNvbmZpZ3VyZWQgUnggb2ZmbG9hZHMgYXJlIHN1cHBvcnRlZCBieSBUQVAuIEkgc3VnZ2VzdCB0 byBsZWF2ZSB0aGlzDQo+IGZ1bmN0aW9uIGluIHBsYWNlLg0KPiA+IFdpdGhvdXQgaXQgLSB0ZXN0 cG1kIGZhbHNlbHkgY29uZmlybXMgbm9uIHN1cHBvcnRlZCBvZmZsb2Fkcy4NCj4gPiBGb3IgZXhh bXBsZSBiZWZvcmUgdGhpcyBwYXRjaDogb2ZmbG9hZGluZyAiaHctdmxhbi1maWx0ZXIiIHdpbGwg ZmFpbCBhcw0KPiBleHBlY3RlZDoNCj4gPg0KPiA+IHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbA0K PiA+IHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbCBody12bGFuLWZpbHRlciBvbiBwb3J0IHN0YXJ0 IGFsbA0KPiA+IENvbmZpZ3VyaW5nIFBvcnQgMCAoc29ja2V0IDApDQo+ID4gUE1EOiBuZXRfdGFw MDogMHgxMjA5ZmMwOiBUWCBjb25maWd1cmVkIHF1ZXVlcyBudW1iZXI6IDENCj4gPiBQTUQ6IG5l dF90YXAwOiAweDEyMDlmYzA6IFJYIGNvbmZpZ3VyZWQgcXVldWVzIG51bWJlcjogMQ0KPiA+IFBN RDogMHgxMjA5ZmMwOiBSeCBxdWV1ZSBvZmZsb2FkcyAweDEyMGUgZG9uJ3QgbWF0Y2ggcG9ydCBv ZmZsb2Fkcw0KPiA+IDB4MTIwZSBvciBzdXBwb3J0ZWQgb2ZmbG9hZHMgMHgzMDBlIEZhaWwgdG8g Y29uZmlndXJlIHBvcnQgMCByeCBxdWV1ZXMNCj4gPg0KPiA+IEhvd2V2ZXIsIHdpdGggdGhpcyBw YXRjaCB0aGlzIGNvbmZpZ3VyYXRpb24gaXMgZmFsc2VseSBhY2NlcHRlZC4NCj4gPg0KPiA+PiAg LyogQ2FsbGJhY2sgdG8gaGFuZGxlIHRoZSByeCBidXJzdCBvZiBwYWNrZXRzIHRvIHRoZSBjb3Jy ZWN0IGludGVyZmFjZSBhbmQNCj4gPj4gICAqIGZpbGUgZGVzY3JpcHRvcihzKSBpbiBhIG11bHRp LXF1ZXVlIHNldHVwLg0KPiA+PiAgICovDQo+ID4+IEBAIC00MTEsMzEgKzM4Niw2IEBAIHRhcF90 eF9vZmZsb2FkX2dldF9wb3J0X2NhcGEodm9pZCkNCj4gPj4gIAkgICAgICAgREVWX1RYX09GRkxP QURfVENQX0NLU1VNOw0KPiA+PiAgfQ0KPiA+Pg0KPiA+PiAtc3RhdGljIHVpbnQ2NF90DQo+ID4+ IC10YXBfdHhfb2ZmbG9hZF9nZXRfcXVldWVfY2FwYSh2b2lkKQ0KPiA+PiAtew0KPiA+PiAtCXJl dHVybiBERVZfVFhfT0ZGTE9BRF9NVUxUSV9TRUdTIHwNCj4gPj4gLQkgICAgICAgREVWX1RYX09G RkxPQURfSVBWNF9DS1NVTSB8DQo+ID4+IC0JICAgICAgIERFVl9UWF9PRkZMT0FEX1VEUF9DS1NV TSB8DQo+ID4+IC0JICAgICAgIERFVl9UWF9PRkZMT0FEX1RDUF9DS1NVTTsNCj4gPj4gLX0NCj4g Pj4gLQ0KPiA+DQo+ID4gVEFQIFBNRCBzdXBwb3J0cyBhbGwgb2YgdGhlc2UgVFggcXVldWUgc3Bl Y2lmaWMgb2ZmbG9hZHMuIEkgc3VnZ2VzdCB0bw0KPiBsZWF2ZSB0aGlzIGZ1bmN0aW9uIGluIHBs YWNlLg0KPiA+DQo+ID4+IC1zdGF0aWMgYm9vbA0KPiA+PiAtdGFwX3R4cV9hcmVfb2ZmbG9hZHNf dmFsaWQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQ2NF90IG9mZmxvYWRzKSAtDQo+IHsN Cj4gPj4gLQl1aW50NjRfdCBwb3J0X29mZmxvYWRzID0gZGV2LT5kYXRhLT5kZXZfY29uZi50eG1v ZGUub2ZmbG9hZHM7DQo+ID4+IC0JdWludDY0X3QgcXVldWVfc3VwcF9vZmZsb2FkcyA9IHRhcF90 eF9vZmZsb2FkX2dldF9xdWV1ZV9jYXBhKCk7DQo+ID4+IC0JdWludDY0X3QgcG9ydF9zdXBwX29m ZmxvYWRzID0gdGFwX3R4X29mZmxvYWRfZ2V0X3BvcnRfY2FwYSgpOw0KPiA+PiAtDQo+ID4+IC0J aWYgKChvZmZsb2FkcyAmIChxdWV1ZV9zdXBwX29mZmxvYWRzIHwgcG9ydF9zdXBwX29mZmxvYWRz KSkgIT0NCj4gPj4gLQkgICAgb2ZmbG9hZHMpDQo+ID4+IC0JCXJldHVybiBmYWxzZTsNCj4gPj4g LQkvKiBWZXJpZnkgd2UgaGF2ZSBubyBjb25mbGljdCB3aXRoIHBvcnQgb2ZmbG9hZHMgKi8NCj4g Pj4gLQlpZiAoKHBvcnRfb2ZmbG9hZHMgXiBvZmZsb2FkcykgJiBwb3J0X3N1cHBfb2ZmbG9hZHMp DQo+ID4+IC0JCXJldHVybiBmYWxzZTsNCj4gPj4gLQlyZXR1cm4gdHJ1ZTsNCj4gPj4gLX0NCj4g Pj4gLQ0KPiA+DQo+ID4gVGhpcyBmdW5jdGlvbiBpcyBlc3NlbnRpYWwgdG8gdmFsaWRhdGUgdGhh dCB0aGUgY29uZmlndXJlZCBUeCBvZmZsb2FkcyBhcmUNCj4gc3VwcG9ydGVkIGJ5IFRBUC4NCj4g PiBJIHN1Z2dlc3QgdG8gbGVhdmUgdGhpcyBmdW5jdGlvbiBpbiBwbGFjZS4NCj4gPg0KPiA+PiAg c3RhdGljIHZvaWQNCj4gPj4gIHRhcF90eF9vZmZsb2FkKGNoYXIgKnBhY2tldCwgdWludDY0X3Qg b2xfZmxhZ3MsIHVuc2lnbmVkIGludCBsMl9sZW4sDQo+ID4+ICAJICAgICAgIHVuc2lnbmVkIGlu dCBsM19sZW4pDQo+ID4+IEBAIC03NjMsMTIgKzcxMywxMCBAQCB0YXBfZGV2X2luZm8oc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdA0KPiA+PiBydGVfZXRoX2Rldl9pbmZvICpkZXZfaW5m bykNCj4gPj4gIAlkZXZfaW5mby0+bWF4X3R4X3F1ZXVlcyA9IFJURV9QTURfVEFQX01BWF9RVUVV RVM7DQo+ID4+ICAJZGV2X2luZm8tPm1pbl9yeF9idWZzaXplID0gMDsNCj4gPj4gIAlkZXZfaW5m by0+c3BlZWRfY2FwYSA9IHRhcF9kZXZfc3BlZWRfY2FwYSgpOw0KPiA+PiAtCWRldl9pbmZvLT5y eF9xdWV1ZV9vZmZsb2FkX2NhcGEgPQ0KPiA+PiB0YXBfcnhfb2ZmbG9hZF9nZXRfcXVldWVfY2Fw YSgpOw0KPiA+PiAtCWRldl9pbmZvLT5yeF9vZmZsb2FkX2NhcGEgPSB0YXBfcnhfb2ZmbG9hZF9n ZXRfcG9ydF9jYXBhKCkgfA0KPiA+PiAtCQkJCSAgICBkZXZfaW5mby0+cnhfcXVldWVfb2ZmbG9h ZF9jYXBhOw0KPiA+PiAtCWRldl9pbmZvLT50eF9xdWV1ZV9vZmZsb2FkX2NhcGEgPQ0KPiA+PiB0 YXBfdHhfb2ZmbG9hZF9nZXRfcXVldWVfY2FwYSgpOw0KPiA+PiAtCWRldl9pbmZvLT50eF9vZmZs b2FkX2NhcGEgPSB0YXBfdHhfb2ZmbG9hZF9nZXRfcG9ydF9jYXBhKCkgfA0KPiA+PiAtCQkJCSAg ICBkZXZfaW5mby0+dHhfcXVldWVfb2ZmbG9hZF9jYXBhOw0KPiA+PiArCWRldl9pbmZvLT5yeF9v ZmZsb2FkX2NhcGEgPSB0YXBfcnhfb2ZmbG9hZF9nZXRfcG9ydF9jYXBhKCk7DQo+ID4+ICsJZGV2 X2luZm8tPnR4X29mZmxvYWRfY2FwYSA9IHRhcF90eF9vZmZsb2FkX2dldF9wb3J0X2NhcGEoKTsN Cj4gPj4gKwlkZXZfaW5mby0+cnhfcXVldWVfb2ZmbG9hZF9jYXBhID0gMDsNCj4gPj4gKwlkZXZf aW5mby0+dHhfcXVldWVfb2ZmbG9hZF9jYXBhID0gMDsNCj4gPj4gIH0NCj4gPj4NCj4gPg0KPiA+ IFJ4X3F1ZXVlX29mZmxvYWRzX2NhcGEgc2hvdWxkIGJlIHJlcG9ydGVkIGFzIGJlZm9yZToNCj4g PiBkZXZfaW5mby0+dHhfcXVldWVfb2ZmbG9hZF9jYXBhID0gdGFwX3R4X29mZmxvYWRfZ2V0X3F1 ZXVlX2NhcGEoKTsNCj4gPiBTYW1lIGZvciBUWCBvZmZsb2Fkcy4NCj4gPg0KPiA+IFBvcnQgY2Fw YWJpbGl0aWVzIGNvdWxkIHJldHVybiBxdWV1ZSBjYXBhYmlsaXRpZXM6DQo+ID4NCj4gPiBJbnN0 ZWFkIG9mOg0KPiA+DQo+ID4gZGV2X2luZm8tPnJ4X29mZmxvYWRfY2FwYSA9IHRhcF9yeF9vZmZs b2FkX2dldF9wb3J0X2NhcGEoKSB8DQo+ID4gCQkJCSAgICBkZXZfaW5mby0+cnhfcXVldWVfb2Zm bG9hZF9jYXBhOw0KPiA+DQo+ID4gV2UgY291bGQgcmV0dXJuOg0KPiA+DQo+ID4gZGV2X2luZm8t PnJ4X29mZmxvYWRfY2FwYSA9IGRldl9pbmZvLT5yeF9xdWV1ZV9vZmZsb2FkX2NhcGE7DQo+ID4N Cj4gPiBUaGUgc2FtZSBhcmd1bWVudCBpcyB2YWxpZCBmb3IgVHggYXMgd2VsbC4NCj4gPg0KPiA+ PiAgc3RhdGljIGludA0KPiA+PiBAQCAtMTA5NCwxOSArMTA0Miw2IEBAIHRhcF9yeF9xdWV1ZV9z ZXR1cChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gPj4gIAkJcmV0dXJuIC0xOw0KPiA+PiAg CX0NCj4gPj4NCj4gPj4gLQkvKiBWZXJpZnkgYXBwbGljYXRpb24gb2ZmbG9hZHMgYXJlIHZhbGlk IGZvciBvdXIgcG9ydCBhbmQgcXVldWUuICovDQo+ID4+IC0JaWYgKCF0YXBfcnhxX2FyZV9vZmZs b2Fkc192YWxpZChkZXYsIHJ4X2NvbmYtPm9mZmxvYWRzKSkgew0KPiA+PiAtCQlydGVfZXJybm8g PSBFTk9UU1VQOw0KPiA+PiAtCQlSVEVfTE9HKEVSUiwgUE1ELA0KPiA+PiAtCQkJIiVwOiBSeCBx dWV1ZSBvZmZsb2FkcyAweCUiIFBSSXg2NA0KPiA+PiAtCQkJIiBkb24ndCBtYXRjaCBwb3J0IG9m ZmxvYWRzIDB4JSIgUFJJeDY0DQo+ID4+IC0JCQkiIG9yIHN1cHBvcnRlZCBvZmZsb2FkcyAweCUi IFBSSXg2NCAiXG4iLA0KPiA+PiAtCQkJKHZvaWQgKilkZXYsIHJ4X2NvbmYtPm9mZmxvYWRzLA0K PiA+PiAtCQkJZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMsDQo+ID4+IC0JCQko dGFwX3J4X29mZmxvYWRfZ2V0X3BvcnRfY2FwYSgpIHwNCj4gPj4gLQkJCSB0YXBfcnhfb2ZmbG9h ZF9nZXRfcXVldWVfY2FwYSgpKSk7DQo+ID4+IC0JCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+PiAt CX0NCj4gPg0KPiA+IFRoZSB0YXBfcnhxX2FyZV9vZmZsb2Fkc192YWxpZCgpIGNhbGwgaXMgZXNz ZW50aWFsLiBJIHN1Z2dlc3QgdG8gbGVhdmUgaXQgaW4NCj4gcGxhY2UuDQo+ID4gVGhlIFJURV9M T0cgY291bGQgZHJvcCBwb3J0IHJlZmVyZW5jZXMgdG8gYmVjb21lOg0KPiA+DQo+ID4gCQlSVEVf TE9HKEVSUiwgUE1ELA0KPiA+IAkJCSIlcDogUnggcXVldWUgb2ZmbG9hZHMgMHglIiBQUkl4NjQN Cj4gPiAJCQkiIGRvbid0IG1hdGNoIg0KPiA+IAkJCSIgc3VwcG9ydGVkIG9mZmxvYWRzIDB4JSIg UFJJeDY0ICJcbiIsDQo+ID4gCQkJKHZvaWQgKilkZXYsIHJ4X2NvbmYtPm9mZmxvYWRzLA0KPiA+ IAkJCSB0YXBfcnhfb2ZmbG9hZF9nZXRfcXVldWVfY2FwYSgpKSk7DQo+ID4NCj4gPg0KPiA+PiAg CXJ4cS0+bXAgPSBtcDsNCj4gPj4gIAlyeHEtPnRyaWdnZXJfc2VlbiA9IDE7IC8qIGZvcmNlIGlu aXRpYWwgYnVyc3QgKi8NCj4gPj4gIAlyeHEtPmluX3BvcnQgPSBkZXYtPmRhdGEtPnBvcnRfaWQ7 DQo+ID4+IEBAIC0xMTc1LDI5ICsxMTEwLDEyIEBAIHRhcF90eF9xdWV1ZV9zZXR1cChzdHJ1Y3Qg cnRlX2V0aF9kZXYNCj4gKmRldiwNCj4gPj4gIAkJcmV0dXJuIC0xOw0KPiA+PiAgCWRldi0+ZGF0 YS0+dHhfcXVldWVzW3R4X3F1ZXVlX2lkXSA9ICZpbnRlcm5hbHMtPnR4cVt0eF9xdWV1ZV9pZF07 DQo+ID4+ICAJdHhxID0gZGV2LT5kYXRhLT50eF9xdWV1ZXNbdHhfcXVldWVfaWRdOw0KPiA+PiAt CS8qDQo+ID4+IC0JICogRG9uJ3QgdmVyaWZ5IHBvcnQgb2ZmbG9hZHMgZm9yIGFwcGxpY2F0aW9u IHdoaWNoDQo+ID4+IC0JICogdXNlIHRoZSBvbGQgQVBJLg0KPiA+PiAtCSAqLw0KPiA+PiAtCWlm ICh0eF9jb25mICE9IE5VTEwgJiYNCj4gPj4gLQkgICAgISEodHhfY29uZi0+dHhxX2ZsYWdzICYg RVRIX1RYUV9GTEFHU19JR05PUkUpKSB7DQo+ID4+IC0JCWlmICh0YXBfdHhxX2FyZV9vZmZsb2Fk c192YWxpZChkZXYsIHR4X2NvbmYtPm9mZmxvYWRzKSkgew0KPiA+PiAtCQkJdHhxLT5jc3VtID0g ISEodHhfY29uZi0+b2ZmbG9hZHMgJg0KPiA+PiAtCQkJCQkoREVWX1RYX09GRkxPQURfSVBWNF9D S1NVTSB8DQo+ID4+IC0JCQkJCSBERVZfVFhfT0ZGTE9BRF9VRFBfQ0tTVU0gfA0KPiA+PiAtCQkJ CQkgREVWX1RYX09GRkxPQURfVENQX0NLU1VNKSk7DQo+ID4+IC0JCX0gZWxzZSB7DQo+ID4+IC0J CQlydGVfZXJybm8gPSBFTk9UU1VQOw0KPiA+PiAtCQkJUlRFX0xPRyhFUlIsIFBNRCwNCj4gPj4g LQkJCQkiJXA6IFR4IHF1ZXVlIG9mZmxvYWRzIDB4JSIgUFJJeDY0DQo+ID4+IC0JCQkJIiBkb24n dCBtYXRjaCBwb3J0IG9mZmxvYWRzIDB4JSIgUFJJeDY0DQo+ID4+IC0JCQkJIiBvciBzdXBwb3J0 ZWQgb2ZmbG9hZHMgMHglIiBQUkl4NjQsDQo+ID4+IC0JCQkJKHZvaWQgKilkZXYsIHR4X2NvbmYt Pm9mZmxvYWRzLA0KPiA+PiAtCQkJCWRldi0+ZGF0YS0+ZGV2X2NvbmYudHhtb2RlLm9mZmxvYWRz LA0KPiA+PiAtCQkJCXRhcF90eF9vZmZsb2FkX2dldF9wb3J0X2NhcGEoKSk7DQo+ID4+IC0JCQly ZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPj4gLQkJfQ0KPiA+PiAtCX0NCj4gPj4gKw0KPiA+DQo+ID4g VGhlIHRhcF90eHFfYXJlX29mZmxvYWRzX3ZhbGlkKCkgY2FsbCBpcyBlc3NlbnRpYWwuIEkgc3Vn Z2VzdCB0byBsZWF2ZSBpdCBpbg0KPiBwbGFjZS4NCj4gPiBUaGUgUlRFX0xPRyBtZXNzYWdlIGNv dWxkIGRyb3AgY29tcGFyaXNvbiBiZXR3ZWVuIHF1ZXVlIGFuZCBwb3J0DQo+IGNhcGFiaWxpdGll czoNCj4gPg0KPiA+IAkJCVJURV9MT0coRVJSLCBQTUQsDQo+ID4gCQkJCSIlcDogVHggcXVldWUg b2ZmbG9hZHMgMHglIiBQUkl4NjQNCj4gPiAJCQkJIiBkb24ndCBtYXRjaCINCj4gPiAJCQkJIiBz dXBwb3J0ZWQgb2ZmbG9hZHMgMHglIiBQUkl4NjQsDQo+ID4gCQkJCSh2b2lkICopZGV2LCB0eF9j b25mLT5vZmZsb2FkcywNCj4gPiAJCQkJdGFwX3R4X29mZmxvYWRfZ2V0X3F1ZXVlX2NhcGEoKSk7 DQo+ID4NCj4gPj4gKwl0eHEtPmNzdW0gPSAhISh0eF9jb25mLT5vZmZsb2FkcyAmDQo+ID4+ICsJ CQkoREVWX1RYX09GRkxPQURfSVBWNF9DS1NVTSB8DQo+ID4+ICsJCQkgREVWX1RYX09GRkxPQURf VURQX0NLU1VNIHwNCj4gPj4gKwkJCSBERVZfVFhfT0ZGTE9BRF9UQ1BfQ0tTVU0pKTsNCj4gPj4g Kw0KPiA+PiAgCXJldCA9IHRhcF9zZXR1cF9xdWV1ZShkZXYsIGludGVybmFscywgdHhfcXVldWVf aWQsIDApOw0KPiA+PiAgCWlmIChyZXQgPT0gLTEpDQo+ID4+ICAJCXJldHVybiAtMTsNCj4gPj4g LS0NCj4gPj4gMi4xNC4zDQo+ID4NCg0K