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 921E8A00BE; Thu, 17 Feb 2022 11:57:26 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2CD134114B; Thu, 17 Feb 2022 11:57:26 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2044.outbound.protection.outlook.com [40.107.237.44]) by mails.dpdk.org (Postfix) with ESMTP id 5F7CE4113F for ; Thu, 17 Feb 2022 11:57:25 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CL07azYGFSv59BJ8JTFVz+Lobv30d+y4Kv5FZbmPYXvS7fvAb+rez9WePo8Ouov6K6haaqTPVHFLh2+3u3Usx7uv4C5mEv4cDRzNDOhaYmbCAtiOEtg6G87TsUxcpNVfAhM4yp3zTMLXERpXw512ih8/QdaLxWR2yQR/HY2KIVS8qnS42SC/YFBdjpdML+KAa/T/B2veIfbZOX3mDQMEM65lyxyormr8PcR7N1PiPZi3XJa8c0RiZXGfilK+xxqwDkpUPjzaq/yawNcyfkcTSgSM2RxJ4srdZmjzt2w5O4T18osaMFlIliiCpNmHWxwa04xPjYb3AW0eiaY0xAkrvQ== 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=FMS21ilCSbcffuTxXRhwUiOJvjSaY4UYYEgZhgrnFjo=; b=dl6OjXCDRVq5okr/ztUEn2Seqkqvpx12GJ91MfkKLPecuo19PvPgVTUxCrWItDWlinbCiau48RSwz4eKkuSvh5mm+V5J/+NecL7jVI1O3LU9vE6wehy6IQYmgMPLG9gmFElgcVuQKvtxVAUpYZkA34cARlMaNK73PlJ7Ech0AZv9enRmQFloDYYM2839IhsS8NnywNx4W5tgGX/SKL0Arxb8YPUBJY+sn2ki6VuzugRjpP0GwvZ1khFXg/KLOYtPy0ARDAYZ08MWHdDGjHngFv5TbyMEpejOJaQ3117Pb7lmvYMOEeIjgrbeP5ihttuuyuw09ECOVAszsnWyD+a4yA== 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=FMS21ilCSbcffuTxXRhwUiOJvjSaY4UYYEgZhgrnFjo=; b=NjNsKmWtiLQJhgyeRxzDArVXH+OcbcMj5X8If/Yz9nYZDM1FW1BdE49MEpUkS9HFkfndoBsreBk3kKk1ScBayZ9e7v+bbU2GF9GGSMF1s7YW4zPypE12hs/9hWQbaxEQ05RgtJzMGzE46+wYtcAg4LGrSkCaZLIYPe991UnpgMnidBcb2UNw6fWhLBmQXpwi2C+2R6lPYOGvqztfKvm5V9B0Yjo4qkD/2bZn0TTYhdMddYSc+xsDr3zvAU+r8LVGRjFh48SM0qvIf3yDBc6MnstaILe8ufupx0QXPxOjw4NoBza2g7mcUVvhOB3pbC6ywzsxFDbp0ZGvKk79n5apSA== Received: from MWHPR12MB1582.namprd12.prod.outlook.com (2603:10b6:301:10::7) by PH7PR12MB5710.namprd12.prod.outlook.com (2603:10b6:510:1e1::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Thu, 17 Feb 2022 10:57:23 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com (52.132.153.150) by MWHPR12MB1582.namprd12.prod.outlook.com (10.172.56.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Thu, 17 Feb 2022 10:57:22 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353%5]) with mapi id 15.20.4975.017; Thu, 17 Feb 2022 10:57:22 +0000 From: Ori Kam To: Andrew Rybchenko , Alexander Kozyrev , "dev@dpdk.org" CC: "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "ivan.malov@oktetlabs.ru" , "ferruh.yigit@intel.com" , "mohammad.abdul.awal@intel.com" , "qi.z.zhang@intel.com" , "jerinj@marvell.com" , "ajit.khaparde@broadcom.com" , "bruce.richardson@intel.com" Subject: RE: [PATCH v5 01/10] ethdev: introduce flow pre-configuration hints Thread-Topic: [PATCH v5 01/10] ethdev: introduce flow pre-configuration hints Thread-Index: AQHYHu7vOtH/nq18EkyJKiW/4kKopqyOIxYAgACOx4CAB3tqgIAAmtQAgADOKACAAAIREA== Date: Thu, 17 Feb 2022 10:57:22 +0000 Message-ID: References: <20220209213809.1208269-1-akozyrev@nvidia.com> <20220211022653.1372318-1-akozyrev@nvidia.com> <20220211022653.1372318-2-akozyrev@nvidia.com> <920abf38-3cb6-cea2-7667-f785becd0751@oktetlabs.ru> <982e92be-5e58-7e63-4bf4-7f095e45fcbd@oktetlabs.ru> <86a1de86-b218-eb8d-c58c-3c0338719f62@oktetlabs.ru> In-Reply-To: <86a1de86-b218-eb8d-c58c-3c0338719f62@oktetlabs.ru> 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: 91492325-0dc0-498d-c546-08d9f2044663 x-ms-traffictypediagnostic: MWHPR12MB1582:EE_|PH7PR12MB5710:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr,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: oDFSDoEyKloA8HglR++KAzzBaBPiLr/NJhJBNz6hiTC6mXSPw6a/JxyIzEDGIyyPguF3UHc+K8CPa2PXcXOy784f8Y30CV0iRo7lHXxAg/nAZ9PjgFOEZckZSCPMa6M+cDc1WoZNnLxOdZCKP+6OmmcgN/5WXfPuZ43pXd7ZAhzo3fDPY3HoBR11TbeCsFRc9qFY1UfuuJ0WRKtrgRlA6NVkjs76a2hi+gSLpqTqMg3yuN0EYOFoqFKWve/PgyUI86v/1SOXMtpEyiNwH6amWiGJbsT6vYPvBBNbj3HtgVZ6cJR1Juwk0lNfm+zmKNSglQ3Yo5pa4gSDiyKNf/soeviTv3j02d/ojANmvb1tadVAWrn3oZNOB1z0XWOdGqnRba9DNeHYZZ/D04C8YzvM43z9fJtJJMnowCc1X2juVlEX/FmxLOYbI0/OwUcjbm+wRjloeK7fiRZ0UXVWv0HU5/pi235Rb8xVkaZ0+f/6vOOqXkYisYvZ9d3eGCTxPxWxciTSJIU1Zn/Xcs5PX0wtCmJGTUkCw5XJ6l9rCiQXVAPOlpPMwUtvUUJ19h8nj2nSZpr3mg1QIKLiWbzGwW3YbNs6UCTDMIDg7ETYarreQF4t0Owfhm/YQiW/Fevm4GtKjYotZhZflmnMLnSpcccz+iBK7fGQEcLSPo3ehafBesY7Kf5JCXfy1Gk8CHyDTnxpb2kIiPzbkv6RmiYhGJfmKg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR12MB1582.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(86362001)(508600001)(122000001)(110136005)(66946007)(66476007)(53546011)(5660300002)(26005)(52536014)(186003)(7416002)(83380400001)(8936002)(316002)(4326008)(38100700002)(33656002)(8676002)(54906003)(64756008)(9686003)(6506007)(71200400001)(38070700005)(76116006)(66556008)(66446008)(2906002)(55016003)(7696005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b3FVMENIQkRtUnNuODhWbjlJSGlOempiM0NxSXBKUTZQTnZiQ0Y2UXhyME9P?= =?utf-8?B?cHVabmZmWlhnOVl5cG5reWljS2RENFhiT3dUMzN4YWZmZXJOZVh3RlRyZzIr?= =?utf-8?B?bHgwSnNGTzZUbTFXbG5wRlNIWGcvNkdmMng3aDl3clYzSG9HUUphVk9jeHgy?= =?utf-8?B?RTFHajlhNlIyUXNGWC9OelRYT3NHLytsVDNEVUYxeUJGb1U1Z0hNNzNEMHEx?= =?utf-8?B?bzJWTVJsRHBVd1VEM25lcFJoTFdGUmNONVd5b0hUay9wRVF0YmdNRmxEaS81?= =?utf-8?B?dnE4RHVCUzVnNmtMaDI3emRocHRNNlhFZy91SFBTY3E5aFNzTTgwemw0Z3F4?= =?utf-8?B?NGl0KzE1N2tkUVQvMzI5VGorb09qemVTTDFYTC9ydjRDdHNJZ2hPSEppMTJB?= =?utf-8?B?eWREYTg2R0pKWllDZ3psVGFra3pZMC9yaksyMi9XYnd5NTg2UVoyYnVwQVhS?= =?utf-8?B?MGtHNXN3R3k3eU1aODJ3ZDRIU2s0UU92K1NMMGU4NnYrUXVRcklDaXFFKzhC?= =?utf-8?B?N3VUaXdaT3VkMWh1cGgrYWtYTmdlWFNDS292Mm9sUDlPalhqSzkxeEN0TmZK?= =?utf-8?B?NUFhdDF4bG5XdHlRdExGNDU5SFI2SEpZc0Z2c0E2d29qbHNpT3krSzV4dnJ3?= =?utf-8?B?WEFJYzhpZXNvWnlSUWVKNmxqOXg0eTIrK1BpZW92aFQxazJWQTJ2SkhTTHZ5?= =?utf-8?B?dmRyS3FTZkxjMWJpZmpEYXI0UWxQQjg5K1g2d1dkRjlPNFZ4OTRpSmdkMXhJ?= =?utf-8?B?dENWM21obUZoSm1QSDJJbWNBZUtNbUpKWlFreTJaZkdQaEs1cDdJbGFGQUJp?= =?utf-8?B?OHc0VFVxdzNrWjdQaFpSWWZNbXZVQWp5REFFL09iTzRrMENhUFhmMGVaRWpV?= =?utf-8?B?U09GL3lNSm00MTU5ME5sZ3VXYUp3aERRdWx3RWhXOTJJdnptL2hlTFZDMzY1?= =?utf-8?B?bTdhT0dNTGtSaVhCOE5RWDJ0c1ZMRk9TM3FzRnEzOXlqREY1ZXF0c0R1UXVY?= =?utf-8?B?d3o3VTluR290bjlsdFRHNlZmTFFxRlQrZDdVY0gwdGlJeVRRZmVoNHpuK05N?= =?utf-8?B?bHVDT2RQMkc2QUpyUjZPUW1lQjMvcGJ2RElsbWl5NEZ4dXAzZWp4MGZNWWlW?= =?utf-8?B?VkZGeFZlVndxUERCN3c0VE4vV1lrRmhoeGJxMDI0TWsyZDZmWmhiWWNaSC92?= =?utf-8?B?WjQvb1dMLzlMQ3lzNjR4M0x2NHE5ZWN6UlVSTmVvejY3SzlzdG55QStJVzVm?= =?utf-8?B?bWNwaG9xTlV6SkZhenkvYTV1SG1abmVmbEFKd1FxUFkvdWM0RFhSdmFQN2hN?= =?utf-8?B?TURjajhOelRtYVEvS1Z4ZFpRMG1zRm82K1AwOEQzN0RmTlphUVBWeGxDTXlY?= =?utf-8?B?bDVzb0VieEo2ZlVxem9UWjJSS3VZZWJtWkF1bTlieEVZbVBSQWpucXRFSklX?= =?utf-8?B?dVBUVWV3OGI3ZURrUzZOYjdwWkZiZzZEVzJZYnppVmNKc0x5dkFKV1BsL3Zy?= =?utf-8?B?V3Zua1dKdVlhdlgyWmtWSkVoZldKcUFYd1Y3WFJzSmVEN0hxQUVYRjRMdW5V?= =?utf-8?B?dEZEZC9hNkJMK0d6OHdEMkJ5VFM0am9ITkkzNEFER0ZGcjVqaDBwL0dFU2g1?= =?utf-8?B?WmlXZFRzYzdDTUVGcTdvd0FkcXF2MWhIbzVlR01sRXNaZnBPOFFMYmtXczIw?= =?utf-8?B?UjVtcXpTWXgyK0R4ekx2M2hOWDcwZytMYURBM0VCS0NuSXNjczMxc2JwcW5X?= =?utf-8?B?UkFhb1JUb2lHY1JRUzJlR1k0UXNDUExhSTZuZ0dBLzZ5QXU4NHVsb1liQkk5?= =?utf-8?B?MGtKdDZOTjk1dSs3aWlJZVZlY3VlakE4N1hBWmJlYWljK2tEbHpwZXFRTlBX?= =?utf-8?B?NWF1SHBVVkVFOVJ1RFQyZFpoOXlLdFlvRU9IYUJGZ1Z6blZVbVI2c2p4TENk?= =?utf-8?B?ZXRud2NRaE41bVBodWQva2FkQWFVTmw2bDB1anFSSmEwazV4NDZ4T01IeHRO?= =?utf-8?B?akw5OHk2L3ozYmE5L0UrYlgvZkFyaXZ2a2NLeDhiZmhGQWJtSFBtTDN2WXhV?= =?utf-8?B?YWhRL0I4UE43N3FWNWc0RCtQaVhUQk9ibGhHYVdESGZZUDBBakhKMm8zTGZy?= =?utf-8?B?SDhqd3dXMjBFZVhDMTY4VnhTeGFwREFnbGxLdlRwTDRnQVVEYjJDRjVlNlRw?= =?utf-8?B?bnc9PQ==?= 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: 91492325-0dc0-498d-c546-08d9f2044663 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2022 10:57:22.3276 (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: xTxkGS466wsUo9LIFn+ZIZyX69+bUv0TCMXKFZCkTVv0DD8m65ffI0BKmSfkhY82c6vjcNQUchR2nqCnIOhENQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5710 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 SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBUaHVy c2RheSwgRmVicnVhcnkgMTcsIDIwMjIgMTI6MzUgUE0NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2 NSAwMS8xMF0gZXRoZGV2OiBpbnRyb2R1Y2UgZmxvdyBwcmUtY29uZmlndXJhdGlvbiBoaW50cw0K PiANCj4gT24gMi8xNy8yMiAwMToxNywgQWxleGFuZGVyIEtvenlyZXYgd3JvdGU6DQo+ID4gT24g V2VkLCBGZWIgMTYsIDIwMjIgODowMyBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtv QG9rdGV0bGFicy5ydT46DQo+ID4+IE9uIDIvMTEvMjIgMjE6NDcsIEFsZXhhbmRlciBLb3p5cmV2 IHdyb3RlOg0KPiA+Pj4gT24gRnJpZGF5LCBGZWJydWFyeSAxMSwgMjAyMiA1OjE3IEFuZHJldyBS eWJjaGVua28NCj4gPj4gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1PiB3cm90ZToNCj4g Pj4+PiBTZW50OiBGcmlkYXksIEZlYnJ1YXJ5IDExLCAyMDIyIDU6MTcNCj4gPj4+PiBUbzogQWxl eGFuZGVyIEtvenlyZXYgPGFrb3p5cmV2QG52aWRpYS5jb20+OyBkZXZAZHBkay5vcmcNCj4gPj4+ PiBDYzogT3JpIEthbSA8b3Jpa2FAbnZpZGlhLmNvbT47IE5CVS1Db250YWN0LVRob21hcyBNb25q YWxvbg0KPiA+PiAoRVhURVJOQUwpDQo+ID4+Pj4gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBpdmFu Lm1hbG92QG9rdGV0bGFicy5ydTsNCj4gPj4gZmVycnVoLnlpZ2l0QGludGVsLmNvbTsNCj4gPj4+ PiBtb2hhbW1hZC5hYmR1bC5hd2FsQGludGVsLmNvbTsgcWkuei56aGFuZ0BpbnRlbC5jb207DQo+ ID4+IGplcmluakBtYXJ2ZWxsLmNvbTsNCj4gPj4+PiBhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNv bTsgYnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20NCj4gPj4+PiBTdWJqZWN0OiBSZTogW1BBVENI IHY1IDAxLzEwXSBldGhkZXY6IGludHJvZHVjZSBmbG93IHByZS1jb25maWd1cmF0aW9uDQo+ID4+ IGhpbnRzDQo+ID4+Pj4NCj4gPj4+PiBPbiAyLzExLzIyIDA1OjI2LCBBbGV4YW5kZXIgS296eXJl diB3cm90ZToNCj4gPj4+Pj4gVGhlIGZsb3cgcnVsZXMgY3JlYXRpb24vZGVzdHJ1Y3Rpb24gYXQg YSBsYXJnZSBzY2FsZSBpbmN1cnMgYSBwZXJmb3JtYW5jZQ0KPiA+Pj4+PiBwZW5hbHR5IGFuZCBt YXkgbmVnYXRpdmVseSBpbXBhY3QgdGhlIHBhY2tldCBwcm9jZXNzaW5nIHdoZW4gdXNlZA0KPiA+ Pj4+PiBhcyBwYXJ0IG9mIHRoZSBkYXRhcGF0aCBsb2dpYy4gVGhpcyBpcyBtYWlubHkgYmVjYXVz ZSBzb2Z0d2FyZS9oYXJkd2FyZQ0KPiA+Pj4+PiByZXNvdXJjZXMgYXJlIGFsbG9jYXRlZCBhbmQg cHJlcGFyZWQgZHVyaW5nIHRoZSBmbG93IHJ1bGUgY3JlYXRpb24uDQo+ID4+Pj4+DQo+ID4+Pj4+ IEluIG9yZGVyIHRvIG9wdGltaXplIHRoZSBpbnNlcnRpb24gcmF0ZSwgUE1EIG1heSB1c2Ugc29t ZSBoaW50cw0KPiA+PiBwcm92aWRlZA0KPiA+Pj4+PiBieSB0aGUgYXBwbGljYXRpb24gYXQgdGhl IGluaXRpYWxpemF0aW9uIHBoYXNlLiBUaGUgcnRlX2Zsb3dfY29uZmlndXJlKCkNCj4gPj4+Pj4g ZnVuY3Rpb24gYWxsb3dzIHRvIHByZS1hbGxvY2F0ZSBhbGwgdGhlIG5lZWRlZCByZXNvdXJjZXMg YmVmb3JlaGFuZC4NCj4gPj4+Pj4gVGhlc2UgcmVzb3VyY2VzIGNhbiBiZSB1c2VkIGF0IGEgbGF0 ZXIgc3RhZ2Ugd2l0aG91dCBjb3N0bHkgYWxsb2NhdGlvbnMuDQo+ID4+Pj4+IEV2ZXJ5IFBNRCBt YXkgdXNlIG9ubHkgdGhlIHN1YnNldCBvZiBoaW50cyBhbmQgaWdub3JlIHVudXNlZCBvbmVzIG9y DQo+ID4+Pj4+IGZhaWwgaW4gY2FzZSB0aGUgcmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24gaXMgbm90 IHN1cHBvcnRlZC4NCj4gPj4+Pj4NCj4gPj4+Pj4gVGhlIHJ0ZV9mbG93X2luZm9fZ2V0KCkgaXMg YXZhaWxhYmxlIHRvIHJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiBhYm91dA0KPiA+Pj4+PiBzdXBw b3J0ZWQgcHJlLWNvbmZpZ3VyYWJsZSByZXNvdXJjZXMuIEJvdGggdGhlc2UgZnVuY3Rpb25zIG11 c3QgYmUNCj4gPj4gY2FsbGVkDQo+ID4+Pj4+IGJlZm9yZSBhbnkgb3RoZXIgdXNhZ2Ugb2YgdGhl IGZsb3cgQVBJIGVuZ2luZS4NCj4gPj4+Pj4NCj4gPj4+Pj4gU2lnbmVkLW9mZi1ieTogQWxleGFu ZGVyIEtvenlyZXYgPGFrb3p5cmV2QG52aWRpYS5jb20+DQo+ID4+Pj4+IEFja2VkLWJ5OiBPcmkg S2FtIDxvcmlrYUBudmlkaWEuY29tPg0KPiA+Pg0KPiA+PiBbc25pcF0NCj4gPj4NCj4gPj4+Pj4g ZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuYyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cu Yw0KPiA+Pj4+PiBpbmRleCBhOTNmNjhhYmJjLi42NjYxNGFlMjliIDEwMDY0NA0KPiA+Pj4+PiAt LS0gYS9saWIvZXRoZGV2L3J0ZV9mbG93LmMNCj4gPj4+Pj4gKysrIGIvbGliL2V0aGRldi9ydGVf Zmxvdy5jDQo+ID4+Pj4+IEBAIC0xMzkxLDMgKzEzOTEsNDMgQEAgcnRlX2Zsb3dfZmxleF9pdGVt X3JlbGVhc2UodWludDE2X3QgcG9ydF9pZCwNCj4gPj4+Pj4gICAgIAlyZXQgPSBvcHMtPmZsZXhf aXRlbV9yZWxlYXNlKGRldiwgaGFuZGxlLCBlcnJvcik7DQo+ID4+Pj4+ICAgICAJcmV0dXJuIGZs b3dfZXJyKHBvcnRfaWQsIHJldCwgZXJyb3IpOw0KPiA+Pj4+PiAgICAgfQ0KPiA+Pj4+PiArDQo+ ID4+Pj4+ICtpbnQNCj4gPj4+Pj4gK3J0ZV9mbG93X2luZm9fZ2V0KHVpbnQxNl90IHBvcnRfaWQs DQo+ID4+Pj4+ICsJCSAgc3RydWN0IHJ0ZV9mbG93X3BvcnRfaW5mbyAqcG9ydF9pbmZvLA0KPiA+ Pj4+PiArCQkgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpDQo+ID4+Pj4+ICt7DQo+ID4+ Pj4+ICsJc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYgPSAmcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRd Ow0KPiA+Pj4+PiArCWNvbnN0IHN0cnVjdCBydGVfZmxvd19vcHMgKm9wcyA9IHJ0ZV9mbG93X29w c19nZXQocG9ydF9pZCwgZXJyb3IpOw0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsJaWYgKHVubGlrZWx5 KCFvcHMpKQ0KPiA+Pj4+PiArCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPj4+Pj4gKwlpZiAobGlr ZWx5KCEhb3BzLT5pbmZvX2dldCkpIHsNCj4gPj4+Pg0KPiA+Pj4+IGV4cGVjdGVkIGV0aGRldiBz dGF0ZSBtdXN0IGJlIHZhbGlkYXRlZC4gSnVzdCBjb25maWd1cmVkPw0KPiA+Pj4+DQo+ID4+Pj4+ ICsJCXJldHVybiBmbG93X2Vycihwb3J0X2lkLA0KPiA+Pj4+PiArCQkJCW9wcy0+aW5mb19nZXQo ZGV2LCBwb3J0X2luZm8sIGVycm9yKSwNCj4gPj4+Pg0KPiA+Pj4+IHBvcnRfaW5mbyBtdXN0IGJl IGNoZWNrZWQgdnMgTlVMTA0KPiA+Pj4NCj4gPj4+IFdlIGRvbuKAmXQgaGF2ZSBhbnkgTlVMTCBj aGVja3MgZm9yIHBhcmFtZXRlcnMgaW4gdGhlIHdob2xlIHJldCBmbG93IEFQSQ0KPiA+PiBsaWJy YXJ5Lg0KPiA+Pj4gU2VlIHJ0ZV9mbG93X2NyZWF0ZSgpIGZvciBleGFtcGxlLiBhdHRyaWJ1dGVz LCBwYXR0ZXJuIGFuZCBhY3Rpb25zIGFyZQ0KPiA+PiBwYXNzZWQgdG8gUE1EIHVuY2hlY2tlZC4N Cj4gPj4NCj4gPj4gSU1ITyBpdCBpcyBoYXJkbHkgYSBnb29kIHJlYXNvbiB0byBoYXZlIG5vIHN1 Y2ggY2hlY2sgaGVyZS4NCj4gPj4gVGhlIEFQSSBpcyBwdXJlIGNvbnRyb2wgcGF0aC4gU28sIGl0 IG11c3QgdmFsaWRhdGUgYWxsIGlucHV0DQo+ID4+IGFyZ3VtZW50cyBhbmQgaXQgaXMgYmV0dGVy IHRvIGRvIGl0IGluIGEgZ2VuZXJpYyBwbGFjZS4NCj4gPg0KPiA+IEFncmVlLCBJIGhhdmUgbm8g b2JqZWN0aW9ucyB0byBpbnRyb2R1Y2UgdGhlc2UgdmFsaWRhdGlvbiBjaGVja3Mgb24gY29udHJv bCBwYXRoLg0KPiANCj4gR29vZCwgd2UgaGF2ZSBhIHByb2dyZXNzLg0KPiANCj4gPiBNeSBvbmx5 IGNvbmNlcm4gaXMgdGhlIGRhdGEtcGF0aCBwZXJmb3JtYW5jZSwgc28gSSdtIHJlbHVjdGFudCB0 byBhZGQgdGhlbSB0bw0KPiA+IHJ0ZV9mbG93X3FfY3JlYXRlL2Rlc3Ryb3kgZnVuY3Rpb25zLiBC dXQgbGV0J3MgYWRkIE5VTEwgY2hlY2tzIHRvIGNvbmZpZ3VyYXRpb24NCj4gPiByb3V0aW5lcywg b2s/DQo+IA0KPiBNeSBvcGluaW9uIGlzIG5vdCB0aGF0IHN0cm9uZyBvbiB0aGUgYXNwZWN0LCBi dXQsIHBlcnNvbmFsbHksDQo+IEknZCBoYXZlIHNhbml0eSBjaGVja3MgaW4gdGhlIGNhc2Ugb2Yg ZmxvdyBjcmVhdGUvZGVzdHJveSBhcw0KPiB3ZWxsLiBGaXJzdCBvZiBhbGwgaXQgaXMgbm90IGEg dHJ1ZSBkYXRhcGF0aC4gU2Vjb25kLCB0aGVzZQ0KPiBjaGVja3MgYXJlIHZlcnkgbGlnaHR3ZWln aHQuDQo+IA0KPiBBbnl3YXksIGlmIG5vYm9keSBzdXBwb3J0cyBtZSwgSSdtIE9LIHRvIGdvIHdp dGhvdXQgdGhlc2UNCj4gY2hlY2tzIGluIGdlbmVyaWMgZnVuY3Rpb25zLCBidXQgaXQgd291bGQg YmUgdmVyeSB1c2VmdWwgdG8NCj4gaGlnaGxpZ2h0IGl0IGluIHRoZSBwYXJhbWV0ZXJzIGRlc2Ny aXB0aW9uLg0KPiANCkkgdm90ZSBmb3IgYWRkaW5nIHRoZSBjaGVja3Mgb25seSBvbiBjb25maWd1 cmF0aW9uIGZ1bmN0aW9uLg0KRnJvbSBteSBwb2ludCBvZiB2aWV3IHRoZSBydWxlIGZ1bmN0aW9u cyBhcmUgcGFydCBvZiB0aGUgZGF0YSBwYXRoDQphbmQgc2hvdWxkIGJlIHRyZWF0ZWQgdGhpcyB3 YXkuDQoNCj4gPj4+Pj4gKwkJCQllcnJvcik7DQo+ID4+Pj4+ICsJfQ0KPiA+Pj4+PiArCXJldHVy biBydGVfZmxvd19lcnJvcl9zZXQoZXJyb3IsIEVOT1RTVVAsDQo+ID4+Pj4+ICsJCQkJICBSVEVf RkxPV19FUlJPUl9UWVBFX1VOU1BFQ0lGSUVELA0KPiA+Pj4+PiArCQkJCSAgTlVMTCwgcnRlX3N0 cmVycm9yKEVOT1RTVVApKTsNCj4gPj4+Pj4gK30NCj4gPj4+Pj4gKw0KPiA+Pj4+PiAraW50DQo+ ID4+Pj4+ICtydGVfZmxvd19jb25maWd1cmUodWludDE2X3QgcG9ydF9pZCwNCj4gPj4+Pj4gKwkJ ICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X3BvcnRfYXR0ciAqcG9ydF9hdHRyLA0KPiA+Pj4+PiAr CQkgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKQ0KPiA+Pj4+PiArew0KPiA+Pj4+PiAr CXN0cnVjdCBydGVfZXRoX2RldiAqZGV2ID0gJnJ0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXTsNCj4g Pj4+Pj4gKwljb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfb3BzICpvcHMgPSBydGVfZmxvd19vcHNfZ2V0 KHBvcnRfaWQsIGVycm9yKTsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArCWlmICh1bmxpa2VseSghb3Bz KSkNCj4gPj4+Pj4gKwkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4+Pj4+ICsJaWYgKGxpa2VseSgh IW9wcy0+Y29uZmlndXJlKSkgew0KPiA+Pj4+DQo+ID4+Pj4gVGhlIEFQSSBtdXN0IHZhbGlkYXRl IGV0aGRldiBzdGF0ZS4gY29uZmlndXJlZCBhbmQgbm90IHN0YXJ0ZWQ/DQo+ID4+PiBBZ2Fpbiwg d2UgaGF2ZSBubyBzdWNoIHZhbGlkYXRpb24gZm9yIGFueSBydGUgZmxvdyBBUEkgdG9kYXkuDQo+ ID4+DQo+ID4+IFNhbWUgaGVyZS4gSWYgZG9jdW1lbnRhdGlvbiBkZWZpbmVzIGluIHdoaWNoIHN0 YXRlIHRoZSBBUEkNCj4gPj4gc2hvdWxkIGJlIGNhbGxlZCwgZ2VuZXJpYyBjb2RlIG11c3QgZ3Vh cmFudGVlIGl0Lg0KPiA+DQo+ID4gT2ssIGFzIGxvbmcgYXMgaXQgc3RheXMgaW4gdGhlIGNvbmZp Z3VyYXRpb24gcGhhc2Ugb25seS4NCj4gPg0KPiA+Pj4+DQo+ID4+Pj4+ICsJCXJldHVybiBmbG93 X2Vycihwb3J0X2lkLA0KPiA+Pj4+PiArCQkJCW9wcy0+Y29uZmlndXJlKGRldiwgcG9ydF9hdHRy LCBlcnJvciksDQo+ID4+Pj4NCj4gPj4+PiBwb3J0X2F0dHIgbXVzdCBiZSBjaGVja2VkIHZzIE5V TEwNCj4gPj4+IFNhbWUuDQo+ID4+Pg0KPiA+Pj4+PiArCQkJCWVycm9yKTsNCj4gPj4+Pj4gKwl9 DQo+ID4+Pj4+ICsJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRU5PVFNVUCwNCj4g Pj4+Pj4gKwkJCQkgIFJURV9GTE9XX0VSUk9SX1RZUEVfVU5TUEVDSUZJRUQsDQo+ID4+Pj4+ICsJ CQkJICBOVUxMLCBydGVfc3RyZXJyb3IoRU5PVFNVUCkpOw0KPiA+Pj4+PiArfQ0KPiA+Pj4+PiBk aWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZmxvdy5oIGIvbGliL2V0aGRldi9ydGVfZmxvdy5o DQo+ID4+Pj4+IGluZGV4IDEwMzFmYjI0NmIuLjkyYmUyYTlhODkgMTAwNjQ0DQo+ID4+Pj4+IC0t LSBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+Pj4+PiArKysgYi9saWIvZXRoZGV2L3J0ZV9m bG93LmgNCj4gPj4+Pj4gQEAgLTQ4NTMsNiArNDg1MywxMTQgQEAgcnRlX2Zsb3dfZmxleF9pdGVt X3JlbGVhc2UodWludDE2X3QNCj4gPj4gcG9ydF9pZCwNCj4gPj4+Pj4gICAgIAkJCSAgIGNvbnN0 IHN0cnVjdCBydGVfZmxvd19pdGVtX2ZsZXhfaGFuZGxlICpoYW5kbGUsDQo+ID4+Pj4+ICAgICAJ CQkgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4gPj4+Pj4NCj4gPj4+Pj4gKy8q Kg0KPiA+Pj4+PiArICogQHdhcm5pbmcNCj4gPj4+Pj4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhp cyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gPj4+Pj4gKyAqDQo+ID4+ Pj4+ICsgKiBJbmZvcm1hdGlvbiBhYm91dCBhdmFpbGFibGUgcHJlLWNvbmZpZ3VyYWJsZSByZXNv dXJjZXMuDQo+ID4+Pj4+ICsgKiBUaGUgemVybyB2YWx1ZSBtZWFucyBhIHJlc291cmNlIGNhbm5v dCBiZSBwcmUtYWxsb2NhdGVkLg0KPiA+Pj4+PiArICoNCj4gPj4+Pj4gKyAqLw0KPiA+Pj4+PiAr c3RydWN0IHJ0ZV9mbG93X3BvcnRfaW5mbyB7DQo+ID4+Pj4+ICsJLyoqDQo+ID4+Pj4+ICsJICog TnVtYmVyIG9mIHByZS1jb25maWd1cmFibGUgY291bnRlciBhY3Rpb25zLg0KPiA+Pj4+PiArCSAq IEBzZWUgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09VTlQNCj4gPj4+Pj4gKwkgKi8NCj4gPj4+Pj4g Kwl1aW50MzJfdCBuYl9jb3VudGVyczsNCj4gPj4+Pg0KPiA+Pj4+IE5hbWUgc2F5cyB0aGF0IGl0 IGlzIGEgbnVtYmVyIG9mIGNvdW50ZXJzLCBidXQgZGVzY3JpcHRpb24NCj4gPj4+PiBzYXlzIHRo YXQgaXQgaXMgYWJvdXQgYWN0aW9ucy4NCj4gPj4+PiBBbHNvIEkgZG9uJ3QgdW5kZXJzdGFuZCB3 aGF0IGRvZXMgInByZS1jb25maWd1cmFibGUiIG1lYW4uDQo+ID4+Pj4gSXNuJ3QgaXQgYSBtYXhp bXVtIG51bWJlciBvZiBhdmFpbGFibGUgY291bnRlcnM/DQo+ID4+Pj4gSWYgbm8sIGhvdyBjYW4g SSBmaW5kIGEgbWF4aW11bT8NCj4gPj4+IEl0IGlzIG51bWJlciBvZiBwcmUtYWxsb2NhdGVkIGFu ZCBwcmUtY29uZmlndXJlZCBhY3Rpb25zLg0KPiA+Pj4gSG93IGFyZSB0aGV5IHByLWNvbmZpZ3Vy ZWQgaXMgdXAgdG8gUERNIGRyaXZlci4NCj4gPj4+IEJ1dCBsZXQncyBjaGFuZ2UgdG8gInByZS1j b25maWd1cmVkIiBldmVyeXdoZXJlLg0KPiA+Pj4gQ29uZmlndXJhdGlvbiBpbmNsdWRlcyBzb21l IG1lbW9yeSBhbGxvY2F0aW9uIGFueXdheS4NCj4gPj4NCj4gPj4gU29ycnksIGJ1dCBJIHN0aWxs IGRvbid0IHVuZGVyc3RhbmQuIEkgZ3Vlc3MgSFcgaGFzDQo+ID4+IGEgaGFyZCBsaW1pdCBvbiBh IG51bWJlciBvZiBjb3VudGVycy4gSG93IGNhbiBJIGdldA0KPiA+PiB0aGUgaW5mb3JtYXRpb24/ DQo+ID4NCj4gPiBTb3JyeSBmb3Igbm90IGJlaW5nIGNsZWFyLiBUaGVzZSBhcmUgcmVzb3VyY2Vz L29iamVjdHMgbGltaXRhdGlvbi4NCj4gPiBJdCBtYXkgYmUgdGhlIGhhcmQgSFcgbGltaXQgb24g bnVtYmVyIG9mIGNvdW50ZXIgb2JqZWN0cywgZm9yIGV4YW1wbGUuDQo+ID4gT3IgdGhlIHN5c3Rl bSBoYXMgYSBsaXR0bGUgb2YgbWVtb3J5IGFuZCBOSUMgaXMgY29uc3RyYWluZWQgaW4gbWVtb3J5 DQo+ID4gaW4gaXRzIGF0dGVtcHQgdG8gY3JlYXRlIHRoZXNlIGNvdW50ZXIgb2JqZWN0cyBhcyBh bm90aGVyIGV4YW1wbGUuDQo+ID4gSW4gYW55IGNhc2UsIHRoZSBpbmZvX2dldCgpIEFQSSBzaG91 bGQgcmV0dXJuIHRoZSBsaW1pdCB0byBhIHVzZXIuDQo+IA0KPiBMb29rLiBGaXJzdCBvZiBhbGwg aXQgaXMgY29uZnVzaW5nIHRoYXQgZGVzY3JpcHRpb24gc2F5cw0KPiAiY291bnRlciBhY3Rpb25z Ii4gSSByZW1lbWJlciB0aGF0IHdlIGhhdmUgbm8gc2hhcmVkDQo+IGNvdW50ZXJzIG5vdyAoanVz dCBzaGFyZWQgYWN0aW9ucyksIGJ1dCBpdCBkb2VzIG5vdCBtYXR0ZXINCj4gYSBsb3QuIElNSE8g aXQgaXMgYSBiaXQgbW9yZSBjbGVhciB0byBzYXkgdGhhdCBpdCBpcw0KPiBhIGxpbWl0IG9uIGEg bnVtYmVyIG9mIGZsb3cgY291bnRlcnMuIEkgZ3Vlc3MgaXQgYmV0dGVyDQo+IGV4cHJlc3MgdGhl IG5hdHVyZSBvZiB0aGUgbGltaXRhdGlvbi4gTWF5IGJlIEknbSBtaXNzaW5nDQo+IHNvbWV0aGlu Zy4gSWYgc28sIEknZCBsaWtlIHRvIHVuZGVyc3RhbmQgd2hhdC4NCj4gDQpGcm9tIG15IHZpZXcg cG9pbnQsIHRoaXMgc2hvdWxkIGJlIHRoZSBudW1iZXIgb2YgcmVzb3VyY2Uvb2JqZWN0cyB0aGF0 DQp0aGUgSFcgY2FuIGFsbG9jYXRlIChpbiBhbiBpZGVhbCBzeXN0ZW0pLg0KRm9yIGV4YW1wbGUg aWYgdGhlIEhXIGNhbiBhbGxvY2F0ZSAxTSBjb3VudGVycyBidXQgZHVlIHRvIGxpbWl0ZWQgbWVt b3J5DQpvbiB0aGUgc3lzdGVtIHRoZSBhY3R1YWwgbnVtYmVyIGNhbiBiZSBsZXNzLg0KDQpMaWtl IHlvdSBzYWlkIHdlIGFsc28gaGF2ZSB0aGUgaGFuZGxlIGFjdGlvbiwgdGhpcyBtZWFucyB0aGF0 DQp0aGUgc2FtZSBvYmplY3QgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGFueSBudW1iZXIgb2YgcnVs ZXMuDQphcyBhIHJlc3VsdCB0aGUgbGltaXRhdGlvbiBpcyBub3Qgb24gdGhlIG51bWJlciBvZiBy dWxlcyBidXQgb24gdGhlIG51bWJlciBvZg0KcmVzb3VyY2VzIGFsbG9jYXRlZC4NCg0KSW4gYWRk aXRpb24gYW5kIGV2ZW4gbW9yZSBpbXBvcnRhbnRseSBkdXJpbmcgdGhpcyBzdGFnZSB0aGVyZSBp cyBubyBrbm93bGdlIG9uIHRoZQ0KbnVtYmVyIG9mIHJ1bGVzIHRoYXQgd2lsbCBiZSBpbnNlcnRl ZC4NCg0KU28gY2FuIHdlIGFncmVlIHRvIHNheSByZXNvdXJjZXM/DQoNCg0KDQoNCj4gU2Vjb25k LCAicGVyLWNvbmZpZ3VyYWJsZSIgaXMgY29uZnVzaW5nLiBNYXkgYmUgaXQgaXMgYmV0dGVyDQo+ IGp1c3QgdG8gZHJvcCBpdD8gSS5lLiAiSW5mb3JtYXRpb24gYWJvdXQgYXZhaWxhYmxlIHJlc291 cmNlcy4iDQo+IE90aGVyd2lzZSBpdCBpcyBuZWNlc3NhcnkgdG8gZXhwbGFpbiB3aG8gYW5kIHdo ZW4NCj4gcHJlLWNvbmZpZ3VyZXMgdGhlc2UgcmVzb3VyY2VzLiBJcyBpdCByZWFsbHkgcHJlLWNv bmZpZ3VyZWQ/DQo+IA0KSSdtIE8uSyB3aXRoIGRyb3BwaW5nIHRoZSBjb25maWd1cmF0aW9uIHBh cnQNCkl0IHNob3VsZCBqdXN0IHNheSBudW1iZXIgb2YgY291bnRlciBvYmplY3RzDQoNCj4gIlRo ZSB6ZXJvIHZhbHVlIG1lYW5zIGEgcmVzb3VyY2UgY2Fubm90IGJlIHByZS1hbGxvY2F0ZWQuIg0K PiBEb2VzIGl0IG1lYW4gdGhhdCB0aGUgYWN0aW9uIGNhbm5vdCBiZSB1c2VkIGF0IGFsbD8NCj4g SSB0aGluayBpdCBtdXN0IGJlIGV4cGxpY2l0bHkgY2xhcmlmaWVkIGluIHRoZSBjYXNlIG9mIGFu eQ0KPiBhbnN3ZXIuDQoNCkFncmVlLCBpdCBzaG91bGQgc3RhdGUgdGhhdCBpZiB0aGUgUE1EIHJl cG9ydCAwIGluIG1lYW5zIHRoYXQNCml0IGRvZXNu4oCZdCBzdXBwb3J0IHN1Y2ggYW4gb2JqZWN0 Lg0KDQpCZXN0LA0KT3JpDQo=