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 F01B0A09E4; Mon, 29 Mar 2021 22:31:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7EFFE406B4; Mon, 29 Mar 2021 22:31:14 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-eopbgr770041.outbound.protection.outlook.com [40.107.77.41]) by mails.dpdk.org (Postfix) with ESMTP id F27D04069D for ; Mon, 29 Mar 2021 22:31:12 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RWzxeoIhItBr3tD1SrvErxrKRXGpTvFi5/XzcAvMdyWs8+bgB31BJQ9ht56+9zx202ye3PLk0hWTutMwdI67ycp225iOXT/FsUILSs3aHsvOvVTx0sTORncYYlIADOXT6vY/c1LqO6VxgJAaNtuFbO3E6zKztsaaxCKgAj/cBp0ldJU3GG8xgnx1zveL6UuZ1Ljja4ETgNKt80abT52Mjc3w0IQWSD1ejQOaGDeaS0HcAxwcjUcvgMzOMrOB2oQaddWXyxDkUbRYjBORJZpkE4IBZ759oa7qVgCTdIH7jo+ewxJiNiQQ10YJ8Nnlp8agdlJZMESLg4TWvHOG6fa2sA== 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=bdxqUvB3ilsm6ss82GSKIGXhqaLD8i6aqLlReZ7kfg4=; b=K2WnclmNq+VSIJl9EuGMu8IBxwTQgCVyNeMn4wO5HhaS3XieK3/T6GNO5femzBqsyk7kLleDw+xNxMhAyZ1Z59FmSoT3yIS+p49GBHewwWM+CzuDSU72D5Bs2fCl46Z+4bxWBnnJ4saIho/LXOHOZXC341vqVpOwS9o/tO27jg291/FuvnfhvFFQj8EP6xbT48g4ABv+7kWTlTGdnlap16EBe2bBgu8BqgfJZ4YBhVxu/rI3SjIl7qeA57ODlduPVpNwCIsWjBonmoAUD/Vzk5FtFCohJB7BvEXkNcK9ZXYIpKWDHELpLJ7hsSVZwKJKn7eHAHXGz5Q+U1Bvznw5Ew== 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=bdxqUvB3ilsm6ss82GSKIGXhqaLD8i6aqLlReZ7kfg4=; b=Ap/O8aXm8DEDRGHwiaQQ8yNPZLXqC8+JzCSQOlBb0Pju0F4prNg7+Ag92josXvXz3xsuMiXeZNR8NFAMEhXsfkiKCrbACmC5pTqBbNEBFagFDNWflodPfB7OAq2u2OMLYLLG2gjIskKaKNuwI2f/FTMLO+dpQY+YjM3yS6SAGDCr0XXPERI4RV+ZuZwQeTIeCktfOxgLobAMpEtKUTHMaOSMg0uX8s1TYoRuooMVmed1mpcp5rZBePXer0jDgUXFYw9fkbsWsh1wb34JfgIeKFHxmwCrmZ2ELwlYsU6iPPLCaZm/bb52wUGkt9VTzngygGygn3XJB5tvX6Hi1aojMQ== Received: from BL0PR12MB2483.namprd12.prod.outlook.com (2603:10b6:207:4c::26) by MN2PR12MB4237.namprd12.prod.outlook.com (2603:10b6:208:1d6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25; Mon, 29 Mar 2021 20:31:11 +0000 Received: from BL0PR12MB2483.namprd12.prod.outlook.com ([fe80::2da7:6060:9bc4:6309]) by BL0PR12MB2483.namprd12.prod.outlook.com ([fe80::2da7:6060:9bc4:6309%5]) with mapi id 15.20.3933.039; Mon, 29 Mar 2021 20:31:10 +0000 From: Matan Azrad To: Jerin Jacob , Li Zhang CC: Dekel Peled , Ori Kam , Slava Ovsiienko , Shahaf Shuler , Liron Himi , Jasvinder Singh , NBU-Contact-Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Cristian Dumitrescu , dpdk-dev , Raslan Darawsheh , Roni Bar Yanai Thread-Topic: [dpdk-dev] [PATCH 1/2] [RFC]: ethdev: add pre-defined meter policy API Thread-Index: AQHXG9TfQQoAjqHHdkiTwqLR9JFkW6qa17EAgACgWkA= Date: Mon, 29 Mar 2021 20:31:10 +0000 Message-ID: References: <20210318085815.804896-1-lizh@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [79.182.29.6] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d65d06f1-b461-4d6c-b870-08d8f2f19722 x-ms-traffictypediagnostic: MN2PR12MB4237: 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:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kIKUyIr+RDAvYLIWIbJ8LompS6VL7SyZF1yhDR9YMahkUVQgr25K0v1NFBhkj4ApsmxQRTt2KavSidCM0/nJV+B6cDEUuoBfeHH72KynJe3QAo8yeoK+PbCZAt9R5qtWCbAT5nrM7d27oOE1SgY4Bg9HE2QZMGAybN1rsCvlqvKKy7zeciCuIA/QZgiUFUIDe6pgQoEQJ+2WBEBcJ7PrmcTFk3cpJMSXQ48cJBllX4R/ar/Ptv3jO+NXFKI7/oUh0ysZzfdlfmacM87AM/DizNcFqJDA1cq3F6N4Moc0WW1iPtNaPe75r+byGSYbxRoBSRNkU6GV+AqyTqnMbpxQKon+c1VwTNpyqI0MqkUkGzINYc5VJlyAxrlkPml4ki592Ef3UzMT4lP/h7M3yT4VdpNFkdVGa2S7oTVkbLcXQonGmwMgU5IPPXou9V1dE+m4F/X7nQadlEpxfjV8TTMbasRcTQO8Dg43a6atGBhai1pTHx8rC/gRCWBh7gUvzUO56KbdjwD7/39WIoejNcB5xR4pI+E6dJfM7VBDORlp2xFYvkClf34OU0dK4RtvWov1AIsFqH80aiDDLxp8SpR6RrcbsDf5UUbxik36bqIy4zvUXdg6pwJY0vvW9uAzh8Z8AYboLWkFDi/rbc1jZG/ydvSOWs/pBtKNKE1Kvu2o0Fc= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR12MB2483.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(346002)(396003)(366004)(39860400002)(376002)(26005)(55016002)(186003)(6636002)(316002)(84040400003)(5660300002)(38100700001)(9686003)(107886003)(86362001)(478600001)(2906002)(7696005)(76116006)(64756008)(53546011)(66946007)(66476007)(6506007)(66446008)(66556008)(8936002)(54906003)(110136005)(71200400001)(83380400001)(33656002)(52536014)(8676002)(4326008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?MG9uZnJPbXZEK0ZkcndqRy9VcGhRYjZGQW9wN3NoVGlEaGZJRlBzeTYrMWtx?= =?utf-8?B?c3d5YXBHS1lJV1V5Q1BZY2szRXpINklZS0xjd1VWMkpGZVRKTmozNE5YeFRS?= =?utf-8?B?OHMrWjhWanltekJYdkYrZ01uR3ZybmI3eldTT1puWFpVKzhFaDh3eVZMemk1?= =?utf-8?B?aE1IQlVzdGdvaVZYMjJUR2d2ZENYSmtHcUlBTS85SUc1OE4yamJLY3RxbWdY?= =?utf-8?B?K3FiWk9NTERoTnJzR3dvbFUzT1VaSGNjMUpZdDdIekk2VHVXM2J4MGVaM2tE?= =?utf-8?B?S0pPY0FQNUVnWVZzUWZUQkRkV01DVEFkYzRFR2tINFR1dWVRaXVIUUJpaFBJ?= =?utf-8?B?ZE5abjE0bXgwc3lmYmsvMDk5NGJYWFJqMlAxZGxtdGdraFRrM3ZOSU1qQkJy?= =?utf-8?B?amZNdTcxYXhRczVqM3ZleCtxdElPcjlXRVhuQU5BR2RDc1ZaUEsyWTZNVG8v?= =?utf-8?B?UzZtM0VTY09ocXNpNm1hKzhjUFR0SDNuYTlOUDRQYVpla0s4VU9Rd3JCSXd6?= =?utf-8?B?TFArSW0wcTQzN1lYbUY5Tk02dmI4VkZ4QjdGTW1MOTJUWWpPd1I1d2FFWnB3?= =?utf-8?B?K1JEZlNLeDgvR2lxd2hxVFhHdFlNR0w4U2xsdjdKREpLRnprZWc4YUtBZVdl?= =?utf-8?B?MmhwVmVQbjJKaXVBdzFSUDhxMEk1a0h5VEMvZ2NycGpqSjJhODBqVDcxZlFq?= =?utf-8?B?UTlkbFM1dDBuSUNHMVRmczVPYUltbDA1WksxSVJhT3dOcFdSM0drWkJEMnJn?= =?utf-8?B?cGsxTkttZHJMVkYxdndodjJJQXJFdzI2NlhVTUhVOEt2dy9nYzhvaCtDUTF1?= =?utf-8?B?SjlPd3ExMVVzWm9XSDJmL2FnZlpFT0U4YzRoQ0tscy82YTI4OWNrMENTc3Zt?= =?utf-8?B?WDNiak5BbzlYMlVuaDNBVjRXQjhkaVp6Zk1zZmxiUEpZOUh1NnVib0dhYlZE?= =?utf-8?B?clFnMzRHdnpzVmVVTDgwcGV0WTNIL2MrdHhqMWRuSVFya3ZHL1JzWE9qZjNR?= =?utf-8?B?QUFJaWV6Z1dpZlZIUzJUZ3dLbEVuRjRjU2l1NGdWVVVrYW9jMUtIODIzZkdX?= =?utf-8?B?SFVrT00xRisya1JLcktIdkN1V1JIUXFwZHVJZzJOMWFNTTR3VUVEVGZLVEhZ?= =?utf-8?B?MXRQY1ZCaGlkdUdqb3dkTmpTK0NzMkFBY3ZkYnRmMzBuOXNsMFljUzdWeDc3?= =?utf-8?B?cFZQbURtSjR6YUJDbnduNnhGM3l4aWJrZmtZR25KY3BHRkRMcFNnK2FyY1By?= =?utf-8?B?dzA4Z1RldEdKdFVPVkU4czZsWnpFSHQ3QnRnYUVIMTFWYnU3cDFXb2VBR0xU?= =?utf-8?B?bzNOWXljUXVXWktGbHNHcGYzRTVtTDR4N1d6ODJTengzRlNRc1QwMXRDUC9h?= =?utf-8?B?ZE90TXlUWTNVSXJlaDhzcDMycGxvUDg0a2N1UG1yNmJUbVZXMUdDV1lJOFlq?= =?utf-8?B?S2VsQU5wYy9DYUZyaVpaZHdLaU1DWGVhZ1JuWWY3SDhXWGtLdzg0R2NrZmZL?= =?utf-8?B?RFQxamEwVnEwUk9Fd1hKMDh2aVBlS2piUXdzTkYxVU8wenNKR0JGVlB2b3hQ?= =?utf-8?B?VDJ6Vjk1L0ZsSWdjNmxoSXhJRitLTHVuV2tRZmpYRWdUSFRTazZzMFVtQ1JS?= =?utf-8?B?ZHR5YXFlZTdlQ0JRTTlGeURvSHZhSGQwaHJYbFE5OEFkazMvbkNmclVMSDZS?= =?utf-8?B?STFkQlhoWm5yQmxVbUhaK0lBMFYwaWFpTG5nYWxEQVVGQldRSnVQQWFkc2NO?= =?utf-8?Q?+cvnq9q+4ZF90dvuOQ=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: BL0PR12MB2483.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d65d06f1-b461-4d6c-b870-08d8f2f19722 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2021 20:31:10.7521 (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: u3wH9H/Kb9oD/9ffGj7RXwI/gh2S8dfXn30jtQRhMY8uhE7evYvAAcs6rS6mtDA2FhGurTAdWbnl2g2gVv1nXQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4237 Subject: Re: [dpdk-dev] [PATCH 1/2] [RFC]: ethdev: add pre-defined meter policy API 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 Sender: "dev" SGkgSmVyaW4NCg0KVGhhbmtzIGZvciB0aGUgcmV2aWV3Lg0KUFNCDQoNCkZyb206IEplcmluIEph Y29iDQo+IE9uIFRodSwgTWFyIDE4LCAyMDIxIGF0IDI6MjggUE0gTGkgWmhhbmcgPGxpemhAbnZp ZGlhLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBDdXJyZW50bHksIHRoZSBmbG93IG1ldGVyIHBvbGlj eSBkb2VzIG5vdCBzdXBwb3J0IG11bHRpcGxlIGFjdGlvbnMgcGVyDQo+ID4gY29sb3I7IGFsc28g dGhlIGFsbG93ZWQgYWN0aW9uIHR5cGVzIHBlciBjb2xvciBhcmUgdmVyeSBsaW1pdGVkLg0KPiA+ IEluIGFkZGl0aW9uLCB0aGUgcG9saWN5IGNhbm5vdCBiZSBwcmUtZGVmaW5lZC4NCj4gPg0KPiA+ IER1ZSB0byB0aGUgZ3Jvd2luZyBpbiBmbG93IGFjdGlvbnMgb2ZmbG9hZCBhYmlsaXRpZXMgdGhl cmUgaXMgYQ0KPiA+IHBvdGVudGlhbCBmb3IgdGhlIHVzZXIgdG8gdXNlIHZhcmlldHkgb2YgYWN0 aW9ucyBwZXIgY29sb3IgZGlmZmVyZW50bHkuDQo+ID4gVGhpcyBuZXcgbWV0ZXIgcG9saWN5IEFQ SSBjb21lcyB0byBhbGxvdyB0aGlzIHBvdGVudGlhbCBpbiB0aGUgbW9zdA0KPiA+IGV0aGRldiBj b21tb24gd2F5IHVzaW5nIHJ0ZV9mbG93IGFjdGlvbiBkZWZpbml0aW9uLg0KPiA+IEEgbGlzdCBv ZiBydGVfZmxvdyBhY3Rpb25zIHdpbGwgYmUgcHJvdmlkZWQgYnkgdGhlIHVzZXIgcGVyIGNvbG9y IGluDQo+ID4gb3JkZXIgdG8gY3JlYXRlIGEgbWV0ZXIgcG9saWN5Lg0KPiA+IEluIGFkZGl0aW9u LCB0aGUgQVBJIGZvcmNlcyB0byBwcmUtZGVmaW5lIHRoZSBwb2xpY3kgYmVmb3JlIHRoZSBtZXRl cnMNCj4gPiBjcmVhdGlvbiBpbiBvcmRlciB0byBhbGxvdyBzaGFyaW5nIG9mIHNpbmdsZSBwb2xp Y3kgd2l0aCBtdWx0aXBsZQ0KPiA+IG1ldGVycyBlZmZpY2llbnRseS4NCj4gPg0KPiA+IG1ldGVy X3BvbGljeV9pZCBpcyBhZGRlZCBpbnRvIHN0cnVjdCBydGVfbXRyX3BhcmFtcy4NCj4gPiBTbyB0 aGF0IGl0IGNhbiBnZXQgdGhlIHBvbGljeSBkdXJpbmcgdGhlIG1ldGVycyBjcmVhdGlvbi4NCj4g Pg0KPiA+IFBvbGljeSBpZCAwIGlzIGRlZmF1bHQgcG9saWN5LiBBY3Rpb24gcGVyIGNvbG9yIGFz IGJlbG93Og0KPiA+IGdyZWVuIC0gbm8gYWN0aW9uLCB5ZWxsb3cgLSBubyBhY3Rpb24sIHJlZCAt IGRyb3ANCj4gPg0KPiA+IEFsbG93IGNvbG9yaW5nIHRoZSBwYWNrZXQgdXNpbmcgYSBuZXcgcnRl X2Zsb3dfYWN0aW9uX2NvbG9yIGFzIGNvdWxkDQo+ID4gYmUgZG9uZSBieSB0aGUgb2xkIHBvbGlj eSBBUEksDQo+ID4NCj4gPiBUaGUgbmV4dCBBUEkgZnVuY3Rpb24gd2VyZSBhZGRlZDoNCj4gPiAt IHJ0ZV9tdHJfbWV0ZXJfcG9saWN5X2FkZA0KPiA+IC0gcnRlX210cl9tZXRlcl9wb2xpY3lfZGVs ZXRlDQo+ID4gLSBydGVfbXRyX21ldGVyX3BvbGljeV91cGRhdGUNCj4gPiAtIHJ0ZV9tdHJfbWV0 ZXJfcG9saWN5X3ZhbGlkYXRlDQo+ID4gVGhlIG5leHQgc3RydWN0IHdhcyBjaGFuZ2VkOg0KPiA+ IC0gcnRlX210cl9wYXJhbXMNCj4gPiAtIHJ0ZV9tdHJfY2FwYWJpbGl0aWVzDQo+ID4gVGhlIG5l eHQgQVBJIHdhcyBkZWxldGVkOg0KPiA+IC0gcnRlX210cl9wb2xpY2VyX2FjdGlvbnNfdXBkYXRl DQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBMaSBaaGFuZyA8bGl6aEBudmlkaWEuY29tPg0KPiA+ IC0tLQ0KPiA+ICBsaWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oICAgICAgIHwgIDE4ICsrKysN Cj4gPiAgbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX210ci5jICAgICAgICB8ICA1NSArKysrKysrKy0t DQo+ID4gIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9tdHIuaCAgICAgICAgfCAxNjYgKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0NCj4gPiAgbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX210cl9kcml2 ZXIuaCB8ICA0NSArKysrKystLQ0KPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDIxMCBpbnNlcnRpb25z KCspLCA3NCBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V0 aGRldi9ydGVfZmxvdy5oDQo+ID4gYi9saWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oIGluZGV4 IDY2OWU2NzdlOTEuLjVmMzhhYTdmYTQgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9ldGhk ZXYvcnRlX2Zsb3cuaA0KPiA+ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmgNCj4g PiBAQCAtMzEsNiArMzEsNyBAQA0KPiA+ICAjaW5jbHVkZSA8cnRlX2VjcHJpLmg+DQo+ID4gICNp bmNsdWRlIDxydGVfbWJ1Zi5oPg0KPiA+ICAjaW5jbHVkZSA8cnRlX21idWZfZHluLmg+DQo+ID4g KyNpbmNsdWRlIDxydGVfbWV0ZXIuaD4NCj4gPg0KPiA+ICAjaWZkZWYgX19jcGx1c3BsdXMNCj4g PiAgZXh0ZXJuICJDIiB7DQo+ID4gQEAgLTIyMzYsNiArMjIzNywxMyBAQCBlbnVtIHJ0ZV9mbG93 X2FjdGlvbl90eXBlIHsNCj4gPiAgICAgICAgICAqIFNlZSBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9u X21vZGlmeV9maWVsZC4NCj4gPiAgICAgICAgICAqLw0KPiA+ICAgICAgICAgUlRFX0ZMT1dfQUNU SU9OX1RZUEVfTU9ESUZZX0ZJRUxELA0KPiA+ICsNCj4gPiArICAgICAgIC8qKg0KPiA+ICsgICAg ICAgICogQ29sb3IgdGhlIHBhY2tldCB0byByZWZsZWN0IHRoZSBtZXRlciBjb2xvciByZXN1bHQu DQo+ID4gKyAgICAgICAgKg0KPiA+ICsgICAgICAgICogU2VlIHN0cnVjdCBydGVfZmxvd19hY3Rp b25fY29sb3IuDQo+ID4gKyAgICAgICAgKi8NCj4gPiArICAgICAgIFJURV9GTE9XX0FDVElPTl9U WVBFX0NPbE9SLA0KPiANCj4gQmFzZWQgb24gbXkgdW5kZXJzdGFuZGluZyBvZiB0aGlzIEFQSSwN Cj4gMSkgQXBwbGljYXRpb24gY3JlYXRlcyB0aGUgcG9saWN5DQo+IDIpIEF0dGFjaHMgdGhlIHBv bGljeSBJRCB0byBtZXRlciBvYmplY3QgaW4gcGFyYW1zIElmIHNvLCBXaHkgd2UgbmVlZCB0aGlz IG5ldw0KPiBhY3Rpb24/DQoNClllcywNCkluIHRoZSBuZXcgcG9saWN5IEFQSSB0aGUgbWV0ZXIg YWN0aW9ucyB3aWxsIGJlIGRlZmluZWQgYnkgcnRlX2Zsb3cgYWN0aW9ucy4NClRoZSBvbGQgcG9s aWN5IEFQSSB1c2VkIHJ0ZV9tdHIgYWN0aW9uczogY29sb3IgZ3JlZW5cY29sb3IgeWVsbG93XGNv bG9yIHJlZFxkcm9wLg0KDQpUaGlzIG5ldyBydGVfZmxvdyBDT0xPUiBhY3Rpb24gY29tZXMgdG8g cmVwbGFjZSB0aGUgb2xkIHBvbGljeSBBUEkgImNvbG9yIiBhY3Rpb25zIHdoaWNoIHNldCB0aGUg Y29sb3IgZmllbGQgaW4gbWJ1Zi4NCg0KDQo+ID4gIH07DQo+ID4NCj4gPiAgLyoqDQo+ID4gQEAg LTI4MjgsNiArMjgzNiwxNiBAQCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3NldF9kc2NwIHsNCj4g PiAgICovDQo+ID4gIHN0cnVjdCBydGVfZmxvd19zaGFyZWRfYWN0aW9uOw0KPiA+DQo+ID4gKy8q Kg0KPiA+ICsgKiBNZXRlciBwb2xpY3kgYWRkDQo+ID4gKyAqDQo+ID4gKyAqIENyZWF0ZSBhIG5l dyBtZXRlciBwb2xpY3kuIFRoZSBuZXcgcG9saWN5DQo+ID4gKyAqIGlzIHVzZWQgdG8gY3JlYXRl IHNpbmdsZSBvciBtdWx0aXBsZSBNVFIgb2JqZWN0cy4NCj4gPiArICoNCj4gPiArICogQHBhcmFt W2luXSBwb3J0X2lkDQo+ID4gKyAqICAgVGhlIHBvcnQgaWRlbnRpZmllciBvZiB0aGUgRXRoZXJu ZXQgZGV2aWNlLg0KPiA+ICsgKiBAcGFyYW1baW5dIHBvbGljeV9pZA0KPiA+ICsgKiAgIFBvbGlj eSBpZGVudGlmaWVyIGZvciB0aGUgbmV3IG1ldGVyIHBvbGljeS4NCj4gPiArICogQHBhcmFtW2lu XSBhY3Rpb25zDQo+ID4gKyAqICAgQXNzb2NpYXRlZCBhY3Rpb25zIHBlciBjb2xvci4NCj4gPiAr ICogICBsaXN0IE5VTEwgaXMgbGVnYWwgYW5kIG1lYW5zIG5vIHNwZWNpYWwgYWN0aW9uLg0KPiA+ ICsgKiAgIChsaXN0IHRlcm1pbmF0ZWQgYnkgdGhlIEVORCBhY3Rpb24pLg0KPiA+ICsgKiBAcGFy YW1bb3V0XSBlcnJvcg0KPiA+ICsgKiAgIEVycm9yIGRldGFpbHMuIEZpbGxlZCBpbiBvbmx5IG9u IGVycm9yLCB3aGVuIG5vdCBOVUxMLg0KPiA+ICsgKiBAcmV0dXJuDQo+ID4gKyAqICAgMCBvbiBz dWNjZXNzLCBub24temVybyBlcnJvciBjb2RlIG90aGVyd2lzZS4NCj4gPiArICovDQo+ID4gK19f cnRlX2V4cGVyaW1lbnRhbA0KPiA+ICtpbnQNCj4gPiArcnRlX210cl9tZXRlcl9wb2xpY3lfYWRk KHVpbnQxNl90IHBvcnRfaWQsDQo+IA0KPiANCj4gX2NyZWF0ZSgpIG1heSBiZSBiZXR0ZXIgaGVy ZSBpbnN0ZWFkIG9mIF9hZGQoKSBhcyB5b3UgaGF2ZSB1c2VkIF9kZWxldGUoKQ0KDQpZZXMhDQoN Cj4gPiArICAgICAgIHVpbnQzMl90IHBvbGljeV9pZCwNCj4gPiArICAgICAgIGNvbnN0IHN0cnVj dCBydGVfZmxvd19hY3Rpb24gKmFjdGlvbnNbUlRFX0NPTE9SU10sDQo+IA0KPiANCj4gMSkgRG9l cyB0aGlzIG1lYW4gdGhhdCBNTFggSFcgY2FuIHN1cHBvcnQgYW55IHJ0ZV9mbG93IGFjdGlvbnMg bGlrZSwgaWYgcGFja2V0DQo+IGNvbG9yIGlzIGdyZWVuIGRvIFJURV9GTE9XX0FDVElPTl9UWVBF X1NFQ1VSSVRZIGV0Yy4NCg0KVGhlb3JldGljYWxseSB5ZXMsIHdlIGNhbiBzdXBwb3J0IG1vc3Qg b2YgdGhlIGFjdGlvbnMuDQpGb3IgdGhlIGZpcnN0IHN0YWdlIHdlIGFyZSBnb2luZyB0byBzdXBw b3J0IG5leHQ6IHF1ZXVlXFJTU1xwb3J0IGlkXG1hcmtcdGFnXGp1bXAuDQoNCkZvciBleGFtcGxl LCB1c2VyIGNhbiBzZWxlY3QgZGlmZmVyZW50IHF1ZXVlXHBvcnQgaWQgcGVyIGNvbG9yLg0KDQo+ IDIpIElzIHRoZXJlIGFueSByZWFsLXdvcmxkIHVzZSBjYXNlIG90aGVyIHRoYW4gdXNpbmcgbm9y bWFsIGFjdGlvbiBsaWtlIHBhc3Mgb3INCj4gZHJvcCBhcyBpdCBpcyB1c2VkIGluIGNvbmp1bmN0 aW9uIHdpdGggbWV0ZXIgb2JqZWN0Pw0KDQpZZXMsIEkgd3JvdGUgYWJvdmUuDQogDQo+IDMpIE1h cnZlbGwgSFcgaGFzIHRoZSBmb2xsb3dpbmcgcG9saWN5IGFjdGlvbnMNCj4gYSkgUEFTUw0KPiBi KSBEUk9QDQo+IGMpIFJFRCAoUmFuZG9tIGVhcmx5IGRpc2NhcmQpDQo+IA0KPiBCb3RoIChhKSBh bmQgKGMpIGFyZSBub3QgaW4gZW51bWF0ZWQgYXMgcnRlX2Zsb3dfYWN0aW9ucy4NCg0KKGEpIGlz IGluLCBqdXN0IGRvbid0IHNwZWNpZnkgYW55IGFjdGlvbi4NCg0KQ2FuIHlvdSBleHBsYWluIHdo YXQgaXMgIlJhbmRvbSBlYXJseSBkaXNjYXJkIj8NCkhvdyBkaWQgeW91IHNwZWNpZnkgaXQgaW4g dGhlIG9sZFxjdXJyZW50IG1ldGVyIHBvbGljeSBBUEk/DQoNCg0KTm90ZSwgdGhhdCBhZnRlciB0 aGUgcG9saWN5IGFjdGlvbnMgdGhlIGRldmljZSBzaG91bGQgY29udGludWUgdG8gZG8gdGhlIHJl c3Qgb2YgdGhlIGFjdGlvbnMgaW4gdGhlIGZsb3cgKGFmdGVyIG1ldGVyKSBpZiBubyB0ZXJtaW5h dGlvbiBhY3Rpb24gaW4gdGhlIHBvbGljeSBjb2xvci4NCg0KPiANCj4gU2hvdWxkIHdlIHRha2Ug cnRlX2Zsb3dfYWN0aW9uIG9yIGNyZWF0ZSBtZXRlci1zcGVjaWZpYyBwb2xpY3kgYWN0aW9ucz8N Cg0KVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBtZXRlci1zcGVjaWZpYyBwb2xpY3kgYWN0aW9ucy4N CllvdSBuZWVkIHRvIHVzZSBydGVfZmxvdyBhY3Rpb24uDQoNCkJ5IHRoZSB3YXksIGNhbiB5b3Ug aGVscCB0byBhZGp1c3QgTWFydmVsbCBkcml2ZXIgdG8gdGhlIGNoYW5nZT8NCg0K