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 59835A00C2; Tue, 25 Jan 2022 14:06:20 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 452C1429B5; Tue, 25 Jan 2022 14:06:20 +0100 (CET) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam08on2055.outbound.protection.outlook.com [40.107.101.55]) by mails.dpdk.org (Postfix) with ESMTP id B34F1426E4 for ; Tue, 25 Jan 2022 14:06:18 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z32PuRwSnQZhCZAYSbV8TTm9Bs6CBkw0l6BdNENmPKX1WmhrF+cX5ykB2Rue3+O1whZ18nqlAFlc7f9v1yorqjom6yLmISTY77zUXhwCDTFeNiOL5lyQLHjlIRxsVbSnWSEmGTrBDIHC7vpNfSdOJ7kgbpSzRJsLYM9TsVcJE5feoxgXKh55D72BmznBtUyoQtRduGpPf61hI9VojhONXnEPcUkOWxiNlMjKJjWPPf7tqKlCjx/8fpPwfPALBir2rPFXYnxDI9NviyQb05QULuJlyS1XxZKablvD6zIZtaRvqxCKqrB0ccXmADvqcEeLGu1ZHqBEhpA3pgOsjNxlHw== 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=rHJDAcEeBeSjth6iFklxjUO6mBFFSEbGE0U+Shqvz7s=; b=LIArZY2+p0PJV2mTcQylEKp+zlD8NBfvSkvbPvrCDmB5dSPoDAdsQraus0ZeEu7MgFtlKBSsiB3j0I5rHfNO/07UnJP26yqX0AXTtBBn1tyhLZEdSfKt5W+oDHiHQWyavTZXD+QCTc/5Y8PfrZWk/N5DzwXEnwT2u0shjK+CIuHyyRH4pgOFBN9bCe1FeBsrE/M1jcXS1Yb5hXOZckqdkiy9aAjsh452UgsTFsjjHKHjAuCMJR6KtuO0DTcMoBYLhScIYfZfXjJcVnGRF11M5Gvx05HOxoUZgMDpX1PdijUbCljlq8Uz40UIuso9cIw5dGUBgFQ+t3OjQb0/gSx/bw== 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=rHJDAcEeBeSjth6iFklxjUO6mBFFSEbGE0U+Shqvz7s=; b=brDE2cAGlei2s56BNGF6VEDlHZjlRdPO5l2FPisHyDyfPqh8VJAQ7sNr38K6aG+7u5oqGhkO5A/gAuw2HThV7po4tojBhFG7b7ZRpHhW0YJA4KNoTSRxY3lgWNh2FqWIL9BDZ1bG3vQknBiKXywDofguD6OoC4fGRi8JwXLkZSU1NvCY4m04nZTW/G1WaResyxTUiRI5v3P40RtVq6NPJ3VZX2c6oq/HB5MzoSK7ICJLCCq8D3690z2Njv8ZPkFK1Qm/gSZVy57L6EH/IOhJfP64iK7P76w11NZE1WmQ+edK7BI/cSsUqJSS2oATI6QXTOIKPLapo/Nu4Jakxcaz8g== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by CH0PR12MB5385.namprd12.prod.outlook.com (2603:10b6:610:d4::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 25 Jan 2022 13:06:16 +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 13:06:16 +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/7cI7vQpLkqVqKJmDy8VHaxqOowAgAACIYCAAASdwIAJZhwAgAAeFICAABZ60A== Date: Tue, 25 Jan 2022 13:06:16 +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> In-Reply-To: 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: 26cccf0a-d430-4231-5410-08d9e00378d5 x-ms-traffictypediagnostic: CH0PR12MB5385: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: V2r0UieRrXJ/to9Gh0PbfZueJHdt/Cqhs7/jnZXAARPFFvtJQdrv+tlFTNNSV4+Ap/sx4JlkyJIPcjQWSghZjODfcfsF7lKLNCJSWrHW85Wlp1DF+dBvHnzGKoHjGeR0WVPNlovGj9Yxoz///gh3gFy0FB3qUAODlmG9nISzroiC2xJf8KCsPw38/+Bmr1e4mhcALw8pG2HpjWJctoOCmgRAgWZ0lr8uotoNillYUTKpvHKXDxyVeBcArNiuaGEhq1C6VyytDJ5vKB2d4iAHAWvqhFTidUo0azPstxLMrIB44Gs7FQbcN/dPLAQdhKH9i7TkNx54440VT9uj/qNGI8NPgyhw1a6bZABuRbAR420HbVQ/5dHADgJCGnp/PVuLWDj1PYt7lH5GcuVhqAvlwBE1OkRa5Eu3+YgYmTyGQ7rUstnQ6Hjt4Xknr4hlmLT4pWgYk10pVlZbhWHyrFcqab0/kDymS0FV3nvZVNd3maJ9Z2B1tdI4iSu8FQarMQ7RoseU9FsH4J5pYAg6NsZ9GCdaaS9ye/PrbVKIDZNobHzkZpmzGxADR6YbVKGL8rkcHjXzFclzcHO5Pz3QvDehg8X3uN/frCJoUf/2lZ0M9se2kugFElCRrNKDHfC41NVZAiMl5iW9NgF/chwUspn/W7DqLpNMPqyGlrdXv/tsnwvSj9slniACuP4OlG/t2x607wLOT9QqQxPIv9zhUm4Hh+m1GmT1RCIn5D8bXLfQoRA= 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)(64756008)(186003)(4326008)(66446008)(122000001)(7696005)(33656002)(55016003)(2906002)(66556008)(508600001)(53546011)(8936002)(66476007)(38070700005)(5660300002)(6506007)(86362001)(316002)(71200400001)(38100700002)(8676002)(110136005)(66946007)(26005)(54906003)(83380400001)(52536014)(9686003)(6636002)(76116006)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Q2JtcGQ3Vk5yZG1NSDRuQzlqeTJiSm1iSHpCZStyZFZwWWMvbXo5VHIwSWww?= =?utf-8?B?WkRiMkVNKyt3Q1RtamVSOWdxeXM2RHcvdjdxL3pCZ3prYnZReDBnRHF0NEt1?= =?utf-8?B?eVRyU1BBb09ycWd4NXAwUW5rRGxWSUpGY2tKWittOHIxUS9sTlNSMjg1U0hH?= =?utf-8?B?MzNsdDFvNWVVNEkzV1dFdEFVMUx3MGRzOVRmOWJ6VGdMYUdrdWV2OG0rYVJt?= =?utf-8?B?OEpFSnhLMlFBSE1OUVE3L3RNZ2tRUExzVHQ0WTFIQ003ajVtenRiaXZWYTFE?= =?utf-8?B?aG9ETm5RZmlXN3BjYTByNVZEVkxzWUxMWERCSHc5WjFwTXVBTXVySElLdE4r?= =?utf-8?B?TnUyc0NWNjhRSHJmL1l0cnhUOEFBcVRPc282djNZYkZwQ05hUWZMdDBxS3Nt?= =?utf-8?B?c2JPNHdlSUhmY0tJNHBqUkt6dzNhYWw1MU5IcXM3YnVhU1B4Y0NQblBUd2xu?= =?utf-8?B?RFRvang4RVRSWUJkbWNBR2kzZVZ5Q3NaTHJsVmJKbnhZMVd1UzhBdksxSlkw?= =?utf-8?B?WEpLYkdHVTFJa3NTYWJId2l0djNEZkEyY1VsNWRISk5FWjBST0dVTlo0dlRh?= =?utf-8?B?MlZMMHY1MFhreHF0MnVaM05sKzR0N0xUaDY2VWxnWS9kdWUxbzlrSmEzaENX?= =?utf-8?B?MFhIUmMvMG5WMDdwMzhZS25JN2VrbTc3VkRIT2ZrYlAzbWtsa3RzeFpEUTRz?= =?utf-8?B?UzZDMC9nZG5uVWwwWDNxYTA4VVJYOXcwdVJxajNMMVB1azNTUWg3ekp6dG5D?= =?utf-8?B?OEN3a2U4UHg0MTVFYUNwWmZpYnQrd0NZeG5TQWg5VEpBRlF3eVhMZ0pFb09R?= =?utf-8?B?bzlCSXR6KzlYVGFjbFFTdEo0UWoxcTdnS012a0NPNloyMU05OEtwQUdhVUpm?= =?utf-8?B?cnhRcGM2elJ1bGw2R0wwMzE2UXkvTnpVYWgyUFJqK1RBZ2NocHo0WFFWM1lo?= =?utf-8?B?Vkx5S0ZMS2sxNzEvUENsRUJhRTBIQmFIYXZVTzVTdEQ3aUNlcGc2WXlZa1RE?= =?utf-8?B?NE1BdDE3OFQwdmRoT2c0K0s5Rm5hNlNHMTNLY2YwZUJQRXlDZ0RDN2N1QW9Z?= =?utf-8?B?d1RWUEZ6NEkzdllSVlhRTmlzbGs1K29BZUdNUCtIYVJJMjZMUmxiaTRhU0Nq?= =?utf-8?B?M2R0Z2FOcnlHcVYzSVFXaFdWUU42S0NVVktCd0hTbG8zSU1pa1BUeEgzMDZY?= =?utf-8?B?RFBPY3JhWGE4R1FSYXJpN09nNTdNeVhweE1CcDdiYjhBbkc2TlZaR1lBTGwr?= =?utf-8?B?VzVjbHBUL1hxQ29FelFQTHlPNWJReWZ5YTd0cFRTUnRXbExlQ2NlUGFrenJh?= =?utf-8?B?cGRVUnZIRVRkZGdoQk5BT21xK3N3cG9IRnQrdytGMXlrWDJXQlBBR3NRekpO?= =?utf-8?B?S3FUZU11VSthcjk5a2puRERkZk10NU9hUjdYUlZsQmpEM0krdzNrVHFGSzVB?= =?utf-8?B?UCswallmazlMdndlSnpUTmhwQmIxdmJCQjVSNzROVEtIVEY3M2w3bUIybm93?= =?utf-8?B?Rk1zQmMwRTVVRW45ZHpKK2dWakpHTnZFOTBJSjEyZUxJRzdZQmxheW9sWEFW?= =?utf-8?B?My9nUmdOVElyT2NTeDFnUkwvejBZNUJTL1ZLTU5IaU5Cc3kzR2s1a3EwNjBu?= =?utf-8?B?RWdEY3ZPWFdBQ1lBSFMvR2l3anlFdjFMMkRYN2NQZFU2V2ZjWTFrMG5OZE1H?= =?utf-8?B?eHpsTklKT3Z4bjRQQ1JGUnhEOU9QS2lHd3Ria3c0STN2ZWtpTVZoUXVDSVFF?= =?utf-8?B?SzRuc0Y3d3Y1K0dLeWVDYnloWXhzTTE0YWNLbUtXNldEVDM4cFpJYTNVd0Vi?= =?utf-8?B?cElZNjVNUi9FT3ZBTFZxalVWMVB2aHFERU8xbEwzZFhNWlYxUlArOCsxMmM5?= =?utf-8?B?RFE4UUtmakNaZG5JdTFuZXZQUjZhU042ejk1bmZCZWRDWmJLVzFXYmVWalUw?= =?utf-8?B?OEk2V0hOaTNpTWxId0JmK1NPRk0xZkltaHFCeWlMTHdQd1FHalVkVGZrZ1J5?= =?utf-8?B?OFZTb2hkcVlXQk5WUXMyRnFrSmJrejZ3TWJNQ2JXZTJ1b2M1ZHROY3BUbFJ2?= =?utf-8?B?Q2tSVyswbVNlTjkyWjdHUlFSamRNOE1PRnMweDlRZ1NienlKOXl2VlpURXk3?= =?utf-8?B?c3BWL3JlWnNDbm02S243UnRobUluUDF6dmZ5VlVnVXRNUE55bXRrMzBlcUhG?= =?utf-8?Q?AgQKgL/1VPDL5TPnp6ZQ5fM=3D?= 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: 26cccf0a-d430-4231-5410-08d9e00378d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2022 13:06:16.4843 (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: F3sFzrQMlFl6lEi7NlsEty9serLy0RoA2gqtvuZ+3qGeHnQkztuBDBJZMwZ6FAsS0BUdq54s+hurGbff0N11Pg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5385 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 aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtSRkMgMS8z XSBldGhkZXY6IHN1cHBvcnQgR1JFIG9wdGlvbmFsIGZpZWxkcw0KPiANCj4gT24gMS8yNS8yMDIy IDk6NDkgQU0sIFNlYW4gWmhhbmcgKE5ldHdvcmtpbmcgU1cpIHdyb3RlOg0KPiA+IEhpLA0KPiA+ DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IE9yaSBLYW0gPG9y aWthQG52aWRpYS5jb20+DQo+ID4+IFNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAxOSwgMjAyMiA2 OjU3IFBNDQo+ID4+IFRvOiBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24gKEVYVEVSTkFMKSA8 dGhvbWFzQG1vbmphbG9uLm5ldD47DQo+ID4+IFNlYW4gWmhhbmcgKE5ldHdvcmtpbmcgU1cpIDx4 aWF6aGFuZ0BudmlkaWEuY29tPjsgTWF0YW4gQXpyYWQNCj4gPj4gPG1hdGFuQG52aWRpYS5jb20+ OyBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+ID4+IENjOiBBbmRyZXcg UnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IGRldkBkcGRrLm9yZw0K PiA+PiBTdWJqZWN0OiBSRTogW1JGQyAxLzNdIGV0aGRldjogc3VwcG9ydCBHUkUgb3B0aW9uYWwg ZmllbGRzDQo+ID4+DQo+ID4+IEhpLA0KPiA+Pg0KPiA+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPj4+IEZyb206IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD4N Cj4gPj4+IFN1YmplY3Q6IFJlOiBbUkZDIDEvM10gZXRoZGV2OiBzdXBwb3J0IEdSRSBvcHRpb25h bCBmaWVsZHMNCj4gPj4+DQo+ID4+PiAxOS8wMS8yMDIyIDEwOjUzLCBGZXJydWggWWlnaXQ6DQo+ ID4+Pj4gT24gMTIvMzAvMjAyMSAzOjA4IEFNLCBTZWFuIFpoYW5nIHdyb3RlOg0KPiA+Pj4+PiAt LS0gYS9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4gPj4+Pj4gKysrIGIvbGliL2V0aGRldi9ydGVf Zmxvdy5oDQo+ID4+Pj4+ICAgIC8qKg0KPiA+Pj4+PiArICogUlRFX0ZMT1dfSVRFTV9UWVBFX0dS RV9PUFRJT04uDQo+ID4+Pj4+ICsgKg0KPiA+Pj4+PiArICogTWF0Y2hlcyBHUkUgb3B0aW9uYWwg ZmllbGRzIGluIGhlYWRlci4NCj4gPj4+Pj4gKyAqLw0KPiA+Pj4+PiArc3RydWN0IHJ0ZV9ncmVf aGRyX29wdGlvbiB7DQo+ID4+Pj4+ICsJcnRlX2JlMTZfdCBjaGVja3N1bTsNCj4gPj4+Pj4gKwly dGVfYmUzMl90IGtleTsNCj4gPj4+Pj4gKwlydGVfYmUzMl90IHNlcXVlbmNlOw0KPiA+Pj4+PiAr fTsNCj4gPj4+Pj4gKw0KPiA+Pj4+DQo+ID4+Pj4gSGkgT3JpLCBBbmRyZXcsDQo+ID4+Pj4NCj4g Pj4+PiBUaGUgZGVjaXNpb24gd2FzIHRvIGhhdmUgcHJvdG9jb2wgc3RydWN0cyBpbiB0aGUgbmV0 IGxpYnJhcnkgYW5kDQo+ID4+Pj4gZmxvdyBzdHJ1Y3RzIHVzZSBmcm9tIHRoZXJlLCB3YXNuJ3Qg aXQ/DQo+ID4+Pj4gKEJ0dywgYSBkZXByZWNhdGlvbiBub3RpY2UgaXMgc3RpbGwgcGVuZGluZyB0 byBjbGVhciBzb21lIGV4aXN0aW5nDQo+ID4+Pj4gb25lcykNCj4gPj4+Pg0KPiA+Pj4+IFNvIGZv ciB0aGUgR1JFIG9wdGlvbmFsIGZpZWxkcywgd2hhdCBhYm91dCBoYXZpbmcgYSBzdHJ1Y3QgaW4g dGhlDQo+ID4+ICdydGVfZ3JlLmgnPw0KPiA+Pj4+IChBbHNvIHBlcmhhcHMgYW4gR1JFIGV4dGVu ZGVkIHByb3RvY29sIGhlYWRlciBjYW4gYmUgZGVmaW5lZA0KPiA+Pj4+IGNvbWJpbmluZyAncnRl X2dyZV9oZHInIGFuZCBvcHRpb25hbCBmaWVsZHMgc3RydWN0LikgTGF0ZXIgZmxvdyBBUEkNCj4g Pj4+PiBzdHJ1Y3QgY2FuIGVtYmVkIHRoYXQgc3RydWN0Lg0KPiA+Pj4NCj4gPj4+ICsxIGZvciB1 c2luZyBsaWJydGVfbmV0Lg0KPiA+Pj4gVGhpcyBhZGRpdGlvbiBpbiBydGVfZmxvdyBsb29rcyB0 byBiZSBhIG1pc3Rha2UuDQo+ID4+PiBQbGVhc2UgZml4IHRoZSBuZXh0IHZlcnNpb24uDQo+ID4+ Pg0KPiA+PiBOaWNlIGlkZWEsDQo+ID4+IGJ1dCBteSBtYWluIGNvbmNlcm4gaXMgdGhhdCB0aGUg aGVhZGVyIHNob3VsZCBoYXZlIHRoZSBoZWFkZXIgaXMgZGVmaW5lZC4NCj4gPj4gU2luY2Ugc29t ZSBvZiB0aGUgZmllbGRzIGFyZSBvcHRpb25hbCB0aGlzIHdpbGwgbG9vayBzb21ldGhpbmcgbGlr ZSB0aGlzOg0KPiA+PiBncmVfaGRyX29wdGlvbl9jaGVja3N1bSB7DQo+ID4+IHJ0ZV9iZV8xNl90 IGNoZWNrc3VtOw0KPiA+PiB9DQo+ID4+DQo+ID4+IGdyZV9oZHJfb3B0aW9uX2tleSB7DQo+ID4+ IHJ0ZV9iZV8zMl90IGtleTsNCj4gPj4gfQ0KPiA+Pg0KPiA+PiBncmVfaGRyX29wdGlvbl8gc2Vx dWVuY2Ugew0KPiA+PiBydGVfYmVfMzJfdCBzZXF1ZW5jZTsNCj4gPj4gfQ0KPiA+Pg0KPiA+PiBJ IGRvbid0IHdhbnQgdG8gaGF2ZSBzbyBtYW55IHJ0ZV9mbG93X2l0ZW1zLCBIYXMgbW9yZSBhbmQg bW9yZSBwcm90b2NvbHMNCj4gPj4gaGF2ZSBvcHRpb25hbCBkYXRhIGl0IGRvZXNuJ3QgbWFrZSBz ZW5zZSB0byBjcmVhdGUgdGhlIGl0ZW0gZm9yIGVhY2guDQo+ID4+DQo+ID4+IElmIEknbSBsb29r aW5nIGF0IGl0IGZyb20gYW4gaWRlYWwgcGxhY2UsIEkgd291bGQgbGlrZSB0aGF0IHRoZSBvcHRp b25hbCBmaWVsZHMgd2lsbA0KPiA+PiBiZSBwYXJ0IG9mIHRoZSBvcmlnaW5hbCBpdGVtLg0KPiA+ PiBGb3IgZXhhbXBsZSBpbiB0ZXN0IHBtZCBJIHdvdWxkIGxpa2UgdG8gd3JpdGU6DQo+ID4+IEV0 aCAvIGlwdjQgLyB1ZHAgLyBncmUgZmxhZ3MgaXMga2V5ICYgY2hlY2tzdW0gY2hlY2tzdW0gaXMg eXl5IGtleSBpcyB4eHggLyBlbmQNCj4gPj4gQW5kIG5vdCBFdGggLyBpcHY0IC8gdWRwIC8gZ3Jl IGZsYWdzIGlzIGtleSAmIGNoZWNrc3VtIC8gZ3JlX29wdGlvbiBjaGVja3N1bQ0KPiA+PiBpcyB5 eXkga2V5IGlzIHh4eCAvIGVuZCBUaGlzIG1lYW5zIHRoYXQgdGhlIHN0cnVjdHVyZSB3aWxsIGxv b2sgbGlrZSB0aGlzOg0KPiA+PiBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9ncmUgew0KPiA+PiAJdW5p b24gew0KPiA+PiAJCXN0cnVjdCB7DQo+ID4+IAkJCS8qKg0KPiA+PiAJCSAJKiBDaGVja3N1bSAo MWIpLCByZXNlcnZlZCAwICgxMmIpLCB2ZXJzaW9uICgzYikuDQo+ID4+IAkJCSAqIFJlZmVyIHRv IFJGQyAyNzg0Lg0KPiA+PiAJCQkgKi8NCj4gPj4gCQkJcnRlX2JlMTZfdCBjX3JzdmQwX3ZlcjsN Cj4gPj4gCQkJcnRlX2JlMTZfdCBwcm90b2NvbDsgLyoqPCBQcm90b2NvbCB0eXBlLiAqLw0KPiA+ PiAJCX0NCj4gPj4gCQlzdHJ1Y3QgcnRlX2dyZV9oZHIgaGRyDQo+ID4+IAl9DQo+ID4+IAlydGVf YmVfMTZfdCBjaGVja3N1bTsNCj4gPj4gCXJ0ZV9iZV8zMl90IGtleTsNCj4gPj4gCXJ0ZV9iZV8z Ml90IHNlcXVlbmNlOw0KPiA+PiB9Ow0KPiA+PiBUaGUgbWFpbiBpc3N1ZSB3aXRoIHRoaXMgaXMg dGhhdCBpdCBicmVha3MgQUJJLCBNYXliZSB0byBzb2x2ZSB0aGlzIHdlIGNhbg0KPiA+PiBjcmVh dGUgYSBuZXcgc3RydWN0dXJlIGdyZV9leHQ/DQo+ID4+DQo+ID4+IEluIGFueSB3YXkgSSB0aGlu ayB3ZSBzaG91bGQgdGhpbmsgaG93IHdlIGFsbG93IGFkZGluZyBtZW1iZXJzIHRvDQo+ID4+IHN0 cnVjdHVyZXMgd2l0aG91dCBBQkkgYnJlYWthZ2UuDQo+ID4+DQo+ID4+IEJlc3QsDQo+ID4+IE9y aQ0KPiA+DQo+ID4gVGhhbmtzIGZvciB0aGUgY29tbWVudHMgYW5kIHN1Z2dlc3Rpb24uDQo+ID4g U28gdGhlIGFjY2VwdGFibGUgc29sdXRpb24gaXMgdG8gaGF2ZSBuZXcgc3RydWN0cyBkZWZpbmUg aW4gcnRlX2dyZS5oPw0KPiA+IHN0cnVjdCBncmVfaGRyX29wdF9jaGVja3N1bSB7DQo+ID4gCXJ0 ZV9iZV8xNl90IGNoZWNrc3VtOw0KPiA+IH0NCj4gPg0KPiA+IHN0cnVjdCBncmVfaGRyX29wdF9r ZXkgew0KPiA+IAlydGVfYmVfMzJfdCBrZXk7DQo+ID4gfQ0KPiA+DQo+ID4gc3RydWN0IGdyZV9o ZHJfb3B0XyBzZXF1ZW5jZSB7DQo+ID4gCXJ0ZV9iZV8zMl90IHNlcXVlbmNlOw0KPiA+IH0NCj4g Pg0KPiA+IEFuZCB0byBhZGQgbmV3IHN0cnVjdCBncmVfZXh0IGRlZmluZWQgaW4gcnRlX2Zsb3cu aDoNCj4gPiBzdHJ1Y3QgZ3JlX2V4dCB7DQo+ID4gCXN0cnVjdCBydGVfZ3JlX2hkciBoZHI7DQo+ ID4gCXN0cnVjdCBncmVfaGRyX29wdF9jaGVja3VtIGNoZWNrc3VtOw0KPiA+IAlzdHJ1Y3QgcnRl X2hkcl9vcHRfa2V5IGtleTsNCj4gPiAJc3RydWN0IHJ0ZV9oZHJfb3B0X3NlcSBzZXE7DQo+ID4g fTsNCj4gPg0KPiA+IEFuZCB3ZSB1c2Ugc3RydWN0IGdyZV9leHQgZm9yIHRoaXMgbmV3IGFkZGVk IGZsb3cgaXRlbSBncmVfb3B0aW9uLg0KPiA+DQo+IA0KPiBXaGF0IGFib3V0IGhhdmluZyBhIHN0 cnVjdCBmb3IgJ29wdGlvbnMnIGFuZCB1c2UgaW4gaW4gZmxvdyBpdGVtIGZvciBvcHRpb25zLA0K PiBsaWtlOg0KPiANCj4gc3RydWN0IGdyZV9oZHJfb3B0IHsNCj4gICAgc3RydWN0IGdyZV9oZHJf b3B0X2NoZWNrdW0gY2hlY2tzdW07DQo+ICAgIHN0cnVjdCBydGVfaGRyX29wdF9rZXkga2V5Ow0K PiAgICBzdHJ1Y3QgcnRlX2hkcl9vcHRfc2VxIHNlcTsNCj4gfQ0KPiANCj4gc3RydWN0IGdyZV9o ZHJfZXh0IHsNCj4gICAgc3RydWN0IHJ0ZV9ncmVfaGRyIGhkcjsNCj4gICAgc3RydWN0IGdyZV9o ZHJfb3B0Ow0KPiB9DQo+IA0KPiBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9ncmVfb3B0IHsNCj4gICAg c3RydWN0IGdyZV9oZHJfb3B0IGhkcjsNCj4gfQ0KDQpGb20gbXkgdW5kZXJzdGFuZGluZyB0aGUg aGVhZGVyIHNob3VsZCByZWZsZWN0IHN0cnVjdHVyZXMNCmFzIHRoZXkgYXBwZWFyIGluIHRoZSBz cGVjLg0KDQpJZiB3ZSBsb29rIGF0IHRoZSBzcGVjLCBmcm9tIG15IHVuZGVyc3RhbmRpbmcgZWFj aCBvZiB0aG9zZSBpdGVtcyBpcyBzdGFuZC1hbG9uZS4NCkl0IGlzIHBvc3NpYmxlIHRvIGhhdmUg anVzdCBrZXkgb3Iga2V5IGFuZCBzZXEgb3IgYW55IG90aGVyIGNvbWJpbmF0aW9uLg0KU28gdGhl IHN0cnVjdCB5b3Ugc3VnZ2VzdGVkIGlzIG5vdCB2YWxpZCBzdHJ1Y3QgaW4gZ3JlIGhlYWRlci4N Cg0KSWYgeW91IGFyZSBPLksgd2l0aCBhZGRpbmcgc3VjaCBhIHN0cnVjdCB0byB0aGUgZ3JlIGZp bGUgSSB3aWxsIGFsc28gYmUgTy5LIHdpdGggaXQuDQoNCkJlc3QsDQpPcmkNCj4gDQo+ID4gQ29y cmVjdCBtZSBpZiBteSB1bmRlcnN0YW5kaW5nIGlzIG5vdCByaWdodC4NCj4gPg0KPiA+IFRoYW5r cywNCj4gPiBTZWFuDQo+ID4NCj4gPg0KDQo=