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 D3CB542641; Tue, 26 Sep 2023 11:25:42 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 62B0C40277; Tue, 26 Sep 2023 11:25:42 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2055.outbound.protection.outlook.com [40.107.243.55]) by mails.dpdk.org (Postfix) with ESMTP id 2FD4D40271; Tue, 26 Sep 2023 11:25:41 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZXLGN7HOD++FVwXlylNyPAsSmPg5Tii++q2fmkPctf2F2E6cnUYP9BDWQi4FaTf317hudid4GxYTUn5Y3FNivG2btMcgRn4mWtbO0TeExl836pyuUoAm0eIpH0kmlWsAllxwgjIaIslFNDssD5DBakzFOmihUjeB0v0NpuiaMSmZQmXTMaOd7DVjQuE6M4mAf8Zikqmh8NvX396/PAFsx6/qMoqfQXO6aSvLiH5GntsHRHdY/4cKnkHPWcJP5aNyNDNaz2awjSZb5DJIg39xsQDF3V1fOcd8rJp6zWl6IIDOdeFf5dNum6y0DNvnZSOEYEJ1WpCzaEL0q8/U6mCrqQ== 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=7Erdw6nlz23KYxnX6tsYdSVY7cs8n/BXZFa7dCQE01I=; b=bakUHFKzUkPgIbq5YJyKFg3JW5bORyL/qdUKvF4RI72e8P8Dzpup1GXfBLa+N7vtvTSwSbbIRFXLrKqDjoSwRl7fbbW5IiqMMn6+VxTliXuq8YrcM1vUV1t6sbMSVwZR1osYC6pO48NQzMxcFWCHDRe+S/cAB4hqC0pryyujiKwjxhxUNhWdzTi6NdtCKW0J5ltzBgpjyBc5BUguqb8MbjqgR5r20q4aIiC+XO/eYs+a/Tccu1HbkHU39dY4tX81AnL5h+MV00eh/CpYTnLL92361uSF20ZjKLwJDnwYLXBBR7GqXa3PGqphwS3MIDIho3n8bAgx4Q/4HdDXShlS/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; 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=7Erdw6nlz23KYxnX6tsYdSVY7cs8n/BXZFa7dCQE01I=; b=knyHLLTklWqv4ne6Tgds7xApgrPU/QwfqkfUsgTTtXa+dAIV7XPHG4/rtlcYaj6cwSNJ8e+LLjgD/6YX7rfG3whcs1wwMSA9uifpEZcxEWxl/xCzDKKKfwmNl05m5c+Wq+UDbK5MCN6/EYnxaAWcsF/IrbWbHi98XeFFQWElrZkqgxki3E5cbi+fI/STFoN1VU7EW55Q3a5sXiN60OFPLSA9ONqpYsHLFabx3hkU4gi8BT8wd/H6ih0GbHitCXS5jEmgRpOWe8WuZM64DYmac2TiZHJsr6ya+UmTj9fUNzMnLyssyD5/UMJ2ni12usISfV8ccNY6zrOErpEv2XH60Q== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by LV2PR12MB5798.namprd12.prod.outlook.com (2603:10b6:408:17a::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.23; Tue, 26 Sep 2023 09:25:38 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::2ee3:cb3c:1fa1:f971]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::2ee3:cb3c:1fa1:f971%5]) with mapi id 15.20.6813.027; Tue, 26 Sep 2023 09:25:38 +0000 From: Ori Kam To: Cristian Dumitrescu , "dev@dpdk.org" , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "david.marchand@redhat.com" , "jerinj@marvell.com" , "jerinjacobk@gmail.com" , "mb@smartsharesystems.com" , "ferruh.yigit@amd.com" , "helin.zhang@intel.com" , "bruce.richardson@intel.com" , "john.mcnamara@intel.com" CC: "techboard@dpdk.org" , "qi.z.zhang@intel.com" Subject: RE: [PATCH V2] ethdev: add flow API support for P4-programmable devices Thread-Topic: [PATCH V2] ethdev: add flow API support for P4-programmable devices Thread-Index: AQHZ76yKjUHEgjIVXkSSpY0QjfO+/rAs1yKA Date: Tue, 26 Sep 2023 09:25:38 +0000 Message-ID: References: <20230915185932.3070938-1-cristian.dumitrescu@intel.com> <20230925123344.3237627-1-cristian.dumitrescu@intel.com> In-Reply-To: <20230925123344.3237627-1-cristian.dumitrescu@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-traffictypediagnostic: MW2PR12MB4666:EE_|LV2PR12MB5798:EE_ x-ms-office365-filtering-correlation-id: d922c146-719a-4994-00b5-08dbbe728ba7 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mrwY1EqR9CTx7hZLDHHlPu8YjcfgzkQ7pVFs8nFvgN1xaVaHl6lsZBPLRXGkxo9ZYx6wH1ns7no1xnW2UFgWYS7udgIHX1QXDhQwAvsapubmfOMvia1/ip2nDF6dVVZxdBMcnnOEJQtTTvh2r0y+YTxIkhqLLtSk/OPj/EzPyMJGSECxxgVmQo7sHZck9E5duxh5rgtqHLevPATfkwiRKEoerd340/hC1RiFH/WmbQl9zD7RK0CtIl0SC90rQI/Ml5QyxKD8tlJz4befwlPbO+yJgLrWYGtXXTwHRJwMdjWDxspZO98JvG4Qc2meLpYQCOga43R8FTebAVELnDalZ5KyyZcch2XegNwhGENUZPaPu45FODgz8BoxkZ9nNgLQKD1L5W8BbTGveHVdvki+ymGy9s6vimR6+N7EpHkcPdIefeBhwdRjRpaVSwk++xThmc/gSE6hgGJQamx053j2rNGim/ecQRmuIQQS3fX9rk6Dd9ZzMYJ/PFdEcNwSjm/gcSh7t42GX58CbjbzzRdm36nJjvZYfUNrlV9+XwmjyMj5Gm4qJHTyNujK1j5QSgW/1XEUSoVg5+SHgT7TMXkzVe11E9wVYiKp0vGKZ3LfHbswlTXQ92XUPLO1uAjw7SmbIMYqn5cc73se3MjgKM3JUXc90gq7MKLVq8dp10wTQOqZPfpqHrs6dnfkC+smibSd 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:(13230031)(376002)(346002)(136003)(396003)(366004)(39860400002)(230922051799003)(1800799009)(451199024)(186009)(9686003)(8676002)(41300700001)(66476007)(2906002)(316002)(5660300002)(52536014)(55016003)(7416002)(4326008)(8936002)(76116006)(71200400001)(6506007)(33656002)(966005)(7696005)(921005)(110136005)(478600001)(53546011)(38070700005)(122000001)(66946007)(64756008)(66556008)(66446008)(26005)(86362001)(83380400001)(54906003)(38100700002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YjJ1eWJHU1IzRzVURGVVSGhvODlzS3ZPbk93UjExZnJtVFNyZTV4K1p5Nmo1?= =?utf-8?B?c2JPNlZCcXBJQ09VK2RvZnNLYzdYeTh3dDZLazdvWGFYdTQrZkQxVllPMGho?= =?utf-8?B?WXNUWHByaDN1eFlHeEhydHYwelA3WXBoVVVLYnFtNWF2WVJiME5JN1h2WkdM?= =?utf-8?B?b2RLUW5CY0hqMVB4OFc2UDlraGVZQ0xSU2pDVjh1OW1lK1BOMWw5azhUUWtk?= =?utf-8?B?c3ExS3RpM2d1aEgzKzN3YTZCMFdUWHU0dDdJZTFqMUJuMHVOSlVzRGJqcE1y?= =?utf-8?B?dytCek4wTU91NUlYWFpMUjVyYnY0ckh4RzZvNUVRb3ZTYUh4RlNMdGJOR3Bt?= =?utf-8?B?T0tBNUk5MjJhTzZGRWV4aGZzcGRqQktvSTlsRVo2Ykp3eENMWjFnVlNhZ2pp?= =?utf-8?B?SHdGamlqM0ZvdDRiS3F4OWRwZUhid0NMbEIyVDJCVUdZZWdML0VvYTRZY0NU?= =?utf-8?B?eGFka2J3RGMzNE55UkxCeTFuZW41V2NEU0NSL2grWGh0Q2FVdWNtQkVpMU5E?= =?utf-8?B?WXpvM3IxL3doNExvOWxmaU5NT0RUNWpQSy9odjV1czdpeFBlMVBpYVdJLzN5?= =?utf-8?B?aDM3cE9icnkzZ0grYmdienZ4Umo4Qi9BS1IxTjJndThESXFEZUFyMG9ZVUI0?= =?utf-8?B?U0ZaYnFwVkNXa2J2ZDBla3J5blBiUmtwQnBZTUtTemJ4WjJJbVNSdHBVOHBW?= =?utf-8?B?Smt1cE1IdVZmb1o4YTVJMDV3WUxmVVREWk1jSlUzOHJZNlZYSWQrMW84UGNJ?= =?utf-8?B?ZGMyMjBpcHJjSXBrRzBRcXdTaSs4UHBmZjNqSkg0dlRxY0dXZTZRdHFpK0lq?= =?utf-8?B?KzNmMHdwM2t3N0E2ZWNzRXdYcEZCQ0xHa1BRZndlbklWV1BlNSs1emF3bnJK?= =?utf-8?B?YkZFVzBpVjZZMlV2eWVUNW54cllrQWhicjJkVmdaYnJDS2ZialZBdkFvV0sr?= =?utf-8?B?Lzh4TUQyYnVjdVF0aG5YOUt6cnVTQ3VyRVd6K25lUlByY0Y1WVRtM1daaGh5?= =?utf-8?B?WGtWK3RmK21JZmR1dFVGZ1Y4R3BzNDlmUS9uczJDZ1l5UUhPLzVXdW5KZlJZ?= =?utf-8?B?VVNESE9qS2o4UGFiVE9wa3pBS2RUWXNPd0wvd25mdSs0ZmZpTk9FM2lDQnNx?= =?utf-8?B?TitPYXV5WndndHA5VzZOWVRydmRaVjZpK25xb0Uxd0dUa1E0ZmFZRGJqNzFB?= =?utf-8?B?cUh2bzhlamhBZlNyVTNsSmVDOEd6NFFDamhQanVDOFFyVzhUNFBLOVZBV3BW?= =?utf-8?B?Y1lNTnZGeDZzVitQYVBWaWdwZnRFekN0eG56MnNWb0NweTc5VTRRcC9iaUZO?= =?utf-8?B?S2JxRFAyYkFtNlNKMDM4dk95R0gvV2hsRGFXdjB6Mk10anRFc1hudEFiR1or?= =?utf-8?B?QkwzYjhISDN3TnBTZGZYaHpPS2xaSFlaY29EYjlNUXQ2MDhTUkovVzRtNG9I?= =?utf-8?B?K3Nwd0lqZUg2OXZQWm5EY285RTh6VE0wNXRDaHNHWDBWQ3NjVEJFWml5VUQy?= =?utf-8?B?Y1BUN0pmZ0duUDQxMENoN0tIMng5SUlZMFlkTjZsOEN6eGt1d21zRGxLdjFa?= =?utf-8?B?VUVKcy9heVg0SEZTNXVoS2cza3FnbkJYb2s0QjIzVGVDeUhMTmhXQ2o2aXBE?= =?utf-8?B?MzBmY01VazQ5Um0yUTU1NFFmVkpPQ3ZVMUlCZjU3ZVJ0eEp5SnlXVzJsMDVh?= =?utf-8?B?YUNPY2dhRTFaN252eE5jdXhBalR2MkFJdlhTTWRIMGpmdUtjVDI0Nmx5anlD?= =?utf-8?B?Q29uZmIzV2pvRWlvM21hUXlQQlRGQXNDb0YxcDZyZ1Z5Vzg0eTlIQ2JyVjBV?= =?utf-8?B?SUYvVUE0aW1pSDJZdzVZc3JILy9hNEJXMk5CTG9GZ0hBbDdDYlhSVGU5R1ZX?= =?utf-8?B?REZueWlVQXJBVCtIbkd4cmNyU05jclROQUg2Vm5JeUhIMitsV1hyZ09oY0cx?= =?utf-8?B?c2hldk9ERzhESGJhcnlhOGQ4T0FjKzJ2RkRkd3gzYjFnQUxra1RFVjN2NzYy?= =?utf-8?B?Vm1xL2tNaFBSSjVHMFl5ZHltRzFGUTNNaUxyRDJhSzNFLzlmTnY2NmF5OGFM?= =?utf-8?B?c0xuTE80RFNqQjFzV2JRaFFCWnJCblFISC9WeGdmR0pYNmczS2FWY1d3VzFR?= =?utf-8?Q?74YQ=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: d922c146-719a-4994-00b5-08dbbe728ba7 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2023 09:25:38.1029 (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: 6PyHgwZggqld/CIPzfY3zbD6pyXEMgX/jd0oRVOUIki1kwyIV2x1NIOJKLLK53FvvJm0pRey9AFk4yn1+07xpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5798 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 SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQ3Jpc3RpYW4gRHVt aXRyZXNjdSA8Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb20+DQo+IFNlbnQ6IE1vbmRheSwg U2VwdGVtYmVyIDI1LCAyMDIzIDM6MzQgUE0NCj4gU3ViamVjdDogW1BBVENIIFYyXSBldGhkZXY6 IGFkZCBmbG93IEFQSSBzdXBwb3J0IGZvciBQNC1wcm9ncmFtbWFibGUNCj4gZGV2aWNlcw0KPiAN Cj4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBuZXcgInByb2dyYW0iIGFjdGlvbiB0eXBlIHRv IGVuYWJsZSBmbG93IEFQSQ0KPiBzdXBwb3J0IGZvciBQNC1wcm9ncmFtbWFibGUgZGV2aWNlcy4N Cj4gDQo+IEluIHRoZSBjYXNlIG9mIFA0LXByb2dyYW1tYWJsZSBkZXZpY2VzLCB0aGUgZGV2aWNl IGlzIGluaXRpYWxseSBibGFuay4NCj4gVGhlIGZsb3cgaXRlbXMgYW5kIGFjdGlvbnMgYXJlIGRl ZmluZWQgYnkgdGhlIHVzZXIgKG91dHNpZGUgb2YgYW55DQo+IHZlbmRvciBjb250cm9sKSB0aHJv dWdoIHRoZSBQNCBwcm9ncmFtLCB3aGljaCBpcyB0eXBpY2FsbHkgY29tcGlsZWQNCj4gaW50byBm aXJtd2FyZSB0aGF0IGlzIGxvYWRlZCBvbiB0aGUgZGV2aWNlIGF0IGluaXQgdGltZS4gVGhlc2Ug Zmxvdw0KPiBpdGVtcyBhbmQgYWN0aW9ucyBhcmUgdGhlbiB1c2VkIGR1cmluZyB0aGUgcnVuLXRp bWUgcGhhc2UgdG8gYWRkIGZsb3dzDQo+IG9uIHRoZSBkZXZpY2UuDQo+IA0KPiBTaWduZWQtb2Zm LWJ5OiBDcmlzdGlhbiBEdW1pdHJlc2N1IDxjcmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbT4N Cj4gU2lnbmVkLW9mZi1ieTogUWkgWmhhbmcgPHFpLnouemhhbmdAaW50ZWwuY29tPg0KPiAtLS0N Cj4gQ2hhbmdlIGxvZzoNCj4gDQo+IFYyOg0KPiAtQWRqdXN0ZWQgZmllbGQgbmFtZXMgYW5kIGlt cHJvdmVkIHNvbWUgY29tbWVudHMgYmFzZWQgb24gT3JpJ3MNCj4gZmVlZGJhY2s6DQo+IGh0dHBz Oi8vbWFpbHMuZHBkay5vcmcvYXJjaGl2ZXMvZGV2LzIwMjMtU2VwdGVtYmVyLzI3NzM1OC5odG1s DQo+IA0KPiBWMToNCj4gLUluY29ycG9yYXRlZCB0aGUgZmVlZGJhY2sgZnJvbSB0aGUgRFBESyBT dW1taXQgMjAyMywgc2luY2VyZSB0aGFua3MNCj4gdG8gdGhlIG1hbnkgY29sbGVhZ3VlcyB3aG8g Y29udHJpYnV0ZWQhDQo+IC1CYXNlZCBvbiBPcmkncyBzdWdnZXN0aW9uLCBkZWNpZGVkIHRvIHJl dXNlIHRoZSBleGlzdGluZyAiZmxleCIgZmxvdw0KPiBpdGVtIGluc3RlYWQgb2YgZGVmaW5pbmcg YSBuZXcgZmxvdyBpdGVtLCBzbyBvbmx5IHRoZSBuZXcgInByb2dyYW0iDQo+IGFjdGlvbiB0eXBl IGlzIHJlcXVpcmVkLg0KPiANCj4gUkZDOg0KPiAtUkZDIGxpbms6IGh0dHBzOi8vbWFpbHMuZHBk ay5vcmcvYXJjaGl2ZXMvZGV2LzIwMjMtQXVndXN0LzI3MzcwMy5odG1sDQo+IA0KPiAgbGliL2V0 aGRldi9ydGVfZmxvdy5oIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKw0KPiAgMSBmaWxlIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKykNCj4gDQo+IGRpZmYg LS1naXQgYS9saWIvZXRoZGV2L3J0ZV9mbG93LmggYi9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4g aW5kZXggMmViYjc2ZGJjMC4uZmUyYmI5Yzk0OCAxMDA2NDQNCj4gLS0tIGEvbGliL2V0aGRldi9y dGVfZmxvdy5oDQo+ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiBAQCAtMjk4MSw2ICsy OTgxLDE1IEBAIGVudW0gcnRlX2Zsb3dfYWN0aW9uX3R5cGUgew0KPiAgCSAqIEBzZWUgc3RydWN0 IHJ0ZV9mbG93X2FjdGlvbl9pbmRpcmVjdF9saXN0DQo+ICAJICovDQo+ICAJUlRFX0ZMT1dfQUNU SU9OX1RZUEVfSU5ESVJFQ1RfTElTVCwNCj4gKw0KPiArCS8qKg0KPiArCSAqIFByb2dyYW0gYWN0 aW9uLiBUaGVzZSBhY3Rpb25zIGFyZSBkZWZpbmVkIGJ5IHRoZSBwcm9ncmFtIGN1cnJlbnRseQ0K PiArCSAqIGxvYWRlZCBvbiB0aGUgZGV2aWNlLiBGb3IgZXhhbXBsZSwgdGhlc2UgYWN0aW9ucyBh cmUgYXBwbGljYWJsZSB0bw0KPiArCSAqIGRldmljZXMgdGhhdCBjYW4gYmUgcHJvZ3JhbW1lZCB0 aHJvdWdoIHRoZSBQNCBsYW5ndWFnZS4NCj4gKwkgKg0KPiArCSAqIEBzZWUgc3RydWN0IHJ0ZV9m bG93X2FjdGlvbl9wcm9nLg0KPiArCSAqLw0KPiArCVJURV9GTE9XX0FDVElPTl9UWVBFX1BST0cs DQo+ICB9Ow0KPiANCj4gIC8qKg0KPiBAQCAtNDA1NSw2ICs0MDY0LDQ4IEBAIHN0cnVjdA0KPiBy dGVfZmxvd19pbmRpcmVjdF91cGRhdGVfZmxvd19tZXRlcl9tYXJrIHsNCj4gIAllbnVtIHJ0ZV9j b2xvciBpbml0X2NvbG9yOw0KPiAgfTsNCj4gDQo+ICsvKioNCj4gKyAqIEB3YXJuaW5nDQo+ICsg KiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgc3RydWN0dXJlIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlv ciBub3RpY2UuDQo+ICsgKg0KPiArICogUHJvZ3JhbSBhY3Rpb24gYXJndW1lbnQgY29uZmlndXJh dGlvbiBwYXJhbWV0ZXJzLg0KPiArICoNCj4gKyAqIEZvciBlYWNoIGFjdGlvbiBhcmd1bWVudCwg aXRzICpzaXplKiBtdXN0IGJlIG5vbi16ZXJvIGFuZCBpdHMgKnZhbHVlKg0KPiBtdXN0DQo+ICsg KiBwb2ludCB0byBhIHZhbGlkIGFycmF5IG9mICpzaXplKiBieXRlcyBzcGVjaWZpZWQgaW4gbmV0 d29yayBieXRlIG9yZGVyLg0KPiArICoNCj4gKyAqIEBzZWUgc3RydWN0IHJ0ZV9mbG93X2FjdGlv bl9wcm9nDQo+ICsgKi8NCj4gK3N0cnVjdCBydGVfZmxvd19hY3Rpb25fcHJvZ19hcmd1bWVudCB7 DQo+ICsJLyoqIEFyZ3VtZW50IG5hbWUuICovDQo+ICsJY29uc3QgY2hhciAqbmFtZTsNCj4gKwkv KiogQXJndW1lbnQgc2l6ZSBpbiBieXRlcy4gKi8NCj4gKwl1aW50MzJfdCBzaXplOw0KPiArCS8q KiBBcmd1bWVudCB2YWx1ZS4gKi8NCj4gKwljb25zdCB1aW50OF90ICp2YWx1ZTsNCj4gK307DQo+ ICsNCj4gKy8qKg0KPiArICogQHdhcm5pbmcNCj4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBz dHJ1Y3R1cmUgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gKyAqDQo+ICsgKiBS VEVfRkxPV19BQ1RJT05fVFlQRV9QUk9HDQo+ICsgKg0KPiArICogUHJvZ3JhbSBhY3Rpb24gY29u ZmlndXJhdGlvbiBwYXJhbWV0ZXJzLg0KPiArICoNCj4gKyAqIEVhY2ggYWN0aW9uIGNhbiBoYXZl IHplcm8gb3IgbW9yZSBhcmd1bWVudHMuIFdoZW4gKmFyZ3NfbnVtKiBpcyBub24tDQo+IHplcm8s IHRoZQ0KPiArICogKmFyZ3MqIHBhcmFtZXRlciBtdXN0IHBvaW50IHRvIGEgdmFsaWQgYXJyYXkg b2YgKmFyZ3NfbnVtKiBlbGVtZW50cy4NCj4gKyAqDQo+ICsgKiBAc2VlIFJURV9GTE9XX0FDVElP Tl9UWVBFX1BST0cNCj4gKyAqLw0KPiArc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9wcm9nIHsNCj4g KwkvKiogQWN0aW9uIG5hbWUuICovDQo+ICsJY29uc3QgY2hhciAqbmFtZTsNCj4gKwkvKiogTnVt YmVyIG9mIGFjdGlvbiBhcmd1bWVudHMuICovDQo+ICsJdWludDMyX3QgYXJnc19udW07DQo+ICsJ LyoqIEFjdGlvbiBhcmd1bWVudHMgYXJyYXkuICovDQo+ICsJY29uc3Qgc3RydWN0IHJ0ZV9mbG93 X2FjdGlvbl9wcm9nX2FyZ3VtZW50ICphcmdzOw0KPiArfTsNCj4gKw0KPiAgLyogTWJ1ZiBkeW5h bWljIGZpZWxkIG9mZnNldCBmb3IgbWV0YWRhdGEuICovDQo+ICBleHRlcm4gaW50MzJfdCBydGVf Zmxvd19keW5mX21ldGFkYXRhX29mZnM7DQo+IA0KPiAtLQ0KPiAyLjM0LjENCg0KDQpBY2tlZC1i eTogT3JpIEthbSA8b3Jpa2FAbnZpZGlhLmNvbT4NCkJlc3QsDQpPcmkNCg0KDQo=