From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0048.outbound.protection.outlook.com [104.47.0.48]) by dpdk.org (Postfix) with ESMTP id 4BA9F5F20 for ; Tue, 13 Mar 2018 08:08:23 +0100 (CET) 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=1F+2QkFZJgSXOkpCSUX7CMbz0r1W6DViK7xKNoHiEeQ=; b=IqlRjq6M54FwMC95IjSQiy2uNSU4amfxEyvrcUuuCPrL9NiU8ACBzSsHZsilzXs3iK/SkL8CBjVnd19OU1azcuNfDwvduJ91D+LRzuViTIk+LfQBAxx+gvByMVjqp4wkDZ5m4ATq/Arr2s3CV+vPvp2ztbBT+VlxA8+hHmYonNA= Received: from DB7PR05MB4426.eurprd05.prod.outlook.com (52.134.109.15) by DB7PR05MB4476.eurprd05.prod.outlook.com (52.134.109.29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Tue, 13 Mar 2018 07:08:20 +0000 Received: from DB7PR05MB4426.eurprd05.prod.outlook.com ([fe80::d6c:9063:c9b4:ab68]) by DB7PR05MB4426.eurprd05.prod.outlook.com ([fe80::d6c:9063:c9b4:ab68%13]) with mapi id 15.20.0548.021; Tue, 13 Mar 2018 07:08:20 +0000 From: Shahaf Shuler To: Ferruh Yigit , Mordechay Haimovsky , "pascal.mazon@6wind.com" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH V5 2/2] net/tap: use new Rx offloads API Thread-Index: AQHTj5wxF/6t4Zu55EiaMMtK6ByyQqO9wA4AgA8bfkCAAEw/gIAADJOQgAAWlYCAAMLq0A== Date: Tue, 13 Mar 2018 07:08:20 +0000 Message-ID: References: <1515601248-39458-2-git-send-email-motih@mellanox.com> <1516197874-133169-1-git-send-email-motih@mellanox.com> <1516197874-133169-2-git-send-email-motih@mellanox.com> <95d434f5-438a-19a7-1227-18c1230201c0@intel.com> <8973efd1-ec77-2e51-0516-634ab878bb1c@intel.com> <54a887f7-5d2c-4200-de87-1a96a68df0cd@intel.com> In-Reply-To: <54a887f7-5d2c-4200-de87-1a96a68df0cd@intel.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=shahafs@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB7PR05MB4476; 7:QkD6GHy+ECqrfYuAlTCBSDBhLXDvrki8yaNie6iISRwkOkQVzohKG5Wh03OYS/2sCN+vjTkxSJkc0k63wRa3jtU5lKwJqmRY8p1QqubF6nitdtW+iIbiLQ75oHV9kZbQnPfRP/Cz9fibS4XG3zQJQGiCDJWA+Wq9fAIM1An81F1kvypLQ6btID49wKBfMqwujWGIyKZVYl3fdScm5bGDs1fI7WKO4GDzkLyUVlftwdmzMQVABSsUmM2Cp+zJEf77 x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: bdaebad7-4e50-413d-3ea5-08d588b133c9 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DB7PR05MB4476; x-ms-traffictypediagnostic: DB7PR05MB4476: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231221)(944501244)(52105095)(6055026)(6041310)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:DB7PR05MB4476; BCL:0; PCL:0; RULEID:; SRVR:DB7PR05MB4476; x-forefront-prvs: 0610D16BBE x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(39380400002)(366004)(376002)(396003)(346002)(189003)(199004)(105586002)(110136005)(8676002)(2900100001)(68736007)(106356001)(316002)(86362001)(478600001)(99286004)(53936002)(81166006)(6436002)(81156014)(8936002)(33656002)(7696005)(55016002)(76176011)(6246003)(9686003)(14454004)(25786009)(5660300001)(102836004)(5250100002)(2501003)(2950100002)(6506007)(6116002)(2906002)(3846002)(74316002)(53546011)(93886005)(3660700001)(186003)(7736002)(305945005)(4326008)(66066001)(3280700002)(229853002)(26005)(97736004)(59450400001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR05MB4476; H:DB7PR05MB4426.eurprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: PYQZ8mbZ6nwMkly9M6yEMco5/d0JqBtMH5j+Jm/4MdxnL1gBrC2cQ202RMkhd3oNHgUiNZfw84YDvMwyrN4+7U6CSFYzsR2urnNW73Y/GIPbv9UTKjnswpnxPmVYnXm/02jpPP/KKTXxn/GDIlgEsgmYfi7ayQvXb+seBcwGiX78GEpsoS7ly+gQrAhzkZRT/SMQe0e1vC0xML8dtiDBDyWJscGE7/Zfd3OMn4WsFChsmjPX+Erk5MLWgkTVLhNy+ljTQF2tMXDrItnh2Gfr4vw//M7MKT3gNtY4cDc0m/+6ajcsl4187ktFppSe0CdIqLr8mHjWobX1qMvCLaa7tA== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: bdaebad7-4e50-413d-3ea5-08d588b133c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Mar 2018 07:08:20.0490 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR05MB4476 Subject: Re: [dpdk-dev] [PATCH V5 2/2] net/tap: use new Rx offloads API 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: Tue, 13 Mar 2018 07:08:23 -0000 TW9uZGF5LCBNYXJjaCAxMiwgMjAxOCA5OjA1IFBNLCBGZXJydWggWWlnaXQ6DQo+IE9uIDMvMTIv MjAxOCA1OjU4IFBNLCBTaGFoYWYgU2h1bGVyIHdyb3RlOg0KPiA+IE1vbmRheSwgTWFyY2ggMTIs IDIwMTggNzowMCBQTSwgRmVycnVoIFlpZ2l0Og0KPiA+PiBUaGVyZSBhcmUgc29tZSBkZXZpY2Vz IHN1cHBvcnRzIHF1ZXVlIGxldmVsIG9mZmxvYWRzIGFuZCB0aGVyZSBhcmUNCj4gPj4gc29tZSBk ZXZpY2VzIHN1cHBvcnRzIHBvcnQgbGV2ZWwgb2ZmbG9hZHMuDQo+ID4+DQo+ID4+IFZhbHVlcyBx dWV1ZSBvZmZsb2FkID0gMHgwIGFuZCBwb3J0IG9mZmxvYWQgPSAweDEwMDAsIGZvciB0aGUgZGV2 aWNlDQo+ID4+IHRoYXQgc3VwcG9ydCBxdWV1ZSBsZXZlbCBvZmZsb2FkcyBtYXkgbWVhbiBkaXNh YmxpbmcgYWxsIG9mZmxvYWRzIGZvcg0KPiA+PiB0aGF0IHNwZWNpZmljIHF1ZXVlIGFuZCB0aGlz IGlzIHZhbGlkIHZhbHVlLiBGb3IgdGhlIGRldmljZSB0aGF0DQo+ID4+IHN1cHBvcnQgcG9ydCBs ZXZlbCBvZmZsb2FkcyB0aGlzIGlzIGFuIGVycm9yLg0KPiA+DQo+ID4gZGV2aWNlIHdoaWNoIGRv bid0IHN1cHBvcnQgcG9ydCBsZXZlbCBvZmZsb2FkcyBzaG91bGQgbm90IGJlIGNvbmZpZ3VyZWQN Cj4gd2l0aCBwb3J0IG9mZmxvYWRzLg0KPiA+IFdlbGwgaW1wbGVtZW50ZWQgUE1EcyB3aWxsIGZh aWwgdGhlIGNvbmZpZ3VyYXRpb24gd2l0aCBwb3J0IG9mZmxvYWQgPQ0KPiAweDEwMDAuDQo+IA0K PiBGb3IgdGhpcyBwYXJ0aWN1bGFyIGVycm9yIGluIHRhcDoNCj4gUnggcXVldWUgb2ZmbG9hZHMg PSAweDAsDQo+IHJlcXVlc3RlZCBwb3J0IG9mZmxvYWRzID0gMHgxMDAwLA0KPiBzdXBwb3J0ZWQg b2ZmbG9hZHMgPSAweDMwMGUNCj4gDQo+IFNpbmNlIHN1cHBvcnRlZCBvZmZsb2FkcyByZXBvcnRl ZCwgYW5kIHJlcXVlc3RlZCBpcyBzdWJzZXQgb2YgaXQgSSB0aGluayBwb3J0DQo+IGxldmVsIG9m ZmxvYWRzIGFyZSBPSywgcHJvYmxlbSBpcyBpbiBxdWV1ZSBsZXZlbCBvZmZsb2Fkcy4NCj4gDQo+ ID4NCj4gPj4NCj4gPj4gQW5kIHRoZXJlIHNob3VsZCBiZSBzb21lIHJlc3RyaWN0aW9ucyBvbiBv ZmZsb2FkaW5nIHZhbHVlczoNCj4gPj4gMS0gcmVxdWVzdGVkIHBvcnQgb2ZmbG9hZHMgc2hvdWxk IGJlIHN1YnNldCBvZiBzdXBwb3J0ZWQgcG9ydA0KPiA+PiBvZmZsb2Fkcw0KPiA+PiAyLSBzdXBw b3J0ZWQgcXVldWUgb2ZmbG9hZHMgc2hvdWxkIGJlIHN1YnNldCBvZiBzdXBwb3J0ZWQgcG9ydA0K PiA+PiBvZmZsb2Fkcw0KPiA+PiAzLSByZXF1ZXN0ZWQgcXVldWUgb2ZmbG9hZHMgc2hvdWxkIGJl IHN1YnNldCBvZiBzdXBwb3J0ZWQgcXVldWUNCj4gPj4gb2ZmbG9hZHMNCj4gPg0KPiA+IFRoaXMg aXMgY29ycmVjdC4NCj4gPg0KPiA+Pg0KPiA+PiBBbmQgc2luY2UgdGhlc2UgaW5mb3JtYXRpb24g aXMgcGFydCBvZiBkZXZfaW5mbywgdGhlc2UgY2FuIGJlIG1hbmFnZWQNCj4gPj4gaW4gdGhlIGV0 aGRldiBsYXllciwgaW5zdGVhZCBvZiBjaGVja2VkIGluIGVhY2ggUE1EIChhcyBkb25lIGluIHRh cCkuDQo+ID4+DQo+ID4+DQo+ID4+IEFjY29yZGluZyBhYm92ZSwgd291bGQgeW91IG1pbmQgd2Fs ay10cm91Z2ggaG93IGFwcGxpY2F0aW9uIGNhbiBzZXQNCj4gPj4gb2ZmbG9hZHM6DQo+ID4+DQo+ ID4+IEEpIE5ldyBhcHBsaWNhdGlvbiB0aGF0IGltcGxlbWVudHMgbmV3IG9mZmxvYWRpbmcgQVBJ czoNCj4gPj4gLSBHZXQgZGV2X2luZm8NCj4gPj4gLSBDb25maWd1cmUgUngvVHggb2ZmbG9hZHMg YmFzZWQgb24gcnhfb2ZmbG9hZF9jYXBhIC8gdHhfb2ZmbG9hZF9jYXBhDQo+ID4+IC0gSWYgcnhf cXVldWVfb2ZmbG9hZF9jYXBhIC8gdHhfcXVldWVfb2ZmbG9hZF9jYXBhIGlzIG90aGVyIHRoYW4g MCwNCj4gPj4gc2V0dXAgUnhRIC8gVHhRIG9mZmxvYWRzIGJhc2VkIG9uIHRoZXNlIHZhbHVlcy4N Cj4gPj4gLSBJZiByeF9xdWV1ZV9vZmZsb2FkX2NhcGEgLyB0eF9xdWV1ZV9vZmZsb2FkX2NhcGEg aXMgMCwgcXVldWUgbGV2ZWwNCj4gPj4gb2ZmbGFvZHMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhp cyBkZXZpY2UsIGlnbm9yZSBvZmZsb2FkcyBkdXJpbmcgUnhRDQo+ID4+IC8gVHhRIHNldHVwLg0K PiA+DQo+ID4gV2l0aCB0aGUgY3VycmVudCBBUEkgaXQgaXMgbm90IGNvcnJlY3QuIHF1ZXVlIG9m ZmxvYWRzIHNob3VsZCBiZSBhdCBsZWFzdCB0aGUNCj4gcG9ydCBvZmZsb2Fkcy4gSWYgdGhlIGFw cGxpY2F0aW9uIHdhbnRzIHRvIGVuYWJsZSBtb3JlIHF1ZXVlIHNwZWNpZmljIG9mZmxvYWRzDQo+ IGl0IGNhbiBhcyBsb25nIGFzIHRob3NlIGFyZSBzdXBwb3J0ZWQuDQo+IA0KPiBTbyBhYm92ZSBz dGF0ZW1lbnQgMiBpcyB3cm9uZz8NCg0KSWYgeW91IG1lYW4gdGhpcyBvbmU6DQo+ID4+IDItIHN1 cHBvcnRlZCBxdWV1ZSBvZmZsb2FkcyBzaG91bGQgYmUgc3Vic2V0IG9mIHN1cHBvcnRlZCBwb3J0 DQo+ID4+IG9mZmxvYWRzDQoNCkl0IGlzIGNvcnJlY3QuIGV2ZXJ5IHF1ZXVlIG9mZmxvYWQgY2Fu IGJlIGEgcG9ydCBvZmZsb2FkLiBTaW5jZSB0aGUgc2ltcGxlIGNhc2Ugb2YgZW5hYmxpbmcgdGhl IG9mZmxvYWQgb24gZWFjaCBvZiB0aGUgcXVldWVzIGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgZW5h YmxpbmcgaXQgZm9yIHRoZSBwb3J0LiANCg0KPiANCj4gSnVzdCB0byBjb25maXJtLCBhIHF1ZXVl IGNhbiBub3QgZGlzYWJsZSBhbiBvZmZsb2FkIGNvbmZpZ3VyZWQgZm9yIHBvcnQgYnV0DQo+IGNh biBlbmFibGUgbW9yZSBvZmZsb2Fkcz8NCg0KWWVzLiB0aGUgY2hlY2sgaW4gdGhlIFRhcCBQTUQg dmVyaWZpZXMgaXQuIA0KDQo+IA0KPiA+IFRoZSBmb2xsb3dpbmcgcHNldWRvIGNvZGUgZGVtb25z dHJhdGUgYWJvdmU6DQo+ID4NCj4gPiBEZXZfY29uZmlndXJlKHBvcnQsIHBvcnRfb2ZmbG9hZHMp DQo+ID4gUnhfcXVldWVfb2ZmbG9hZHMgPSBwb3J0X29mZmxvYWRzDQo+ID4gSWYgKHJ4X3F1ZXVl X29mZmxvYWRfY2FwYSAhPSAwKQ0KPiA+IAlSeF9xdWV1ZV9vZmZsb2FkcyB8PSByeF9xdWV1ZV9v ZmZsb2FkX2NhcGENCj4gDQo+IEFnYWluIHRvIGNvbmZpcm0sIGEgZGV2aWNlIHRoYXQgc3VwcG9y dHMgcG9ydCBsZXZlbCBvZmZsb2FkcyBmcmVlIHRvIGlnbm9yZSBUeFENCj4gLyBSeFEgb2ZmbG9h ZCB2YWx1ZXMsIHJpZ2h0Pw0KDQp5b3UgYWN0dWFsbHkgaGF2ZSAyIHR5cGVzIG9mIGRldmljZXM6 DQoxLiBkZXZpY2Ugd2hpY2ggc3VwcG9ydHMgb25seSBwb3J0IG9mZmxvYWRzDQoyLiBkZXZpY2Ug d2hpY2ggc3VwcG9ydCBib3RoIHBvcnQgYW5kIHF1ZXVlIG9mZmxvYWRzLiANCg0KRGV2aWNlIG9m IHR5cGUgIzEgKm1heSogaWdub3JlIHRoZSBxdWV1ZSBvZmZsb2FkcywgYW5kIGFsc28gd2lsbCBu b3QgbmVlZCB0byB2ZXJpZnkgZWFjaCBwb3J0IG9mZmxvYWQgaXMgc2V0IGFsc28gb24gdGhlIHF1 ZXVlLg0KVGhlIGV4cGVjdGF0aW9uIGZyb20gYXBwbGljYXRpb24gaXMgdG8gYWx3YXlzIGZvbGxv dyB0aGUgQVBJIChlbmFibGUgcG9ydCBvZmZsb2FkIG9uIGJvdGggcG9ydCBhbmQgcXVldWUpIHJl Z2FyZGxlc3MgaG93IHRoZSBQTUQgaXMgaW1wbGVtZW50ZWQuIA0KDQogU28gd2h5IHdlIG5lZWQg IlJ4X3F1ZXVlX29mZmxvYWRzID0NCj4gcG9ydF9vZmZsb2FkcyIsIHdpbGwgZm9sbG93aW5nIGJl IHRydWU/DQo+IA0KPiBEZXZfY29uZmlndXJlKHBvcnQsIHBvcnRfb2ZmbG9hZHMpDQo+IElmIChy eF9xdWV1ZV9vZmZsb2FkX2NhcGEgIT0gMCkNCj4gICAgICAgICBSeF9xdWV1ZV9vZmZsb2FkcyA9 IHBvcnRfb2ZmbG9hZHMgfCByeF9xdWV1ZV9vZmZsb2FkX2NhcGENCg0KQWdhaW4gLSB0aGUgYXBw bGljYXRpb24gc2hvdWxkIGZvbGxvdyB0aGUgQVBJIHdoaWNoIGN1cnJlbnRseSBkaWN0YXRlcyBo b3cgdG8gc2V0IHBvcnQgb2ZmbG9hZC4gSXQgaXMgbm90IGRlcGVuZHMgb24gdGhlIHJ4X3F1ZXVl X29mZmxvYWRzIGNhcGFiaWxpdGllcy4gDQpGb3IgZXhhbXBsZSwgUE1EIHdoaWNoIGRvbid0IHN1 cHBvcnQgcXVldWUgb2ZmbG9hZHMgY2FuIHN0aWxsIGhhdmUgdmVyaWZpY2F0aW9uIGZvciB0aGUg QVBJIHRoYXQgZWFjaCBwb3J0IG9mZmxvYWQgaXMgc2V0IGFsc28gb24gdGhlIHF1ZXVlIG9mZmxv YWRzLiANCg0KPiANCj4gPg0KPiA+Pg0KPiA+PiBBbGwgbG9vayBPSyBoZXJlLg0KPiA+Pg0KPiA+ Pg0KPiA+PiBCKSBPbGQgYXBwbGljYXRpb24gd2l0aCBvbGQgb2ZmbG9hZGluZyBBUEkNCj4gPj4g LSBHZXQgZGV2X2luZm8sIHdoaWNoIHByb3ZpZGVzIG9ubHkgcnhfb2ZmbG9hZF9jYXBhLCB0eF9v ZmZsb2FkX2NhcGENCj4gPj4gYW5kIHR4cV9mbGFncw0KPiA+PiAtIHNldCBydGVfZXRoX3J4bW9k ZS0+Yml0ZmllbGRfdmFsdWVzICA9PT4gZXRoZGV2IHdpbGwgY29udmVydCB0aGVtDQo+ID4+IHRv IHBvcnQgbGV2ZWwgUnggb2ZmbG9hZHMuDQo+ID4+IC0gcG9ydCBsZXZlbCBvZmZsb2FkcyBhcmUg ZW1wdHkhIQ0KPiA+PiAtIGV0aGRldiB3aWxsIHNldCBxdWV1ZSBsZXZlbCBSeCBvZmZsb2FkcyB0 byBiZSBzYW1lIGFzIHBvcnQgbGV2ZWwgUngNCj4gb2ZmbG9hZHMuDQo+ID4+IC0gZXRoZGV2IHdp bGwgc2V0IHR4cV9mbGFncyB2YWx1ZXMgZm9yIFR4IG9mZmxvYWRzIHRvIHF1ZXVlIGxldmVsIFR4 DQo+IG9mZmxvYWRzLg0KPiA+Pg0KPiA+PiBUaGluZ3Mgc2hvdWxkIHdvcmsgd2VsbCBmb3IgUE1E cyB3aXRoIG9sZCBvZmZsb2FkaW5nIEFQSS4NCj4gPj4NCj4gPj4gRm9yIHRoZSBQTURzIHRoYXQg c3VwcG9ydCBuZXcgb2ZmbG9hZGluZyBBUEksIHBvcnQgbGV2ZWwgVHggb2ZmbG9hZA0KPiA+PiB2 YWx1ZXMgYXJlIG1pc3NpbmcgYW5kIFF1ZXVlIGxldmVsIGFuZCBQb3J0IGxldmVsIFR4IG9mZmxv YWRzDQo+ID4+IG1pc21hdGNoLiBBbSBJIG1pc3Npbmcgc29tZXRoaW5nIGhlcmUsIGlmIG5vdCBo b3cgY2FuIHdlIHNvbHZlIHRoaXMgaXNzdWUNCj4gaW4gUE1Ecz8NCj4gPg0KPiA+IFRob3NlIFBN RHMgKG5ldyBQTUQgZm9yIG9sZCBhcHBsaWNhdGlvbikgY2FuIHVzZSB0aGUNCj4gRVRIX1RYUV9G TEFHU19JR05PUkUgd2hpY2ggbXVzdCBiZSBzZXQgZm9yIGFwcGxpY2F0aW9uIHdoaWNoIHVzZXMg dGhlDQo+IG5ldyBBUEkuLg0KPiA+IHNlZSBzbmlwcGVkIGNvZGUgZnJvbSBtbHg1IFBNRDoNCj4g Pg0KPiA+IFsxXQ0KPiA+IC8qDQo+ID4gICogRG9uJ3QgdmVyaWZ5IHBvcnQgb2ZmbG9hZHMgZm9y IGFwcGxpY2F0aW9uIHdoaWNoDQo+ID4gICogdXNlIHRoZSBvbGQgQVBJLg0KPiA+ICAqLw0KPiA+ IGlmICghIShjb25mLT50eHFfZmxhZ3MgJiBFVEhfVFhRX0ZMQUdTX0lHTk9SRSkgJiYNCj4gPiAg ICAgIXByaXZfaXNfdHhfcXVldWVfb2ZmbG9hZHNfYWxsb3dlZChwcml2LCBjb25mLT5vZmZsb2Fk cykpIHsNCj4gPiAgICAgICAgIHJldCA9IEVOT1RTVVA7DQo+ID4gICAgICAgICBFUlJPUigiJXA6 IFR4IHF1ZXVlIG9mZmxvYWRzIDB4JSIgUFJJeDY0ICIgZG9uJ3QgbWF0Y2ggcG9ydCAiDQo+ID4g ICAgICAgICAgICAgICAib2ZmbG9hZHMgMHglIiBQUkl4NjQgIiBvciBzdXBwb3J0ZWQgb2ZmbG9h ZHMgMHglIiBQUkl4NjQsDQo+ID4gICAgICAgICAgICAgICAodm9pZCAqKWRldiwgY29uZi0+b2Zm bG9hZHMsDQo+ID4gICAgICAgICAgICAgICBkZXYtPmRhdGEtPmRldl9jb25mLnR4bW9kZS5vZmZs b2FkcywNCj4gPiAgICAgICAgICAgICAgIG1seDVfcHJpdl9nZXRfdHhfcG9ydF9vZmZsb2Fkcyhw cml2KSk7DQo+ID4gICAgICAgICBnb3RvIG91dDsNCj4gPiB9DQo+IA0KPiBXaGF0IHRoaXMgY29k ZSBkb2VzIGlzOiAiaWYgbmV3IG9mZmxvYWQgQVBJIGlzIHVzZWQgYW5kIHF1ZXVlIG9mZmxvYWQg aXMgbm90DQo+IHZhbGlkLCByZXR1cm4gZXJyb3IiLCB0aGlzIGlzIGNvbXBsZXRlbHkgZGlmZmVy ZW50IHRoYW4gd2hhdCBJIHNheS4NCg0KSXQgYWxzbyBzYXlzIGlmIG9sZCBBUEkgaXMgdXNlZCBm b3IgdGhpcyBuZXcgUE1EICgoISEoY29uZi0+dHhxX2ZsYWdzICYgRVRIX1RYUV9GTEFHU19JR05P UkUpICBpcyAwICkgZG9uJ3QgZG8gdmVyaWZpY2F0aW9uIGJldHdlZW4gdGhlIHBvcnQgYW5kIHRo ZSBxdWV1ZXMgb2ZmbG9hZHMgb24gdGhlIFR4IHNpZGUuIA0KDQo+IA0KPiBNeSBjb25jZXJuIGlz IGhvdyBuZXcgUE1EIHdpbGwgaGFuZGxlIG9sZCBhcHBsaWNhdGlvbiBiZWNhdXNlIG9mIG1pc3Np bmcNCj4gcG9ydCBsZXZlbCBUeCBvZmZsb2Fkcy4NCj4gDQo+IEkgZ3Vlc3MgZWFjaCB0aW1lIFBN RCBuZWVkcyB0byB1c2UgYSBUeCBvZmZsb2FkLCBpdCBuZWVkcyB0byBjaGVjaw0KPiBFVEhfVFhR X0ZMQUdTX0lHTk9SRS4gSWYgSUdOT1JFIGlzIHNldCBQTUQgd2lsbCB1c2UgIHR4bW9kZS0+b2Zm bG9hZHMsDQo+IGlmIG5vdCBpdCB3aWxsIHVzZSB0eHEtPm9mZmxvYWRzLiBEbyB5b3UgdGhpbmsg dGhpcyBzb2x2ZXMgdGhlIGlzc3VlPw0KDQpPbGQgYXBwbGljYXRpb24gd2lsbCBrbm93IHRvIHNl dCBvbmx5IFR4IHF1ZXVlIG9mZmxvYWRzIChzaW5jZSBpdCB3aWxsIHNldCBvbmx5IHRoZSBUWFEg ZmxhZ3MpLiBCZWZvcmUgdGhlIGV0aGRldiBvZmZsb2FkcyByZXdvcmsgZXZlcnkgVHggb2ZmbG9h ZCB3YXMgcXVldWUgb2ZmbG9hZCwgc28gY29tcGF0aWJpbGl0eSB3aXNlIGl0IGlzIE9LLiANCk1l YW5pbmcgdGhlIG9sZCBQTUQgd2hpY2ggd2FzIGFibGUgdG8gcnVuIHdpdGggdGhlIG9sZCBhcHBs aWNhdGlvbiBzaG91bGQgY29uZmlndXJlIG9ubHkgVHggKnF1ZXVlKiBvZmZsb2Fkcy4gDQpDb25z aWRlcmluZyB0aGF0LCB0aGUgbmV3IFBNRCBzaG91bGQgY29uc2lkZXIgb25seSB0aGUgdHhxLT5v ZmZsb2FkcyBhcyB0aGUgcXVldWUgb2ZmbG9hZHMgYW5kIHRoZSB0eG1vZGUtPm9mZmxvYWRzIHNo b3VsZCBiZSAwLiBUaGlzIHBlcmZlY3RseSBtYXRjaCB0aGUgb2ZmbG9hZHMgQVBJLiANCg0KDQoN Cg0KDQoNCg0K