From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0076.outbound.protection.outlook.com [104.47.2.76]) by dpdk.org (Postfix) with ESMTP id 447E31BB42 for ; Wed, 11 Apr 2018 14:04:58 +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=DwueONhiE/Mg+FC1tPDfsfYlVxhdJMWw/m16hi48Xow=; b=T/9GxBaE4wfxlYn0l6q6RtCggbXUcnBSC7LN+VB1C/UmGc8fhAXGLHkXFpwhrDnEsm2C0Sw9nPQo4eRZK/PDi/Bu3h07DoUZqt54Z65Eq1iCY0H06y2zvQFiutO+6VG2l2UvmfKrFNr1QSMJHrAm+dZZuRknVHdO+n9rTMXsz+8= Received: from VI1PR05MB1678.eurprd05.prod.outlook.com (10.165.235.152) by VI1PR05MB1072.eurprd05.prod.outlook.com (10.162.11.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.653.12; Wed, 11 Apr 2018 12:04:54 +0000 Received: from VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::b8e2:e81f:98a:b6d0]) by VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::b8e2:e81f:98a:b6d0%14]) with mapi id 15.20.0653.018; Wed, 11 Apr 2018 12:04:54 +0000 From: "Xueming(Steven) Li" To: Adrien Mazarguil CC: Wenzhuo Lu , Jingjing Wu , Thomas Monjalon , =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= , Shahaf Shuler , "dev@dpdk.org" , Olivier Matz Thread-Topic: [dpdk-dev] [PATCH v2 2/5] ethdev: introduce new tunnel VXLAN-GPE Thread-Index: AQHT0MwNoR6TrWmyO0WdJbIFYmHsiKP7VdiAgAAipvA= Date: Wed, 11 Apr 2018 12:04:54 +0000 Message-ID: References: <20180226150947.107179-2-xuemingl@mellanox.com> <20180410130036.188819-3-xuemingl@mellanox.com> <20180411095903.GJ4957@6wind.com> In-Reply-To: <20180411095903.GJ4957@6wind.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xuemingl@mellanox.com; x-originating-ip: [114.83.166.179] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB1072; 7:DVW9IcOh6wonxvgYAmOMXxxYsf+dc2vFld4jBwb47eMu2wITWMOtFR4MfIjW22865c7gWQPP0Avd4dGjemlLyqyIQE6hC1tZzvxJt1m7ahn/rH8V880CRRUDHLKFqugOBBBxEc0qMFs1cCJvLuVVCH9yqsN2s7m8SnnDrrApgiuyLdDDoz56RMNa5vBnALS9FAPguDpc52HBl0dh9S5lG7Rx4m+kSwCPKbJgIqR28q5MG1RIm1I38rJr0Cg+YpVg x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020); SRVR:VI1PR05MB1072; x-ms-traffictypediagnostic: VI1PR05MB1072: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(189930954265078)(15185016700835)(45079756050767)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231221)(944501327)(52105095)(6055026)(6041310)(20161123564045)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011); SRVR:VI1PR05MB1072; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB1072; x-forefront-prvs: 0639027A9E x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39380400002)(396003)(346002)(376002)(366004)(39860400002)(13464003)(189003)(199004)(186003)(3280700002)(14454004)(54906003)(966005)(25786009)(5660300001)(4326008)(45080400002)(2900100001)(59450400001)(66066001)(478600001)(53546011)(229853002)(6506007)(26005)(6436002)(2906002)(5250100002)(81156014)(33656002)(102836004)(316002)(3846002)(6116002)(8676002)(9686003)(106356001)(476003)(11346002)(7736002)(97736004)(99286004)(305945005)(81166006)(6916009)(76176011)(8936002)(68736007)(6306002)(575784001)(55016002)(86362001)(7696005)(446003)(486006)(3660700001)(6246003)(53936002)(74316002)(105586002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB1072; H:VI1PR05MB1678.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: L0UyztzEFfRHQMLCc3LkrgSuZYqanlbMymFwJlZbACqN5TfJp5CcYlRXJ1ry7yo18eCm/axE6Gky6r0SvS/2VDMjDe1UawhTlS+8ikTGUoBP/SuN+6gO1bTkQ0Np5RCXZ8bR4gNeKPmw2r40dwcx7/B8QsE/SA5j3lj9+MC4qq0dVyOQsO43tpdctnaOULhtJp0Vr+1/N/XOkb1VJ0FHtZIkTNpbKE7y0k1hVacqTjSzv8c2ziI9ycNsA/cu4hjYb0K9Q6UET5bXibLMi5nwem1F1jyvCEuBuZE02fkSEFWEreDnoAb7tNsC6qILjWOLh75XRmH8XPleyzUnKs8GtsKvzcEe4ND6niQ/PdB3Bn6asdEi+0wtjIX7yJKgkMM/peyaubR1r9MAakykZiPlkzRanfdrrRmihMZIMUuBRu4= 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: 60d0914e-46ad-417d-c139-08d59fa46fd6 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 60d0914e-46ad-417d-c139-08d59fa46fd6 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Apr 2018 12:04:54.1810 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1072 Subject: Re: [dpdk-dev] [PATCH v2 2/5] ethdev: introduce new tunnel VXLAN-GPE 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, 11 Apr 2018 12:04:58 -0000 SGkgQWRyaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFkcmll biBNYXphcmd1aWwgPGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPg0KPiBTZW50OiBXZWRuZXNk YXksIEFwcmlsIDExLCAyMDE4IDU6NTkgUE0NCj4gVG86IFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVl bWluZ2xAbWVsbGFub3guY29tPg0KPiBDYzogV2Vuemh1byBMdSA8d2Vuemh1by5sdUBpbnRlbC5j b20+OyBKaW5namluZyBXdSA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsNCj4gVGhvbWFzIE1vbmph bG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgTsOpbGlvIExhcmFuamVpcm8NCj4gPG5lbGlvLmxh cmFuamVpcm9ANndpbmQuY29tPjsgU2hhaGFmIFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5jb20+ Ow0KPiBkZXZAZHBkay5vcmc7IE9saXZpZXIgTWF0eiA8b2xpdmllci5tYXR6QDZ3aW5kLmNvbT4N Cj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyIDIvNV0gZXRoZGV2OiBpbnRyb2R1 Y2UgbmV3IHR1bm5lbCBWWExBTi0NCj4gR1BFDQo+IA0KPiBPbiBUdWUsIEFwciAxMCwgMjAxOCBh dCAwOTowMDozM1BNICswODAwLCBYdWVtaW5nIExpIHdyb3RlOg0KPiA+IFZYTEFOLUdQRSBlbmFi bGVzIFZYTEFOIGZvciBhbGwgcHJvdG9jb2xzLiBQcm90b2NvbCBsaW5rOg0KPiA+IGh0dHBzOi8v ZW1lYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYl MkZkYXQNCj4gPiBhdHJhY2tlci5pZXRmLm9yZyUyRmRvYyUyRmRyYWZ0LWlldGYtbnZvMy12eGxh bi1ncGUlMkYmZGF0YT0wMiU3QzAxJTdDDQo+ID4geHVlbWluZ2wlNDBtZWxsYW5veC5jb20lN0Nl NjljOTVkOThmNWY0NTdjOTY2OTA4ZDU5ZjkyZTM5MyU3Q2E2NTI5NzFjNw0KPiA+IGQyZTRkOWJh NmE0ZDE0OTI1NmY0NjFiJTdDMCU3QzAlN0M2MzY1OTAzNzU2MDEyMjAzOTcmc2RhdGE9WFo2a3Bn RUlyYkINCj4gPiB3SHJwT0RhWmlCeWY2YTJOUWw0SjZNYWRZWUFzdU5zYyUzRCZyZXNlcnZlZD0w DQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBYdWVtaW5nIExpIDx4dWVtaW5nbEBtZWxsYW5veC5j b20+DQo+IA0KPiBBZGRpbmcgYSBuZXcgcnRlX2Zsb3cgcGF0dGVybiBpdGVtIGluIHRoZSBtaWRk bGUgb2YgZW51bQ0KPiBydGVfZmxvd19pdGVtX3R5cGUgYnJlYWtzIEFCSSBjb21wYXRpYmlsaXR5 LiBJdCdzIGZpbmUgZm9yIDE4LjA1IGJlY2F1c2UNCj4gcHJpb3Igc2VyaWVzIGFscmVhZHkgZGVz dHJveWVkIGl0LCBob3dldmVyIGZvciB0aGlzIHBhdGNoIHlvdSBuZWVkIHRvDQo+IGNob29zZSBi ZXR3ZWVuOg0KPiANCj4gLSBBZGRpbmcgdGhlIG5ldyBlbnRyeSBhdCB0aGUgZW5kIG9mIHRoZSBl bnVtIGFuZCBtb2RpZnlpbmcgdGhlIHJlc3Qgb2YNCj4gdGhlDQo+ICAgY29kZSB0byBmb2xsb3cg dGhlIHNhbWUgb3JkZXIgKHByZWZlcnJlZCBhcHByb2FjaCB3aGVuIG5vdCBkb2luZyBhIGZ1bGwN Cj4gICBBUEkgb3ZlcmhhdWwpLg0KPiANCj4gKm9yKg0KPiANCj4gLSBTdGF0aW5nIGluIHRoZSBj b21taXQgbG9nIHdoYXQgZnVuY3Rpb25zIGFyZSBpbXBhY3RlZCBieSBBQkkgY2hhbmdlcyBhcw0K PiBpbg0KPiAgICJldGhkZXY6IHJlbW92ZSBEVVAgYWN0aW9uIGZyb20gZmxvdyBBUEkiIFsxXS4N Cj4gDQo+IEFsc28geW91IG11c3QgYWRkIGEgbmV3ICJJdGVtOiBgYFZYTEFOX0dQRWBgIiBzZWN0 aW9uIHRvDQo+IGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QgKGxvb2sgZm9yICJW WExBTiIgZm9yIGNsdWVzKS4NCj4gDQo+IE90aGVyd2lzZSBwYXRjaCBpcyBtb3N0bHkgZmluZSwg anVzdCBhIGZldyBjb21tZW50cyBiZWxvdy4NCj4gDQo+IFsxXQ0KPiBodHRwczovL2VtZWEwMS5z YWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZkcGRrLm9y Zw0KPiAlMkZtbCUyRmFyY2hpdmVzJTJGZGV2JTJGMjAxOC0NCj4gQXByaWwlMkYwOTY1MjYuaHRt bCZkYXRhPTAyJTdDMDElN0N4dWVtaW5nbCU0MG1lbGxhbm94LmNvbSU3Q2U2OWM5NWQ5OGY1ZjQN Cj4gNTdjOTY2OTA4ZDU5ZjkyZTM5MyU3Q2E2NTI5NzFjN2QyZTRkOWJhNmE0ZDE0OTI1NmY0NjFi JTdDMCU3QzAlN0M2MzY1OTAzNzUNCj4gNjAxMjIwMzk3JnNkYXRhPThRJTJGTWlnQThoU0htTTI1 VVdVdmhUT3RWdWl0JTJGeFFSRkJBNmlGNmxZeHY4JTNEJnJlc2VydmUNCj4gZD0wDQo+IA0KDQpU aGFua3MsIEkndmUgdXBkYXRlIGNvZGUgYWNjb3JkaW5nIHRvIG9wdGlvbiAxLg0KDQo+ID4gLS0t DQo+ID4gIGxpYi9saWJydGVfZXRoZXIvcnRlX2V0aF9jdHJsLmggIHwgIDMgKystDQo+ID4gIGxp Yi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuYyAgICAgIHwgIDEgKw0KPiA+ICBsaWIvbGlicnRlX2V0 aGVyL3J0ZV9mbG93LmggICAgICB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ ICBsaWIvbGlicnRlX21idWYvcnRlX21idWYuYyAgICAgICB8ICAzICsrKw0KPiA+ICBsaWIvbGli cnRlX21idWYvcnRlX21idWYuaCAgICAgICB8ICAxICsNCj4gPiAgbGliL2xpYnJ0ZV9tYnVmL3J0 ZV9tYnVmX3B0eXBlLmMgfCAgMSArDQo+ID4gbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmX3B0eXBl LmggfCAxMyArKysrKysrKysrKysrDQo+ID4gIGxpYi9saWJydGVfbmV0L3J0ZV9ldGhlci5oICAg ICAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICA4IGZpbGVzIGNoYW5nZWQs IDczIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9s aWIvbGlicnRlX2V0aGVyL3J0ZV9ldGhfY3RybC5oDQo+ID4gYi9saWIvbGlicnRlX2V0aGVyL3J0 ZV9ldGhfY3RybC5oIGluZGV4IDY2OGY1OWFjYi4uNWVhOGFlMjRjIDEwMDY0NA0KPiA+IC0tLSBh L2xpYi9saWJydGVfZXRoZXIvcnRlX2V0aF9jdHJsLmgNCj4gPiArKysgYi9saWIvbGlicnRlX2V0 aGVyL3J0ZV9ldGhfY3RybC5oDQo+ID4gQEAgLTU0LDcgKzU0LDggQEAgZXh0ZXJuICJDIiB7DQo+ ID4gICNkZWZpbmUgUlRFX0VUSF9GTE9XX1ZYTEFOICAgICAgICAgICAgICAxOSAvKio8IFZYTEFO IHByb3RvY29sIGJhc2VkDQo+IGZsb3cgKi8NCj4gPiAgI2RlZmluZSBSVEVfRVRIX0ZMT1dfR0VO RVZFICAgICAgICAgICAgIDIwIC8qKjwgR0VORVZFIHByb3RvY29sIGJhc2VkDQo+IGZsb3cgKi8N Cj4gPiAgI2RlZmluZSBSVEVfRVRIX0ZMT1dfTlZHUkUgICAgICAgICAgICAgIDIxIC8qKjwgTlZH UkUgcHJvdG9jb2wgYmFzZWQNCj4gZmxvdyAqLw0KPiA+IC0jZGVmaW5lIFJURV9FVEhfRkxPV19N QVggICAgICAgICAgICAgICAgMjINCj4gPiArI2RlZmluZSBSVEVfRVRIX0ZMT1dfVlhMQU5fR1BF ICAgICAgICAgIDIyIC8qKjwgVlhMQU4tR1BFIHByb3RvY29sDQo+IGJhc2VkIGZsb3cgKi8NCj4g PiArI2RlZmluZSBSVEVfRVRIX0ZMT1dfTUFYICAgICAgICAgICAgICAgIDIzDQo+ID4NCj4gPiAg LyoqDQo+ID4gICAqIEZlYXR1cmUgZmlsdGVyIHR5cGVzDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9s aWJydGVfZXRoZXIvcnRlX2Zsb3cuYyBiL2xpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuYw0KPiA+ IGluZGV4IDNkODExNmViZC4uZmI3MTBmZmY3IDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVf ZXRoZXIvcnRlX2Zsb3cuYw0KPiA+ICsrKyBiL2xpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuYw0K PiA+IEBAIC01MCw2ICs1MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfZGVzY19k YXRhDQo+IHJ0ZV9mbG93X2Rlc2NfaXRlbVtdID0gew0KPiA+ICAJTUtfRkxPV19JVEVNKFRDUCwg c2l6ZW9mKHN0cnVjdCBydGVfZmxvd19pdGVtX3RjcCkpLA0KPiA+ICAJTUtfRkxPV19JVEVNKFND VFAsIHNpemVvZihzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9zY3RwKSksDQo+ID4gIAlNS19GTE9XX0lU RU0oVlhMQU4sIHNpemVvZihzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV92eGxhbikpLA0KPiA+ICsJTUtf RkxPV19JVEVNKFZYTEFOX0dQRSwgc2l6ZW9mKHN0cnVjdCBydGVfZmxvd19pdGVtX3Z4bGFuX2dw ZSkpLA0KPiANCj4gU2hvdWxkIGJlIGF0IHRoZSBlbmQgb2YgdGhpcyBhcnJheSBpZiB5b3UgY2hv b3NlIHRvIG5vdCBpbXBhY3QgQUJJLg0KPiANCj4gPiAgCU1LX0ZMT1dfSVRFTShNUExTLCBzaXpl b2Yoc3RydWN0IHJ0ZV9mbG93X2l0ZW1fbXBscykpLA0KPiA+ICAJTUtfRkxPV19JVEVNKEdSRSwg c2l6ZW9mKHN0cnVjdCBydGVfZmxvd19pdGVtX2dyZSkpLA0KPiA+ICAJTUtfRkxPV19JVEVNKEVf VEFHLCBzaXplb2Yoc3RydWN0IHJ0ZV9mbG93X2l0ZW1fZV90YWcpKSwgZGlmZiAtLWdpdA0KPiA+ IGEvbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oIGIvbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxv dy5oIGluZGV4DQo+ID4gYmVkNzI3ZGY4Li5jN2NmYzIwMWEgMTAwNjQ0DQo+ID4gLS0tIGEvbGli L2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oDQo+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldGhlci9ydGVf Zmxvdy5oDQo+ID4gQEAgLTI1Niw2ICsyNTYsMTMgQEAgZW51bSBydGVfZmxvd19pdGVtX3R5cGUg ew0KPiA+ICAJUlRFX0ZMT1dfSVRFTV9UWVBFX1ZYTEFOLA0KPiA+DQo+ID4gIAkvKioNCj4gPiAr CSAqIE1hdGNoZXMgYSBWWExBTi1HUEUgaGVhZGVyLg0KPiA+ICsJICoNCj4gPiArCSAqIFNlZSBz dHJ1Y3QgcnRlX2Zsb3dfaXRlbV92eGxhbl9ncGUuDQo+ID4gKwkgKi8NCj4gPiArCVJURV9GTE9X X0lURU1fVFlQRV9WWExBTl9HUEUsDQo+ID4gKw0KPiA+ICsJLyoqDQo+IA0KPiBEaXR0byBmb3Ig dGhlIGVudW0gZGVmaW5pdGlvbi4NCj4gDQo+ID4gIAkgKiBNYXRjaGVzIGEgRV9UQUcgaGVhZGVy Lg0KPiA+ICAJICoNCj4gPiAgCSAqIFNlZSBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9lX3RhZy4NCj4g PiBAQCAtNjc2LDYgKzY4MywyNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2l0ZW1f dnhsYW4NCj4gPiBydGVfZmxvd19pdGVtX3Z4bGFuX21hc2sgPSB7ICAjZW5kaWYNCj4gPg0KPiA+ ICAvKioNCj4gPiArICogUlRFX0ZMT1dfSVRFTV9UWVBFX1ZYTEFOX0dQRS4NCj4gPiArICoNCj4g PiArICogTWF0Y2hlcyBhIFZYTEFOLUdQRSBoZWFkZXIuDQo+IA0KPiBZb3Ugc2hvdWxkIG5hbWUg dGhlIGN1cnJlbnQgSUVURiBkcmFmdCBwZW5kaW5nIGEgcHJvcGVyIFJGQzoNCj4gDQo+ICBNYXRj aGVzIGEgVlhMQU4tR1BFIGhlYWRlciAoZHJhZnQtaWV0Zi1udm8zLXZ4bGFuLWdwZS0wNSkuDQo+ IA0KPiA+ICsgKi8NCj4gPiArc3RydWN0IHJ0ZV9mbG93X2l0ZW1fdnhsYW5fZ3BlIHsNCj4gPiAr CXVpbnQ4X3QgZmxhZ3M7IC8qKjwgTm9ybWFsbHkgMHgwYyAoSSBhbmQgUCBmbGFnKS4gKi8NCj4g PiArCXVpbnQ4X3QgcnN2ZDBbMl07IC8qKjwgUmVzZXJ2ZWQsIG5vcm1hbGx5IDB4MDAwMC4gKi8N Cj4gPiArCXVpbnQ4X3QgcHJvdG9jb2w7IC8qKjwgUHJvdG9jb2wgdHlwZS4gKi8NCj4gPiArCXVp bnQ4X3Qgdm5pWzNdOyAvKio8IFZYTEFOIGlkZW50aWZpZXIuICovDQo+ID4gKwl1aW50OF90IHJz dmQxOyAvKio8IFJlc2VydmVkLCBub3JtYWxseSAweDAwLiAqLyB9Ow0KPiA+ICsNCj4gPiArLyoq IERlZmF1bHQgbWFzayBmb3IgUlRFX0ZMT1dfSVRFTV9UWVBFX1ZYTEFOX0dQRS4gKi8gI2lmbmRl Zg0KPiA+ICtfX2NwbHVzcGx1cyBzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2l0ZW1fdnhs YW5fZ3BlDQo+ID4gK3J0ZV9mbG93X2l0ZW1fdnhsYW5fZ3BlX21hc2sgPSB7DQo+ID4gKwkudm5p ID0gIlx4ZmZceGZmXHhmZiIsDQo+ID4gK307DQo+ID4gKyNlbmRpZg0KPiANCj4gQWdhaW4gaWYg eW91IGNob29zZSB0byBub3QgaW1wYWN0IEFCSSwgdGhpcyBzaG91bGQgYmUgbW92ZWQgZnVydGhl ciBkb3duLA0KPiBhZnRlciB0aGUgbGFzdCBpdGVtIGRlZmluaXRpb24gZm9yIGNvbnNpc3RlbmN5 Lg0KPiANCj4gPiArDQo+ID4gKy8qKg0KPiA+ICAgKiBSVEVfRkxPV19JVEVNX1RZUEVfRV9UQUcu DQo+ID4gICAqDQo+ID4gICAqIE1hdGNoZXMgYSBFLXRhZyBoZWFkZXIuDQo+ID4gZGlmZiAtLWdp dCBhL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5jIGIvbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVm LmMNCj4gPiBpbmRleCAwOTFkMzg4ZDMuLmRjOTAzNzllNSAxMDA2NDQNCj4gPiAtLS0gYS9saWIv bGlicnRlX21idWYvcnRlX21idWYuYw0KPiA+ICsrKyBiL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1 Zi5jDQo+ID4gQEAgLTQwNSw2ICs0MDUsNyBAQCBjb25zdCBjaGFyICpydGVfZ2V0X3R4X29sX2Zs YWdfbmFtZSh1aW50NjRfdCBtYXNrKQ0KPiA+ICAJY2FzZSBQS1RfVFhfVFVOTkVMX0lQSVA6IHJl dHVybiAiUEtUX1RYX1RVTk5FTF9JUElQIjsNCj4gPiAgCWNhc2UgUEtUX1RYX1RVTk5FTF9HRU5F VkU6IHJldHVybiAiUEtUX1RYX1RVTk5FTF9HRU5FVkUiOw0KPiA+ICAJY2FzZSBQS1RfVFhfVFVO TkVMX01QTFNJTlVEUDogcmV0dXJuICJQS1RfVFhfVFVOTkVMX01QTFNJTlVEUCI7DQo+ID4gKwlj YXNlIFBLVF9UWF9UVU5ORUxfVlhMQU5fR1BFOiByZXR1cm4gIlBLVF9UWF9UVU5ORUxfVlhMQU5f R1BFIjsNCj4gPiAgCWNhc2UgUEtUX1RYX01BQ1NFQzogcmV0dXJuICJQS1RfVFhfTUFDU0VDIjsN Cj4gPiAgCWNhc2UgUEtUX1RYX1NFQ19PRkZMT0FEOiByZXR1cm4gIlBLVF9UWF9TRUNfT0ZGTE9B RCI7DQo+ID4gIAlkZWZhdWx0OiByZXR1cm4gTlVMTDsNCj4gPiBAQCAtNDM5LDYgKzQ0MCw4IEBA IHJ0ZV9nZXRfdHhfb2xfZmxhZ19saXN0KHVpbnQ2NF90IG1hc2ssIGNoYXIgKmJ1ZiwNCj4gc2l6 ZV90IGJ1ZmxlbikNCj4gPiAgCQkgICJQS1RfVFhfVFVOTkVMX05PTkUiIH0sDQo+ID4gIAkJeyBQ S1RfVFhfVFVOTkVMX01QTFNJTlVEUCwgUEtUX1RYX1RVTk5FTF9NQVNLLA0KPiA+ICAJCSAgIlBL VF9UWF9UVU5ORUxfTk9ORSIgfSwNCj4gPiArCQl7IFBLVF9UWF9UVU5ORUxfVlhMQU5fR1BFLCBQ S1RfVFhfVFVOTkVMX01BU0ssDQo+ID4gKwkJICAiUEtUX1RYX1RVTk5FTF9OT05FIiB9LA0KPiA+ ICAJCXsgUEtUX1RYX01BQ1NFQywgUEtUX1RYX01BQ1NFQywgTlVMTCB9LA0KPiA+ICAJCXsgUEtU X1RYX1NFQ19PRkZMT0FELCBQS1RfVFhfU0VDX09GRkxPQUQsIE5VTEwgfSwNCj4gPiAgCX07DQo+ ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oIGIvbGliL2xpYnJ0ZV9t YnVmL3J0ZV9tYnVmLmgNCj4gPiBpbmRleCA2Mjc0MDI1NGQuLjE4MzljZjJlZCAxMDA2NDQNCj4g PiAtLS0gYS9saWIvbGlicnRlX21idWYvcnRlX21idWYuaA0KPiA+ICsrKyBiL2xpYi9saWJydGVf bWJ1Zi9ydGVfbWJ1Zi5oDQo+ID4gQEAgLTIxMCw2ICsyMTAsNyBAQCBleHRlcm4gIkMiIHsNCj4g PiAgI2RlZmluZSBQS1RfVFhfVFVOTkVMX0dFTkVWRSAgKDB4NFVMTCA8PCA0NSkgIC8qKjwgVFgg cGFja2V0IHdpdGgNCj4gPiBNUExTLWluLVVEUCBSRkMgNzUxMCBoZWFkZXIuICovICAjZGVmaW5l IFBLVF9UWF9UVU5ORUxfTVBMU0lOVURQDQo+ID4gKDB4NVVMTCA8PCA0NSkNCj4gPiArI2RlZmlu ZSBQS1RfVFhfVFVOTkVMX1ZYTEFOX0dQRSAoMHg2VUxMIDw8IDQ1KQ0KPiA+ICAvKiBhZGQgbmV3 IFRYIFRVTk5FTCB0eXBlIGhlcmUgKi8NCj4gPiAgI2RlZmluZSBQS1RfVFhfVFVOTkVMX01BU0sg ICAgKDB4RlVMTCA8PCA0NSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX21idWYv cnRlX21idWZfcHR5cGUuYw0KPiA+IGIvbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmX3B0eXBlLmMN Cj4gPiBpbmRleCAxZmVlZmFjYzYuLjQ5MTA2YzdkZiAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGli cnRlX21idWYvcnRlX21idWZfcHR5cGUuYw0KPiA+ICsrKyBiL2xpYi9saWJydGVfbWJ1Zi9ydGVf bWJ1Zl9wdHlwZS5jDQo+ID4gQEAgLTY1LDYgKzY1LDcgQEAgY29uc3QgY2hhciAqcnRlX2dldF9w dHlwZV90dW5uZWxfbmFtZSh1aW50MzJfdCBwdHlwZSkNCj4gPiAgCWNhc2UgUlRFX1BUWVBFX1RV Tk5FTF9HVFBVOiByZXR1cm4gIlRVTk5FTF9HVFBVIjsNCj4gPiAgCWNhc2UgUlRFX1BUWVBFX1RV Tk5FTF9FU1A6IHJldHVybiAiVFVOTkVMX0VTUCI7DQo+ID4gIAljYXNlIFJURV9QVFlQRV9UVU5O RUxfTDJUUDogcmV0dXJuICJUVU5ORUxfTDJUUCI7DQo+ID4gKwljYXNlIFJURV9QVFlQRV9UVU5O RUxfVlhMQU5fR1BFOiByZXR1cm4gIlRVTk5FTF9WWExBTl9HUEUiOw0KPiA+ICAJZGVmYXVsdDog cmV0dXJuICJUVU5ORUxfVU5LTk9XTiI7DQo+ID4gIAl9DQo+ID4gIH0NCj4gPiBkaWZmIC0tZ2l0 IGEvbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmX3B0eXBlLmgNCj4gPiBiL2xpYi9saWJydGVfbWJ1 Zi9ydGVfbWJ1Zl9wdHlwZS5oDQo+ID4gaW5kZXggYjlhMzM4MTEwLi43Y2FmODMzMTIgMTAwNjQ0 DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmX3B0eXBlLmgNCj4gPiArKysgYi9s aWIvbGlicnRlX21idWYvcnRlX21idWZfcHR5cGUuaA0KPiA+IEBAIC00MjMsNiArNDIzLDE5IEBA IGV4dGVybiAiQyIgew0KPiA+ICAgKi8NCj4gPiAgI2RlZmluZSBSVEVfUFRZUEVfVFVOTkVMX0wy VFAgICAgICAgICAgICAgICAweDAwMDBhMDAwDQo+ID4gIC8qKg0KPiA+ICsgKiBWWExBTi1HUEUg KFZYTEFOIEdlbmVyaWMgUHJvdG9jb2wgRXh0ZW5zaW9uKSB0dW5uZWxpbmcgcGFja2V0IHR5cGUu DQo+ID4gKyAqDQo+ID4gKyAqIFBhY2tldCBmb3JtYXQ6DQo+ID4gKyAqIDwnZXRoZXIgdHlwZSc9 MHgwODAwDQo+ID4gKyAqIHwgJ3ZlcnNpb24nPTQsICdwcm90b2NvbCc9MTcNCj4gPiArICogfCAn ZGVzdGluYXRpb24gcG9ydCc9NDc5MD4NCj4gPiArICogb3IsDQo+ID4gKyAqIDwnZXRoZXIgdHlw ZSc9MHg4NkREDQo+ID4gKyAqIHwgJ3ZlcnNpb24nPTYsICduZXh0IGhlYWRlcic9MTcNCj4gPiAr ICogfCAnZGVzdGluYXRpb24gcG9ydCc9NDc5MD4NCj4gPiArICovDQo+ID4gKyNkZWZpbmUgUlRF X1BUWVBFX1RVTk5FTF9WWExBTl9HUEUgICAgICAgICAgMHgwMDAwYjAwMA0KPiA+ICsvKioNCj4g PiAgICogTWFzayBvZiB0dW5uZWxpbmcgcGFja2V0IHR5cGVzLg0KPiA+ICAgKi8NCj4gPiAgI2Rl ZmluZSBSVEVfUFRZUEVfVFVOTkVMX01BU0sgICAgICAgICAgICAgICAweDAwMDBmMDAwDQo+ID4g ZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbmV0L3J0ZV9ldGhlci5oIGIvbGliL2xpYnJ0ZV9uZXQv cnRlX2V0aGVyLmgNCj4gPiBpbmRleCBhMjcxZDFjODYuLmE2NDgxNDE3OSAxMDA2NDQNCj4gPiAt LS0gYS9saWIvbGlicnRlX25ldC9ydGVfZXRoZXIuaA0KPiA+ICsrKyBiL2xpYi9saWJydGVfbmV0 L3J0ZV9ldGhlci5oDQo+ID4gQEAgLTMxMSw2ICszMTEsMzEgQEAgc3RydWN0IHZ4bGFuX2hkciB7 ICAvKio8IFZYTEFOIHR1bm5lbCBoZWFkZXINCj4gPiBsZW5ndGguICovDQo+ID4NCj4gPiAgLyoq DQo+ID4gKyAqIFZYTEFOLUdQRSBwcm90b2NvbCBoZWFkZXIuDQo+ID4gKyAqIENvbnRhaW5zIHRo ZSA4LWJpdCBmbGFnLCA4LWJpdCBuZXh0LXByb3RvY29sLCAyNC1iaXQgVlhMQU4gTmV0d29yaw0K PiA+ICsgKiBJZGVudGlmaWVyIGFuZCBSZXNlcnZlZCBmaWVsZHMgKDE2IGJpdHMgYW5kIDggYml0 cykuDQo+IA0KPiBBbm90aGVyIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBJRVRGIGRyYWZ0IGhl cmUgc2hvdWxkbid0IGh1cnQuDQo+IA0KPiA+ICsgKi8NCj4gPiArc3RydWN0IHZ4bGFuX2dwZV9o ZHIgew0KPiA+ICsJdWludDhfdCB2eF9mbGFnczsgLyoqPCBmbGFnICg4KS4gKi8NCj4gPiArCXVp bnQ4X3QgcmVzZXJ2ZWRbMl07IC8qKjwgUmVzZXJ2ZWQgKDE2KS4gKi8NCj4gPiArCXVpbnQ4X3Qg cHJvdG87IC8qKjwgbmV4dC1wcm90b2NvbCAoOCkuICovDQo+ID4gKwl1aW50MzJfdCB2eF92bmk7 ICAgLyoqPCBWTkkgKDI0KSArIFJlc2VydmVkICg4KS4gKi8NCj4gPiArfSBfX2F0dHJpYnV0ZV9f KChfX3BhY2tlZF9fKSk7DQo+ID4gKw0KPiA+ICsvKiBWWExBTi1HUEUgbmV4dCBwcm90b2NvbCB0 eXBlcyAqLw0KPiA+ICsjZGVmaW5lIFZYTEFOX0dQRV9UWVBFX0lQdjQgMSAvKio8IElQdjQgUHJv dG9jb2wuICovICNkZWZpbmUNCj4gPiArVlhMQU5fR1BFX1RZUEVfSVB2NiAyIC8qKjwgSVB2NiBQ cm90b2NvbC4gKi8gI2RlZmluZQ0KPiA+ICtWWExBTl9HUEVfVFlQRV9FVEggIDMgLyoqPCBFdGhl cm5ldCBQcm90b2NvbC4gKi8gI2RlZmluZQ0KPiA+ICtWWExBTl9HUEVfVFlQRV9OU0ggIDQgLyoq PCBOU0ggUHJvdG9jb2wuICovICNkZWZpbmUNCj4gPiArVlhMQU5fR1BFX1RZUEVfTVBMUyA1IC8q KjwgTVBMUyBQcm90b2NvbC4gKi8gI2RlZmluZQ0KPiA+ICtWWExBTl9HUEVfVFlQRV9HQlAgIDYg LyoqPCBHQlAgUHJvdG9jb2wuICovICNkZWZpbmUNCj4gPiArVlhMQU5fR1BFX1RZUEVfVkJORyA3 IC8qKjwgdkJORyBQcm90b2NvbC4gKi8NCj4gPiArDQo+ID4gKyNkZWZpbmUgRVRIRVJfVlhMQU5f R1BFX0hMRU4gKHNpemVvZihzdHJ1Y3QgdWRwX2hkcikgKyBcDQo+ID4gKwkJCSAgICAgIHNpemVv ZihzdHJ1Y3QgdnhsYW5fZ3BlX2hkcikpIC8qKjwgVlhMQU4tR1BFDQo+IHR1bm5lbCBoZWFkZXIN Cj4gPiArbGVuZ3RoLiAqLw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gICAqIEV4dHJhY3QgVkxBTiB0 YWcgaW5mb3JtYXRpb24gaW50byBtYnVmDQo+ID4gICAqDQo+ID4gICAqIFNvZnR3YXJlIHZlcnNp b24gb2YgVkxBTiBzdHJpcHBpbmcNCj4gPiAtLQ0KPiA+IDIuMTMuMw0KPiANCj4gLS0NCj4gQWRy aWVuIE1hemFyZ3VpbA0KPiA2V0lORA0K