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 B78C342608; Thu, 21 Sep 2023 18:38:54 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A67BB4013F; Thu, 21 Sep 2023 18:38:54 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2063.outbound.protection.outlook.com [40.107.237.63]) by mails.dpdk.org (Postfix) with ESMTP id 7685E400D7; Thu, 21 Sep 2023 18:38:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UZsCRa2oZkLQuMps8fcnNWNfpCZJcdlqag8NKn6T1a8kx8ZEoyEBzp/9ILGRNeCtQiCee8T0iCrdR6xKQdkQyQ7DrOIB2MdBsyiM8UAIZGTzq/0+tiGYbPCPRhoqBOvVtVHJcHA/su05GJIE0UGksIb3B+SaDOUPEoKqwh/hpoki/UBXB++P2qPArTRY9q6BvOoNV8qWHqArGXrAZnJw9Zmd4FsInb07vAtkBgCOjI8UzB2ZmjM/s0yxb9ixspYj3hlUU6VX5ZpdSXEoED9VJKW+DVqZ3k157xK5NBSxfNlymxblRbxa+L3/9PXgULEwCowDXITrQuWWu4XMpa106A== 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=w0Ls6ob4LlVPWZiMWsRJKMJxZ6SaJqCm2SvBOFxaAAg=; b=NfFri4+0DwNJk15KyY7k9jsOMYE4SEbhWbkVt895mwGcQcg0qYshD55H3eIoqg16VBIhPBH2ZijYor5bk8+I7YG3X/9O1+TFw1dMNFBNGcspg+aMUVNIUDjXNL38VgZUpkkq+MRBl9q0inH1qikhhESmEIt1RD1hyLQ7IJPndh9KwZ7FLNgNh5yvTj8PM1SNPypkDuH59/1jaIm+QNk4dIFZJYdBjudKm52IcQ84jBClDp7G4FI9nswe51+Ij2w2YXrnyLMC+sGhzdCy70hzwra9ySQmxHsoVfJe9ouMA7K1+FEZyOgLs/KgA2tMwT9BQ2b80W8CxQz8UNDqUqiZPQ== 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=w0Ls6ob4LlVPWZiMWsRJKMJxZ6SaJqCm2SvBOFxaAAg=; b=gdbX25Jqb2LqFyrlcOYHqw83MI/qB7AL6dqen5zfiSoqzoliK3fN77fcK0e6iNafi0EYxeXurIL7QMMO5blHSBt8qH5FTRwFI3uin0oDd6QE1o3grBhwdaljOWfjVdApuwutOoG/OifkzBVaye2wGO+c7LyKp3VQG9JAqWDz6ZUAFslv/se58MG3ZJ7m3X3lolegYnk3aDAaYLdYMhmYE3Ya4wuy8E00qaohAmNhXOx1sgLEgiyajRU68hDg7u8zZ8P29AICLCEayaRG3dgQ7+Ts22xwfVwzHMIpDJYLbwnmN3KF7eB7eiR3LvXeducrNbzBLrNRDJh/R8Dc2fxwXA== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by BL1PR12MB5095.namprd12.prod.outlook.com (2603:10b6:208:31b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.20; Thu, 21 Sep 2023 16:38:50 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::2c6f:f58d:5fc2:6cae]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::2c6f:f58d:5fc2:6cae%3]) with mapi id 15.20.6813.017; Thu, 21 Sep 2023 16:38:50 +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] ethdev: add flow API support for P4-programmable devices Thread-Topic: [PATCH] ethdev: add flow API support for P4-programmable devices Thread-Index: AQHZ6AbIHbcP09O4GUKpO2P+6T23PLAlgSFQ Date: Thu, 21 Sep 2023 16:38:50 +0000 Message-ID: References: <20230915185932.3070938-1-cristian.dumitrescu@intel.com> In-Reply-To: <20230915185932.3070938-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_|BL1PR12MB5095:EE_ x-ms-office365-filtering-correlation-id: 421d3e35-b52f-444b-6e45-08dbbac13c1d 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: 7Zw2CqFoqwrVidBVpGv+14B3DaroYRzOInhusaqYq3nQqFPlr79tMpvAJLB+ZK/aLJlmEHadQ80WVZiLh6TvvHPpR/zS3xVkW12QxcqxhxWAPromazaLeVEa3OZsDCjJAL+pKZDdCTqJYllpKHBVPd9BAQd98BtU+2PxBEHYTU4CyoWtcEim5miJMiimvTZmzNVHELQWbrK7alJEhr1NG2/Jg1m9J3KWuSPLlSmjpY4m9hOOu8bmMiSdcemrY5ufw0PMNcgfGIVOddeXeg7DlIJH593Z8dSlh2F6SU8TpLC+/ZWHLZPpPNc2d5F1UlRWzOT6AUIdGlYz1XluzLw4hunpeQtFinnKpyVT82A8Bx27qhSKG71CxSLde/vdvGBqvg/2HjTOX9HOiNVHyYusv2zaTbxQPKlZjjcb3YPKggmwBl9Kl38BCMmrDeTVvlz5R//4VmHWObKhTdMYApUqoE2vHEJlsmzLU9qHI4y1/Emgsp5Wk3gwRNYdMk+SW05sFPnTV1FzEiCl2dSfO90QPPC2RSIUKxijAkNVwlIwaXrLX3yfdwgkdlVAIDsmDtifcsQCgC3dOzJbLqmi39IUsjO0XPBsgqnJJRPgLBDm/GHbIpk+fmYrAjfFnUATyIo32HMXZtbDC8k1DZOMghB9X/55zSC4FoENremyCGvXvAtyfT1s6CYdDurece9aP50h 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)(396003)(136003)(376002)(39860400002)(366004)(346002)(451199024)(186009)(1800799009)(8936002)(4326008)(8676002)(26005)(52536014)(55016003)(5660300002)(9686003)(316002)(41300700001)(921005)(122000001)(38070700005)(38100700002)(86362001)(7416002)(2906002)(83380400001)(71200400001)(33656002)(478600001)(966005)(7696005)(6506007)(54906003)(64756008)(53546011)(66476007)(66446008)(66556008)(76116006)(66946007)(110136005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V2c0OTFlTndWS2t1MFg4cGlVRnJwZDJCWGt5SW9HaDY2NklzeTh4dE81UFRF?= =?utf-8?B?cG5OWGx2OVVSMjBpQ3ZJaUttVlpoZDVsektTRlU3bHR3WmZnSFBPajBZbmxM?= =?utf-8?B?V2VMY3pxdmhUQ2M1dGtnRzJkV1UzTTFsamlYMjhmYkl2ejdWRzFCamNINDln?= =?utf-8?B?NDQ4ZVI4cXRmVHhPK3VESnQrRHFMWGxZSWMyd1k5eE5KZGZMcTZhUEQ1STJE?= =?utf-8?B?WXdvMThtNSs1d3lVcmRaWERLeUN0N2Rja0h4RnBtWHM4Qk9DTnZKMUtpYm1C?= =?utf-8?B?K2FHOEhJYk1wemJQdDhzajdrV0Nzd1RFcGRPWVB4TGdIUWlET1hIRmU4VHN6?= =?utf-8?B?WERzL0FvNmd4OVNtN2FDaFIyQjFwbW81Sko0WVViOXh5Q2lwdktJS3EyY3lR?= =?utf-8?B?c0VNU3JvQWxDWTh1NEE4TXV4MnFQbzRNSkpmVk9qQ2N0M1RyenlJa2NsSVpX?= =?utf-8?B?dlJ0NjgrQ2FxbWN1UmVtSTEzdGlSWnJiMEhONzRjRnI2eVpsZXZWUEJ4azdq?= =?utf-8?B?aUg3U01mWXp3cGpIbkN5WTFncG5XcExxbDI2dXdMczNmZjAwQ2pzQy9XZC9r?= =?utf-8?B?YzE2ejEyTHhNbWIvc1NoWCtkR1k1cjlSQ2tQNHdrZmhNaGFnVmJRSVZlQld6?= =?utf-8?B?aC9JNzZyMzZrVzY5Qnp6eHFEa0NmOU1RNTNNcGczOEpFZVZpQWsyVUZaUk9r?= =?utf-8?B?R0JMNWhRdjNaZVdQQVdQNGduNjgwYkRzWDVxZDJQZzZtQlg4MXdZN0tTUVJS?= =?utf-8?B?aDMvdWFvYWtTSHFHV3c3aVFSekl3ZmRTeWdXSmFUei9WWmZJY0t5MDA0bEF3?= =?utf-8?B?UGl6NnhBYXFPdUY4d3h2anVDeG03VWRLOTV0WFNQSmRnVHFOQ2hFYko1a3Ju?= =?utf-8?B?Q01JMFFDLzJjM0VCZVRRc3FIQWZ0a1ZXcmhRMjR4ZmRiZ2U4VExFS3diOG11?= =?utf-8?B?VDZQSWxZaHc3VVU4OXBPZFZ5SWVPMWtCU0s1dlhwcjZYM3ZBdVNmM2FGMGd5?= =?utf-8?B?T1pCVEFuTmFNbDRqOFpQQSswbFk0WDBHUTdEbThoZVcwVkV0YXZ2NjBFc1lo?= =?utf-8?B?WEthU1lLTTZxK0xEZktrTUw5K21UbHhVZG1IeVVGblN4djRVb2c5THJlM2Rp?= =?utf-8?B?aVhTQzVyV2dIRllEVFVtU0RaWVZpelpIWExTWVgzUkFWTVVMSXlWWjZDZkZ1?= =?utf-8?B?a3A2VHpETnE5M2FlTFJrQkY1N0tDdUc1ZFVWOWJzOUxsZzAzZWorL1BTa1R0?= =?utf-8?B?UjFPTnM1RExJL1JQUGtleWVZazYrUGM5S3N0SmdER3NYTEY1THRrUFk3UjZl?= =?utf-8?B?THhDaG9VT2NQSjhNVm11NGJqSXp5VUpZY2psT2FtMEFjdDFRNmp2eFNoQ3pH?= =?utf-8?B?ZkpnTXhPU25mU3pZTTBDTU1VbmRObzk2dmdhQ1RLZDFEclIwaUp2TXJBY0lk?= =?utf-8?B?d0VTU2VSbUZqckxlYnprV20xMXRzcmtFYzJsaWQyak9ESFIyaDY2bXN6OVV6?= =?utf-8?B?ZnZuRFdwdmpLT3dTVkRXSjdBQ0NqdC9WallaU1kwenZMMGVhS21qY0tiVy9p?= =?utf-8?B?Z0pmQzRCSkk1VE1UQTlPeUFpTUJlenkybmtCeFhnWjVLa25CaGExQWo0UUhU?= =?utf-8?B?Q3NISEJuWnFrK2taZHZ4OVhIN0Nxd1ZqN3k2cTVJdW8ya29OQTNtSDI5NUMz?= =?utf-8?B?WU16YUlWVHJhblAweVVpejhXSCs0QXdKV2FVeDF4QUt0YkdMNnNPeng3aFRZ?= =?utf-8?B?WndURFlnZ1pPMVhldWVhNnhpNmlaT1hKdHltVTZaVXNBRjROV2EyUUpxSGkw?= =?utf-8?B?M1ZBNTNGUmRNZW4vT2I2RmFaMmRrNWJMcGJ5YkVoVDBSY1hEUHF6bmlPK0hs?= =?utf-8?B?bmQxM1ZQamhCUnY0Z2hCalRsd3BVd0VaQW9waUVKZUExUnNJMDRtTTJJL2VU?= =?utf-8?B?YU5OY1Z3RGtFM2ZlSjdmcHF2UXBqMVhGVFBHUTFSQ2NEWXZGenJxZVdoYmVG?= =?utf-8?B?N0tPMTd1YWlNdG5Lai9GMTlmUXJjMkhBVEgyZ3hjS2VuUnBHSUQyZnpSam5h?= =?utf-8?B?UkJFckI2ai9yenFMNW11cWZhWlFQYmlPTjAzVU1POWxLVG5MVnV0eERJeFFP?= =?utf-8?Q?iQKw=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: 421d3e35-b52f-444b-6e45-08dbbac13c1d X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Sep 2023 16:38:50.2977 (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: cibg8kf6cKE5WX/JherHaEjGl5+5JiECfs0YCl1EfJ/sGPXGoIbOGSAYtSNFTNKzrFy75/JREbteLkarkG+1Pg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5095 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 SGkgQ3Jpc3RpYW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQ3Jp c3RpYW4gRHVtaXRyZXNjdSA8Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb20+DQo+IFNlbnQ6 IEZyaWRheSwgU2VwdGVtYmVyIDE1LCAyMDIzIDEwOjAwIFBNDQo+IFN1YmplY3Q6IFtQQVRDSF0g ZXRoZGV2OiBhZGQgZmxvdyBBUEkgc3VwcG9ydCBmb3IgUDQtcHJvZ3JhbW1hYmxlIGRldmljZXMN Cj4gDQo+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0aGUgbmV3ICJwcm9ncmFtIiBhY3Rpb24gdHlw ZSB0byBlbmFibGUgZmxvdyBBUEkNCj4gc3VwcG9ydCBmb3IgUDQtcHJvZ3JhbW1hYmxlIGRldmlj ZXMuDQo+IA0KPiBJbiB0aGUgY2FzZSBvZiBQNC1wcm9ncmFtbWFibGUgZGV2aWNlcywgdGhlIGRl dmljZSBpcyBpbml0aWFsbHkgYmxhbmsuDQo+IFRoZSBmbG93IGl0ZW1zIGFuZCBhY3Rpb25zIGFy ZSBkZWZpbmVkIGJ5IHRoZSB1c2VyIChvdXRzaWRlIG9mIGFueQ0KPiB2ZW5kb3IgY29udHJvbCkg dGhyb3VnaCB0aGUgUDQgcHJvZ3JhbSwgd2hpY2ggaXMgdHlwaWNhbGx5IGNvbXBpbGVkDQo+IGlu dG8gZmlybXdhcmUgdGhhdCBpcyBsb2FkZWQgb24gdGhlIGRldmljZSBhdCBpbml0IHRpbWUuIFRo ZXNlIGZsb3cNCj4gaXRlbXMgYW5kIGFjdGlvbnMgYXJlIHRoZW4gdXNlZCBkdXJpbmcgdGhlIHJ1 bi10aW1lIHBoYXNlIHRvIGFkZCBmbG93cw0KPiBvbiB0aGUgZGV2aWNlLg0KPiANCj4gU2lnbmVk LW9mZi1ieTogQ3Jpc3RpYW4gRHVtaXRyZXNjdSA8Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5j b20+DQo+IFNpZ25lZC1vZmYtYnk6IFFpIFpoYW5nIDxxaS56LnpoYW5nQGludGVsLmNvbT4NCj4g LS0tDQo+IENoYW5nZSBsb2c6DQo+IA0KPiBWMToNCj4gLUluY29ycG9yYXRlZCB0aGUgZmVlZGJh Y2sgZnJvbSB0aGUgRFBESyBTdW1taXQgMjAyMywgc2luY2VyZSB0aGFua3MNCj4gdG8gdGhlIG1h bnkgY29sbGVhZ3VlcyB3aG8gY29udHJpYnV0ZWQhDQo+IC1CYXNlZCBvbiBPcmkncyBzdWdnZXN0 aW9uLCBkZWNpZGVkIHRvIHJldXNlIHRoZSBleGlzdGluZyAiZmxleCIgZmxvdw0KPiBpdGVtIGlu c3RlYWQgb2YgZGVmaW5pbmcgYSBuZXcgZmxvdyBpdGVtLCBzbyBvbmx5IHRoZSBuZXcgInByb2dy YW0iDQo+IGFjdGlvbiB0eXBlIGlzIHJlcXVpcmVkLg0KPiANCj4gUkZDOg0KPiAtUkZDIGxpbms6 IGh0dHBzOi8vbWFpbHMuZHBkay5vcmcvYXJjaGl2ZXMvZGV2LzIwMjMtQXVndXN0LzI3MzcwMy5o dG1sDQo+IA0KPiAgbGliL2V0aGRldi9ydGVfZmxvdy5oIHwgNTAgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgMSBmaWxlIGNoYW5nZWQsIDUwIGluc2VydGlv bnMoKykNCj4gDQo+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9mbG93LmggYi9saWIvZXRo ZGV2L3J0ZV9mbG93LmgNCj4gaW5kZXggMmViYjc2ZGJjMC4uOWVlZjUwMjdkMCAxMDA2NDQNCj4g LS0tIGEvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cu aA0KPiBAQCAtMjk4MSw2ICsyOTgxLDE1IEBAIGVudW0gcnRlX2Zsb3dfYWN0aW9uX3R5cGUgew0K PiAgCSAqIEBzZWUgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9pbmRpcmVjdF9saXN0DQo+ICAJICov DQo+ICAJUlRFX0ZMT1dfQUNUSU9OX1RZUEVfSU5ESVJFQ1RfTElTVCwNCj4gKw0KPiArCS8qKg0K PiArCSAqIFByb2dyYW0gYWN0aW9uLiBUaGVzZSBhY3Rpb25zIGFyZSBkZWZpbmVkIGJ5IHRoZSBw cm9ncmFtIGN1cnJlbnRseQ0KPiArCSAqIGxvYWRlZCBvbiB0aGUgZGV2aWNlLiBGb3IgZXhhbXBs ZSwgdGhlc2UgYWN0aW9ucyBhcmUgYXBwbGljYWJsZSB0bw0KPiArCSAqIGRldmljZXMgdGhhdCBj YW4gYmUgcHJvZ3JhbW1lZCB0aHJvdWdoIHRoZSBQNCBsYW5ndWFnZS4NCj4gKwkgKg0KPiArCSAq IEBzZWUgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9wcm9nLg0KPiArCSAqLw0KPiArCVJURV9GTE9X X0FDVElPTl9UWVBFX1BST0csDQo+ICB9Ow0KPiANCj4gIC8qKg0KPiBAQCAtNDA1NSw2ICs0MDY0 LDQ3IEBAIHN0cnVjdCBydGVfZmxvd19pbmRpcmVjdF91cGRhdGVfZmxvd19tZXRlcl9tYXJrDQo+ IHsNCj4gIAllbnVtIHJ0ZV9jb2xvciBpbml0X2NvbG9yOw0KPiAgfTsNCj4gDQo+ICsvKioNCj4g KyAqIEB3YXJuaW5nDQo+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgc3RydWN0dXJlIG1heSBj aGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+ICsgKg0KPiArICogUHJvZ3JhbSBhY3Rpb24g YXJndW1lbnQgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLg0KPiArICoNCj4gKyAqIFRoZSBhY3Rp b24gYXJndW1lbnQgZmllbGQgbGVuZ3RoIG11c3QgYmUgbm9uLXplcm8uIFRoZSBhY3Rpb24gYXJn dW1lbnQNCj4gZmllbGQNCg0KV2h5IGNhbid0IGl0IGJlIHplcm8/IEkgY2FuIHNlZSBhY3Rpb25z IHRoYXQgZG9uJ3QgaGF2ZSBhbnkgYXJndW1lbnRzLg0KDQo+ICsgKiB2YWx1ZSBtdXN0IGJlIG5v bi1OVUxMLCB3aXRoIHRoZSB2YWx1ZSBieXRlcyBzcGVjaWZpZWQgaW4gbmV0d29yayBieXRlDQo+ IG9yZGVyLg0KPiArICoNCj4gKyAqIEBzZWUgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9wcm9nDQo+ ICsgKi8NCj4gK3N0cnVjdCBydGVfZmxvd19hY3Rpb25fcHJvZ19hcmd1bWVudCB7DQo+ICsJLyoq IEFyZ3VtZW50IG5hbWUuICovDQo+ICsJY29uc3QgY2hhciAqYXJnX25hbWU7DQoNCk1heWJlIHVp bnQzMiBpZD8NCg0KPiArCS8qKiBBcmd1bWVudCBmaWVsZCBsZW5ndGguICovDQo+ICsJdWludDMy X3QgYXJnX2xlbmd0aDsNCg0Kc2l6ZT8NCg0KPiArCS8qKiBBcmd1bWVudCBmaWVsZCB2YWx1ZS4g Ki8NCj4gKwljb25zdCB1aW50OF90ICphcmdfdmFsdWU7DQoNCmRhdGE/DQoNCkkganVzdCB3aXNo IHRvIG1ha2UgaXQgYWxpZ24gd2l0aCBvdGhlciBuYW1lcyB3ZSBoYXZlIGluIHJ0ZV9mbG93DQpm b3IgZXhhbXBsZSByYXdfZW5jYXANCkluIGFueSBjYXNlIEkgdGhpbmsgd2UgY2FuIGRyb3AgdGhl IGFyZyBwcmVmaXguDQoNCj4gK307DQo+ICsNCj4gKy8qKg0KPiArICogQHdhcm5pbmcNCj4gKyAq IEBiIEVYUEVSSU1FTlRBTDogdGhpcyBzdHJ1Y3R1cmUgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9y IG5vdGljZS4NCj4gKyAqDQo+ICsgKiBSVEVfRkxPV19BQ1RJT05fVFlQRV9QUk9HDQo+ICsgKg0K PiArICogUHJvZ3JhbSBhY3Rpb24gY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLg0KPiArICoNCj4g KyAqIEVhY2ggYWN0aW9uIGNhbiBoYXZlIHplcm8gb3IgbW9yZSBhcmd1bWVudHMuDQo+ICsgKg0K PiArICogQHNlZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9QUk9HDQo+ICsgKi8NCj4gK3N0cnVjdCBy dGVfZmxvd19hY3Rpb25fcHJvZyB7DQo+ICsJLyoqIEFjdGlvbiBuYW1lLiAqLw0KPiArCWNvbnN0 IGNoYXIgKmFjdGlvbl9uYW1lOw0KPiArCS8qKiBOdW1iZXIgb2YgYWN0aW9uIGFyZ3VtZW50cy4g Ki8NCj4gKwl1aW50MzJfdCBhY3Rpb25fYXJnc19udW07DQo+ICsJLyoqIEFjdGlvbiBhcmd1bWVu dHMgYXJyYXkuICovDQo+ICsJY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9wcm9nX2FyZ3Vt ZW50ICphY3Rpb25fYXJnczsNCj4gK307DQo+ICsNCj4gIC8qIE1idWYgZHluYW1pYyBmaWVsZCBv ZmZzZXQgZm9yIG1ldGFkYXRhLiAqLw0KPiAgZXh0ZXJuIGludDMyX3QgcnRlX2Zsb3dfZHluZl9t ZXRhZGF0YV9vZmZzOw0KPiANCj4gLS0NCj4gMi4zNC4xDQoNCkJlc3QsDQpPcmkNCg0K