From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1C6E4A0352; Tue, 25 Jan 2022 17:03:29 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8F36F426F7; Tue, 25 Jan 2022 17:03:28 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2056.outbound.protection.outlook.com [40.107.237.56]) by mails.dpdk.org (Postfix) with ESMTP id 76B6A426E4 for ; Tue, 25 Jan 2022 17:03:27 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IlakEXAY628rlCEcyjCpFPGRG95lPdITtNzo+w5V177yKGtKpFD18CtcaU3itxFElkCLIk/BYB6IkigEXgHQxIjPYOXqqNPyg4C63NdpQuxkefWOBTruyt77O0AYAtp3mqrtUTbE+yuVNj1JQ1p2eecchpjRDBunccGPdbUziGbDWXx28RA0KaEvSz8UySSP08KcPpGOUW+VEHBT9wycTJYh+lNOuP5JC5xhZR6j2JC9Ru8cMk6y8O7Ao3gILAADnNUcDidYLnbP43wwCMKULkwkY4/vBNad6bv17e/2M5lyQGf1EnBrkAXOgEum2x1dBftrObSzw0a23Qbz//Onzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=w6RMCW+dZJbsFVAg4q18agdam+J4RnAWnG/gNrf1fbc=; b=axxFj1SAsHlgt3Uim4RaafQps+loJVusGoAFwrof1htof1huY7+M2x6aVy8vE6UigKVYaDrQ78fd8uu0pXLHkmHYPz3Z7pQHY6sWpCu5k0eHQ4vUh6N+1ACWatvtPJt0U+EvC7RjmoD6r4EkKqI1PMq6Xd1fLhSx6wVZIDI/Kzntf0t6fWwcKxwZME0OnaZ/kI8ZA257uyZkId5hrPRaEwU3JaGL16f2sgfb0TSPMv6SuUKjWXYs/WxA4F4RDE6qNGBr+it49/JswwPwKL9jmpPZmxLUFQJScjqUvUzFG8fILHEcmfCNB8VDD/o8o92e7U1G828eYQM2xpyL/t/iJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=w6RMCW+dZJbsFVAg4q18agdam+J4RnAWnG/gNrf1fbc=; b=td7rVElVTb12Ci/T+4e/CGcBT6tSF6rTHneIoFO3UwzpOn6EOe4FI2NZnTcf5UvIkXrnHcdeq73r1uqogc0+MMfx1xRbQOjHF0trlbS04IUt068bZwR2BxZzoQmjEmrsc7MRU63rfy7kK1ML63gscq3+wNRzK2HH2xYSKWTgn754ZxNkfjGW580NvFr2pXUge40S25d/wtvzttoQi5aXyv8ilXRiHctwwOKQYzSnucwsM9lk7bz6ax8V+GyksZH/toZGe63JKMSsttlcT25BXBljgZCFlBXQsBKuzhfiu3Y8ZfaUE23uaFBWa4julwfZYVMVWPJ83Hvz6thej2WidQ== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by BN7PR12MB2595.namprd12.prod.outlook.com (2603:10b6:408:30::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 16:03:25 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::78:438a:c6b7:1cc1]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::78:438a:c6b7:1cc1%3]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022 16:03:25 +0000 From: Ori Kam To: Ferruh Yigit , "Sean Zhang (Networking SW)" , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Matan Azrad CC: Andrew Rybchenko , "dev@dpdk.org" Subject: RE: [RFC 1/3] ethdev: support GRE optional fields Thread-Topic: [RFC 1/3] ethdev: support GRE optional fields Thread-Index: AQHX/SqU/7cI7vQpLkqVqKJmDy8VHaxqOowAgAACIYCAAASdwIAJZhwAgAAeFICAABZ60IAAGZSAgAAZVVA= Date: Tue, 25 Jan 2022 16:03:25 +0000 Message-ID: References: <20211230030817.15264-1-xiazhang@nvidia.com> <20211230030817.15264-2-xiazhang@nvidia.com> <002b1f85-0871-a02f-0345-1b19d722762a@intel.com> <2037437.VsPgYW4pTa@thomas> <352a7279-6644-da90-0113-d0925175881d@intel.com> In-Reply-To: <352a7279-6644-da90-0113-d0925175881d@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 88720a7f-75b2-4d00-a920-08d9e01c383a x-ms-traffictypediagnostic: BN7PR12MB2595:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qRsXC05Tk5ppGK+EX6//mE+KP+7Wmi+jGebmAe1TdFInpJa2JuCF/k9pNusOGrKtzT6JdjlZ9zpGePjrSSwifIcS5Ax1WrHXmnnx1fv3GO+wZZmB3TJOmTYbe9GC/dWyFJ/D3wf19f9eR9BdpkkKENKfMWyYQjEat79AN2VzKi8hPb6/MwqzRfqY8z0RnCvoPWd/5VDmEBPhM9E1EvJtVLjmLFViCejBpSqanyEhQp5jlbp2ogRnYdn2rQ7qf1O5+GrJfkkLmySPpyJhsuSxzMtsUHDtYuQtA+w9HXj+nhuU/q0buUx+FQ8nAq+3D8IQm0hMYLxAZxgc5hd9GIUd2E6ZCCqsdHV4dDHdB7qAhP7DjoK1C7eGluNRp70GS6iNBVMjhOUJ6OAYzQJxXKZSf6ph+CggHqxFNMSK9vQvbdeaMzyP7BcCltwHtLnncQNnVFfxCL8h2EfurVbFXmkzQxR0CKcqd+5eW6tYYfbLUNZLzQQINwbyrWZaeJhOYl5wkMuVqmIB/ey6u7oby4wAzuoN+tgNWnkXLOznAYfB0LZXxyrFqWAN1fqGmXniqEmf55Tf91j6wc4j4FpBskm6rGy4nMjx+RLSDAlGiFpWfZKcvR45mGgrZM0Zu39DxLh/TW6MDSg2QX71LNjSD1j484SL59PM1teG5u42uqx2XZstK0RO9e1f9oeeMQlDrZE/WSWLzZG/myAFDeaAiyNUNnAqfa7hIEwl3JYSpOnsPGU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(8676002)(186003)(6506007)(5660300002)(64756008)(38100700002)(110136005)(76116006)(316002)(9686003)(66446008)(66476007)(33656002)(4326008)(122000001)(2906002)(52536014)(6636002)(508600001)(53546011)(66946007)(86362001)(38070700005)(7696005)(71200400001)(26005)(55016003)(8936002)(66556008)(83380400001)(54906003)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?blpmNWNNQUtiMXZKd1ZzZUMxZXI2cmFFVFp1OStGWE5zaWRXNko4RExpMUtC?= =?utf-8?B?dUEwaXV0b3Rwa09CcGpSTllDaCtKQmxYQittNWxtdUordEcrdk9KOTB0bFBK?= =?utf-8?B?QU4xZVVLVWZFNlVKd2xjSm9hUmo0Y3U5L1g2czhPV2VhNjNNV0MrRUdrNVl0?= =?utf-8?B?T1B2NnFmS3JJWmFmUy9lZTRrQWxkZ2xIblloalI4Z0lIb0taMEQwdnBLZlEw?= =?utf-8?B?ak13bVFaL2NVUUJsUG83amRxWjlNSXdVR0xhOFJwQS9VUkU2NVoyVkdTRjFt?= =?utf-8?B?S2lUUzZlRlFCTnQwT1JSVlhKU01Cem5ObWUrTWxtcGpGSHlJcTNzOVljektP?= =?utf-8?B?clBXZ1EzaU1QVVZGaVc5MGpOQnFJYnFlcUVINEUrR1lSLzlvY1BEYzhyVkFO?= =?utf-8?B?Yno5Mm4zaEowYXArY3ZKQ3pGOHpZYy90T0Fna1NWSHIzUzBsZDRWK0gzUVBI?= =?utf-8?B?ajcwM25MTi9OWVNnQnVENnR6ODFqazhLMW1uT25qeEVjTE1XbHdtUG4rM3Nm?= =?utf-8?B?NTV1QkVnZW1hNGFNTWxPQWxJQ0ZMVHRiNlZNeW0vZVgvOXI4YXhNQXJuY0ZV?= =?utf-8?B?MG5uZXBsRTRBdFZvSlB4NHB2SHgvZ2FIL1B0ZmRrdVBsTDdrbDNUREUxZDNW?= =?utf-8?B?Q1BYQU1XdUh0dGErc0NGZ0NVOTREUDdCSGllam0yREZHN3ZNYmI5YjB1RVh0?= =?utf-8?B?ZW1JZFFjSjhVTXo3SnVXOFQ1RXFnMmNNMXYzRXBrTE5VNnBMOVZJWWtrdjdZ?= =?utf-8?B?NC9YNnZ3SWJDL0krcEVocDhrd29PZTllcXFMSElGSUl6dEJHVjF3NDFkRGE4?= =?utf-8?B?WXJjY3BZSC93VldmWFlzMnh1RFhicWFoeWdhMjdPS2g1cTFtVVVHWlNjWnZQ?= =?utf-8?B?ZkhLdHl6YmxTcXR2WWI2UktMaTMySkNySFg0K3hyc0lBVkE0RjN3RnBOSDBM?= =?utf-8?B?M1Q3TmppdlBCZm5IUDdVMkl2SENrVGpPVlhVU08yWW5ZaHlzamMwQnE1b1k5?= =?utf-8?B?bnVNRHBxUDN5ZDFHdHFiZ3lDc1NGSWR6Z1YyeEF0ZHRnK0NnVXhCZTZ1U0Vj?= =?utf-8?B?bEhqcHpiKzFuT2ZTTm5jZkRaaHBpYVBpdm0wODR4MzBQRmNkb0NQU1VOVCsz?= =?utf-8?B?L2RDbEpyVFJwV2VTR2d3Skp3QmF4Q3R6QTcxY2NXMFZpK1hzRzFmdStKeWxp?= =?utf-8?B?ZVdkM2VPOGNrUGNWQ3VZM3k5cytTSE4rZEQvcWM1R1NUNDBvdjNVNENwM0No?= =?utf-8?B?ZHZZYVZqYjZSRHJQWjVpQXhvc2JmYUdsbjRCdlhQOXZEQjFCOEJwRW1hSXZs?= =?utf-8?B?Q0lMRVFvMENkbFhvZ3NFZVUweklQVlRWRi9RSjcremJscW9XcUxzTmhlSXNj?= =?utf-8?B?L0JLeXA4OVlQdGpkRWJFQWluZ1ZLSEx3aHNsUHN1V1FWQnVOUFRwakpPeWRX?= =?utf-8?B?WGlXWGROdmdZVGxDL1pkcXJYdjBGWVd0NVlRdzM0Y25zdHFCa0o0b1FEbnBU?= =?utf-8?B?YzZLdmtmTnVsVUpIamF1dVlPOU1sTk5yemFIYjhMemdjSnB4UjVxR0MrazN6?= =?utf-8?B?b0pBUGFNS2R1b2ZlQ29FZjlNTGdvRW8wT3ExZW0wdXJkVmJ0bk1mNmlJVERL?= =?utf-8?B?Nzc5bnpYeEljRmdpZFJza1Q4RkNKODdDMEt5Nm9Hb1laUEVONmppT2h3eERJ?= =?utf-8?B?U3BEdVFTMG1lb01XaSt2USt0ZkpBQ1BCaWo2dnZHbGVYTjVHaFRXMnA1My9Q?= =?utf-8?B?TG9PdHk2dTgzZGw5dnBSR2lGN2lGeGdDeE1uTm1mOCtBNGd5Q1B0a1hONzA2?= =?utf-8?B?bkxicHNJZm9YdC92NWdqNmNrc2luZW00RTNMMDlrZEtVZWsrckNXRkp2MExN?= =?utf-8?B?bUdaaC9yZUNsUXBYekJBeFJrNmptNUxiZ3IxN2hPUjdtVFF5NzhSNFZ6WFo1?= =?utf-8?B?OWxxQkp1ZlJlVkF0MzRpRTUzcFZrK2RFNDc0a1BMeUZqeXo1TE8rMmNtN3Rz?= =?utf-8?B?b01QcHpoZldoRzZXV0Z6cEppV1BrYVVveXFxMHk1ZTFNYmg1bGxMT1VmY0hP?= =?utf-8?B?ZmtHWUlwYmxXTFVoSllyUVE2UTZpTnVneXZ5c3dpeGdvcEFYQnNLS3htZExN?= =?utf-8?B?aDhIMUZUaWNVUjBPRW5MS1ExSld5YU9rUVFwVDF0RzBwWXVlQSt2RThtOU9t?= =?utf-8?B?Znc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88720a7f-75b2-4d00-a920-08d9e01c383a X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2022 16:03:25.5616 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: E5xI4vHtJ9jnA6F6zSUn/BaiCS4H5mYe4ii6xBv2xQSUuq8NV01jiPinvRUx1aLl9lEY1M5K6L0j3/nxnmefVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR12MB2595 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SGkgRmVycnVoLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZlcnJ1 aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgSmFudWFy eSAyNSwgMjAyMiA0OjI5IFBNDQo+IFN1YmplY3Q6IFJlOiBbUkZDIDEvM10gZXRoZGV2OiBzdXBw b3J0IEdSRSBvcHRpb25hbCBmaWVsZHMNCj4gDQo+IE9uIDEvMjUvMjAyMiAxOjA2IFBNLCBPcmkg S2FtIHdyb3RlOg0KPiA+IEhpIEZlcnJ1aCwNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+PiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+ DQo+ID4+IFN1YmplY3Q6IFJlOiBbUkZDIDEvM10gZXRoZGV2OiBzdXBwb3J0IEdSRSBvcHRpb25h bCBmaWVsZHMNCj4gPj4NCj4gPj4gT24gMS8yNS8yMDIyIDk6NDkgQU0sIFNlYW4gWmhhbmcgKE5l dHdvcmtpbmcgU1cpIHdyb3RlOg0KPiA+Pj4gSGksDQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4gRnJvbTogT3JpIEthbSA8b3Jpa2FAbnZpZGlhLmNvbT4N Cj4gPj4+PiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMTksIDIwMjIgNjo1NyBQTQ0KPiA+Pj4+ IFRvOiBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24gKEVYVEVSTkFMKSA8dGhvbWFzQG1vbmph bG9uLm5ldD47DQo+ID4+Pj4gU2VhbiBaaGFuZyAoTmV0d29ya2luZyBTVykgPHhpYXpoYW5nQG52 aWRpYS5jb20+OyBNYXRhbiBBenJhZA0KPiA+Pj4+IDxtYXRhbkBudmlkaWEuY29tPjsgRmVycnVo IFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiA+Pj4+IENjOiBBbmRyZXcgUnliY2hl bmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IGRldkBkcGRrLm9yZw0KPiA+Pj4+ IFN1YmplY3Q6IFJFOiBbUkZDIDEvM10gZXRoZGV2OiBzdXBwb3J0IEdSRSBvcHRpb25hbCBmaWVs ZHMNCj4gPj4+Pg0KPiA+Pj4+IEhpLA0KPiA+Pj4+DQo+ID4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4+Pj4+IEZyb206IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9u Lm5ldD4NCj4gPj4+Pj4gU3ViamVjdDogUmU6IFtSRkMgMS8zXSBldGhkZXY6IHN1cHBvcnQgR1JF IG9wdGlvbmFsIGZpZWxkcw0KPiA+Pj4+Pg0KPiA+Pj4+PiAxOS8wMS8yMDIyIDEwOjUzLCBGZXJy dWggWWlnaXQ6DQo+ID4+Pj4+PiBPbiAxMi8zMC8yMDIxIDM6MDggQU0sIFNlYW4gWmhhbmcgd3Jv dGU6DQo+ID4+Pj4+Pj4gLS0tIGEvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4+Pj4+Pj4gKysr IGIvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4+Pj4+Pj4gICAgIC8qKg0KPiA+Pj4+Pj4+ICsg KiBSVEVfRkxPV19JVEVNX1RZUEVfR1JFX09QVElPTi4NCj4gPj4+Pj4+PiArICoNCj4gPj4+Pj4+ PiArICogTWF0Y2hlcyBHUkUgb3B0aW9uYWwgZmllbGRzIGluIGhlYWRlci4NCj4gPj4+Pj4+PiAr ICovDQo+ID4+Pj4+Pj4gK3N0cnVjdCBydGVfZ3JlX2hkcl9vcHRpb24gew0KPiA+Pj4+Pj4+ICsJ cnRlX2JlMTZfdCBjaGVja3N1bTsNCj4gPj4+Pj4+PiArCXJ0ZV9iZTMyX3Qga2V5Ow0KPiA+Pj4+ Pj4+ICsJcnRlX2JlMzJfdCBzZXF1ZW5jZTsNCj4gPj4+Pj4+PiArfTsNCj4gPj4+Pj4+PiArDQo+ ID4+Pj4+Pg0KPiA+Pj4+Pj4gSGkgT3JpLCBBbmRyZXcsDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhl IGRlY2lzaW9uIHdhcyB0byBoYXZlIHByb3RvY29sIHN0cnVjdHMgaW4gdGhlIG5ldCBsaWJyYXJ5 IGFuZA0KPiA+Pj4+Pj4gZmxvdyBzdHJ1Y3RzIHVzZSBmcm9tIHRoZXJlLCB3YXNuJ3QgaXQ/DQo+ ID4+Pj4+PiAoQnR3LCBhIGRlcHJlY2F0aW9uIG5vdGljZSBpcyBzdGlsbCBwZW5kaW5nIHRvIGNs ZWFyIHNvbWUgZXhpc3RpbmcNCj4gPj4+Pj4+IG9uZXMpDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gU28g Zm9yIHRoZSBHUkUgb3B0aW9uYWwgZmllbGRzLCB3aGF0IGFib3V0IGhhdmluZyBhIHN0cnVjdCBp biB0aGUNCj4gPj4+PiAncnRlX2dyZS5oJz8NCj4gPj4+Pj4+IChBbHNvIHBlcmhhcHMgYW4gR1JF IGV4dGVuZGVkIHByb3RvY29sIGhlYWRlciBjYW4gYmUgZGVmaW5lZA0KPiA+Pj4+Pj4gY29tYmlu aW5nICdydGVfZ3JlX2hkcicgYW5kIG9wdGlvbmFsIGZpZWxkcyBzdHJ1Y3QuKSBMYXRlciBmbG93 IEFQSQ0KPiA+Pj4+Pj4gc3RydWN0IGNhbiBlbWJlZCB0aGF0IHN0cnVjdC4NCj4gPj4+Pj4NCj4g Pj4+Pj4gKzEgZm9yIHVzaW5nIGxpYnJ0ZV9uZXQuDQo+ID4+Pj4+IFRoaXMgYWRkaXRpb24gaW4g cnRlX2Zsb3cgbG9va3MgdG8gYmUgYSBtaXN0YWtlLg0KPiA+Pj4+PiBQbGVhc2UgZml4IHRoZSBu ZXh0IHZlcnNpb24uDQo+ID4+Pj4+DQo+ID4+Pj4gTmljZSBpZGVhLA0KPiA+Pj4+IGJ1dCBteSBt YWluIGNvbmNlcm4gaXMgdGhhdCB0aGUgaGVhZGVyIHNob3VsZCBoYXZlIHRoZSBoZWFkZXIgaXMg ZGVmaW5lZC4NCj4gPj4+PiBTaW5jZSBzb21lIG9mIHRoZSBmaWVsZHMgYXJlIG9wdGlvbmFsIHRo aXMgd2lsbCBsb29rIHNvbWV0aGluZyBsaWtlIHRoaXM6DQo+ID4+Pj4gZ3JlX2hkcl9vcHRpb25f Y2hlY2tzdW0gew0KPiA+Pj4+IHJ0ZV9iZV8xNl90IGNoZWNrc3VtOw0KPiA+Pj4+IH0NCj4gPj4+ Pg0KPiA+Pj4+IGdyZV9oZHJfb3B0aW9uX2tleSB7DQo+ID4+Pj4gcnRlX2JlXzMyX3Qga2V5Ow0K PiA+Pj4+IH0NCj4gPj4+Pg0KPiA+Pj4+IGdyZV9oZHJfb3B0aW9uXyBzZXF1ZW5jZSB7DQo+ID4+ Pj4gcnRlX2JlXzMyX3Qgc2VxdWVuY2U7DQo+ID4+Pj4gfQ0KPiA+Pj4+DQo+ID4+Pj4gSSBkb24n dCB3YW50IHRvIGhhdmUgc28gbWFueSBydGVfZmxvd19pdGVtcywgSGFzIG1vcmUgYW5kIG1vcmUg cHJvdG9jb2xzDQo+ID4+Pj4gaGF2ZSBvcHRpb25hbCBkYXRhIGl0IGRvZXNuJ3QgbWFrZSBzZW5z ZSB0byBjcmVhdGUgdGhlIGl0ZW0gZm9yIGVhY2guDQo+ID4+Pj4NCj4gPj4+PiBJZiBJJ20gbG9v a2luZyBhdCBpdCBmcm9tIGFuIGlkZWFsIHBsYWNlLCBJIHdvdWxkIGxpa2UgdGhhdCB0aGUgb3B0 aW9uYWwgZmllbGRzIHdpbGwNCj4gPj4+PiBiZSBwYXJ0IG9mIHRoZSBvcmlnaW5hbCBpdGVtLg0K PiA+Pj4+IEZvciBleGFtcGxlIGluIHRlc3QgcG1kIEkgd291bGQgbGlrZSB0byB3cml0ZToNCj4g Pj4+PiBFdGggLyBpcHY0IC8gdWRwIC8gZ3JlIGZsYWdzIGlzIGtleSAmIGNoZWNrc3VtIGNoZWNr c3VtIGlzIHl5eSBrZXkgaXMgeHh4IC8gZW5kDQo+ID4+Pj4gQW5kIG5vdCBFdGggLyBpcHY0IC8g dWRwIC8gZ3JlIGZsYWdzIGlzIGtleSAmIGNoZWNrc3VtIC8gZ3JlX29wdGlvbiBjaGVja3N1bQ0K PiA+Pj4+IGlzIHl5eSBrZXkgaXMgeHh4IC8gZW5kIFRoaXMgbWVhbnMgdGhhdCB0aGUgc3RydWN0 dXJlIHdpbGwgbG9vayBsaWtlIHRoaXM6DQo+ID4+Pj4gc3RydWN0IHJ0ZV9mbG93X2l0ZW1fZ3Jl IHsNCj4gPj4+PiAJdW5pb24gew0KPiA+Pj4+IAkJc3RydWN0IHsNCj4gPj4+PiAJCQkvKioNCj4g Pj4+PiAJCSAJKiBDaGVja3N1bSAoMWIpLCByZXNlcnZlZCAwICgxMmIpLCB2ZXJzaW9uICgzYiku DQo+ID4+Pj4gCQkJICogUmVmZXIgdG8gUkZDIDI3ODQuDQo+ID4+Pj4gCQkJICovDQo+ID4+Pj4g CQkJcnRlX2JlMTZfdCBjX3JzdmQwX3ZlcjsNCj4gPj4+PiAJCQlydGVfYmUxNl90IHByb3RvY29s OyAvKio8IFByb3RvY29sIHR5cGUuICovDQo+ID4+Pj4gCQl9DQo+ID4+Pj4gCQlzdHJ1Y3QgcnRl X2dyZV9oZHIgaGRyDQo+ID4+Pj4gCX0NCj4gPj4+PiAJcnRlX2JlXzE2X3QgY2hlY2tzdW07DQo+ ID4+Pj4gCXJ0ZV9iZV8zMl90IGtleTsNCj4gPj4+PiAJcnRlX2JlXzMyX3Qgc2VxdWVuY2U7DQo+ ID4+Pj4gfTsNCj4gPj4+PiBUaGUgbWFpbiBpc3N1ZSB3aXRoIHRoaXMgaXMgdGhhdCBpdCBicmVh a3MgQUJJLCBNYXliZSB0byBzb2x2ZSB0aGlzIHdlIGNhbg0KPiA+Pj4+IGNyZWF0ZSBhIG5ldyBz dHJ1Y3R1cmUgZ3JlX2V4dD8NCj4gPj4+Pg0KPiA+Pj4+IEluIGFueSB3YXkgSSB0aGluayB3ZSBz aG91bGQgdGhpbmsgaG93IHdlIGFsbG93IGFkZGluZyBtZW1iZXJzIHRvDQo+ID4+Pj4gc3RydWN0 dXJlcyB3aXRob3V0IEFCSSBicmVha2FnZS4NCj4gPj4+Pg0KPiA+Pj4+IEJlc3QsDQo+ID4+Pj4g T3JpDQo+ID4+Pg0KPiA+Pj4gVGhhbmtzIGZvciB0aGUgY29tbWVudHMgYW5kIHN1Z2dlc3Rpb24u DQo+ID4+PiBTbyB0aGUgYWNjZXB0YWJsZSBzb2x1dGlvbiBpcyB0byBoYXZlIG5ldyBzdHJ1Y3Rz IGRlZmluZSBpbiBydGVfZ3JlLmg/DQo+ID4+PiBzdHJ1Y3QgZ3JlX2hkcl9vcHRfY2hlY2tzdW0g ew0KPiA+Pj4gCXJ0ZV9iZV8xNl90IGNoZWNrc3VtOw0KPiA+Pj4gfQ0KPiA+Pj4NCj4gPj4+IHN0 cnVjdCBncmVfaGRyX29wdF9rZXkgew0KPiA+Pj4gCXJ0ZV9iZV8zMl90IGtleTsNCj4gPj4+IH0N Cj4gPj4+DQo+ID4+PiBzdHJ1Y3QgZ3JlX2hkcl9vcHRfIHNlcXVlbmNlIHsNCj4gPj4+IAlydGVf YmVfMzJfdCBzZXF1ZW5jZTsNCj4gPj4+IH0NCj4gPj4+DQo+ID4+PiBBbmQgdG8gYWRkIG5ldyBz dHJ1Y3QgZ3JlX2V4dCBkZWZpbmVkIGluIHJ0ZV9mbG93Lmg6DQo+ID4+PiBzdHJ1Y3QgZ3JlX2V4 dCB7DQo+ID4+PiAJc3RydWN0IHJ0ZV9ncmVfaGRyIGhkcjsNCj4gPj4+IAlzdHJ1Y3QgZ3JlX2hk cl9vcHRfY2hlY2t1bSBjaGVja3N1bTsNCj4gPj4+IAlzdHJ1Y3QgcnRlX2hkcl9vcHRfa2V5IGtl eTsNCj4gPj4+IAlzdHJ1Y3QgcnRlX2hkcl9vcHRfc2VxIHNlcTsNCj4gPj4+IH07DQo+ID4+Pg0K PiA+Pj4gQW5kIHdlIHVzZSBzdHJ1Y3QgZ3JlX2V4dCBmb3IgdGhpcyBuZXcgYWRkZWQgZmxvdyBp dGVtIGdyZV9vcHRpb24uDQo+ID4+Pg0KPiA+Pg0KPiA+PiBXaGF0IGFib3V0IGhhdmluZyBhIHN0 cnVjdCBmb3IgJ29wdGlvbnMnIGFuZCB1c2UgaW4gaW4gZmxvdyBpdGVtIGZvciBvcHRpb25zLA0K PiA+PiBsaWtlOg0KPiA+Pg0KPiA+PiBzdHJ1Y3QgZ3JlX2hkcl9vcHQgew0KPiA+PiAgICAgc3Ry dWN0IGdyZV9oZHJfb3B0X2NoZWNrdW0gY2hlY2tzdW07DQo+ID4+ICAgICBzdHJ1Y3QgcnRlX2hk cl9vcHRfa2V5IGtleTsNCj4gPj4gICAgIHN0cnVjdCBydGVfaGRyX29wdF9zZXEgc2VxOw0KPiA+ PiB9DQo+ID4+DQo+ID4+IHN0cnVjdCBncmVfaGRyX2V4dCB7DQo+ID4+ICAgICBzdHJ1Y3QgcnRl X2dyZV9oZHIgaGRyOw0KPiA+PiAgICAgc3RydWN0IGdyZV9oZHJfb3B0Ow0KPiA+PiB9DQo+ID4+ DQo+ID4+IHN0cnVjdCBydGVfZmxvd19pdGVtX2dyZV9vcHQgew0KPiA+PiAgICAgc3RydWN0IGdy ZV9oZHJfb3B0IGhkcjsNCj4gPj4gfQ0KPiA+DQo+ID4gRm9tIG15IHVuZGVyc3RhbmRpbmcgdGhl IGhlYWRlciBzaG91bGQgcmVmbGVjdCBzdHJ1Y3R1cmVzDQo+ID4gYXMgdGhleSBhcHBlYXIgaW4g dGhlIHNwZWMuDQo+ID4NCj4gPiBJZiB3ZSBsb29rIGF0IHRoZSBzcGVjLCBmcm9tIG15IHVuZGVy c3RhbmRpbmcgZWFjaCBvZiB0aG9zZSBpdGVtcyBpcyBzdGFuZC1hbG9uZS4NCj4gPiBJdCBpcyBw b3NzaWJsZSB0byBoYXZlIGp1c3Qga2V5IG9yIGtleSBhbmQgc2VxIG9yIGFueSBvdGhlciBjb21i aW5hdGlvbi4NCj4gPiBTbyB0aGUgc3RydWN0IHlvdSBzdWdnZXN0ZWQgaXMgbm90IHZhbGlkIHN0 cnVjdCBpbiBncmUgaGVhZGVyLg0KPiA+DQo+IA0KPiBJZiBpdCBpcyBub3QgdmFsaWQgaGVhZGVy IHJlcHJlc2VudGF0aW9uLCBwbGVhc2UgZm9yZ2V0IGFib3V0IGl0Lg0KPiANCj4gQnV0IHRoaXMg bWVhbnMgaW5pdGlhbGx5IHN1Z2dlc3RlZCAnc3RydWN0IGdyZV9leHQnIGlzIHdyb25nLCByaWdo dD8NCj4gDQo+IFNvIHNob3VsZCAncnRlX2Zsb3dfaXRlbV9ncmVfb3B0JyB1c2Ugc2VwYXJhdGUg c3RydWN0cywgbGlrZToNCj4gDQo+IHN0cnVjdCBydGVfZmxvd19pdGVtX2dyZV9vcHQgew0KPiAg ICBzdHJ1Y3QgZ3JlX2hkcl9vcHRfY2hlY2t1bSBjaGVja3N1bTsNCj4gICAgc3RydWN0IHJ0ZV9o ZHJfb3B0X2tleSBrZXk7DQo+ICAgIHN0cnVjdCBydGVfaGRyX29wdF9zZXEgc2VxOw0KPiB9DQo+ IA0KWWVzIHRoaXMgaXMgdGhlIGxhc3Qgc3VnZ2VzdGlvbiBmcm9tIFNlYW4sIHRoZSBvbmx5IGRp ZmZlcmVuY2UgaXMgdGhhdA0KaGUgY3JlYXRlZCBhIG5ldyBpdGVtIGdyZV9leHQgdGhhdCBob2xk cyB0aGUgc3RydWN0IHRoYXQgeW91IGxpc3RlZCBhYm92ZQ0KYW5kIGFkZGVkIHRoZSBncmUgaGVh ZGVyLiBUaGlzIG1lYW5zIHRoYXQgZnJvbSBydGVfZmxvdyB0aHJlIGlzIG9ubHkgb25lIEdSRSBp dGVtDQoodGhlIG9sZCBvbmUgY2FuIGJlIGRlcHJlY2F0ZWQpIA0KDQpPcmkNCj4gDQo+ID4gSWYg eW91IGFyZSBPLksgd2l0aCBhZGRpbmcgc3VjaCBhIHN0cnVjdCB0byB0aGUgZ3JlIGZpbGUgSSB3 aWxsIGFsc28gYmUgTy5LIHdpdGggaXQuDQo+ID4NCj4gPiBCZXN0LA0KPiA+IE9yaQ0KPiA+Pg0K PiA+Pj4gQ29ycmVjdCBtZSBpZiBteSB1bmRlcnN0YW5kaW5nIGlzIG5vdCByaWdodC4NCj4gPj4+ DQo+ID4+PiBUaGFua3MsDQo+ID4+PiBTZWFuDQo+ID4+Pg0KPiA+Pj4NCj4gPg0KDQo=