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 ED091A052A; Wed, 27 Jan 2021 15:00:05 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 92716140DBB; Wed, 27 Jan 2021 15:00:05 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 161B5140DBA for ; Wed, 27 Jan 2021 15:00:03 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 10RDxeQY028526; Wed, 27 Jan 2021 06:00:02 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0220; bh=3Dwy4DwaKBsX82MRpXefthbSl/8DKwoNIZtbq460/lw=; b=PHCCk8E4MJffDvhkhLxvD9h0NEDHfQWWnkkFH7b/X1oMZQU8eKeKuBoHvpz/NyI1gSXq 50hKh5ymRqlNFncvBsBxO+DUcirzFm3tkp3HKNhvg55mJ4w8wv4+QqqFMKq3fIWTXpKU Iebu9Pi/3TlDhkCUFG6+fF+YP63nEn99yQDK6IsGkL1lISPZuAyq+5X0IrwdDd/QGG/l ualZYZcXBuUVyX0gEub6UIaySrEAqT3q4Tf56qygP5EaN3tgHU5At3uvKXNCdmNFnarc yPtoJ3z2SuXqYdK+1eIJPGOIuNCHVMVrbukT15OdDr84U5Q+JMojFP5L8jOgcGoIIyam gw== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com with ESMTP id 368j1ubqt0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 27 Jan 2021 06:00:02 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 27 Jan 2021 06:00:01 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.48) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 27 Jan 2021 06:00:01 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nhTneQym3xnNNVYg+n7WXx3A/l9jLyAqqrueHg3hINDc8zrATh2TZPS2iMW/dZXIvZFeIXaIKKiYf4lTTVZz0Ioak5FyihNQFvFFWdss9SUk+Ks019xAvgid+pr0tiRiP+johvMccAjQo8cfV9oLYKvfjnUFGNASzWXk7BW+TgU6ksCsggdGU3i/j59x21EciHlN2J80WPxOxlGVDAaTC4jXKh8hyFGMutbZqHVQl7rm9V5Nrpd2lA6OKKltxqGtU9zZ+d9IN3iI4mAKjkMRyQMFqzupEZcDjHxEQuTUMZN0aS7ot+oaM6xZC6a+2LZL6Bg2D+6PS8SNlS40Fwhwcw== 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=3Dwy4DwaKBsX82MRpXefthbSl/8DKwoNIZtbq460/lw=; b=LM1igE9DKvtSvqEByj6BcJsQVUV8GS5LhGDHj4/NgFmo1XvXtKeW1iKb6yxd+NDb/oK5n/2EwoRsgnqEJIadRXeTLl+I0wpJ3wktsakMgn5Dc4a2yDrAvgLgY2qhnHGM0841id3VGWGcw3WLtZAsZhifa2dAyXwpMNwAfPjq0c4HzC8WK3n4qE+2BQYc4YfBPFttk030GmnKvGzKPJRBNPvSi7syNxbc2PEE7Vty4YHSQ7fFzzbWSX5/Fhbc7T2ULpb71bP4HRMTpzQkDjXG8VaXMl6R81US/qdjOX8OlaCR4S881OiSKRV3c6cVLinh/tH8QV0AOfP8sye4Nl+n/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3Dwy4DwaKBsX82MRpXefthbSl/8DKwoNIZtbq460/lw=; b=CWociHoDXIybVOPixG/efzwuCkYiILZd8cpZcLv769B0lr2C2yEXt8e6q1HLY35+opXVJGQycU4/xFpGo0SHYLigo6nNus/xKWq6mIb87ifx5UtPXLQkjR+B3hZKC49RpfJd6jEn7PXJXq5M6dA+sx+G1K9C0Hjn1VzNC4Kblbk= Received: from DM5PR18MB2214.namprd18.prod.outlook.com (2603:10b6:4:b9::21) by DM5PR1801MB2042.namprd18.prod.outlook.com (2603:10b6:4:68::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.10; Wed, 27 Jan 2021 14:00:00 +0000 Received: from DM5PR18MB2214.namprd18.prod.outlook.com ([fe80::a517:8b23:b83e:a12f]) by DM5PR18MB2214.namprd18.prod.outlook.com ([fe80::a517:8b23:b83e:a12f%3]) with mapi id 15.20.3784.017; Wed, 27 Jan 2021 14:00:00 +0000 From: Liron Himi To: Ferruh Yigit , Jerin Jacob Kollanukkaran CC: "dev@dpdk.org" , Yuri Chipchev , "Liron Himi" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v2 08/37] net/mvpp2: extend xstats support Thread-Index: AQHW8POnvWrEJG8gy0+ugahAPyN4bao6P7mAgAFHm/A= Date: Wed, 27 Jan 2021 14:00:00 +0000 Message-ID: References: <20201202101212.4717-1-lironh@marvell.com> <20210122191925.24308-1-lironh@marvell.com> <20210122191925.24308-9-lironh@marvell.com> In-Reply-To: Accept-Language: he-IL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=marvell.com; x-originating-ip: [46.117.154.130] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 937fae4d-946a-49ba-4a2b-08d8c2cbd63e x-ms-traffictypediagnostic: DM5PR1801MB2042: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0WEWRl/OULMI/8x58MCFmB8kBXjh/t4e5homTr8Sb4DMAEV4a0CfB6pWbN2goq26DZ0HzOzBX1jeR2sPFz+KbsFjiJtPj/yd/KBPDJXN0TUwyX183UwW2gNvCCIawqRwl9IcG69IC0M7N36+5SPa71L07vqibglZ8rJzAWX9qJ863WR32zbtJGCshYQ7LRaxkgAKxCPo69LC5M+08kBf61jBwh6TG2hEV/JnvRwW3TPeRoSnj0ek00R3UcDhAMCxGwhN35CUhATOw5fElYhQP3YfhB/RICXoNoDdyv2CufKmzMw8HHuL03gfNEhVOkq1uRYzBFFFrSqwImCxhms527JgnCoWc/lRIrd0VhtxBW6kteGD2syUGe70SsiQhjWUvUcGDYd9lzb1FX6ZjMNq4ec5jFASS4k0zHvSna/F9HTwHN2MygROl7hh2wiW2HtvvkY1H4MSOHrHcQZGiikdmQTgF7CPZqrB4IDsTzYY4Lk1LN/1o6y8hugmQO1RbgXOELvTkXv2j6uMr7HLgxtO7g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR18MB2214.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(366004)(39860400002)(136003)(376002)(26005)(55016002)(86362001)(6506007)(478600001)(110136005)(64756008)(8936002)(52536014)(54906003)(186003)(8676002)(71200400001)(6636002)(9686003)(83380400001)(66446008)(33656002)(5660300002)(66556008)(107886003)(66946007)(7696005)(66476007)(4326008)(2906002)(76116006)(53546011)(316002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?SThRZVRnL1BlTjQxSWRyTkVSWWNHdG9uZ2tmTTkrN3NtWjFEWUlTbGxOaE1B?= =?utf-8?B?TkRxNzB6SVFEV2V4VHZmbzlYT3U2WTFhNnpldUxjN0E0cENjNnZ3V1Nvc2cx?= =?utf-8?B?aDJQY01Relg1eEJMak5IZCtBT3d1RUptRFFBQm94WWxlUFo0QVFZbkVVU09y?= =?utf-8?B?NUJ0OHFCNGc0VHBRNktUSS93THU4dWI4ZlZaQ3F2T2t6RE1hUHFmN2dmWERy?= =?utf-8?B?SDAzTEZJMVBVc3VBTEh4SlFJUnhBK2llclk4TS9yQURRdXowN3BEeXBFU1c0?= =?utf-8?B?K0RRODZ1N0F2ajFCQ0tGZFl5bUtOaEZhNUZicElDTjJXM2pNeFgxSGtQc0Yv?= =?utf-8?B?MDhuRVNldkJyUWdoYUoxWW0zMlZhVXV3Z3hCM0hQeitMVUYzZE5IRmwwUVRQ?= =?utf-8?B?dnVaUEgrd1JVTjFyMFJRTjJBNWs3MU5IREc5WXJmbnZwakVrbFhyMDQ0eWFO?= =?utf-8?B?Z1dyMUlWMmxwbkNsdkpWUzB2bGF3dFJZbVY1LzFYcWw4T3JiT3FaQ3Z0Mml1?= =?utf-8?B?WmZ3WGl5ZjhDOVUwM01oTlRmV0xVRFgvRDNxMzBHRVJLWFpqd1dMTy9iMGdH?= =?utf-8?B?ZUxYWTdNT2NFaVk4cTFzc3FRUmhobHBjV2kxQ0hOYmFudGRNdlRXUVp3OWxv?= =?utf-8?B?OGtHMzlnQ0kxdU1YR2J4SUszSGVhblNlQ0dMSVNhMFFYTEJnazdOQnhJTGVG?= =?utf-8?B?cEt1QjJRek5GZ3NEbmhydjNWdnJpTWZpd0pFYzZBWW12TmJseWtXck5QL2dO?= =?utf-8?B?b2F1LzFTNllaQk9NSDJHWndRMVRWTmJsVHBsZ1dXak15cFU0REU3M3lDSUZr?= =?utf-8?B?MFBFblJ5Y0tFZTdZU3YwZUx1Z3Q2VVJHT3RsbElkSFRJVUdFTFROMVd3NWtO?= =?utf-8?B?QVpTRi9VTWpiQjFTSTNWMnZXdlYzZjR3clhsZVJsSDBVenlPMVdFNkNaL2Fw?= =?utf-8?B?Tk43QlJsekRwL3pWMVNsNi9MSXBHM3VlSXkxb3ZtUHJ5NUF5b3I4RUliVWk4?= =?utf-8?B?SVdtQ2EwR0dEVHZLTE56dm5yVnVTWmMybGMyOW5iSkZubnFBVjAwVURhK0pU?= =?utf-8?B?VnZHL1F3VXpubnJ6N29sdVo1NzVsQlFuT2tjTVJsWnpnSzNLdHRCd2xGeklh?= =?utf-8?B?d0lLT1JLd290TTM0RExvUGNwSGlYNWFUUjduWWNlVkpYMitBSDhYVjRsSjFF?= =?utf-8?B?SzRtVlRnc1EzMW5VekFwMmhOS3ZCd3RQa3M4ZGF1V0l0MS9YY0g5YkZ2cWVm?= =?utf-8?B?Y0lrNGtyZEk5U1g1UDFyTy9EdTJpSEJoek1GR0cvZmJDbFZTZEpwMzJ4emlq?= =?utf-8?B?NjJZeVlXNEFnTUNJMW9MTGh0Si9DMG5oU1NyZkNEM1RoakFkTklYdklSYzFm?= =?utf-8?B?M1JNNVoxZUVDRExTVlZGcmdGaTZvZGdma1YyVWpLNERDWkNqejRPOWVtMmZY?= =?utf-8?Q?i8TVL+JH?= 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: DM5PR18MB2214.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 937fae4d-946a-49ba-4a2b-08d8c2cbd63e X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2021 14:00:00.0641 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: V7ywlJ0vgP/aoJJ7Erp72xpHOlB8hYG0uuzWGD+hJM3guWWSHY96yFRt08x58ecpo+qTK8yiGTHWqwRCdrvfSg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1801MB2042 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2021-01-27_05:2021-01-27, 2021-01-27 signatures=0 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v2 08/37] net/mvpp2: extend xstats support 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" DQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogRmVycnVoIFlpZ2l0IDxmZXJydWgu eWlnaXRAaW50ZWwuY29tPiANClNlbnQ6IFR1ZXNkYXksIDI2IEphbnVhcnkgMjAyMSAyMDoyNw0K VG86IExpcm9uIEhpbWkgPGxpcm9uaEBtYXJ2ZWxsLmNvbT47IEplcmluIEphY29iIEtvbGxhbnVr a2FyYW4gPGplcmluakBtYXJ2ZWxsLmNvbT4NCkNjOiBkZXZAZHBkay5vcmc7IFl1cmkgQ2hpcGNo ZXYgPHl1cmljQG1hcnZlbGwuY29tPg0KU3ViamVjdDogW0VYVF0gUmU6IFtkcGRrLWRldl0gW1BB VENIIHYyIDA4LzM3XSBuZXQvbXZwcDI6IGV4dGVuZCB4c3RhdHMgc3VwcG9ydA0KDQpFeHRlcm5h bCBFbWFpbA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpPbiAxLzIyLzIwMjEgNzoxOCBQTSwgbGlyb25oQG1h cnZlbGwuY29tIHdyb3RlOg0KPiBGcm9tOiBZdXJpIENoaXBjaGV2IDx5dXJpY0BtYXJ2ZWxsLmNv bT4NCj4gDQo+IEFkZCB4c3RhdHNfYnlfaWQgY2FsbGJhY2tzDQo+IA0KPiBTaWduZWQtb2ZmLWJ5 OiBZdXJpIENoaXBjaGV2IDx5dXJpY0BtYXJ2ZWxsLmNvbT4NCj4gUmV2aWV3ZWQtYnk6IExpcm9u IEhpbWkgPGxpcm9uaEBtYXJ2ZWxsLmNvbT4NCj4gLS0tDQo+ICAgZHJpdmVycy9uZXQvbXZwcDIv bXJ2bF9ldGhkZXYuYyB8IDk4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPiAg IDEgZmlsZSBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPiANCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L212cHAyL21ydmxfZXRoZGV2LmMgDQo+IGIvZHJpdmVy cy9uZXQvbXZwcDIvbXJ2bF9ldGhkZXYuYyBpbmRleCBlNGVjMzQzZDUuLmJhMTg4MjI2NiAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbXZwcDIvbXJ2bF9ldGhkZXYuYw0KPiArKysgYi9kcml2 ZXJzL25ldC9tdnBwMi9tcnZsX2V0aGRldi5jDQo+IEBAIC0xNzMsNiArMTczLDggQEAgc3RhdGlj IHN0cnVjdCB7DQo+ICAgCU1SVkxfWFNUQVRTX1RCTF9FTlRSWSh0eF9lcnJvcnMpDQo+ICAgfTsN Cj4gICANCj4gKyNkZWZpbmUgTVJWTF9OVU1fWFNUQVRTIFJURV9ESU0obXJ2bF94c3RhdHNfdGJs KQ0KPiArDQo+ICAgc3RhdGljIGlubGluZSB2b2lkDQo+ICAgbXJ2bF9maWxsX3NoYWRvd3Eoc3Ry dWN0IG1ydmxfc2hhZG93X3R4cSAqc3EsIHN0cnVjdCBydGVfbWJ1ZiAqYnVmKQ0KPiAgIHsNCj4g QEAgLTEzNzYsNyArMTM3OCw3IEBAIG1ydmxfeHN0YXRzX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldiwNCj4gICAJCXJldHVybiAwOw0KPiAgIA0KPiAgIAlwcDJfcHBpb19nZXRfc3RhdGlzdGlj cyhwcml2LT5wcGlvLCAmcHBpb19zdGF0cywgMCk7DQo+IC0JZm9yIChpID0gMDsgaSA8IG4gJiYg aSA8IFJURV9ESU0obXJ2bF94c3RhdHNfdGJsKTsgaSsrKSB7DQo+ICsJZm9yIChpID0gMDsgaSA8 IG4gJiYgaSA8IE1SVkxfTlVNX1hTVEFUUzsgaSsrKSB7DQo+ICAgCQl1aW50NjRfdCB2YWw7DQo+ ICAgDQo+ICAgCQlpZiAobXJ2bF94c3RhdHNfdGJsW2ldLnNpemUgPT0gc2l6ZW9mKHVpbnQzMl90 KSkgQEAgLTE0MzAsOSANCj4gKzE0MzIsOSBAQCBtcnZsX3hzdGF0c19nZXRfbmFtZXMoc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYgX19ydGVfdW51c2VkLA0KPiAgIAl1bnNpZ25lZCBpbnQgaTsNCj4g ICANCj4gICAJaWYgKCF4c3RhdHNfbmFtZXMpDQo+IC0JCXJldHVybiBSVEVfRElNKG1ydmxfeHN0 YXRzX3RibCk7DQo+ICsJCXJldHVybiBNUlZMX05VTV9YU1RBVFM7DQo+ICAgDQo+IC0JZm9yIChp ID0gMDsgaSA8IHNpemUgJiYgaSA8IFJURV9ESU0obXJ2bF94c3RhdHNfdGJsKTsgaSsrKQ0KPiAr CWZvciAoaSA9IDA7IGkgPCBzaXplICYmIGkgPCBNUlZMX05VTV9YU1RBVFM7IGkrKykNCj4gICAJ CXN0cmxjcHkoeHN0YXRzX25hbWVzW2ldLm5hbWUsIG1ydmxfeHN0YXRzX3RibFtpXS5uYW1lLA0K PiAgIAkJCVJURV9FVEhfWFNUQVRTX05BTUVfU0laRSk7DQo+ICAgDQo+IEBAIC0yMDE1LDYgKzIw MTcsOTQgQEAgbXJ2bF9ldGhfZmlsdGVyX2N0cmwoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYgX19y dGVfdW51c2VkLA0KPiAgIAl9DQo+ICAgfQ0KPiAgIA0KPiArLyoqDQo+ICsgKiBEUERLIGNhbGxi YWNrIHRvIGdldCB4c3RhdHMgYnkgaWQuDQo+ICsgKg0KPiArICogQHBhcmFtIGRldg0KPiArICog ICBQb2ludGVyIHRvIHRoZSBkZXZpY2Ugc3RydWN0dXJlLg0KPiArICogQHBhcmFtIGlkcw0KPiAr ICogICBQb2ludGVyIHRvIHRoZSBpZHMgdGFibGUuDQo+ICsgKiBAcGFyYW0gdmFsdWVzDQo+ICsg KiAgIFBvaW50ZXIgdG8gdGhlIHZhbHVlcyB0YWJsZS4NCj4gKyAqIEBwYXJhbSBuDQo+ICsgKiAg IFZhbHVlcyB0YWJsZSBzaXplLg0KPiArICogQHJldHVybnMNCj4gKyAqICAgTnVtYmVyIG9mIHJl YWQgdmFsdWVzLCBuZWdhdGl2ZSB2YWx1ZSBvdGhlcndpc2UuDQo+ICsgKi8NCj4gK3N0YXRpYyBp bnQNCj4gK21ydmxfeHN0YXRzX2dldF9ieV9pZChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgY29u c3QgdWludDY0X3QgKmlkcywNCj4gKwkJICAgICAgdWludDY0X3QgKnZhbHVlcywgdW5zaWduZWQg aW50IG4pIHsNCj4gKwlzdHJ1Y3QgcnRlX2V0aF94c3RhdCB4c3RhdHNbTVJWTF9OVU1fWFNUQVRT XTsNCj4gKwl1aW50MTZfdCBpOw0KPiArDQo+ICsJaWYgKG4gPCBNUlZMX05VTV9YU1RBVFMgJiYg aWRzID09IE5VTEwpDQo+ICsJCXJldHVybiBNUlZMX05VTV9YU1RBVFM7DQo+ICsNCj4gKwlpZiAo biA+IE1SVkxfTlVNX1hTVEFUUykNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQoNCldoeSAnbiA+IE1S VkxfTlVNX1hTVEFUUycgaXMgYW4gZXJyb3I/IEkgYW0gbm90IGF3YXJlIG9mIHRoaXMga2luZCBv ZiByZXN0cmljdGlvbiwgY2FuIHlvdSBwbGVhc2UgcG9pbnQgaWYgSSBhbSBtaXNzaW5nIGl0Lg0K DQo+ICsNCj4gKwlpZiAodmFsdWVzID09IE5VTEwpDQo+ICsJCXJldHVybiAtRU5PTUVNOw0KPiAr DQo+ICsJbXJ2bF94c3RhdHNfZ2V0KGRldiwgeHN0YXRzLCBuKTsNCj4gKw0KDQpXaGF0IGlmICdu JyBpcyBhIHNtYWxsIG51bWJlciwgbGlrZSBpbiBhIGNhc2Ugb25seSBzaW5nbGUgaWQgaXMgcmVx dWVzdGVkLCBzbyBuPT0xLCB3aWxsIGFib3ZlIHdvcms/DQoNCk92ZXJhbGwgdGhlcmUgaXMgZXRo ZGV2IGxldmVsIGltcGxlbWVudGF0aW9uIG9mICJfYnlfaWQiIEFQSXMsIGlmIGRyaXZlciBoYXMg Jy54c3RhdHNfZ2V0JyAmICcueHN0YXRzX2dldF9uYW1lcycgaW1wbGVtZW50ZWQuDQpVbmxlc3Mg ZHJpdmVyIGhhcyBtb3JlIHBlcmZvcm1hbnQgd2F5IHRvIGdldCB0aGVzZSBpZHMsIEkgc3VnZ2Vz dCB1c2luZyB0aGUgZXRoZGV2IGxheWVyIG9uZXMsIGFuZCBkcm9wIHRoZXNlLg0KW0wuSC5dIG1p c3NlZCB0aGF0LiBJbiB0aGF0IGNhc2UgSSB3aWxsIGRyb3AgdGhpcyBwYXRjaCBpbiB2Mw0KDQo+ ICsJZm9yIChpID0gMDsgaSA8IE1SVkxfTlVNX1hTVEFUUzsgaSsrKSB7DQo+ICsJCWlmIChpZHNb aV0gPj0gTVJWTF9OVU1fWFNUQVRTKSB7DQo+ICsJCQlNUlZMX0xPRyhFUlIsICJpZCB2YWx1ZSBp cyBub3QgdmFsaWRcbiIpOw0KPiArCQkJcmV0dXJuIC1FSU5WQUw7DQo+ICsJCX0NCj4gKwkJdmFs dWVzW2ldID0geHN0YXRzW2lkc1tpXV0udmFsdWU7DQo+ICsJfQ0KDQpXaHkgdGhpcyBsb29wIGdv ZXMgdXAgdG8gJ01SVkxfTlVNX1hTVEFUUycsIGRvZXMgaXQgYXNzdW1lcyAibiA9PSBNUlZMX05V TV9YU1RBVFMiLCBpZiBzbyB0aGlzIGFzc3VtcHRpb24gY2FuIGJlIHdyb25nLg0KDQo+ICsNCj4g KwlyZXR1cm4gbjsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgKiBEUERLIGNhbGxiYWNrIHRvIGdl dCB4c3RhdHMgbmFtZXMgYnkgaWRzLg0KPiArICoNCj4gKyAqIEBwYXJhbSBkZXYNCj4gKyAqICAg UG9pbnRlciB0byB0aGUgZGV2aWNlIHN0cnVjdHVyZS4NCj4gKyAqIEBwYXJhbSB4c3RhdHNfbmFt ZXMNCj4gKyAqICAgUG9pbnRlciB0byB0YWJsZSB3aXRoIHhzdGF0cyBuYW1lcy4NCj4gKyAqIEBw YXJhbSBpZHMNCj4gKyAqICAgUG9pbnRlciB0byB0YWJsZSB3aXRoIGlkcy4NCj4gKyAqIEBwYXJh bSBzaXplDQo+ICsgKiAgIFhzdGF0cyBuYW1lcyB0YWJsZSBzaXplLg0KPiArICogQHJldHVybnMN Cj4gKyAqICAgTnVtYmVyIG9mIG5hbWVzIHJlYWQsIG5lZ2F0aXZlIHZhbHVlIG90aGVyd2lzZS4N Cj4gKyAqLw0KPiArc3RhdGljIGludA0KPiArbXJ2bF94c3RhdHNfZ2V0X25hbWVzX2J5X2lkKHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiArCQkJICAgIHN0cnVjdCBydGVfZXRoX3hzdGF0X25h bWUgKnhzdGF0c19uYW1lcywNCj4gKwkJCSAgICBjb25zdCB1aW50NjRfdCAqaWRzLCB1bnNpZ25l ZCBpbnQgc2l6ZSkgew0KPiArCXN0cnVjdCBydGVfZXRoX3hzdGF0X25hbWUgbmFtZXNbTVJWTF9O VU1fWFNUQVRTXTsNCj4gKwl1aW50MTZfdCBpOw0KPiArDQo+ICsJaWYgKHNpemUgPCBNUlZMX05V TV9YU1RBVFMgJiYgaWRzID09IE5VTEwpDQo+ICsJCXJldHVybiBNUlZMX05VTV9YU1RBVFM7DQo+ ICsNCj4gKwlpZiAoc2l6ZSA+IE1SVkxfTlVNX1hTVEFUUykNCj4gKwkJcmV0dXJuIC1FSU5WQUw7 DQo+ICsNCj4gKwlpZiAoeHN0YXRzX25hbWVzID09IE5VTEwpDQo+ICsJCXJldHVybiAtRU5PTUVN Ow0KPiArDQo+ICsJbXJ2bF94c3RhdHNfZ2V0X25hbWVzKGRldiwgbmFtZXMsIHNpemUpOw0KPiAr DQo+ICsJZm9yIChpID0gMDsgaSA8IE1SVkxfTlVNX1hTVEFUUzsgaSsrKSB7DQo+ICsJCWlmIChp ZHNbaV0gPj0gTVJWTF9OVU1fWFNUQVRTKSB7DQo+ICsJCQlNUlZMX0xPRyhFUlIsICJpZCB2YWx1 ZSBpcyBub3QgdmFsaWQiKTsNCj4gKwkJCXJldHVybiAtRUlOVkFMOw0KPiArCQl9DQo+ICsJCXN0 cm5jcHkoeHN0YXRzX25hbWVzW2ldLm5hbWUsIG5hbWVzW2lkc1tpXV0ubmFtZSwNCj4gKwkJCXNp emVvZih4c3RhdHNfbmFtZXNbaV0ubmFtZSkpOw0KPiArCX0NCj4gKw0KPiArCXJldHVybiBzaXpl Ow0KPiArfQ0KPiArDQo+ICAgLyoqDQo+ICAgICogRFBESyBjYWxsYmFjayB0byBnZXQgcnRlX210 ciBjYWxsYmFja3MuDQo+ICAgICoNCj4gQEAgLTIwOTAsNiArMjE4MCw4IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZXRoX2Rldl9vcHMgbXJ2bF9vcHMgPSB7DQo+ICAgCS5yc3NfaGFzaF91cGRhdGUg PSBtcnZsX3Jzc19oYXNoX3VwZGF0ZSwNCj4gICAJLnJzc19oYXNoX2NvbmZfZ2V0ID0gbXJ2bF9y c3NfaGFzaF9jb25mX2dldCwNCj4gICAJLmZpbHRlcl9jdHJsID0gbXJ2bF9ldGhfZmlsdGVyX2N0 cmwsDQo+ICsJLnhzdGF0c19nZXRfYnlfaWQgPSBtcnZsX3hzdGF0c19nZXRfYnlfaWQsDQo+ICsJ LnhzdGF0c19nZXRfbmFtZXNfYnlfaWQgPSBtcnZsX3hzdGF0c19nZXRfbmFtZXNfYnlfaWQsDQo+ ICAgCS5tdHJfb3BzX2dldCA9IG1ydmxfbXRyX29wc19nZXQsDQo+ICAgCS50bV9vcHNfZ2V0ID0g bXJ2bF90bV9vcHNfZ2V0LA0KPiAgIH07DQo+IA0KDQo=