From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id 57186C38142 for ; Tue, 24 Jan 2023 09:26:33 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 945AF40150; Tue, 24 Jan 2023 10:26:32 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2078.outbound.protection.outlook.com [40.107.94.78]) by mails.dpdk.org (Postfix) with ESMTP id CCB25400EF for ; Tue, 24 Jan 2023 10:26:30 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IE+Cs/MzYCpBh8Xgq3sVZzBzOe4xKAazm1kz1dy4ZZkTd1cD7pqGkVxN0wPLYo99WwRDHTBHPWmWteBSgGKlR2QG9sqxVnHj1XRsuoS7MtxK+qKXjdOuVP7gHMQ42Gk+1zYMsykUQJEu+xOLo/QCjmDjubbsX1drjVCeGJGvi3la3XJQz0n6LlaIXRgTwkb2diT+z3B4BHMXmUunbuQc2X3Zl2wsWdRhPaC/95ZeKyF6kmxXPadMM7g8Emoa3HYKwBfnHybZrLRqaX24ChIwudU9X3uqPpfA+dX4YIl9N2zXSFSAHIyqIaM7UphRi4cxybZbHpisMJ+FE6cpxJLtUg== 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=KOv9IrsB8wKJRcfaO/HlEs/Yv3TZhjXzVOHcC3wcWcQ=; b=L4ZMUkEvqfzqwrSIehVlCBAWQd+k26SZDvwCjaHDxsYifIh+4dnekJ3C/OYrtUAhoKKXvdhOMoQDgO/CNIbjACP/oHZQuVIbPPNlhtbjctkHxDNXKF8oYFZ0zNirRhtZv6Ys9HhbKH/4qe9Ly2FnKTceiv2NMbgCrDBS4/U3wrKw8ZIVtSTCnvKTX3kbYc3gYtNn5rBtDpV7eJOrE30g+96zFYS2MSu7mUCRhpp9ApcSIFhRTkGfBabrepwQMag23Q90cclznzCqDXXpU0L3q8Br75ZqVVUFg3kFuGVIp27B3qttSKXcxbW78j43qLYhOTk6GvX+LJji0Wc8KXpxKA== 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=KOv9IrsB8wKJRcfaO/HlEs/Yv3TZhjXzVOHcC3wcWcQ=; b=ocCuQhMp3C2VTrBCdhX/djQaotwag2kXnQupqtScGZbyhreik9whQHVad7kVaQa4ByTs/dWJxVzL/yuZsVc2Yl4z8jGLLc4TFE07RocUFJKixBRNHEcI5sZ9ButldTwjVO1a2GV/4BypoSz4zLe8qbEXa4bH2pAZV3MCRkXxr/JxlHGSbPiarl39bZeGRp54S86jd19CAHP137SvfT5gBxztInqJCK7kMG5T3/8ImE8SGIUycFZzx9sm9mId3oYxxHVEQg/W47jtS0+0Yu8Zm9SpoKfgNasEQfbxZGSfNjD44pxKvc0Dy21+HVnH51JQm6N+L/Klz7gg0mLm+Wuq4A== Received: from IA1PR12MB6332.namprd12.prod.outlook.com (2603:10b6:208:3e2::13) by MN0PR12MB5979.namprd12.prod.outlook.com (2603:10b6:208:37e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Tue, 24 Jan 2023 09:26:28 +0000 Received: from IA1PR12MB6332.namprd12.prod.outlook.com ([fe80::be18:9845:3676:784e]) by IA1PR12MB6332.namprd12.prod.outlook.com ([fe80::be18:9845:3676:784e%9]) with mapi id 15.20.6002.033; Tue, 24 Jan 2023 09:26:28 +0000 From: Gregory Etelson To: Andrew Rybchenko , "dev@dpdk.org" CC: Matan Azrad , Raslan Darawsheh , Ori Kam , Aman Singh , Yuying Zhang , Ferruh Yigit , "NBU-Contact-Thomas Monjalon (EXTERNAL)" Subject: RE: [PATCH v6 2/2] ethdev: add quota flow action and item Thread-Topic: [PATCH v6 2/2] ethdev: add quota flow action and item Thread-Index: AQHZLCXAA8HJGv6EoESqa5orNmboE66nALcAgAZRRIA= Date: Tue, 24 Jan 2023 09:26:27 +0000 Message-ID: References: <20221221073547.988-1-getelson@nvidia.com> <20230119164713.7164-1-getelson@nvidia.com> <20230119164713.7164-2-getelson@nvidia.com> <1d7f71d6-874e-6ad6-64f5-ec5500e17736@oktetlabs.ru> In-Reply-To: <1d7f71d6-874e-6ad6-64f5-ec5500e17736@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-traffictypediagnostic: IA1PR12MB6332:EE_|MN0PR12MB5979:EE_ x-ms-office365-filtering-correlation-id: 5a55e929-dbaa-4e5d-e4d6-08dafded122c 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: iFHfKkvx3qGPLl8K5Un29Ng+v6YeDedx+i4cG8ECGRI9/u+cloRI2u91QtcKiZ85ShNv4E90dyQmcZomTtZsOwebnadQqsHd717MMciHvkOID5QXismO9EJzoVGoNi5wrkk7Pw0JM3b0RlqCvrvfFEhT8lXH8Pp+YYXCyMAhidPMNLxCGH32NUJJR/oanTMx03+X3W1uSHFjg8UPo7Nnbiaks8VW2QbCDvzVqEDMIJhdZmDuPvrJhwlwyu5ROt1wsE9Z7i5nud4cs8pe893tvt8eXn7FFkAM31E5a7xYHTQpU954dIky2n65k1nf6z1UgaXnx+pzwyonuql+e0LL2GN2+0vFLYPvMjzOMkL4ykM9O/qWdCs+TgUX9TbzD3uVfEhFv3en9cNyUCDXbfpPUe0aOEd16a+LjI7UZOq1nwslGIni9s5NdxqWV0GiC8yWAayRWOrugTVTZp3wVv+uXtycDsSIZw3Ozk7X8LHD5jwNAss+wM5Hl2RTw9P8Mm2qJWOdjfeSYjnQ/aESpMip4HOM6ORrYZvIa4dzVHTU93LMUlvj2HBZltz8UOWu+SuX7LX/Tn3kf7TDGkrFaHvFRoQbr/GsmWitKghJC8B/OXMxtbMJ6KSQYivsrBPLNb303DMmf7dko3vTvwGIkT7vwfknJ3e+z321UFXHZsCClIaxErmlC8AHzMWOMdkCicf/Lao/t0UJb2kuILpUVMeL1w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR12MB6332.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(39860400002)(136003)(346002)(396003)(366004)(376002)(451199015)(38070700005)(86362001)(66946007)(66556008)(66446008)(64756008)(8676002)(15650500001)(66476007)(52536014)(76116006)(4326008)(5660300002)(55016003)(2906002)(8936002)(38100700002)(122000001)(33656002)(6506007)(7696005)(478600001)(54906003)(71200400001)(316002)(110136005)(41300700001)(83380400001)(26005)(9686003)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZlhSSm5janowTVlDZVZCdGNnMTR0a1BkREZEU3BKc3AvbVc5cUQyYkdEbGV6?= =?utf-8?B?YUhKd1lHMkFKb3RlRzlLTzVQT1kzTnFXakNQaVlZNWNnSFNucWNXRWRrUndz?= =?utf-8?B?bWY4MElGQmFuSE10eFhEKzVOQ3VFQU1UOUhqL1hsUmM1bHFuKzZ1aDlOWTc2?= =?utf-8?B?QzZCZGhsWDdJWHVia1BkVDV5SUZkcFluOGJKSUdnL1U0UFNEQUFuVXlsVlE5?= =?utf-8?B?VGs0TzVVU2NmV3laRjFBd1YyV2FDeUpNd2dqcXRuVXBTV0xmTm4rdXhtOVZW?= =?utf-8?B?Q2llNk95OXA0amhjRnN1Q1JvL0ZHQnlHWTlsVSsySGtSUktLdDZBQUplR3Qz?= =?utf-8?B?encrZHlvYzVFM09DODdZTkxHK01PZU5JdTZFNjhjM1JKM1daZHFMdDNEdjRl?= =?utf-8?B?dFlpSVdvdEFBcmc2SlNMQ0xHVkxRTXBxaVI3QzdTcVY2R1N1eUgrc2JNYUNM?= =?utf-8?B?MWdYR3lFTlhya2tOdlFvdXYvaWVSU3JNaTVtWll6Ni9ETWV6cjZReGRRL1Rh?= =?utf-8?B?Rjg2aFVlTCtEZTEwY3NoZW9XZFdIcmlkbzV5UG41WTRnOVZmalprbHl4R1F6?= =?utf-8?B?Q3B4eWIxT0ZFS2VaWVpZeWd1eXNOZDBrdW8vd1NzMTl5dnM1cDNldVlYTFE3?= =?utf-8?B?UkpYeGtFVU9vR2RzYWlMai9jdC9JSjJGOVQxOEkrcVJyUzVqSU1CSWY3dTda?= =?utf-8?B?aG9SamlZZ3pQWVFjYUZyS2JzeUhBMlNCOHk5bWtRM2IxSXVyUDdPM0lhekh5?= =?utf-8?B?ZGFySzRDZkExd0tVMWdjZllzcC9yWEl1YSsvMkdZNDFiRnorUnpiOXBCQTVj?= =?utf-8?B?SVhjOXJ2Zmhob0lnTkxScW54NlJBZURDMEllRHhMOVdEd0xaaEFtNSsvMk9F?= =?utf-8?B?VkFnbEcvbi82UlpZV1liejNXL05sbzlUS3MzOERoc0NpZEc3U2h0YTJ4TmRI?= =?utf-8?B?NFZQSVM1TFJlblRWNk9kY2d5NE9qVThpTmdrRUFKbFVXUS9zZE41UHBGNkIy?= =?utf-8?B?dHFlQXJySlZKbnR3S3pKQ1F4TTNzNW10bGNpUktRUkpUUHdNNmI3cEh6cEFT?= =?utf-8?B?S2ZGVFRNczFKUG9XOXNyMjl2VEV3Uk9uRjUyWW95QXI5TGx2SGlEdzh4dVlR?= =?utf-8?B?SUg3U2RlckJpd0JwVEg3SldlL1A4MW01Q3lyQ1FUVTFIZThsaFdHV09MVXZ4?= =?utf-8?B?WkhZUmVQdXdrMVJIQXRjV3B0TjBmZFhZM1VXTndoRmljc21jVHV0UHNSRUQv?= =?utf-8?B?YWNPczRGQm5BOS8wTld5enUzK2E2OU5DYnRCaWlpc2lMS0pEU3ExLzdLUVgr?= =?utf-8?B?QlpGNGVKMDl3a2FLSHROZEYzMHFXRDc1RFY2OUt3S0RZeE4zYzFIdGkrV1lP?= =?utf-8?B?bFJFQ0loQlFVdk9JOEcveDhObWdTMjhEZkhWY2NNTFU1VU5RNWEzWVZSNUpv?= =?utf-8?B?NkhlV3VPUlUwNUdyOHB2UzFQSWJDcDdqOWt0aStVVHZibGtJS1hjL2ZLdXpr?= =?utf-8?B?SnNpalZkTzJhOC82eU8wQlBpMkhtY2NZTWdnOVpjWW9QSE9TOEFFYlpGK2Zm?= =?utf-8?B?SkFoZ1UxZWk1U3FYZEF4RzVUQmNLMDNjVVlBVElYNkNheXk1Z1hLWEMxNUFi?= =?utf-8?B?Y1MxS0p3VW5NV2dOZlVNR21zRy9qZ2xpd2tndS9BaW1qVDd4L1U3T3hVbFVz?= =?utf-8?B?MnBqUjZFdWNaUWpDVVlZSWpnOGF5RUhhcGxSZGtGK1dyL1VTdjVkeHBTdVZk?= =?utf-8?B?WnZCYUVwMWtTYUVrRzZvK2ExMVk0RXhNaUlSSmUwd2ZqdEhpK3YvY2FkdE5s?= =?utf-8?B?NTVBdWZFU2NsUmxrVGFqeWhIejgzYzUrYThCOHRMWXVMVlVvOWNGczZlVjNP?= =?utf-8?B?RmlYNDZOck5CTExTTGUwQ0pqUHlSRUNuNitWOHFoR05ySWZKdnlvZzdRUXpN?= =?utf-8?B?UnhRSTNQTit3U1pjUGt5c2xERDJCb082bnY2MGxqSHo3clNlRTJjanhKUHRt?= =?utf-8?B?TmlsSVJzUFVTem54UDVqdDFDYm8zTy9KUHhxb0hTUVRpWEJGYW0wS0xFNlIv?= =?utf-8?B?R2pqZXFpNGpma2lxZzlmWGlJZzNoZlZPVzhZczB4RjhlekcxUUVSemtNTVNU?= =?utf-8?Q?1Ad5E3xYXnp1jcGYf/wCmbNUb?= 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: IA1PR12MB6332.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5a55e929-dbaa-4e5d-e4d6-08dafded122c X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2023 09:26:27.9885 (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: cZiWfYke65SVL99zmy5EfFmwYuyoXSYPpzQuDSYDVwio4VNWD9P+ytaEqky3XnWRhpKxHrQN8cRv6ReFn08Btw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5979 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 SGVsbG8gQW5kcmV3LA0KDQpbXQ0KDQo+ID4gKyAgUXVvdGEgYWN0aW9uIHNldHMgcGFja2V0IG1l dGFkYXRhIGFjY29yZGluZyB0byBhIG51bWJlciBvZiByZW1haW5pbmcNCj4gPiArICB0b2tlbnMg bnVtYmVyOg0KPiA+ICsgICogYGBQQVNTYGAgLSByZW1haW5pbmcgdG9rZW5zIG51bWJlciBpcyBu b24tbmVnYXRpdmUuDQo+ID4gKyAgKiBgYEJMT0NLYGAgLSByZW1haW5pbmcgdG9rZW5zIG51bWJl ciBpcyBuZWdhdGl2ZS4NCj4gPiArDQo+ID4gKyAgUXVvdGEgZmxvdyBpdGVtIG1hdGNoZXMgb24g dGhhdCBtZXRhZGF0YS4NCj4gPiArDQo+ID4gKyAgLSBgYFJURV9GTE9XX0FDVElPTl9UWVBFX1FV T1RBYGANCj4gPiArICAtIGBgUlRFX0ZMT1dfSVRFTV9UWVBFX1FVT1RBYGANCj4gDQo+IFF1b3Rh IGRlc2NyaXB0aW9uIHNob3VsZCBiZSBhIHBhcnQgb2YgYWN0aW9uL2l0ZW0NCj4gZG9jdW1lbnRh dGlvbiwgbm90IHJlbGVhc2Ugbm90ZXMuDQo+DQoNCldpbGwgZml4IGluIHY3Lg0KIA0KPiA+ICsN Cj4gPiArKiAqKlVwZGF0ZWQgdGVzdHBtZCB0byBzdXBwb3J0IHF1b3RhIGZsb3cgYWN0aW9uIGFu ZCBpdGVtLioqDQo+ID4gKw0KPiA+ICsgIEFkZGVkIHRva2VucyB0byBgYHRva2VuX2xpc3RbXWBg IGZvciBmbG93IHF1b3RhIGFjdGlvbiBhbmQgaXRlbSBzdXBwb3J0Lg0KPiANCj4gSU1ITyAndG9r ZW5fbGlzdCcgaXMgaW5hcHJvcHJpYXRlIGluIHJlbGVhc2Ugbm90ZXMuIEl0IGlzIHRvbw0KPiBk ZWVwIHRlY2huaWNhbCBkZXRhaWwuDQo+IA0KDQpXaWxsIGZpeCBpbiB2Ny4NCg0KPiA+ICsNCj4g PiArDQo+ID4gKw0KPiA+ICAgUmVtb3ZlZCBJdGVtcw0KPiA+ICAgLS0tLS0tLS0tLS0tLQ0KPiA+ DQo+IA0KPiA+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9mbG93LmggYi9saWIvZXRoZGV2 L3J0ZV9mbG93LmgNCj4gPiBpbmRleCAyODA1NjdhM2FlLi4wMDY4ZmMyNzViIDEwMDY0NA0KPiA+ IC0tLSBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2Zs b3cuaA0KPiA+IEBAIC02MjQsNyArNjI0LDQ1IEBAIGVudW0gcnRlX2Zsb3dfaXRlbV90eXBlIHsN Cj4gPiAgICAgICAgKiBTZWUgc3RydWN0IHJ0ZV9mbG93X2l0ZW1fbWV0ZXJfY29sb3IuDQo+ID4g ICAgICAgICovDQo+ID4gICAgICAgUlRFX0ZMT1dfSVRFTV9UWVBFX01FVEVSX0NPTE9SLA0KPiA+ ICsNCj4gPiArICAgICAvKioNCj4gPiArICAgICAgKiBNYXRjaCBRdW90YSBzdGF0ZQ0KPiA+ICsg ICAgICAqDQo+ID4gKyAgICAgICogQHNlZSBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9xdW90YQ0KPiA+ ICsgICAgICAqLw0KPiA+ICsgICAgICBSVEVfRkxPV19JVEVNX1RZUEVfUVVPVEEsDQo+ID4gK307 DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVO VEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+ICsgKg0K PiA+ICsgKiBRVU9UQSBzdGF0ZS4NCj4gPiArICoNCj4gPiArICogQHNlZSBzdHJ1Y3QgcnRlX2Zs b3dfaXRlbV9xdW90YQ0KPiA+ICsgKi8NCj4gPiArZW51bSBydGVfZmxvd19xdW90YV9zdGF0ZSB7 DQo+ID4gKyAgICAgUlRFX0ZMT1dfUVVPVEFfU1RBVEVfUEFTUywgLyoqIFBBU1MgcXVvdGEgc3Rh dGUgKi8NCj4gPiArICAgICBSVEVfRkxPV19RVU9UQV9TVEFURV9CTE9DSyAvKiogQkxPQ0sgcXVv dGEgc3RhdGUgKi8NCj4gDQo+IEVudW0gbWVtZWJlciBjb21tZW50cyBzaG91bGQgc3RhcnQgZnJv bSAvKio8IHNpbmNlIGl0IGlzIGENCj4gZG9jdW1lbnRhdGlvbiBhZnRlciBkb2N1bWVudGVkIGNv ZGUuDQo+DQoNCldpbGwgZml4IGluIHY3Lg0KIA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArLyoqDQo+ ID4gKyAqIFJURV9GTE9XX0lURU1fVFlQRV9RVU9UQQ0KPiA+ICsgKg0KPiA+ICsgKiBNYXRjaGVz IFFVT1RBIHN0YXRlDQo+ID4gKyAqLw0KPiA+ICtzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9xdW90YSB7 DQo+ID4gKyAgICAgZW51bSBydGVfZmxvd19xdW90YV9zdGF0ZSBzdGF0ZTsNCj4gPiArfTsNCj4g PiArDQo+ID4gKy8qKg0KPiA+ICsgKiBEZWZhdWx0IG1hc2sgZm9yIFJURV9GTE9XX0lURU1fVFlQ RV9RVU9UQQ0KPiA+ICsgKi8NCj4gPiArI2lmbmRlZiBfX2NwbHVzcGx1cw0KPiA+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IHJ0ZV9mbG93X2l0ZW1fcXVvdGEgcnRlX2Zsb3dfaXRlbV9xdW90YV9tYXNr ID0gew0KPiA+ICsgICAgIC5zdGF0ZSA9IChlbnVtIHJ0ZV9mbG93X3F1b3RhX3N0YXRlKTB4ZmYN Cj4gDQo+IEkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgaXQgaXMganVzdCAweGZmLCBub3QgMHgxLCBu b3QgMHhmLA0KPiBub3QgMHhmZmZmLCBub3QgMHhmZmZmZmZmZi4NCj4gDQo+IElzbid0IGl0IGJl dHRlciB0byBtYWtlICdzdGF0ZScgLT4gJ3N0YXRlX21hc2snIGFuZCB1c2UNCj4gUEFTUyBhbmQg QkxPQ0sgYXMgY29ycmVzcG9uZGluZyBiaXRzIGluIGEgbWFzay4gSWYgc28sDQo+IGhlcmUgc2hv dWxkIGJlIGEgdmFsdWUgd2l0aCBhbGwga25vd24gYml0cyBzZXQuDQo+IA0KDQpTdGF0aWMgZGVm YXVsdCBtYXNrcyBpbiBydGVfZmxvdy5oIHNldCBhbGwgcmVsZXZhbnQgYml0cy4NClRoYXQncyB0 aGUgZ2VuZXJhbCBjcm9zcy1oYXJkd2FyZSBjb252ZW50aW9uLg0KDQo+ID4gICB9Ow0KPiA+ICsj ZW5kaWYNCj4gPg0KPiA+ICAgLyoqDQo+ID4gICAgKg0KPiA+IEBAIC0yNzM2LDYgKzI3NzQsODEg QEAgZW51bSBydGVfZmxvd19hY3Rpb25fdHlwZSB7DQo+ID4gICAgICAgICogTm8gYXNzb2NpYXRl ZCBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4NCj4gPiAgICAgICAgKi8NCj4gPiAgICAgICBSVEVf RkxPV19BQ1RJT05fVFlQRV9TRU5EX1RPX0tFUk5FTCwNCj4gPiArDQo+ID4gKyAgICAgLyoqDQo+ ID4gKyAgICAgICogQXBwbHkgdGhlIHF1b3RhIHZlcmRpY3QgKFBBU1Mgb3IgQkxPQ0spIHRvIGEg Zmxvdy4NCj4gPiArICAgICAgKg0KPiA+ICsgICAgICAqIEBzZWUgc3RydWN0IHJ0ZV9mbG93X2Fj dGlvbl9xdW90YQ0KPiA+ICsgICAgICAqIEBzZWUgc3RydWN0IHJ0ZV9mbG93X3F1ZXJ5X3F1b3Rh DQo+ID4gKyAgICAgICogQHNlZSBzdHJ1Y3QgcnRlX2Zsb3dfdXBkYXRlX3F1b3RhDQo+ID4gKyAg ICAgICovDQo+ID4gKyAgICAgIFJURV9GTE9XX0FDVElPTl9UWVBFX1FVT1RBLA0KPiA+ICt9Ow0K PiA+ICsNCj4gPiArLyoqDQo+ID4gKyAqIEB3YXJuaW5nDQo+ID4gKyAqIEBiIEVYUEVSSU1FTlRB TDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gPiArICoNCj4g PiArICogUVVPVEEgb3BlcmF0aW9uYWwgbW9kZS4NCj4gPiArICoNCj4gPiArICogQHNlZSBzdHJ1 Y3QgcnRlX2Zsb3dfYWN0aW9uX3F1b3RhDQo+ID4gKyAqLw0KPiA+ICtlbnVtIHJ0ZV9mbG93X3F1 b3RhX21vZGUgew0KPiA+ICsgICAgIFJURV9GTE9XX1FVT1RBX01PREVfUEFDS0VUID0gMSwgLyoq IENvdW50IHBhY2tldHMgKi8NCj4gDQo+IC8qKjwNCj4gDQo+ID4gKyAgICAgUlRFX0ZMT1dfUVVP VEFfTU9ERV9MMiA9IDIsIC8qKiBDb3VudCBwYWNrZXQgYnl0ZXMgc3RhcnRpbmcNCj4gZnJvbSBM MiAqLw0KPiANCj4gLyoqPA0KPiANCj4gPiArICAgICBSVEVfRkxPV19RVU9UQV9NT0RFX0wzID0g MywgLyoqIENvdW50IHBhY2tldCBieXRlcyBzdGFydGluZw0KPiBmcm9tIEwzICovDQo+IA0KPiAv Kio8DQo+IA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAqIEB3YXJuaW5nDQo+ID4g KyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5v dGljZS4NCj4gPiArICoNCj4gPiArICogQ3JlYXRlIFFVT1RBIGFjdGlvbi4NCj4gPiArICoNCj4g PiArICogQHNlZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9RVU9UQQ0KPiA+ICsgKi8NCj4gPiArc3Ry dWN0IHJ0ZV9mbG93X2FjdGlvbl9xdW90YSB7DQo+ID4gKyAgICAgZW51bSBydGVfZmxvd19xdW90 YV9tb2RlIG1vZGU7IC8qKiBxdW90YSBvcGVyYXRpb25hbCBtb2RlICovDQo+IA0KPiAvKio8DQo+ IA0KPiA+ICsgICAgIGludDY0X3QgcXVvdGE7ICAgICAgICAgICAgICAgICAvKiogcXVvdGEgdmFs dWUgKi8NCj4gDQo+IC8qKjwNCj4gDQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICog QHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdp dGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBRdWVyeSBpbmRpcmVjdCBRVU9U QSBhY3Rpb24uDQo+ID4gKyAqDQo+ID4gKyAqIEBzZWUgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfUVVP VEENCj4gPiArICoNCj4gPiArICovDQo+ID4gK3N0cnVjdCBydGVfZmxvd19xdWVyeV9xdW90YSB7 DQo+ID4gKyAgICAgaW50NjRfdCBxdW90YTsgLyoqIHF1b3RhIHZhbHVlICovDQo+IA0KPiAvKio8 DQo+IA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAqIEB3YXJuaW5nDQo+ID4gKyAq IEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGlj ZS4NCj4gPiArICoNCj4gPiArICogSW5kaXJlY3QgUVVPVEEgdXBkYXRlIG9wZXJhdGlvbnMuDQo+ ID4gKyAqDQo+ID4gKyAqIEBzZWUgc3RydWN0IHJ0ZV9mbG93X3VwZGF0ZV9xdW90YQ0KPiA+ICsg Ki8NCj4gPiArZW51bSBydGVfZmxvd191cGRhdGVfcXVvdGFfb3Agew0KPiA+ICsgICAgIFJURV9G TE9XX1VQREFURV9RVU9UQV9TRVQsIC8qKiBzZXQgbmV3IHF1b3RhIHZhbHVlICovDQo+IA0KPiAv Kio8DQo+IA0KPiA+ICsgICAgIFJURV9GTE9XX1VQREFURV9RVU9UQV9BREQsIC8qKiBpbmNyZWFz ZSBleGlzdGluZyBxdW90YSB3aXRoDQo+IG5ldyB2YWx1ZSAqLw0KPiANCj4gLyoqPA0KPiANCj4g PiArfTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBAd2FybmluZw0KPiA+ICsgKiBAYiBFWFBF UklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+ID4g KyAqDQo+ID4gKyAqIEBzZWUgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfUVVPVEENCj4gPiArICoNCj4g PiArICogVXBkYXRlIGluZGlyZWN0IFFVT1RBIGFjdGlvbi4NCj4gPiArICovDQo+ID4gK3N0cnVj dCBydGVfZmxvd191cGRhdGVfcXVvdGEgew0KPiA+ICsgICAgIGVudW0gcnRlX2Zsb3dfdXBkYXRl X3F1b3RhX29wIG9wOyAvKiogdXBkYXRlIG9wZXJhdGlvbiAqLw0KPiANCj4gLyoqPA0KPiANCj4g PiArICAgICBpbnQ2NF90IHF1b3RhOyAgICAgICAgICAgICAgICAgICAgLyoqIHF1b3RhIHZhbHVl ICovDQo+IA0KPiAvKio8DQo+IA0KPiA+ICAgfTsNCj4gPg0KPiA+ICAgLyoqDQo+ID4gQEAgLTQ4 NTQsNiArNDk2NywxMSBAQCBzdHJ1Y3QgcnRlX2Zsb3dfcG9ydF9pbmZvIHsNCj4gPiAgICAgICAg KiBAc2VlIFJURV9GTE9XX0FDVElPTl9UWVBFX0NPTk5UUkFDSw0KPiA+ICAgICAgICAqLw0KPiA+ ICAgICAgIHVpbnQzMl90IG1heF9uYl9jb25uX3RyYWNrczsNCj4gPiArICAgICAvKioNCj4gPiAr ICAgICAgKiBNYXhpbXVtIG51bWJlciBvZiBxdW90YSBhY3Rpb25zLg0KPiA+ICsgICAgICAqIEBz ZWUgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfUVVPVEENCj4gPiArICAgICAgKi8NCj4gPiArICAgICB1 aW50MzJfdCBtYXhfbmJfcXVvdGFzOw0KPiA+ICAgICAgIC8qKg0KPiA+ICAgICAgICAqIFBvcnQg c3VwcG9ydGVkIGZsYWdzIChSVEVfRkxPV19QT1JUX0ZMQUdfKikuDQo+ID4gICAgICAgICovDQo+ ID4gQEAgLTQ5MzIsNiArNTA1MCwxMSBAQCBzdHJ1Y3QgcnRlX2Zsb3dfcG9ydF9hdHRyIHsNCj4g PiAgICAgICAgKiBAc2VlIFJURV9GTE9XX0FDVElPTl9UWVBFX0NPTk5UUkFDSw0KPiA+ICAgICAg ICAqLw0KPiA+ICAgICAgIHVpbnQzMl90IG5iX2Nvbm5fdHJhY2tzOw0KPiA+ICsgICAgIC8qKg0K PiA+ICsgICAgICAqIE1heGltdW0gbnVtYmVyIG9mIHF1b3RhIGFjdGlvbnMuDQo+ID4gKyAgICAg ICogQHNlZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9RVU9UQQ0KPiA+ICsgICAgICAqLw0KPiA+ICsg ICAgIHVpbnQzMl90IG5iX3F1b3RhczsNCj4gPiAgICAgICAvKioNCj4gPiAgICAgICAgKiBQb3J0 IGZsYWdzIChSVEVfRkxPV19QT1JUX0ZMQUdfKikuDQo+ID4gICAgICAgICovDQoNCg==