From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 187CE2B94 for ; Thu, 8 Nov 2018 00:00:23 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Nov 2018 15:00:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,477,1534834800"; d="scan'208";a="98477639" Received: from irsmsx152.ger.corp.intel.com ([163.33.192.66]) by orsmga003.jf.intel.com with ESMTP; 07 Nov 2018 15:00:21 -0800 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.144]) by IRSMSX152.ger.corp.intel.com ([169.254.6.64]) with mapi id 14.03.0415.000; Wed, 7 Nov 2018 23:00:20 +0000 From: "Ananyev, Konstantin" To: Cody Doucette CC: "Dumitrescu, Cristian" , "dev@dpdk.org" , "Fu, Qiaobin" Thread-Topic: [PATCH v5 3/3] ip_frag: extend IPv6 fragment header retrieval Thread-Index: AQHUcMAKYvREPrZaCEWDMkZ0tcY8MKU5rYLAgAsf2gCAACsMsA== Date: Wed, 7 Nov 2018 23:00:19 +0000 Message-ID: <2601191342CEEE43887BDE71AB9772580103069E6F@irsmsx105.ger.corp.intel.com> References: <20181031021758.66752-1-doucette@bu.edu> <20181031021758.66752-4-doucette@bu.edu> <2601191342CEEE43887BDE71AB9772580103067027@irsmsx105.ger.corp.intel.com> In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZmQyMjZkNWMtMzM1Zi00Mzc1LWI2MDMtNGEwOTU0YTkyOGQ1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRGM0T2ZBcVZ6Qys0U1FqXC9cL0J3WUxPSit0M2RlTE0wVGJLMUhLN1lvSVVZaUZFdFdWNjU2Y3FoZW1lRnpNRVlSIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v5 3/3] ip_frag: extend IPv6 fragment header retrieval 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, 07 Nov 2018 23:00:25 -0000 SGkgQ29keSwNCg0KPkhleSBLb25zdGFudGluLA0KPlRoYW5rcyBmb3IgcmV2aWV3aW5nIC0tIEkg c2VlIHlvdXIgcG9pbnQgYWJvdXQgdGhpcyBwYXRjaCBvbmx5IHJlbW92aW5nIG9uZSBvZiB0aGUg cGxhY2VzIHdoZXJlIHRoZSBjb2RlIG1ha2VzIGFzc3VtcHRpb25zIGFib3V0IHRoZSBwb3NpdGlv biBvZiB0aGUgZnJhZ21lbnRhdGlvbiBoZWFkZXIuDQoNCj5VbmZvcnR1bmF0ZWx5IGF0IHRoZSBt b21lbnQgSSBkb24ndCBoYXZlIHRoZSByZXNvdXJjZXMgdG8gZGVkaWNhdGUgdG8gd3JpdGluZyB0 aGUgY29tcGxldGUgc29sdXRpb24gYW5kIGRvaW5nIGEgcGVyZm9ybWFuY2UgY2hlY2ssIHNvIEkg dGhpbmsgSSBzaG91bGQgd2l0aGRyYXcgdGhlIHBhdGNoLg0KDQpPaywgTlAgdGhhdCdzIHVuZGVy c3RhbmRhYmxlLg0KQWdhaW4gSSBwcm92aWRlZCBteSBjb21tZW50cyBxdWl0ZSBsYXRlLg0KDQo+ IEkgaG9wZSBpdCBhdCBsZWFzdCBzZXJ2ZXMgYXMgYSBibHVlcHJpbnQgaW4gY2FzZSBzb21lb25l IGNvbWVzIGJhY2sgdG8gaXQuDQoNClllcywgSSB0aGluayBpdCBkZWZpbml0ZWx5IHdpbGwgYmUg dXNlZnVsLg0KDQo+SSBtaWdodCBiZSBhYmxlIHRvIGNvbWUgYmFjayB0byBpdCBldmVudHVhbGx5 LCBidXQgbGlrZWx5IG5vdCBzb29uLg0KDQpIb3BlZnVsbHkgeW91J2xsIHdpbGwgOikNClRoYW5r cw0KS29uc3RhbnRpbg0KDQo+IA0KPiBBZGQgdGhlIGFiaWxpdHkgdG8gcGFyc2UgSVB2NiBleHRl bmRlcnMgdG8gZmluZCB0aGUNCj4gSVB2NiBmcmFnbWVudCBoZWFkZXIsIGFuZCB1cGRhdGUgY2Fs bGVycy4NCj4gDQo+IEFjY29yZGluZyB0byBSRkMgODIwMCwgdGhlcmUgaXMgbm8gZ3VhcmFudGVl IHRoYXQgdGhlIElQdjYNCj4gRnJhZ21lbnQgZXh0ZW5zaW9uIGhlYWRlciB3aWxsIGNvbWUgYmVm b3JlIGFueSBvdGhlciBleHRlbnNpb24NCj4gaGVhZGVyLCBldmVuIHRob3VnaCBpdCBpcyByZWNv bW1lbmRlZC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IENvZHkgRG91Y2V0dGUgPGRvdWNldHRlQGJ1 LmVkdT4NCj4gU2lnbmVkLW9mZi1ieTogUWlhb2JpbiBGdSA8cWlhb2JpbmZAYnUuZWR1Pg0KPiBS ZXZpZXdlZC1ieTogTWljaGVsIE1hY2hhZG8gPG1pY2hlbEBkaWdpcmF0aS5jb20uYnI+DQo+IC0t LQ0KPsKgIGV4YW1wbGVzL2lwX3JlYXNzZW1ibHkvbWFpbi5jwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqB8wqAgNiArKy0tDQo+wqAgbGliL2xpYnJ0ZV9pcF9mcmFnL3J0ZV9pcF9mcmFnLmjCoCDCoCDC oCDCoCDCoCDCoCB8IDIzICsrKysrKy0tLS0tLS0NCj7CoCBsaWIvbGlicnRlX2lwX2ZyYWcvcnRl X2lwX2ZyYWdfdmVyc2lvbi5tYXDCoCB8wqAgMSArDQo+wqAgbGliL2xpYnJ0ZV9pcF9mcmFnL3J0 ZV9pcHY2X2ZyYWdtZW50YXRpb24uYyB8IDM4ICsrKysrKysrKysrKysrKysrKysrKw0KPsKgIGxp Yi9saWJydGVfaXBfZnJhZy9ydGVfaXB2Nl9yZWFzc2VtYmx5LmPCoCDCoCB8wqAgNCArLS0NCj7C oCBsaWIvbGlicnRlX3BvcnQvcnRlX3BvcnRfcmFzLmPCoCDCoCDCoCDCoCDCoCDCoCDCoCB8wqAg NiArKy0tDQo+wqAgNiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlv bnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9pcF9yZWFzc2VtYmx5L21haW4uYyBi L2V4YW1wbGVzL2lwX3JlYXNzZW1ibHkvbWFpbi5jDQo+IGluZGV4IDE3YjU1ZDRjNy4uM2E4Mjdi ZDZjIDEwMDY0NA0KPiAtLS0gYS9leGFtcGxlcy9pcF9yZWFzc2VtYmx5L21haW4uYw0KPiArKysg Yi9leGFtcGxlcy9pcF9yZWFzc2VtYmx5L21haW4uYw0KPiBAQCAtMzY1LDEyICszNjUsMTQgQEAg cmVhc3NlbWJsZShzdHJ1Y3QgcnRlX21idWYgKm0sIHVpbnQxNl90IHBvcnRpZCwgdWludDMyX3Qg cXVldWUsDQo+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBldGhfaGRyLT5ldGhlcl90eXBlID0gcnRl X2JlX3RvX2NwdV8xNihFVEhFUl9UWVBFX0lQdjQpOw0KPsKgIMKgIMKgIMKgfSBlbHNlIGlmIChS VEVfRVRIX0lTX0lQVjZfSERSKG0tPnBhY2tldF90eXBlKSkgew0KPsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgLyogaWYgcGFja2V0IGlzIElQdjYgKi8NCj4gLcKgIMKgIMKgIMKgIMKgIMKgIMKgc3Ry dWN0IGlwdjZfZXh0ZW5zaW9uX2ZyYWdtZW50ICpmcmFnX2hkcjsNCj4gK8KgIMKgIMKgIMKgIMKg IMKgIMKgY29uc3Qgc3RydWN0IGlwdjZfZXh0ZW5zaW9uX2ZyYWdtZW50ICpmcmFnX2hkcjsNCj4g K8KgIMKgIMKgIMKgIMKgIMKgIMKgc3RydWN0IGlwdjZfZXh0ZW5zaW9uX2ZyYWdtZW50IGZyYWdf aGRyX2J1ZjsNCj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHN0cnVjdCBpcHY2X2hkciAqaXBfaGRy Ow0KPiANCj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlwX2hkciA9IChzdHJ1Y3QgaXB2Nl9oZHIg KikoZXRoX2hkciArIDEpOw0KPiANCj4gLcKgIMKgIMKgIMKgIMKgIMKgIMKgZnJhZ19oZHIgPSBy dGVfaXB2Nl9mcmFnX2dldF9pcHY2X2ZyYWdtZW50X2hlYWRlcihpcF9oZHIpOw0KPiArwqAgwqAg wqAgwqAgwqAgwqAgwqBmcmFnX2hkciA9IHJ0ZV9pcHY2X2ZyYWdfZ2V0X2lwdjZfZnJhZ21lbnRf aGVhZGVyKG0sDQo+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlwX2hkciwgJmZy YWdfaGRyX2J1Zik7DQoNCkkgbG9va2VkIGF0IHRoZSBwYXRjaCBvbmNlIGFnYWluLCBhbmQgaXQg c2VlbXMgaW5jb21wbGV0ZSB0byBtZS4NClNvcnJ5IGZvciBsYXRlIGNvbW1lbnRzLg0KWWVzLCBy aWdodCBub3cgdGVfaXB2Nl9mcmFnX2dldF9pcHY2X2ZyYWdtZW50X2hlYWRlciBjYW4gcHJvcGVy bHkNCnJldHJpZXZlIGlwdjYgZnJhZ21lbnQgaW5mbywgYnV0IGl0IGlzIG5vdCBlbm91Z2ggdG8g bWFrZSB0aGluZ3Mgd29yaw0KZm9yIHNpdHVhdGlvbiB3aGVuIHdlIGhhdmUgcGFja2V0IHdpdGgg ZnJhZyBoZWFkZXIgbm90IHRoZSBmaXJzdCBhbmQgb25seQ0KZXh0ZW5zaW9uIGhlYWRlci4NCklu IHRoZSBzYW1lIGZ1bmN0aW9uLCBmZXcgbGluZXMgYmVsb3csIHdlIHNldHVwIGwzX2xlbiBiYXNl ZCBvbiB0aGF0IGFzc3VtcHRpb246DQoNCm0tPmwzX2xlbiA9IHNpemVvZigqaXBfaGRyKSArIHNp emVvZigqZnJhZ19oZHIpOw0KDQptbyA9IHJ0ZV9pcHY2X2ZyYWdfcmVhc3NlbWJsZV9wYWNrZXQo dGJsLCBkciwgbSwgdG1zLCBpcF9oZHIsIGZyYWdfaGRyKTsNCg0KQW5kIGluc2lkZSBydGVfaXB2 Nl9mcmFnX3JlYXNzZW1ibGVfcGFja2V0KCkgd2Ugc3RpbGwgYXNzdW1lIHRoZSBzYW1lOg0KLi4u DQpmcmFnX2hkciA9IChzdHJ1Y3QgaXB2Nl9leHRlbnNpb25fZnJhZ21lbnQgKikgKGlwX2hkciAr IDEpOw0KaXBfaGRyLT5wcm90byA9IGZyYWdfaGRyLT5uZXh0X2hlYWRlcjsNCg0KSSB0aGluayB3 ZSBuZWVkIGEgZnVuY3Rpb24gdGhhdCB3b3VsZCBhbGxvdyB1cyB0byBnZXQgb2Zmc2V0IG9mIGZy YWdfaGRyLiANCkFjdHVhbGx5IHByb2JhYmx5IHdlIGNhbiBoYXZlIGEgZ2VuZXJpYyBvbmUgaGVy ZSwgdGhhdCBjYW4gcmV0dXJuIG9mZnNldCBmb3INCmFueSByZXF1ZXN0ZWQgZXh0IGhlYWRlciBv ciB0b3RhbCBsZW5ndGggb2YgaXB2NiBoZWFkZXIuDQpTb21ldGhpbmcgbGlrZSB0aGF0Og0KDQpz dHJ1Y3QgcnRlX2lwdjZfZ2V0X3hoZHJfb2ZzIHsNCsKgIMKgdWludDE2X3QgZmluZF9wcm90bzvC oCDCoCAvKiBoZWFkZXIgcHJvdG8gdG8gZmluZCAqLw0KwqAgwqB1aW50MTZfdMKgIG5leHRfcHJv dG87wqAgLyogbmV4dCBoZWFkZXIgcHJvdG8gKi8NCsKgIMKgdWludDMyX3QgbmV4dF9vZnM7wqAg wqAgwqAgwqAvKiBvZmZzZXQgdG8gc3RhcnQgc2VhcmNoICovDQp9Ow0KDQpzdHJ1Y3QgaW50IA0K cnRlX2lwdjZfZ2V0X3hoZHJfb2ZzKHN0cnVjdCBydGVfbWJ1ZiAqcGt0LCBydGVfaXB2Nl9nZXRf eGhkcl9vZnMgKmZpbmQpOyANCg0KdGhhdCB3b3VsZCBnbyB0aHJvdWdoIGlwdjYgZXh0IGhlYWRl cnMgdGlsbCBlaXRoZXIgcmVxdWVzdGVkIHByb3RvIGlzIGZvdW5kLCBvciBlbmQgb2YgSVB2NiBo ZWFkZXIuIA0KVGhlbiB1c2VyIGNhbiBkbyBzb21ldGhpbmcgbGlrZSB0aGF0Og0KDQovKiBmaW5k IGZyYWdtZW50IGV4dGVudGlvbiAqLw0KaXB2Nl9nZXRfeGhkcl9vZnMgb2ZzID0gew0KwqAgwqAg wqAgwqAgLmZpbmRfcHJvdG8gPSBJUFBST1RPX0ZSQUdNRU5ULA0KwqAgwqAgwqAgwqAgLm5leHRf cHJvdG8gPSBpcHY2X2hkci0+cHJvdG8sDQrCoCDCoCDCoCDCoCAub2ZzID0gc2l6ZW9mKHN0cnVj dCBpcHY2X2hkciksDQp9Ow0KcmMgPSBydGVfaXB2Nl9nZXRfeGhkcl9vZnMocGt0LCAmb2ZzKTsN CmlmKHJjID09IDApIA0KwqAgwqAgwqBmcmFnX2hkciA9IHJ0ZV9wa3RtYnVmX210b2Rfb2Zmc2V0 KG0sIC4uLCBvZnMub2ZzKTsNCi4uLsKgIMKgIMKgDQoNCi8qIGdldCBzaXplIG9mIElQdjYgaGVh ZGVyIHBsdXMgYWxsIGtub3duIGV4dGVuc2lvbnMgKi8NCmlwdjZfZ2V0X3hoZHJfb2ZzIG9mcyA9 IHsNCsKgIMKgIMKgIMKgIC5maW5kX3Byb3RvID0gSVBQUk9UT19NQVgsDQrCoCDCoCDCoCDCoCAu bmV4dF9wcm90byA9IGlwdjZfaGRyLT5wcm90bywNCsKgIMKgIMKgIMKgIC5vZnMgPSBzaXplb2Yo c3RydWN0IGlwdjZfaGRyKSwNCn07DQpyYyA9IHJ0ZV9pcHY2X2dldF94aGRyX29mcyhwa3QsICZv ZnMpO8KgIMKgIMKgDQoNCg0KPiANCj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlmIChmcmFnX2hk ciAhPSBOVUxMKSB7DQo+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBzdHJ1Y3Qg cnRlX21idWYgKm1vOw0KPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9pcF9mcmFnL3J0ZV9pcF9m cmFnLmggYi9saWIvbGlicnRlX2lwX2ZyYWcvcnRlX2lwX2ZyYWcuaA0KPiBpbmRleCA3ZjQyNWY2 MTAuLjZmYzgxMDZiYyAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9pcF9mcmFnL3J0ZV9pcF9m cmFnLmgNCj4gKysrIGIvbGliL2xpYnJ0ZV9pcF9mcmFnL3J0ZV9pcF9mcmFnLmgNCj4gQEAgLTIx MSwyOCArMjExLDI1IEBAIHJ0ZV9pcHY2X2ZyYWdtZW50X3BhY2tldChzdHJ1Y3QgcnRlX21idWYg KnBrdF9pbiwNCj7CoCBzdHJ1Y3QgcnRlX21idWYgKnJ0ZV9pcHY2X2ZyYWdfcmVhc3NlbWJsZV9w YWNrZXQoc3RydWN0IHJ0ZV9pcF9mcmFnX3RibCAqdGJsLA0KPsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgc3RydWN0IHJ0ZV9pcF9mcmFnX2RlYXRoX3JvdyAqZHIsDQo+wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBzdHJ1Y3QgcnRlX21idWYgKm1iLCB1aW50NjRfdCB0bXMsIHN0cnVjdCBpcHY2X2hkciAq aXBfaGRyLA0KPiAtwqAgwqAgwqAgwqAgwqAgwqAgwqBzdHJ1Y3QgaXB2Nl9leHRlbnNpb25fZnJh Z21lbnQgKmZyYWdfaGRyKTsNCj4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgY29uc3Qgc3RydWN0IGlw djZfZXh0ZW5zaW9uX2ZyYWdtZW50ICpmcmFnX2hkcik7DQo+IA0KPsKgIC8qKg0KPsKgIMKgKiBS ZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBwYWNrZXQncyBmcmFnbWVudCBoZWFkZXIsIGlmIGZvdW5k Lg0KPiAtICogSXQgb25seSBsb29rcyBhdCB0aGUgZXh0ZW5zaW9uIGhlYWRlciB0aGF0J3Mgcmln aHQgYWZ0ZXIgdGhlIGZpeGVkIElQdjYNCj4gLSAqIGhlYWRlciwgYW5kIGRvZXNuJ3QgZm9sbG93 IHRoZSB3aG9sZSBjaGFpbiBvZiBleHRlbnNpb24gaGVhZGVycy4NCj7CoCDCoCoNCj4gLSAqIEBw YXJhbSBoZHINCj4gKyAqIEBwYXJhbSBwa3QNCj4gKyAqwqAgwqBQb2ludGVyIHRvIHRoZSBtYnVm IG9mIHRoZSBwYWNrZXQuDQo+ICsgKiBAcGFyYW0gaXBfaGRyDQo+wqAgwqAqwqAgwqBQb2ludGVy IHRvIHRoZSBJUHY2IGhlYWRlci4NCj4gKyAqIEBwYXJhbSBmcmFnX2hkcg0KPiArICrCoCDCoEEg cG9pbnRlciB0byB0aGUgYnVmZmVyIHdoZXJlIHRoZSBmcmFnbWVudCBoZWFkZXINCj4gKyAqwqAg wqB3aWxsIGJlIGNvcGllZCBpZiBpdCBpcyBub3QgY29udGlndW91cyBpbiBtYnVmIGRhdGEuDQo+ wqAgwqAqIEByZXR1cm4NCj7CoCDCoCrCoCDCoFBvaW50ZXIgdG8gdGhlIElQdjYgZnJhZ21lbnQg ZXh0ZW5zaW9uIGhlYWRlciwgb3IgTlVMTCBpZiBpdCdzIG5vdA0KPsKgIMKgKsKgIMKgcHJlc2Vu dC4NCj7CoCDCoCovDQo+IC1zdGF0aWMgaW5saW5lIHN0cnVjdCBpcHY2X2V4dGVuc2lvbl9mcmFn bWVudCAqDQo+IC1ydGVfaXB2Nl9mcmFnX2dldF9pcHY2X2ZyYWdtZW50X2hlYWRlcihzdHJ1Y3Qg aXB2Nl9oZHIgKmhkcikNCj4gLXsNCj4gLcKgIMKgIMKgaWYgKGhkci0+cHJvdG8gPT0gSVBQUk9U T19GUkFHTUVOVCkgew0KPiAtwqAgwqAgwqAgwqAgwqAgwqAgwqByZXR1cm4gKHN0cnVjdCBpcHY2 X2V4dGVuc2lvbl9mcmFnbWVudCAqKSArK2hkcjsNCj4gLcKgIMKgIMKgfQ0KPiAtwqAgwqAgwqBl bHNlDQo+IC3CoCDCoCDCoCDCoCDCoCDCoCDCoHJldHVybiBOVUxMOw0KPiAtfQ0KPiArY29uc3Qg c3RydWN0IGlwdjZfZXh0ZW5zaW9uX2ZyYWdtZW50ICpydGVfaXB2Nl9mcmFnX2dldF9pcHY2X2Zy YWdtZW50X2hlYWRlcigNCj4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgc3RydWN0IHJ0ZV9tYnVmICpw a3QsIGNvbnN0IHN0cnVjdCBpcHY2X2hkciAqaXBfaGRyLA0KPiArwqAgwqAgwqAgwqAgwqAgwqAg wqBzdHJ1Y3QgaXB2Nl9leHRlbnNpb25fZnJhZ21lbnQgKmZyYWdfaGRyKTsNCg0KQW5vdGhlciB0 aGluZyAtIHdvdWxkbid0IGl0IGJlIGFiIEFQSS9BQkkgYnJlYWthZ2U/DQpPbmUgbW9yZSBxdWVz dGlvbiAtIG1ha2luZyBpdCBub24taW5saW5lIC0gaG93IG11Y2ggaXQgd291bGTCoCBhZmZlY3Qg cGVyZm9ybWFuY2U/DQpNeSBndWVzcyAtIG5vIGJpZyBkaWZmZXJlbmNlLCBidXQgZGlkIHlvdSBj aGVjaz8NCktvbnN0YW50aW4NCg0KPiANCj7CoCAvKioNCj7CoCDCoCogSVB2NCBmcmFnbWVudGF0 aW9uLg0KPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9pcF9mcmFnL3J0ZV9pcF9mcmFnX3ZlcnNp b24ubWFwIGIvbGliL2xpYnJ0ZV9pcF9mcmFnL3J0ZV9pcF9mcmFnX3ZlcnNpb24ubWFwDQo+IGlu ZGV4IGQ0MGQ1NTE1Zi4uOGI0YzgyZDA4IDEwMDY0NA0KPiAtLS0gYS9saWIvbGlicnRlX2lwX2Zy YWcvcnRlX2lwX2ZyYWdfdmVyc2lvbi5tYXANCj4gKysrIGIvbGliL2xpYnJ0ZV9pcF9mcmFnL3J0 ZV9pcF9mcmFnX3ZlcnNpb24ubWFwDQo+IEBAIC04LDYgKzgsNyBAQCBEUERLXzIuMCB7DQo+wqAg wqAgwqAgwqBydGVfaXB2NF9mcmFnbWVudF9wYWNrZXQ7DQo+wqAgwqAgwqAgwqBydGVfaXB2Nl9m cmFnX3JlYXNzZW1ibGVfcGFja2V0Ow0KPsKgIMKgIMKgIMKgcnRlX2lwdjZfZnJhZ21lbnRfcGFj a2V0Ow0KPiArwqAgwqAgwqBydGVfaXB2Nl9mcmFnX2dldF9pcHY2X2ZyYWdtZW50X2hlYWRlcjsN Cj4gDQo+wqAgwqAgwqAgwqBsb2NhbDogKjsNCj7CoCB9Ow0KPiBkaWZmIC0tZ2l0IGEvbGliL2xp YnJ0ZV9pcF9mcmFnL3J0ZV9pcHY2X2ZyYWdtZW50YXRpb24uYyBiL2xpYi9saWJydGVfaXBfZnJh Zy9ydGVfaXB2Nl9mcmFnbWVudGF0aW9uLmMNCj4gaW5kZXggNjJhN2U0ZTgzLi5iZDg0N2RkM2Qg MTAwNjQ0DQo+IC0tLSBhL2xpYi9saWJydGVfaXBfZnJhZy9ydGVfaXB2Nl9mcmFnbWVudGF0aW9u LmMNCj4gKysrIGIvbGliL2xpYnJ0ZV9pcF9mcmFnL3J0ZV9pcHY2X2ZyYWdtZW50YXRpb24uYw0K PiBAQCAtMTc2LDMgKzE3Niw0MSBAQCBydGVfaXB2Nl9mcmFnbWVudF9wYWNrZXQoc3RydWN0IHJ0 ZV9tYnVmICpwa3RfaW4sDQo+IA0KPsKgIMKgIMKgIMKgcmV0dXJuIG91dF9wa3RfcG9zOw0KPsKg IH0NCj4gKw0KPiArY29uc3Qgc3RydWN0IGlwdjZfZXh0ZW5zaW9uX2ZyYWdtZW50ICoNCj4gK3J0 ZV9pcHY2X2ZyYWdfZ2V0X2lwdjZfZnJhZ21lbnRfaGVhZGVyKHN0cnVjdCBydGVfbWJ1ZiAqcGt0 LA0KPiArwqAgwqAgwqBjb25zdCBzdHJ1Y3QgaXB2Nl9oZHIgKmlwX2hkciwNCj4gK8KgIMKgIMKg c3RydWN0IGlwdjZfZXh0ZW5zaW9uX2ZyYWdtZW50ICpmcmFnX2hkcikNCj4gK3sNCj4gK8KgIMKg IMKgc2l6ZV90IG9mZnNldCA9IHNpemVvZihzdHJ1Y3QgaXB2Nl9oZHIpOw0KPiArwqAgwqAgwqB1 aW50OF90IG5leHRoZHIgPSBpcF9oZHItPnByb3RvOw0KPiArDQo+ICvCoCDCoCDCoHdoaWxlIChp cHY2X2V4dF9oZHIobmV4dGhkcikpIHsNCj4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgc3RydWN0IGlw djZfb3B0X2hkciBvcHQ7DQo+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoGNvbnN0IHN0cnVjdCBpcHY2 X29wdF9oZHIgKnBvcHQgPSBydGVfcGt0bWJ1Zl9yZWFkKHBrdCwNCj4gK8KgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgb2Zmc2V0LCBzaXplb2Yob3B0KSwgJm9wdCk7DQo+ICvCoCDCoCDC oCDCoCDCoCDCoCDCoGlmIChwb3B0ID09IE5VTEwpDQo+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoHJldHVybiBOVUxMOw0KPiArDQo+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoHN3aXRj aCAobmV4dGhkcikgew0KPiArwqAgwqAgwqAgwqAgwqAgwqAgwqBjYXNlIElQUFJPVE9fTk9ORToN Cj4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcmV0dXJuIE5VTEw7DQo+ICsNCj4g K8KgIMKgIMKgIMKgIMKgIMKgIMKgY2FzZSBJUFBST1RPX0ZSQUdNRU5UOg0KPiArwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqByZXR1cm4gcnRlX3BrdG1idWZfcmVhZChwa3QsIG9mZnNl dCwNCj4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgc2l6ZW9m KCpmcmFnX2hkciksIGZyYWdfaGRyKTsNCj4gKw0KPiArwqAgwqAgwqAgwqAgwqAgwqAgwqBjYXNl IElQUFJPVE9fQUg6DQo+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoG9mZnNldCAr PSAocG9wdC0+aGRybGVuICsgMikgPDwgMjsNCj4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgYnJlYWs7DQo+ICsNCj4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgZGVmYXVsdDoNCj4gK8Kg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgb2Zmc2V0ICs9IChwb3B0LT5oZHJsZW4gKyAx KSA8PCAzOw0KPiArwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBicmVhazsNCj4gK8Kg IMKgIMKgIMKgIMKgIMKgIMKgfQ0KPiArDQo+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoG5leHRoZHIg PSBwb3B0LT5uZXh0aGRyOw0KPiArwqAgwqAgwqB9DQo+ICsNCj4gK8KgIMKgIMKgcmV0dXJuIE5V TEw7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2lwX2ZyYWcvcnRlX2lwdjZfcmVh c3NlbWJseS5jIGIvbGliL2xpYnJ0ZV9pcF9mcmFnL3J0ZV9pcHY2X3JlYXNzZW1ibHkuYw0KPiBp bmRleCBkYjI0OWZlNjAuLmIyZDY3YTNmMCAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9pcF9m cmFnL3J0ZV9pcHY2X3JlYXNzZW1ibHkuYw0KPiArKysgYi9saWIvbGlicnRlX2lwX2ZyYWcvcnRl X2lwdjZfcmVhc3NlbWJseS5jDQo+IEBAIC0xMzUsOCArMTM1LDggQEAgaXB2Nl9mcmFnX3JlYXNz ZW1ibGUoc3RydWN0IGlwX2ZyYWdfcGt0ICpmcCkNCj7CoCAjZGVmaW5lIEZSQUdfT0ZGU0VUKHgp IChydGVfY3B1X3RvX2JlXzE2KHgpID4+IDMpDQo+wqAgc3RydWN0IHJ0ZV9tYnVmICoNCj7CoCBy dGVfaXB2Nl9mcmFnX3JlYXNzZW1ibGVfcGFja2V0KHN0cnVjdCBydGVfaXBfZnJhZ190YmwgKnRi bCwNCj4gLcKgIMKgIMKgIMKgIMKgIMKgIMKgc3RydWN0IHJ0ZV9pcF9mcmFnX2RlYXRoX3JvdyAq ZHIsIHN0cnVjdCBydGVfbWJ1ZiAqbWIsIHVpbnQ2NF90IHRtcywNCj4gLcKgIMKgIMKgIMKgIMKg IMKgIMKgc3RydWN0IGlwdjZfaGRyICppcF9oZHIsIHN0cnVjdCBpcHY2X2V4dGVuc2lvbl9mcmFn bWVudCAqZnJhZ19oZHIpDQo+ICvCoCDCoCDCoHN0cnVjdCBydGVfaXBfZnJhZ19kZWF0aF9yb3cg KmRyLCBzdHJ1Y3QgcnRlX21idWYgKm1iLCB1aW50NjRfdCB0bXMsDQo+ICvCoCDCoCDCoHN0cnVj dCBpcHY2X2hkciAqaXBfaGRyLCBjb25zdCBzdHJ1Y3QgaXB2Nl9leHRlbnNpb25fZnJhZ21lbnQg KmZyYWdfaGRyKQ0KPsKgIHsNCj7CoCDCoCDCoCDCoHN0cnVjdCBpcF9mcmFnX3BrdCAqZnA7DQo+ wqAgwqAgwqAgwqBzdHJ1Y3QgaXBfZnJhZ19rZXkga2V5Ow0KPiBkaWZmIC0tZ2l0IGEvbGliL2xp YnJ0ZV9wb3J0L3J0ZV9wb3J0X3Jhcy5jIGIvbGliL2xpYnJ0ZV9wb3J0L3J0ZV9wb3J0X3Jhcy5j DQo+IGluZGV4IGM4YjJlMTliZi4uMjg3NjRmNzQ0IDEwMDY0NA0KPiAtLS0gYS9saWIvbGlicnRl X3BvcnQvcnRlX3BvcnRfcmFzLmMNCj4gKysrIGIvbGliL2xpYnJ0ZV9wb3J0L3J0ZV9wb3J0X3Jh cy5jDQo+IEBAIC0xODQsOSArMTg0LDExIEBAIHByb2Nlc3NfaXB2NihzdHJ1Y3QgcnRlX3BvcnRf cmluZ193cml0ZXJfcmFzICpwLCBzdHJ1Y3QgcnRlX21idWYgKnBrdCkNCj7CoCDCoCDCoCDCoC8q IEFzc3VtZSB0aGVyZSBpcyBubyBldGhlcm5ldCBoZWFkZXIgKi8NCj7CoCDCoCDCoCDCoHN0cnVj dCBpcHY2X2hkciAqcGt0X2hkciA9IHJ0ZV9wa3RtYnVmX210b2QocGt0LCBzdHJ1Y3QgaXB2Nl9o ZHIgKik7DQo+IA0KPiAtwqAgwqAgwqBzdHJ1Y3QgaXB2Nl9leHRlbnNpb25fZnJhZ21lbnQgKmZy YWdfaGRyOw0KPiArwqAgwqAgwqBjb25zdCBzdHJ1Y3QgaXB2Nl9leHRlbnNpb25fZnJhZ21lbnQg KmZyYWdfaGRyOw0KPiArwqAgwqAgwqBzdHJ1Y3QgaXB2Nl9leHRlbnNpb25fZnJhZ21lbnQgZnJh Z19oZHJfYnVmOw0KPsKgIMKgIMKgIMKgdWludDE2X3QgZnJhZ19kYXRhID0gMDsNCj4gLcKgIMKg IMKgZnJhZ19oZHIgPSBydGVfaXB2Nl9mcmFnX2dldF9pcHY2X2ZyYWdtZW50X2hlYWRlcihwa3Rf aGRyKTsNCj4gK8KgIMKgIMKgZnJhZ19oZHIgPSBydGVfaXB2Nl9mcmFnX2dldF9pcHY2X2ZyYWdt ZW50X2hlYWRlcihwa3QsIHBrdF9oZHIsDQo+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCZmcmFnX2hk cl9idWYpOw0KPsKgIMKgIMKgIMKgaWYgKGZyYWdfaGRyICE9IE5VTEwpDQo+wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqBmcmFnX2RhdGEgPSBydGVfYmVfdG9fY3B1XzE2KGZyYWdfaGRyLT5mcmFnX2Rh dGEpOw0KPiANCj4gLS0NCj4gMi4xNy4xDQo=