From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id CFF48A04B7; Wed, 14 Oct 2020 13:48:05 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0F29C1DD6B; Wed, 14 Oct 2020 13:48:04 +0200 (CEST) Received: from nat-hk.nvidia.com (nat-hk.nvidia.com [203.18.50.4]) by dpdk.org (Postfix) with ESMTP id 8FE5C1DD4A for ; Wed, 14 Oct 2020 13:48:02 +0200 (CEST) Received: from HKMAIL104.nvidia.com (Not Verified[10.18.92.9]) by nat-hk.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Wed, 14 Oct 2020 19:48:00 +0800 Received: from HKMAIL101.nvidia.com (10.18.16.10) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 14 Oct 2020 11:47:45 +0000 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.105) by HKMAIL101.nvidia.com (10.18.16.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Wed, 14 Oct 2020 11:47:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bttfm7FzsrlcrDPCqfzJQu3j/BzPzms56LMcbebT9Q1DH4JdxRfaDiOcABOUG3DTAmpg5PJQeVzAgdStXvkjUY6EujzKpEI41jmvF1APCpAEPlU5ta/whIVw6lnHzis2DN5B7eikhXyhQAceTxzU1BZeu5z0jTQer+Mn3mCcu8wVT3Qpg22cclfwE6VZFPDY5kCnh3KVRPaw2qERswrY1+ai9V57WTOZDgiOnVhNwhC69jkm6eiKsLEyZAD/Bw33BZmRdqc5ueMfodmutl+69s10/OUJIOT2kDNw3UBVyc/OVcAdpYut48Gy3eQL0IH69Uo8sY8eiRDWFTkp/MCSFw== 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-SenderADCheck; bh=/oYzwTs0b1GYyYUxFwVa5OkMNkmt366CqfwJ1F48AXU=; b=TuwiaRcANmLJicLFRrWVLXBsRjwpg0PuSyMJJs93FD46IInTsnxufYbfcxaVt2GyB0tsGjnwIjNXuAhNUFDVKjSmjmw8KAihDoOgWsh6bh+SAOgFL7zoM+4Fc0qtrJUsRCkDyjuMhVphDJNoQYVm8ZSNpw7HtDNTDETz9o+q6aPwLuW8pDQk0I0WIcZGqlc/nFaYDZvG9yYDwieUoP6XFlcm7/m92kV600E3qTNNBkMMNU3YFvTLLE7GstIzLBSocJKazFL9WYnkSmwzBXEJ9oRW3+KrFREXxh+jnkGDItOPUP+lI0g710l6TgmGE2Y1cN1HvBbD0xVlj5Axy2oF4g== 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 Received: from MWHPR1201MB2525.namprd12.prod.outlook.com (2603:10b6:300:e0::19) by MWHPR1201MB0062.namprd12.prod.outlook.com (2603:10b6:301:54::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.21; Wed, 14 Oct 2020 11:47:41 +0000 Received: from MWHPR1201MB2525.namprd12.prod.outlook.com ([fe80::3ccb:ec09:9346:54b1]) by MWHPR1201MB2525.namprd12.prod.outlook.com ([fe80::3ccb:ec09:9346:54b1%7]) with mapi id 15.20.3477.021; Wed, 14 Oct 2020 11:47:41 +0000 From: Andrey Vesnovaty To: Ajit Khaparde CC: dpdk-dev , "jer@marvell.com" , Jerin Jacob , NBU-Contact-Thomas Monjalon , Ferruh Yigit , Stephen Hemminger , Bruce Richardson , Ori Kam , Slava Ovsiienko , "andrey.vesnovaty@gmail.com" , Ray Kinsella , Neil Horman , Samik Gupta , Andrew Rybchenko Thread-Topic: [PATCH v7 1/2] ethdev: add flow shared action API Thread-Index: AQHWncK9iUSSK7wphkeqKRCEMS+/V6mXA00g Date: Wed, 14 Oct 2020 11:47:41 +0000 Message-ID: References: <20200702120511.16315-1-andreyv@mellanox.com> <20201008115143.13208-1-andreyv@nvidia.com> <20201008115143.13208-2-andreyv@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: broadcom.com; dkim=none (message not signed) header.d=none;broadcom.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [87.71.167.32] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f629af30-ee2f-468f-7d7d-08d87036f500 x-ms-traffictypediagnostic: MWHPR1201MB0062: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:514; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: b61Db93IaXkm9Jm9PCrJkxoF+U829UaQXbcV7BPPf27qzklFvfKQlFamIA/AzWMBFNH40WIKOdJGJOcUo9SwaAWhVabA9Mfb65sTIP5+YCsgfoHyat+eaE33/OCjyKeSo5D/Iki4/8uOZD6Ptilo+CEFMyTXSUENfK4kBhFoEnzmbUk/gMxyl7pMZFv8bNvw2ey8tuk3xzlj2tg3xfgevzXNjxg5+xOw8yV3RPf1a5YgasvOfiBtlQ8bdiSHqKN64asg39OKnd0hVytUgyWgZBew67Mh5AHaEHsXnIp7NV8aA7JciT/lG1NF/iL6G6soJ1FaHG6buhR27meJ/FwCvQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR1201MB2525.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(136003)(396003)(366004)(39860400002)(7416002)(6916009)(52536014)(9686003)(76116006)(54906003)(64756008)(66556008)(66476007)(66446008)(8676002)(8936002)(66946007)(2906002)(316002)(83380400001)(86362001)(26005)(55016002)(71200400001)(53546011)(6506007)(478600001)(5660300002)(7696005)(186003)(4326008)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: TQALNvlFTR4u9q6i6Pju/+7gwpb7wzAmDnGyODpU/3dw/i6quKPklQIaKjyqOeem+33MkoMuPO4cIXff56wwI2cXVFfG3jCkjDkeo92PyjS5Zt5Yb+I8j5xq3BsPBXukCWNdyzjnBpzjPGW1qw0Nz56wLoQNMbe3Wn2gM2IZF80KdF2wfDcqogH3CfS48od16kUvKe6lp/To9Hs496ldevNIZtq2sXRLu9L9eSjMHuOkUR94W/BaZijr6oWiW2XerHlBbigrfPU7KFFAYNkTCZMLUO5jTRdfjOGY3MV7Rj/MHYXrSxNAA208dmtLrLdb6DCJe7gHm7mStJGP3Twh545UmBVr1JI4RHfcNtAHoFuQaNsxq5DMnkGpcsXGjqxnBAHko0yBuGaOseZjrFvUa6/9/qdQsWzkeyMJqNPgpYTj3TUFg93CiSzzNMKh7ZFn7pj46p/KyYwNpd+rYV/czcugEuYgh0IbQl3BNZnfYFaJPSqQmwbkkLKCKpfFSCJZjoCt/mxTY8LW5fJJaC1cBuovGor6PLg5okIp6H2ugLLn+TFFu/qcFzFL4U3vzzRlc69bLG1JvCdW3+WmD3h9J3bl/T5un0Ak/HJUUSWRbjN5oTvEG0xERBNzeG4IsPIetPURPrmHKKPSrN3MPSK7dg== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR1201MB2525.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f629af30-ee2f-468f-7d7d-08d87036f500 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Oct 2020 11:47:41.2190 (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: FjH8SGaihkVk0GYkXkfGMvWiTyvDAFAfBDAjYod3vO0YypfaebLKEeg7h6tWDbLBMLzIi3n3tRTuOfCxuFXpFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1201MB0062 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1602676080; bh=/oYzwTs0b1GYyYUxFwVa5OkMNkmt366CqfwJ1F48AXU=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=mWmOoKDk1nco2vsySyZUpZua3jlaTTJ5rYMLpnB4v4sZ6smUCIRz+sVofT85T9bqY LsTWNg6thON4MxO4JFxKEkx59hvn7J4dx0z6cuOGQ1eFmsa/rlAMGZjsvar7vcyJKx SsUscTtftXqozbMReUt8GMGHP6qj1Sl3MwTBnz5GfjlAdoDt+f0jEjlqOCfXxWS0bC U4HPC3UQ6JneUI7RioJm/F4xyA9NLXq3Yg2pUOsBMR80luZx/2F3qkaG3cFvrFWGey PXb9gL1+Mf2M47SobCrBZerfHFxtGIz8F/FxBVD+M2TErZupY4Qnc9i/MNZnDkpNOt sDO1SpCYD9XuA== Subject: Re: [dpdk-dev] [PATCH v7 1/2] ethdev: add flow shared action API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgQWppdA0KDQpBbGwgeW91ciBzdWdnZXN0aW9ucyBhcHBsaWVkIGluIHY4IHNlcmllcy4NCkJX IFRob21hcyAmIEFuZHJldyBwb2ludGVkIHRvIHRlc3RwbWQgZXhhbXBsZSBpbiBSVEUgZmxvdyBB UEkuDQoNClRoYW5rcywNCkFuZHJleQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ IEZyb206IEFqaXQgS2hhcGFyZGUgPGFqaXQua2hhcGFyZGVAYnJvYWRjb20uY29tPg0KPiBTZW50 OiBGcmlkYXksIE9jdG9iZXIgOSwgMjAyMCAxOjMxIEFNDQo+IFRvOiBBbmRyZXkgVmVzbm92YXR5 IDxhbmRyZXl2QG52aWRpYS5jb20+DQo+IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgamVy QG1hcnZlbGwuY29tOyBKZXJpbiBKYWNvYg0KPiA8amVyaW5qYWNvYmtAZ21haWwuY29tPjsgTkJV LUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uDQo+IDx0aG9tYXNAbW9uamFsb24ubmV0PjsgRmVycnVo IFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgU3RlcGhlbg0KPiBIZW1taW5nZXIgPHN0 ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPjsgQnJ1Y2UgUmljaGFyZHNvbg0KPiA8YnJ1Y2Uucmlj aGFyZHNvbkBpbnRlbC5jb20+OyBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPjsgU2xhdmEgT3Zz aWllbmtvDQo+IDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgYW5kcmV5LnZlc25vdmF0eUBnbWFp bC5jb207IFJheSBLaW5zZWxsYQ0KPiA8bWRyQGFzaHJvZS5ldT47IE5laWwgSG9ybWFuIDxuaG9y bWFuQHR1eGRyaXZlci5jb20+OyBTYW1payBHdXB0YQ0KPiA8c2FtaWsuZ3VwdGFAYnJvYWRjb20u Y29tPjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4g U3ViamVjdDogUmU6IFtQQVRDSCB2NyAxLzJdIGV0aGRldjogYWRkIGZsb3cgc2hhcmVkIGFjdGlv biBBUEkNCj4gDQo+IE9uIFRodSwgT2N0IDgsIDIwMjAgYXQgNDo1MSBBTSBBbmRyZXkgVmVzbm92 YXR5IDxhbmRyZXl2QG52aWRpYS5jb20+DQo+IHdyb3RlOg0KPiA+DQo+ID4gVGhpcyBjb21taXQg aW50cm9kdWNlcyBleHRlbnNpb24gb2YgRFBESyBmbG93IGFjdGlvbiBBUEkgZW5hYmxpbmcNCj4g PiBzaGFyaW5nIG9mIHNpbmdsZSBydGVfZmxvd19hY3Rpb24gaW4gbXVsdGlwbGUgZmxvd3MuIFRo ZSBBUEkgaW50ZW5kZWQgZm9yDQo+ID4gUE1Ecywgd2hlcmUgbXVsdGlwbGUgSFcgb2ZmbG9hZGVk IGZsb3dzIGNhbiByZXVzZSB0aGUgc2FtZSBIVw0KPiA+IGVzc2VuY2Uvb2JqZWN0IHJlcHJlc2Vu dGluZyBmbG93IGFjdGlvbiBhbmQgbW9kaWZpY2F0aW9uIG9mIHN1Y2ggYW4NCj4gPiBlc3NlbmNl L29iamVjdCBhZmZlY3RzIGFsbCB0aGUgcnVsZXMgdXNpbmcgaXQuDQo+ID4NCj4gPiBNb3RpdmF0 aW9uIGFuZCBleGFtcGxlDQo+ID4gPT09DQo+ID4gQWRkaW5nIG9yIHJlbW92aW5nIG9uZSBvciBt b3JlIHF1ZXVlcyB0byBSU1MgdXNlZCBieSBtdWx0aXBsZSBmbG93IHJ1bGVzDQo+ID4gaW1wb3Nl cyBwZXIgcnVsZSB0b2xsIGZvciBjdXJyZW50IERQREsgZmxvdyBBUEk7IHRoZSBzY2VuYXJpbyBy ZXF1aXJlcw0KPiA+IGZvciBlYWNoIGZsb3cgc2hhcmluZyBjbG9uZWQgUlNTIGFjdGlvbjoNCj4g PiAtIGNhbGwgYHJ0ZV9mbG93X2Rlc3Ryb3koKWANCj4gPiAtIGNhbGwgYHJ0ZV9mbG93X2NyZWF0 ZSgpYCB3aXRoIG1vZGlmaWVkIFJTUyBhY3Rpb24NCj4gPg0KPiA+IEFQSSBmb3Igc2hhcmluZyBh Y3Rpb24gYW5kIGl0cyBpbi1wbGFjZSB1cGRhdGUgYmVuZWZpdHM6DQo+ID4gLSByZWR1Y2UgdGhl IG92ZXJoZWFkIG9mIG11bHRpcGxlIFJTUyBmbG93IHJ1bGVzIHJlY29uZmlndXJhdGlvbg0KPiA+ IC0gb3B0aW1pemUgcmVzb3VyY2UgdXRpbGl6YXRpb24gYnkgc2hhcmluZyBhY3Rpb24gYWNyb3Nz IG11bHRpcGxlDQo+ID4gICBmbG93cw0KPiA+DQo+ID4gQ2hhbmdlIGRlc2NyaXB0aW9uDQo+ID4g PT09DQo+ID4NCj4gPiBTaGFyZWQgYWN0aW9uDQo+ID4gPT09DQo+ID4gSW4gb3JkZXIgdG8gcmVw cmVzZW50IGZsb3cgYWN0aW9uIHNoYXJlZCBieSBtdWx0aXBsZSBmbG93cyBuZXcgYWN0aW9uDQo+ ID4gdHlwZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TSEFSRUQgaXMgaW50cm9kdWNlZCAoc2VlIGBl bnVtDQo+ID4gcnRlX2Zsb3dfYWN0aW9uX3R5cGVgKS4NCj4gPiBBY3R1YWxseSB0aGUgaW50cm9k dWNlZCBBUEkgZGVjb3VwbGVzIGFjdGlvbiBmcm9tIGFueSBzcGVjaWZpYyBmbG93IGFuZA0KPiA+ IGVuYWJsZXMgc2hhcmluZyBvZiBzaW5nbGUgYWN0aW9uIGJ5IGl0cyBoYW5kbGUgYWNyb3NzIG11 bHRpcGxlIGZsb3dzLg0KPiA+DQo+ID4gU2hhcmVkIGFjdGlvbiBjcmVhdGUvdXNlL2Rlc3Ryb3kN Cj4gPiA9PT0NCj4gPiBTaGFyZWQgYWN0aW9uIG1heSBiZSByZXVzZWQgYnkgc29tZSBvciBub25l IGZsb3cgcnVsZXMgYXQgYW55IGdpdmVuDQo+ID4gbW9tZW50LCBpLmUuIHNoYXJlZCBhY3Rpb24g cmVzaWRlcyBvdXRzaWRlIG9mIHRoZSBjb250ZXh0IG9mIGFueSBmbG93Lg0KPiA+IFNoYXJlZCBh Y3Rpb24gcmVwcmVzZW50IEhXIHJlc291cmNlcy9vYmplY3RzIHVzZWQgZm9yIGFjdGlvbiBvZmZs b2FkaW5nDQo+ID4gaW1wbGVtZW50YXRpb24uDQo+ID4gQVBJIGZvciBzaGFyZWQgYWN0aW9uIGNy ZWF0ZSAoc2VlIGBydGVfZmxvd19zaGFyZWRfYWN0aW9uX2NyZWF0ZSgpYCk6DQo+ID4gLSBzaG91 bGQgYWxsb2NhdGUgSFcgcmVzb3VyY2VzIGFuZCBtYWtlIHJlbGF0ZWQgaW5pdGlhbGl6YXRpb25z IHJlcXVpcmVkDQo+ID4gICBmb3Igc2hhcmVkIGFjdGlvbiBpbXBsZW1lbnRhdGlvbi4NCj4gPiAt IG1ha2UgbmVjZXNzYXJ5IHByZXBhcmF0aW9ucyB0byBtYWludGFpbiBzaGFyZWQgYWNjZXNzIHRv DQo+ID4gICB0aGUgYWN0aW9uIHJlc291cmNlcywgY29uZmlndXJhdGlvbiBhbmQgc3RhdGUuDQo+ ID4gQVBJIGZvciBzaGFyZWQgYWN0aW9uIGRlc3Ryb3kgKHNlZSBgcnRlX2Zsb3dfc2hhcmVkX2Fj dGlvbl9kZXN0cm95KClgKQ0KPiA+IHNob3VsZCByZWxlYXNlIEhXIHJlc291cmNlcyBhbmQgbWFr ZSByZWxhdGVkIGNsZWFudXBzIHJlcXVpcmVkIGZvciBzaGFyZWQNCj4gPiBhY3Rpb24gaW1wbGVt ZW50YXRpb24uDQo+ID4NCj4gPiBJbiBvcmRlciB0byBzaGFyZSBzb21lIGZsb3cgYWN0aW9uIHJl dXNlIHRoZSBoYW5kbGUgb2YgdHlwZQ0KPiA+IGBzdHJ1Y3QgcnRlX2Zsb3dfc2hhcmVkX2FjdGlv bmAgcmV0dXJuZWQgYnkNCj4gPiBydGVfZmxvd19zaGFyZWRfYWN0aW9uX2NyZWF0ZSgpIGFzIGEg YGNvbmZgIGZpZWxkIG9mDQo+ID4gYHN0cnVjdCBydGVfZmxvd19hY3Rpb25gIChzZWUgImV4YW1w bGUiIHNlY3Rpb24pLg0KPiA+DQo+ID4gSWYgc29tZSBzaGFyZWQgYWN0aW9uIG5vdCB1c2VkIGJ5 IGFueSBmbG93IHJ1bGUgYWxsIHJlc291cmNlcyBhbGxvY2F0ZWQNCj4gPiBieSB0aGUgc2hhcmVk IGFjdGlvbiBjYW4gYmUgcmVsZWFzZWQgYnkgcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9kZXN0cm95 KCkNCj4gPiAoc2VlICJleGFtcGxlIiBzZWN0aW9uKS4gVGhlIHNoYXJlZCBhY3Rpb24gaGFuZGxl IHBhc3NlZCBhcyBhcmd1bWVudCB0bw0KPiA+IGRlc3Ryb3kgQVBJIHNob3VsZCBub3QgYmUgdXNl ZCBhbnkgZnVydGhlciBpLmUuIHJlc3VsdCBvZiB0aGUgdXNhZ2UgaXMNCj4gPiB1bmRlZmluZWQu DQo+ID4NCj4gPiBTaGFyZWQgYWN0aW9uIHJlLWNvbmZpZ3VyYXRpb24NCj4gPiA9PT0NCj4gPiBT aGFyZWQgYWN0aW9uIGJlaGF2aW9yIGRlZmluZWQgYnkgaXRzIGNvbmZpZ3VyYXRpb24gY2FuIGJl IHVwZGF0ZWQgdmlhDQo+ID4gcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl91cGRhdGUoKSAoc2VlICJl eGFtcGxlIiBzZWN0aW9uKS4gVGhlIHNoYXJlZA0KPiA+IGFjdGlvbiB1cGRhdGUgb3BlcmF0aW9u IG1vZGlmaWVzIEhXIHJlbGF0ZWQgcmVzb3VyY2VzL29iamVjdHMgYWxsb2NhdGVkDQo+ID4gb24g dGhlIGFjdGlvbiBjcmVhdGlvbi4gVGhlIG51bWJlciBvZiBvcGVyYXRpb25zIHBlcmZvcm1lZCBi eSB0aGUgdXBkYXRlDQo+ID4gb3BlcmF0aW9uIHNob3VsZCBub3QgZGVwZW5kIG9uIHRoZSBudW1i ZXIgb2YgZmxvd3Mgc2hhcmluZyB0aGUgcmVsYXRlZA0KPiA+IGFjdGlvbi4gT24gcmV0dXJuIG9m IHNoYXJlZCBhY3Rpb24gdXBkYXRlIEFQSSBhY3Rpb24gYmVoYXZpb3Igc2hvdWxkIGJlDQo+ID4g YWNjb3JkaW5nIHRvIHVwZGF0ZWQgY29uZmlndXJhdGlvbiBmb3IgYWxsIGZsb3dzIHNoYXJpbmcg dGhlIGFjdGlvbi4NCj4gPg0KPiA+IFNoYXJlZCBhY3Rpb24gcXVlcnkNCj4gPiA9PT0NCj4gPiBQ cm92aWRlIHNlcGFyYXRlIEFQSSB0byBxdWVyeSBzaGFyZWQgYWN0aW9uIHN0YXRlIChzZWUNCj4g PiBydGVfZmxvd19zaGFyZWRfYWN0aW9uX3VwZGF0ZSgpKS4gVGFraW5nIGEgY291bnRlciBhcyBh biBleGFtcGxlOiBxdWVyeQ0KPiA+IHJldHVybnMgdmFsdWUgYWdncmVnYXRpbmcgYWxsIGNvdW50 ZXIgaW5jcmVtZW50cyBhY3Jvc3MgYWxsIGZsb3cgcnVsZXMNCj4gPiBzaGFyaW5nIHRoZSBjb3Vu dGVyLiBUaGlzIEFQSSBkb2Vzbid0IHF1ZXJ5IHNoYXJlZCBhY3Rpb24gY29uZmlndXJhdGlvbg0K PiA+IHNpbmNlIGl0IGlzIGNvbnRyb2xsZWQgYnkgcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9jcmVh dGUoKSBhbmQNCj4gPiBydGVfZmxvd19zaGFyZWRfYWN0aW9uX3VwZGF0ZSgpIEFQSXMgYW5kIG5v IHN1cHBvc2VkIHRvIGNoYW5nZSBieSBvdGhlcg0KPiA+IG1lYW5zLg0KPiA+DQo+ID4gUE1EIHN1 cHBvcnQNCj4gPiA9PT0NCj4gPiBUaGUgc3VwcG9ydCBvZiBpbnRyb2R1Y2VkIEFQSSBpcyBwdXJl IFBNRCBzcGVjaWZpYyBkZXNpZ24gYW5kDQo+ID4gcmVzcG9uc2liaWxpdHkgZm9yIGVhY2ggYWN0 aW9uIHR5cGUgKHNlZSBzdHJ1Y3QgcnRlX2Zsb3dfb3BzKS4NCj4gPg0KPiA+IHRlc3RwbWQNCj4g PiA9PT0NCj4gPiBJbiBvcmRlciB0byB1dGlsaXplIGludHJvZHVjZWQgQVBJIHRlc3RwbWQgY2xp IG1heSBpbXBsZW1lbnQgZm9sbG93aW5nDQo+ID4gZXh0ZW5zaW9uDQo+ID4gY3JlYXRlL3VwZGF0 ZS9kZXN0cm95L3F1ZXJ5IHNoYXJlZCBhY3Rpb24gYWNjb3JkaW5nbHkNCj4gPg0KPiA+IGZsb3cg c2hhcmVkX2FjdGlvbiAocG9ydCkgY3JlYXRlIHthY3Rpb25faWQgKGlkKX0gKGFjdGlvbikgLyBl bmQNCj4gPiBmbG93IHNoYXJlZF9hY3Rpb24gKHBvcnQpIHVwZGF0ZSAoaWQpIChhY3Rpb24pIC8g ZW5kDQo+ID4gZmxvdyBzaGFyZWRfYWN0aW9uIChwb3J0KSBkZXN0cm95IGFjdGlvbl9pZCAoaWQp IHthY3Rpb25faWQgKGlkKSBbLi4uXX0NCj4gPiBmbG93IHNoYXJlZF9hY3Rpb24gKHBvcnQpIHF1 ZXJ5IChpZCkNCj4gPg0KPiA+IHRlc3RwbWQgZXhhbXBsZQ0KPiA+ID09PQ0KPiA+DQo+ID4gY29u ZmlndXJlIHJzcyB0byBxdWV1ZXMgMSAmIDINCj4gPg0KPiA+ID4gZmxvdyBzaGFyZWRfYWN0aW9u IDAgY3JlYXRlIGFjdGlvbl9pZCAxMDAgcnNzIHF1ZXVlcyAxIDIgZW5kIC8gZW5kDQo+ID4NCj4g PiBjcmVhdGUgZmxvdyBydWxlIHV0aWxpemluZyBzaGFyZWQgYWN0aW9uDQo+ID4NCj4gPiA+IGZs b3cgY3JlYXRlIDAgaW5ncmVzcyBcDQo+ID4gICAgIHBhdHRlcm4gZXRoIGRzdCBpcyAwYzo0Mjph MToxNTpmZDphYyAvIGlwdjYgLyB0Y3AgLyBlbmQgXA0KPiA+ICAgYWN0aW9ucyBzaGFyZWQgMTAw IC8gZW5kDQo+ID4NCj4gPiBhZGQgMiBtb3JlIHF1ZXVlcw0KPiA+DQo+ID4gPiBmbG93IHNoYXJl ZF9hY3Rpb24gMCBtb2RpZnkgMTAwIHJzcyBxdWV1ZXMgMSAyIDMgNCBlbmQgLyBlbmQNCj4gPg0K PiA+IGV4YW1wbGUNCj4gPiA9PT0NCj4gPg0KPiA+IHN0cnVjdCBydGVfZmxvd19hY3Rpb24gYWN0 aW9uc1syXTsNCj4gPiBzdHJ1Y3QgcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9jb25mIGNvbmY7DQo+ ID4gc3RydWN0IHJ0ZV9mbG93X2FjdGlvbiBhY3Rpb247DQo+ID4gLyogc2tpcHBlZDogaW5pdGlh bGl6ZSBjb25mIGFuZCBhY3Rpb24gKi8NCj4gPiBzdHJ1Y3QgcnRlX2Zsb3dfc2hhcmVkX2FjdGlv biAqaGFuZGxlID0NCj4gPiAgICAgICAgIHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb25fY3JlYXRlKHBv cnRfaWQsICZjb25mLCAmYWN0aW9uLCAmZXJyb3IpOw0KPiA+IGFjdGlvbnNbMF0udHlwZSA9IFJU RV9GTE9XX0FDVElPTl9UWVBFX1NIQVJFRDsNCj4gPiBhY3Rpb25zWzBdLmNvbmYgPSBoYW5kbGU7 DQo+ID4gYWN0aW9uc1sxXS50eXBlID0gUlRFX0ZMT1dfQUNUSU9OX1RZUEVfRU5EOw0KPiA+IC8q IHNraXBwZWQ6IGluaXQgYXR0cjAgJiBwYXR0ZXJuMCBhcmdzICovDQo+ID4gc3RydWN0IHJ0ZV9m bG93ICpmbG93MCA9IHJ0ZV9mbG93X2NyZWF0ZShwb3J0X2lkLCAmYXR0cjAsIHBhdHRlcm4wLA0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLCBlcnJv cik7DQo+ID4gLyogY3JlYXRlIG1vcmUgcnVsZXMgcmV1c2luZyBzaGFyZWQgYWN0aW9uICovDQo+ ID4gc3RydWN0IHJ0ZV9mbG93ICpmbG93MSA9IHJ0ZV9mbG93X2NyZWF0ZShwb3J0X2lkLCAmYXR0 cjEsIHBhdHRlcm4xLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBhY3Rpb25zLCBlcnJvcik7DQo+ID4gLyogc2tpcHBlZDogZm9yIGZsb3dzIDIgdGlsbCBOICov DQo+ID4gc3RydWN0IHJ0ZV9mbG93ICpmbG93TiA9IHJ0ZV9mbG93X2NyZWF0ZShwb3J0X2lkLCAm YXR0ck4sIHBhdHRlcm5OLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBhY3Rpb25zLCBlcnJvcik7DQo+ID4gLyogdXBkYXRlIHNoYXJlZCBhY3Rpb24gKi8NCj4g PiBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uIHVwZGF0ZWRfYWN0aW9uOw0KPiA+IC8qDQo+ID4gICog c2tpcHBlZDogaW5pdGlhbGl6ZSB1cGRhdGVkX2FjdGlvbiBhY2NvcmRpbmcgdG8gZGVzaXJlZCBh Y3Rpb24NCj4gPiAgKiBjb25maWd1cmF0aW9uIGNoYW5nZQ0KPiA+ICAqLw0KPiA+IHJ0ZV9mbG93 X3NoYXJlZF9hY3Rpb25fdXBkYXRlKHBvcnRfaWQsIGhhbmRsZSwgJnVwZGF0ZWRfYWN0aW9uLCBl cnJvcik7DQo+ID4gLyoNCj4gPiAgKiBmcm9tIG5vdyBvbiBhbGwgZmxvd3MgMSB0aWxsIE4gd2ls bCBhY3QgYWNjb3JkaW5nIHRvIGNvbmZpZ3VyYXRpb24gb2YNCj4gPiAgKiB1cGRhdGVkX2FjdGlv bg0KPiA+ICAqLw0KPiA+IC8qIHNraXBwZWQ6IGRlc3Ryb3kgYWxsIGZsb3dzIDEgdGlsbCBOICov DQo+ID4gcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9kZXN0cm95KHBvcnRfaWQsIGhhbmRsZSwgZXJy b3IpOw0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogQW5kcmV5IFZlc25vdmF0eSA8YW5kcmV5dkBu dmlkaWEuY29tPg0KPiA+IEFja2VkLWJ5OiBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPg0KPiBT aW5jZSB0aGlzIGlzIGFuIGV0aGRldiBwYXRjaCwgdGhlIHRlc3RwbWQgZGVzY3JpcHRpb24gaXMg cmVhbGx5IG5vdCByZXF1aXJlZC4NCj4gTW9yZW92ZXIgdGhleSBhcmUgbm90IGluIHN5bmMgd2l0 aCB0aGUgZGlyZWN0aW9uIGFuZCBvdGhlciBjaGFuZ2VzIHlvdSBtYWRlDQo+IGluIHRoZSB0ZXN0 cG1kIHBhdGNoLiBBbHNvIHRoZXJlIGlzIGEgdHlwbyBpbmxpbmUuIE90aGVyIHRoYW4gdGhhdC4u DQo+IA0KPiBBY2tlZC1ieTogQWppdCBLaGFwYXJkZSA8YWppdC5raGFwYXJkZUBicm9hZGNvbS5j b20+DQo+IA0KPiA+IC0tLQ0KPiA+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0 ICAgICAgIHwgIDE5ICsrKw0KPiA+ICBkb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIwXzEx LnJzdCAgIHwgICA5ICsrDQo+ID4gIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXZfdmVyc2lv bi5tYXAgfCAgIDQgKw0KPiA+ICBsaWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5jICAgICAgICAg ICAgIHwgIDg0ICsrKysrKysrKysrDQo+ID4gIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93Lmgg ICAgICAgICAgICAgfCAxNjkgKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPiAgbGliL2xpYnJ0 ZV9ldGhkZXYvcnRlX2Zsb3dfZHJpdmVyLmggICAgICB8ICAyMyArKysNCj4gPiAgNiBmaWxlcyBj aGFuZ2VkLCAzMDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+DQo+IFtzbmlwXQ0K PiANCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBSVEVfRkxPV19BQ1RJT05fVFlQRV9TSEFSRUQN Cj4gPiArICoNCj4gPiArICogT3BhcXVlIHR5cGUgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5 IGNyZWF0aW5nIGEgc2hhcmVkIGFjdGlvbi4NCj4gPiArICoNCj4gPiArICogVGhpcyBoYW5kbGUg Y2FuIGJlIHVzZWQgdG8gbWFuYWdlIGFuZCBxdWVyeSB0aGUgcmVsYXRlZCBhY3Rpb246DQo+ID4g KyAqIC0gc2hhcmUgaXQgYWNyb3NzIG11bHRpcGxlIGZsb3cgcnVsZXMNCj4gPiArICogLSB1cGRh dGUgYWN0aW9uIGNvbmZpZ3VyYXRpb24NCj4gPiArICogLSBxdWVyeSBhY3Rpb24gZGF0YQ0KPiA+ ICsgKiAtIGRlc3Ryb3kgYWN0aW9uDQo+ID4gKyAqLw0KPiA+ICtzdHJ1Y3QgcnRlX2Zsb3dfc2hh cmVkX2FjdGlvbjsNCj4gPiArDQo+ID4gIC8qIE1idWYgZHluYW1pYyBmaWVsZCBvZmZzZXQgZm9y IG1ldGFkYXRhLiAqLw0KPiA+ICBleHRlcm4gaW50MzJfdCBydGVfZmxvd19keW5mX21ldGFkYXRh X29mZnM7DQo+ID4NCj4gPiBAQCAtMzM1Nyw2ICszMzgwLDE1MCBAQCBpbnQNCj4gPiAgcnRlX2Zs b3dfZ2V0X2FnZWRfZmxvd3ModWludDE2X3QgcG9ydF9pZCwgdm9pZCAqKmNvbnRleHRzLA0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG5iX2NvbnRleHRzLCBzdHJ1Y3QgcnRl X2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4gPg0KPiA+ICsvKioNCj4gPiArICogU3BlY2lmeSBzaGFy ZWQgYWN0aW9uIGNvbmZpZ3VyYXRpb24NCj4gPiArICovDQo+ID4gK3N0cnVjdCBydGVfZmxvd19z aGFyZWRfYWN0aW9uX2NvbmYgew0KPiA+ICsgICAgICAgLyoqDQo+ID4gKyAgICAgICAgKiBGbG93 IGRpcmVjdGlvbiBmb3Igc2hhcmVkIGFjdGlvbiBjb25maWd1cmF0aW9uLg0KPiA+ICsgICAgICAg ICoNCj4gPiArICAgICAgICAqIFNocmVkIGFjdGlvbiBzaG91bGQgYmUgdmFsaWQgYXQgbGVhc3Qg Zm9yIG9uZSBmbG93IGRpcmVjdGlvbiwNCj4gcy9TaHJlZC9TaGFyZWQNCj4gDQo+ID4gKyAgICAg ICAgKiBvdGhlcndpc2UgaXQgaXMgaW52YWxpZCBmb3IgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3Mg cnVsZXMuDQo+ID4gKyAgICAgICAgKi8NCj4gPiArICAgICAgIHVpbnQzMl90IGluZ3Jlc3M6MTsN Cj4gPiArICAgICAgIC8qKjwgQWN0aW9uIHZhbGlkIGZvciBydWxlcyBhcHBsaWVkIHRvIGluZ3Jl c3MgdHJhZmZpYy4gKi8NCj4gPiArICAgICAgIHVpbnQzMl90IGVncmVzczoxOw0KPiA+ICsgICAg ICAgLyoqPCBBY3Rpb24gdmFsaWQgZm9yIHJ1bGVzIGFwcGxpZWQgdG8gZWdyZXNzIHRyYWZmaWMu ICovDQo+ID4gK307DQo+IFtzbmlwXQ0K