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 DAC58A04B1; Wed, 4 Nov 2020 14:28:22 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 00F4CC91A; Wed, 4 Nov 2020 14:28:21 +0100 (CET) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by dpdk.org (Postfix) with ESMTP id 0C922C918 for ; Wed, 4 Nov 2020 14:28:17 +0100 (CET) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Wed, 04 Nov 2020 05:28:15 -0800 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 4 Nov 2020 13:28:13 +0000 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (104.47.38.53) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Wed, 4 Nov 2020 13:28:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fbTn2bRil/lKgWzF9wFAtX9xy5IIcm7rXKyi2VLKhFBzG8B2djwnH3KNcRb7CmAk1R2DlFcFangLAIYH6RG0EVC2K24JwDCoIskLQNJbL7JAowt/cwUK5x4m9rQgOEokb3o54csrw6+QpztgvjjvATjKG2IxWYvwlA0GvHYmIWbH81EitQ6H80vA6Cy/1r3MgmrAI/BSuqf3aGV5ia3FejM1QIX6ldXukACUnjOW4OfyFr2g0vZ0YtHE1Bj5DQhxic2SOKxaPB3IFdHLQqKx0e2q1FDZyl/6NMUAsPhBjVksY1/nbi/0q/1j9AqEzurYAUxygkrhIHWhj1lBarJsqw== 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=1FLkqeDvl8tjkH8uOo+s4Sw8b3L6pL8QEmRc8nPVKKE=; b=GL76a84CcT6tP9C7cpqAg2aMD45C7M1MvO25NZuy2nPgKvKrT1I9xpCVoA3Ni2vgeGiXNzdT1sbkcvO5EgX0ccKHauf6Bg6MrIuPq9fMq4jxnZ2m6gkfn2F26atI4gHRO7eMjQRftbz+/T/KNtxcKCy3V+eIMkQX7bXT1Q9W6gOPHU4vhjt7etBwYWPdgb432Pe5NiHzZ6nWLKi91XjDwj48uvW7iY5kWdedxjVwartjJcGFYZua2Si1Wh8nduy/cJaKJoGMtO2l1uLQ3qRuYDhqo7G2Zrid1bbEOZ0B9d6JPMJOT+jMALLjSmEgr0OUJW1lfD+uHBjmAUatxky1Rw== 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 MW2PR12MB2492.namprd12.prod.outlook.com (52.132.180.19) by MWHPR1201MB0192.namprd12.prod.outlook.com (10.174.101.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.28; Wed, 4 Nov 2020 13:28:09 +0000 Received: from MW2PR12MB2492.namprd12.prod.outlook.com ([fe80::39f3:2b4b:6018:4b88]) by MW2PR12MB2492.namprd12.prod.outlook.com ([fe80::39f3:2b4b:6018:4b88%7]) with mapi id 15.20.3499.032; Wed, 4 Nov 2020 13:28:09 +0000 From: Matan Azrad To: Ferruh Yigit , Wenzhuo Lu , Beilei Xing , Bernard Iremonger , Ori Kam CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] app/testpmd: support age shared action context Thread-Index: AQHWsHdFjLECRVvap0yOJwcbi7lIwam1MQwAgADLoLCAAfbDAIAABzww Date: Wed, 4 Nov 2020 13:28:09 +0000 Message-ID: References: <1604252927-213452-1-git-send-email-matan@nvidia.com> <9183aeb8-240f-ee83-8997-7628cc73077c@intel.com> <0af253e4-74cf-61ab-124e-6d873474a113@intel.com> In-Reply-To: <0af253e4-74cf-61ab-124e-6d873474a113@intel.com> Accept-Language: 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=nvidia.com; x-originating-ip: [77.126.110.58] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 27350448-e7e7-4ff2-0314-08d880c578a2 x-ms-traffictypediagnostic: MWHPR1201MB0192: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2Q1YUQeuvewLGMrdi0xibyxv3ldaly94LivPBz4sH43IFej2uYoYPuPeibTih/3jzlfsJ51aNv5oBLWF6G9fMlK/4pJMsmMyV3Sc8DZDI0hWO/CiMBG2ybMJ/Cem9CmitJW5uXa2nwwTiRiCknefWOnE9Og//Rd5Siry/gY04XGv0C406zYXKimSc0wlMsosCXqHodTvq589CmSeat03MwrGGHz4TvuYnVvI6RViQOarIY+ohKIN5ZgaEXquewcFCqRKlMu9T+8/LMQx3wllUyT3qqMSeDuRFyZEl4vVYX08KRmxSgA8IPOmIYCWTWNGUaUvxUBc94WPWgqa6YIIog== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB2492.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(136003)(396003)(366004)(39860400002)(33656002)(64756008)(5660300002)(66476007)(26005)(66556008)(186003)(6506007)(66946007)(478600001)(66446008)(76116006)(53546011)(52536014)(110136005)(316002)(2906002)(71200400001)(83380400001)(8676002)(8936002)(86362001)(9686003)(7696005)(55016002)(6636002)(4326008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 9+VUsvZm7EXLg1OYVQzmljVm27YIchw4AmnCBQ8by3l2bSEl80B1PeOFEGiUJRwjVkpYGrTLAZnmpL1mA3bUDq98R3IUwYob5r7ZSudqReCUrYJ+4XGusnAYlSgXNpHT0IbFuhGz15jTN+hNV+Z8b7kd1LDzjuKVa95IaWUPxkRiSDeQ0pawZ5WOidslGgYM39m3Ikx71H612xgaD+Wi96aCXFnMqvPzB2h1pSkMy8cv7SnX7uPBlrIm1yoV+IJ85IY5OxHWg5xUHKAYWx249nCQYYn+OQ2Qdzu315/D0CjWuaAtScDQrSKZ1th3Nq29wKd4rdmjQwj2/Itc/FANxreX0Vmj7sX68JUG7pJPFSAvlIux/0A3vAiddQ0x4Y9m4qaqvNQXrH/rIGf/g+4G6INK3hpZDgnwB7odvxw4wArmkUYlrvn4yef2FjLbOp+LVQYIIl04ScORUrw2xqzU5RK1cPaEgC+/NeWbSdTcMN6zTV8xtcPZFu1ENSGozFk+RfA12+ktIMYEiyJFXVY3grUp8ekxAIYdpzLB0hBogIrd7LbDbEx3fyHjA0YpuXVvcTCXJOcSSShOspwAvRxi3AYigb3arM3CqGGQVy2dpGYne5m8jydfeN7viu4c9BZlr8I3mcTI6gmaOD4HhwQ+NQ== 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: MW2PR12MB2492.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27350448-e7e7-4ff2-0314-08d880c578a2 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2020 13:28:09.2542 (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: uRCk2U6PxxFl83izzT0xFKGJ/pf3x5Mkgkx4VIL/QY4bCWoIK31upaQJX4JPofNpoz7j1oidj3G7lRXyldHQ/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1201MB0192 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1604496495; bh=1FLkqeDvl8tjkH8uOo+s4Sw8b3L6pL8QEmRc8nPVKKE=; 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-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=kcAFZeJkY8n2JDFPxOMG88Kbh6l7v8Tq+IvGV8jUwxc6czsOBkIFjQMt6JkSegUk7 IZVZtjqH7vmVfGkvMAUgh4XQ7RgxOI9GZbvjoRW4O2Zy6oS+5UigRCtodaSMaCRo1m Nkox/0JKxrlE1jRtXPMXkOVnx47AEjQkZLMNQwASf39kmh8DYA3NwDlOgQ8xYH73+T ao/YCPifvHdNHYZsd4TxH9SRTMJQZSTHmK1WEPZhPeQF+p18g8Tg3xwKC4YwaJLHzP 7FBmGxcA+AtqDW9HUiaZG8GI6Jt0KflRvOh8T0JFEdCF4pD03E9XhGvpCy2dKJQgw9 lY9p/57cvLgrA== Subject: Re: [dpdk-dev] [PATCH] app/testpmd: support age shared action context 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" DQoNCiBGcm9tOiBGZXJydWggWWlnaXQNCj4gT24gMTEvMy8yMDIwIDc6MzMgQU0sIE1hdGFuIEF6 cmFkIHdyb3RlOg0KPiA+IEhpIEZlcnJ1aA0KPiA+DQo+ID4gVGhhbmsgeW91IGZvciB0aGUgZmFz dCByZXZpZXcuDQo+ID4gUGxlYXNlIHNlZSBpbmxpbmUNCj4gPg0KPiA+IEZyb206IEZlcnJ1aCBZ aWdpdA0KPiA+PiBPbiAxMS8xLzIwMjAgNTo0OCBQTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4+ PiBXaGVuIGFuIGFnZSBhY3Rpb24gYmVjb21lcyBhZ2VkLW91dCB0aGUgcnRlX2Zsb3dfZ2V0X2Fn ZWRfZmxvd3MNCj4gPj4+IHNob3VsZCByZXR1cm4gdGhlIGFjdGlvbiBjb250ZXh0IHN1cHBsaWVk IGJ5IHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4NCj4gPj4+DQo+ID4+PiBJbiBjYXNlIHRo ZSBhZ2UgYWN0aW9uIGNyZWF0ZWQgYnkgdGhlIHNoYXJlZCBhY3Rpb24gQVBJLCB0aGUgc2hhcmVk DQo+ID4+PiBhY3Rpb24gY29udGV4dCBvZiB0aGUgVGVzdHBtZCBhcHBsaWNhdGlvbiB3YXMgbm90 IHNldC4NCj4gPj4+DQo+ID4+PiBJbiBhZGRpdGlvbiwgdGhlIGFwcGxpY2F0aW9uIGhhbmRsZXIg b2YgdGhlIGNvbnRleHRzIHJldHVybmVkIGJ5IHRoZQ0KPiA+Pj4gcnRlX2Zsb3dfZ2V0X2FnZWRf Zmxvd3MgQVBJIGRpZG4ndCBjb25zaWRlciB0aGUgZmFjdCB0aGF0IHRoZSBhY3Rpb24NCj4gPj4+ IGNvdWxkIGJlIHNldCBieSB0aGUgc2hhcmVkIGFjdGlvbiBBUEkgYW5kIGNvbnNpZGVyZWQgaXQg YXMgcmVndWxhcg0KPiA+Pj4gZmxvdyBjb250ZXh0Lg0KPiA+Pj4NCj4gPj4+IFRoaXMgY2F1c2Vk IGEgY3Jhc2ggaW4gVGVzdHBtZCB3aGVuIHRoZSBjb250ZXh0IGlzIHBhcnNlZC4NCj4gPj4+DQo+ ID4+PiBUaGlzIHBhdGNoIHNldCBjb250ZXh0IHR5cGUgaW4gdGhlIGZsb3cgYW5kIHNoYXJlZCBh Y3Rpb24gY29udGV4dA0KPiA+Pj4gYW5kIHVzZXMgaXQgdG8gcGFyc2UgdGhlIGFnZWQtb3V0IGNv bnRleHRzIGNvcnJlY3RseS4NCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBNYXRhbiBBenJh ZCA8bWF0YW5AbnZpZGlhLmNvbT4NCj4gPj4+IEFja2VkLWJ5OiBEZWtlbCBQZWxlZCA8ZGVrZWxw QG52aWRpYS5jb20+DQo+ID4+PiAtLS0NCj4gPj4+ICAgIGFwcC90ZXN0LXBtZC9jb25maWcuYyAg fCA1Nw0KPiA+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0NCj4g Pj4gLS0tLS0tLS0tDQo+ID4+PiAgICBhcHAvdGVzdC1wbWQvdGVzdHBtZC5oIHwgIDcgKysrKysr Kw0KPiA+Pj4gICAgMiBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlv bnMoLSkNCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtcG1kL2NvbmZpZy5jIGIv YXBwL3Rlc3QtcG1kL2NvbmZpZy5jIGluZGV4DQo+ID4+PiBlMDIwM2YwLi4zNTgxZjNkIDEwMDY0 NA0KPiA+Pj4gLS0tIGEvYXBwL3Rlc3QtcG1kL2NvbmZpZy5jDQo+ID4+PiArKysgYi9hcHAvdGVz dC1wbWQvY29uZmlnLmMNCj4gPj4+IEBAIC0xNjY1LDggKzE2NjUsMTAgQEAgdm9pZCBwb3J0X2Zs b3dfdHVubmVsX2NyZWF0ZShwb3J0aWRfdA0KPiA+Pj4gcG9ydF9pZCwNCj4gPj4gY29uc3Qgc3Ry dWN0IHR1bm5lbF9vcHMgKm9wcykNCj4gPj4+ICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOw0K PiA+Pj4gICAgICAgIH0NCj4gPj4+ICAgICAgICBpZiAocnRlX2Zsb3dfY29udihSVEVfRkxPV19D T05WX09QX1JVTEUsICZwZi0+cnVsZSwgcmV0LCAmcnVsZSwNCj4gPj4+IC0gICAgICAgICAgICAg ICAgICAgICAgIGVycm9yKSA+PSAwKQ0KPiA+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgZXJy b3IpID49IDApIHsNCj4gPj4+ICsgICAgICAgICAgICAgcGYtPmN0eXBlID0gQ09OVEVYVF9UWVBF X0ZMT1c7DQo+ID4+PiAgICAgICAgICAgICAgICByZXR1cm4gcGY7DQo+ID4+PiArICAgICB9DQo+ ID4+PiAgICAgICAgZnJlZShwZik7DQo+ID4+PiAgICAgICAgcmV0dXJuIE5VTEw7DQo+ID4+PiAg ICB9DQo+ID4+PiBAQCAtMTgzMSw2ICsxODMzLDcgQEAgdm9pZCBwb3J0X2Zsb3dfdHVubmVsX2Ny ZWF0ZShwb3J0aWRfdCBwb3J0X2lkLA0KPiA+PiBjb25zdCBzdHJ1Y3QgdHVubmVsX29wcyAqb3Bz KQ0KPiA+Pj4gICAgICAgIH0NCj4gPj4+ICAgICAgICBwc2EtPm5leHQgPSAqcHBzYTsNCj4gPj4+ ICAgICAgICBwc2EtPmlkID0gaWQ7DQo+ID4+PiArICAgICBwc2EtPmN0eXBlID0gQ09OVEVYVF9U WVBFX1NIQVJFRF9BQ1RJT047DQo+ID4+PiAgICAgICAgKnBwc2EgPSBwc2E7DQo+ID4+PiAgICAg ICAgKmFjdGlvbiA9IHBzYTsNCj4gPj4+ICAgICAgICByZXR1cm4gMDsNCj4gPj4+IEBAIC0xODQ5 LDYgKzE4NTIsMTIgQEAgdm9pZCBwb3J0X2Zsb3dfdHVubmVsX2NyZWF0ZShwb3J0aWRfdA0KPiA+ Pj4gcG9ydF9pZCwNCj4gPj4gY29uc3Qgc3RydWN0IHR1bm5lbF9vcHMgKm9wcykNCj4gPj4+ICAg ICAgICByZXQgPSBhY3Rpb25fYWxsb2MocG9ydF9pZCwgaWQsICZwc2EpOw0KPiA+Pj4gICAgICAg IGlmIChyZXQpDQo+ID4+PiAgICAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPiA+Pj4gKyAgICAg aWYgKGFjdGlvbi0+dHlwZSA9PSBSVEVfRkxPV19BQ1RJT05fVFlQRV9BR0UpIHsNCj4gPj4+ICsg ICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9hZ2UgKmFnZSA9DQo+ID4+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSh1aW50cHRyX3QpKGFjdGlvbi0+Y29u Zik7DQo+ID4+PiArDQo+ID4+PiArICAgICAgICAgICAgIGFnZS0+Y29udGV4dCA9IHBzYTsNCj4g Pj4+ICsgICAgIH0NCj4gPj4NCj4gPj4gVGhlIHBvcnQgZmxvdyBpcyB1c2luZyAndXBkYXRlX2Fn ZV9hY3Rpb25fY29udGV4dCgpJyBmdW5jdGlvbiwgY2FuDQo+ID4+IHNhbWUgZnVuY3Rpb24gYmUg dXRpbGl6ZWQgdG8gdXBkYXRlIGFnZSBjb250ZXh0IGZvciBzaGFyZWQgYWN0aW9uIHRvbz8NCj4g Pg0KPiA+IEZvciB1cGRhdGluZyBmbG93IGNvbnRleHQsIHRoZSBjb2RlIGl0ZXJhdGVzIGFsbCBh Y3Rpb25zIHRvIGZpbmQgdGhlIGFnZSBhY3Rpb24gLQ0KPiBzbyBpdCB3b3J0aCB0byBjYWxsIGRl ZGljYXRlIGZ1bmN0aW9uLg0KPiA+IEZvciB1cGRhdGluZyAgc2hhcmVkIGFjdGlvbiBjb250ZXh0 IC0gaXQgYSBkaXJlY3QgYWNjZXNzLg0KPiA+IFNvLCB0aGV5IGhhdmUgZGlmZmVyZW50IHNlYXJj aCBtZXRob2QuDQo+ID4NCj4gDQo+IEp1c3QgdG8gcmVkdWNlIHRoZSBhZ2UgYWN0aW9uIHJlbGF0 ZWQgY2h1cm4gaW4gdGhlIGNvZGUsIGlmIGl0IGNhbiBiZSBhYnN0cmFjdGVkDQo+IGluIHRvIGEg c2luZ2xlIGZ1bmN0aW9uIEkgcHJlZmVyIGl0LCBpZiB0aGF0IGRvZXNuJ3QgbWFrZSBzZW5zZSBp dCBpcyBPSy4NCj4gDQo+ID4NCj4gPj4NCj4gPj4gYnR3LCBub3Qgc3VyZSB3aHkgJ3VwZGF0ZV9h Z2VfYWN0aW9uX2NvbnRleHQoKScgaXMgbm90IHN0YXRpYywgaWYgeW91DQo+ID4+IHdpbGwgdG91 Y2ggaXQgY2FuIHlvdSBwbGVhc2UgbWFrZSBpdCBzdGF0aWMgZnVuY3Rpb24/DQo+ID4+DQo+ID4+ IEFuZCBvdmVyYWxsIHRoaXMgY29udGV4dCBzZXR0aW5nIGZvciB0aGUgYWdlIGFjdGlvbiBpcyBy ZXF1aXJpbmcgdGhlDQo+ID4+IHNwZWNpYWwgY29uZGl0aW9ucyBpbiB0aGUgZmxvdyBjcmVhdGUg cGF0aCwgY2FuIHlvdSBwbGVhc2UgY2hlY2sgaWYNCj4gPj4gaXQgY2FuIGJlIG1vdmVkIHRvICdj bWRsaW5lX2Zsb3cuYycgZm9yIGFnZSBwYXJzaW5nIGNvZGUgc29tZWhvdz8NCj4gPj4NCj4gPj4+ ICAgICAgICAvKiBQb2lzb25pbmcgdG8gbWFrZSBzdXJlIFBNRHMgdXBkYXRlIGl0IGluIGNhc2Ug b2YgZXJyb3IuICovDQo+ID4+PiAgICAgICAgbWVtc2V0KCZlcnJvciwgMHgyMiwgc2l6ZW9mKGVy cm9yKSk7DQo+ID4+PiAgICAgICAgcHNhLT5hY3Rpb24gPSBydGVfZmxvd19zaGFyZWRfYWN0aW9u X2NyZWF0ZShwb3J0X2lkLCBjb25mLA0KPiA+Pj4gYWN0aW9uLCBAQCAtMjM3OSw3ICsyMzg4LDEw IEBAIHN0cnVjdCBydGVfZmxvd19zaGFyZWRfYWN0aW9uICoNCj4gPj4+ICAgICAgICB2b2lkICoq Y29udGV4dHM7DQo+ID4+PiAgICAgICAgaW50IG5iX2NvbnRleHQsIHRvdGFsID0gMCwgaWR4Ow0K PiA+Pj4gICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciBlcnJvcjsNCj4gPj4+IC0gICAgIHN0 cnVjdCBwb3J0X2Zsb3cgKnBmOw0KPiA+Pj4gKyAgICAgdW5pb24gew0KPiA+Pj4gKyAgICAgICAg ICAgICBzdHJ1Y3QgcG9ydF9mbG93ICpwZjsNCj4gPj4+ICsgICAgICAgICAgICAgc3RydWN0IHBv cnRfc2hhcmVkX2FjdGlvbiAqcHNhOw0KPiA+Pj4gKyAgICAgfSBjdHg7DQo+ID4+Pg0KPiA+Pj4g ICAgICAgIGlmIChwb3J0X2lkX2lzX2ludmFsaWQocG9ydF9pZCwgRU5BQkxFRF9XQVJOKSB8fA0K PiA+Pj4gICAgICAgICAgICBwb3J0X2lkID09IChwb3J0aWRfdClSVEVfUE9SVF9BTEwpIEBAIC0y Mzk3LDcgKzI0MDksNyBAQA0KPiA+Pj4gc3RydWN0IHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb24gKg0K PiA+Pj4gICAgICAgICAgICAgICAgcHJpbnRmKCJDYW5ub3QgYWxsb2NhdGUgY29udGV4dHMgZm9y IGFnZWQgZmxvd1xuIik7DQo+ID4+PiAgICAgICAgICAgICAgICByZXR1cm47DQo+ID4+PiAgICAg ICAgfQ0KPiA+Pj4gLSAgICAgcHJpbnRmKCJJRFx0R3JvdXBcdFByaW9cdEF0dHJcbiIpOw0KPiA+ Pj4gKyAgICAgcHJpbnRmKCIlLTIwc1x0SURcdEdyb3VwXHRQcmlvXHRBdHRyXG4iLCAiVHlwZSIp Ow0KPiA+Pj4gICAgICAgIG5iX2NvbnRleHQgPSBydGVfZmxvd19nZXRfYWdlZF9mbG93cyhwb3J0 X2lkLCBjb250ZXh0cywgdG90YWwsDQo+ICZlcnJvcik7DQo+ID4+PiAgICAgICAgaWYgKG5iX2Nv bnRleHQgIT0gdG90YWwpIHsNCj4gPj4+ICAgICAgICAgICAgICAgIHByaW50ZigiUG9ydDolZCBn ZXQgYWdlZCBmbG93cyBjb3VudCglZCkgIT0NCj4gPj4+IHRvdGFsKCVkKVxuIiwgQEAgLTI0MDYs MTggKzI0MTgsMzEgQEAgc3RydWN0IHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb24gKg0KPiA+Pj4gICAg ICAgICAgICAgICAgcmV0dXJuOw0KPiA+Pj4gICAgICAgIH0NCj4gPj4+ICAgICAgICBmb3IgKGlk eCA9IDA7IGlkeCA8IG5iX2NvbnRleHQ7IGlkeCsrKSB7DQo+ID4+PiAtICAgICAgICAgICAgIHBm ID0gKHN0cnVjdCBwb3J0X2Zsb3cgKiljb250ZXh0c1tpZHhdOw0KPiA+Pj4gLSAgICAgICAgICAg ICBpZiAoIXBmKSB7DQo+ID4+PiArICAgICAgICAgICAgIGN0eC5wZiA9IChzdHJ1Y3QgcG9ydF9m bG93ICopY29udGV4dHNbaWR4XTsNCj4gPj4+ICsgICAgICAgICAgICAgaWYgKCFjdHgucGYpIHsN Cj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJFcnJvcjogZ2V0IE51bGwgY29u dGV4dCBpbiBwb3J0ICV1XG4iLCBwb3J0X2lkKTsNCj4gPj4+ICAgICAgICAgICAgICAgICAgICAg ICAgY29udGludWU7DQo+ID4+PiAgICAgICAgICAgICAgICB9DQo+ID4+PiAtICAgICAgICAgICAg IHByaW50ZigiJSIgUFJJdTMyICJcdCUiIFBSSXUzMiAiXHQlIiBQUkl1MzIgIlx0JWMlYyVjXHRc biIsDQo+ID4+PiAtICAgICAgICAgICAgICAgICAgICBwZi0+aWQsDQo+ID4+PiAtICAgICAgICAg ICAgICAgICAgICBwZi0+cnVsZS5hdHRyLT5ncm91cCwNCj4gPj4+IC0gICAgICAgICAgICAgICAg ICAgIHBmLT5ydWxlLmF0dHItPnByaW9yaXR5LA0KPiA+Pj4gLSAgICAgICAgICAgICAgICAgICAg cGYtPnJ1bGUuYXR0ci0+aW5ncmVzcyA/ICdpJyA6ICctJywNCj4gPj4+IC0gICAgICAgICAgICAg ICAgICAgIHBmLT5ydWxlLmF0dHItPmVncmVzcyA/ICdlJyA6ICctJywNCj4gPj4+IC0gICAgICAg ICAgICAgICAgICAgIHBmLT5ydWxlLmF0dHItPnRyYW5zZmVyID8gJ3QnIDogJy0nKTsNCj4gPj4+ ICsgICAgICAgICAgICAgc3dpdGNoIChjdHgucGYtPmN0eXBlKSB7DQo+ID4+DQo+ID4+DQo+ID4+ IEF0IHRoaXMgc3RhZ2UgeW91IGRvbid0IGtub3cgaWYgdGhlIGNvbnRleHQgaXMgJ3BmJyBvciAn cHNhJywgYnV0IHlvdQ0KPiA+PiByZWx5IHRoYXQgYm90aCBzdHJ1Y3R1cmUgZmlyc3QgZWxlbWVu dCBpcyAiZW51bSB0ZXN0cG1kX2NvbnRleHRfdHlwZSINCj4gPj4gYW5kIHRoaXMgcmVxdWlyZW1l bnQgaXMgY29tcGxldGVseSB1bmRvY3VtZW50ZWQuDQo+ID4NCj4gPiBZZXMsIHdpbGwgYWRkIGEg Y29tbWVudC4NCj4gPg0KPiA+Pg0KPiA+PiBXaHkgZG9uJ3QgY3JlYXRlIGEgY29tbW9uIGNvbnRl eHQgYW5kIHBhc3MgdGhhdCBvbmUgdGhlIHRoZSBhZ2UNCj4gPj4gYWN0aW9uIGZvciBib3RoICdw ZicgJiAncHNhJywgbGlrZQ0KPiA+Pg0KPiA+PiBzdHJ1Y3QgcG9ydF9mbG93X2FnZV9hY3Rpb25f Y29udGV4dCB7DQo+ID4+ICAgICAgIGVudW0gdGVzdHBtZF9jb250ZXh0X3R5cGUgY3R5cGU7DQo+ ID4+ICAgICAgIHVuaW9uIHsNCj4gPj4gICAgICAgICAgIHN0cnVjdCBwb3J0X2Zsb3cgKnBmOw0K PiA+PiAgICAgICAgICAgc3RydWN0IHBvcnRfc2hhcmVkX2FjdGlvbiAqcHNhOw0KPiA+PiAgICAg ICB9IGN0eDsNCj4gPj4gfTsNCj4gPg0KPiA+IFdlIGNvbnNpZGVyZWQgdGhpcyBvcHRpb24gdG9v LA0KPiA+IEl0IGxvb2tlZCB1cyBtb3JlIG9wdGltaXplZCB0byBub3QgdXRpbGl6ZSBtb3JlIG1l bW9yeSBhbmQgYWxsb2NcZnJlZSB0aW1lDQo+IGZvciBlYWNoIGFnZSBjb250ZXh0Lg0KPiA+DQo+ ID4gT25lIG1vcmUgb3B0aW9uIHdlIGNvbnNpZGVyZWQ6DQo+ID4NCj4gPiBVc2UgYWdlIGFjdGlv biBjb250ZXh0IHBvaW50ZXIgYXMgdWludDMyX3RcdWludHB0cl90IC0gdXNlIDIgYml0cyBmb3Ig dHlwZSBhbmQNCj4gb3RoZXJzIGZvciBwZi0+aWQgcHNhLT5pZC4NCj4gPiBXaGF0IGRvIHlvdSB0 aGluayBhYm91dCB0aGlzPw0KPiA+DQo+IA0KPiBXaWxsICdpZCcgYmUgZW5vdWdoPyBJIHNlZSBv dGhlciBpbmZvcm1hdGlvbiBpcyB1c2VkLCB0aG91Z2ggbm90IHN1cmUgaWYgaXQgaXMgb25seQ0K PiBmb3IgcHJpbnQuDQo+IA0KDQpGcm9tIHRoZSBpZCB3ZSBjYW4gZ2V0IHRoZSBwb2ludGVyKGFu ZCBvdGhlciBpbmZvcm1hdGlvbikgLSB0aGlzIGlzIHRoZSBzYW1lIElEIGFzIHN1cHBsaWVkIGJ5 IHRoZSBjb21tYW5kIGxpbmUgdXNlciB0byBxdWVyeVxkZXN0cm95IGFuIGV4aXN0ZWQgZmxvd3Mu DQoNCj4gSSB3aWxsIGJlIHVuZXhwZWN0ZWQgdG8gdXNlIHRoZSBwb2ludGVyIGZvciBpZCBidXQg aXQgd29ya3MsIGNhbiB5b3UgcGxlYXNlIGFkZA0KPiBlbm91Z2ggY29tbWVudCB0byBjbGFyaWZ5 IHRoZSB1c2FnZT8NCg0KSWYgeW91IG1lYW4gY29kZSBjb21tZW50LCB5ZXMgSSB3aWxsIGFkZC4N Cg0KPiA+DQo+ID4+IEkgdGhpbmsgdGhpcyBhbHNvIHByZXZlbnRzIHRvIGNvcnJ1cHQgJ3BmJyBh bmQgJ3BzYScganVzdCBmb3IgYWdlIGFjdGlvbi4NCj4gPg0KPiA+DQo+ID4+DQo+ID4+PiArICAg ICAgICAgICAgIGNhc2UgQ09OVEVYVF9UWVBFX0ZMT1c6DQo+ID4+PiArICAgICAgICAgICAgICAg ICAgICAgcHJpbnRmKCIlLTIwc1x0JSIgUFJJdTMyICJcdCUiIFBSSXUzMiAiXHQlIiBQUkl1MzIN Cj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJcdCVjJWMlY1x0XG4iLA0KPiA+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiRmxvdyIsDQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5w Zi0+aWQsDQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5wZi0+cnVsZS5h dHRyLT5ncm91cCwNCj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LnBmLT5y dWxlLmF0dHItPnByaW9yaXR5LA0KPiA+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj dHgucGYtPnJ1bGUuYXR0ci0+aW5ncmVzcyA/ICdpJyA6ICctJywNCj4gPj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3R4LnBmLT5ydWxlLmF0dHItPmVncmVzcyA/ICdlJyA6ICctJywN Cj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LnBmLT5ydWxlLmF0dHItPnRy YW5zZmVyID8gJ3QnIDogJy0nKTsNCj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICBicmVhazsN Cj4gPj4+ICsgICAgICAgICAgICAgY2FzZSBDT05URVhUX1RZUEVfU0hBUkVEX0FDVElPTjoNCj4g Pj4+ICsgICAgICAgICAgICAgICAgICAgICBwcmludGYoIiUtMjBzXHQlIiBQUkl1MzIgIlxuIiwg IlNoYXJlZCBhY3Rpb24iLA0KPiA+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgu cHNhLT5pZCk7DQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4+PiArICAg ICAgICAgICAgIGRlZmF1bHQ6DQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJF cnJvcjogaW52YWxpZCBjb250ZXh0IHR5cGUgJXVcbiIsIHBvcnRfaWQpOw0KPiA+Pj4gKyAgICAg ICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+Pj4gKyAgICAgICAgICAgICB9DQo+ID4+PiAgICAg ICAgfQ0KPiA+Pj4gICAgICAgIGlmIChkZXN0cm95KSB7DQo+ID4+PiAgICAgICAgICAgICAgICBp bnQgcmV0Ow0KPiA+Pj4gQEAgLTI0MjYsMTUgKzI0NTEsMTUgQEAgc3RydWN0IHJ0ZV9mbG93X3No YXJlZF9hY3Rpb24gKg0KPiA+Pj4gICAgICAgICAgICAgICAgdG90YWwgPSAwOw0KPiA+Pj4gICAg ICAgICAgICAgICAgcHJpbnRmKCJcbiIpOw0KPiA+Pj4gICAgICAgICAgICAgICAgZm9yIChpZHgg PSAwOyBpZHggPCBuYl9jb250ZXh0OyBpZHgrKykgew0KPiA+Pj4gLSAgICAgICAgICAgICAgICAg ICAgIHBmID0gKHN0cnVjdCBwb3J0X2Zsb3cgKiljb250ZXh0c1tpZHhdOw0KPiA+Pj4gLSAgICAg ICAgICAgICAgICAgICAgIGlmICghcGYpDQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAgY3R4 LnBmID0gKHN0cnVjdCBwb3J0X2Zsb3cgKiljb250ZXh0c1tpZHhdOw0KPiA+Pj4gKyAgICAgICAg ICAgICAgICAgICAgIGlmICghY3R4LnBmIHx8IGN0eC5wZi0+Y3R5cGUgIT0NCj4gPj4+ICsgQ09O VEVYVF9UWVBFX0ZMT1cpDQo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u dGludWU7DQo+ID4+DQo+ID4+IFdoZW4gdGhlIGNvbnRleHQgaXMgJ0NPTlRFWFRfVFlQRV9TSEFS RURfQUNUSU9OJywgd2hvIGRlc3Ryb3lzIGl0Pw0KPiA+DQo+ID4gRGVzdHJveSByZXF1ZXN0IGlz IG9wdGlvbmFsLCBJIGRpZG4ndCBhZGQgYSBzdXBwb3J0IHRvIGRlc3Ryb3kgc29tZXRoaW5nIGhl cmU6DQo+ID4gMSBvcHRpb25zIGhlcmUgaXMgdG8gc2F2ZSBhbGwgdGhlIGZsb3dzIGFzc2lnbmVk IHRvIHRoZSBhZ2Ugc2hhcmVkIGFjdGlvbiBpbnNpZGUNCj4gdGhlIHNoYXJlZCBhY3Rpb24gY29u dGV4dCBhbmQgZGVzdHJveSBhbGwgb2YgdGhlbSArIHRoZSBzaGFyZWQgYWdlZCBhY3Rpb24uDQo+ ID4gSXQgY2FuIGJlIHN0ZXAgMiBsYXRlci4NCj4gPg0KPiANCj4gT0sNCj4gDQo+ID4+DQo+ID4+ PiAtICAgICAgICAgICAgICAgICAgICAgZmxvd19pZCA9IHBmLT5pZDsNCj4gPj4+ICsgICAgICAg ICAgICAgICAgICAgICBmbG93X2lkID0gY3R4LnBmLT5pZDsNCj4gPj4+ICAgICAgICAgICAgICAg ICAgICAgICAgcmV0ID0gcG9ydF9mbG93X2Rlc3Ryb3kocG9ydF9pZCwgMSwgJmZsb3dfaWQpOw0K PiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJldCkNCj4gPj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0b3RhbCsrOw0KPiA+Pj4gICAgICAgICAgICAgICAgfQ0KPiA+ Pj4gLSAgICAgICAgICAgICBwcmludGYoIiVkIGZsb3dzIGJlIGRlc3Ryb3llZFxuIiwgdG90YWwp Ow0KPiA+Pj4gKyAgICAgICAgICAgICBwcmludGYoIiVkIGZsb3dzIGRlc3Ryb3llZFxuIiwgdG90 YWwpOw0KPiA+Pj4gICAgICAgIH0NCj4gPj4+ICAgICAgICBmcmVlKGNvbnRleHRzKTsNCj4gPj4+ ICAgIH0NCj4gPj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvdGVzdHBtZC5oIGIvYXBwL3Rl c3QtcG1kL3Rlc3RwbWQuaCBpbmRleA0KPiA+Pj4gNTE5ZDU1MS4uOTJhYWExOSAxMDA2NDQNCj4g Pj4+IC0tLSBhL2FwcC90ZXN0LXBtZC90ZXN0cG1kLmgNCj4gPj4+ICsrKyBiL2FwcC90ZXN0LXBt ZC90ZXN0cG1kLmgNCj4gPj4+IEBAIC0xNDMsOCArMTQzLDE0IEBAIHN0cnVjdCBmd2Rfc3RyZWFt IHsNCj4gPj4+ICAgICAgICBzdHJ1Y3QgcGt0X2J1cnN0X3N0YXRzIHR4X2J1cnN0X3N0YXRzOw0K PiA+Pj4gICAgfTsNCj4gPj4+DQo+ID4+PiArZW51bSB0ZXN0cG1kX2NvbnRleHRfdHlwZSB7DQo+ ID4+PiArICAgICBDT05URVhUX1RZUEVfRkxPVywNCj4gPj4+ICsgICAgIENPTlRFWFRfVFlQRV9T SEFSRURfQUNUSU9OLA0KPiA+Pj4gK307DQo+ID4+PiArDQo+ID4+DQo+ID4+IFRoZSBlbnVtIHBy ZWZpeCBpcyB0b28gZ2VuZXJpYywgJ0NPTlRFWFRfVFlQRV8nLCB3aGF0IGRvIHlvdSB0aGluaw0K PiA+PiBjbGFyaWZ5aW5nIHdoYXQgY29udGV4dCB3ZSBhcmUgdGFsa2luZyBhYm91dD8NCj4gPg0K PiA+IGVudW0gZmxvd19hZ2VfYWN0aW9uX2NvbnRleHRfdHlwZSB7DQo+ID4gICAgICAgRkxPV19B R0VfQUNUSU9OX0NUWF9GTE9XLA0KPiA+ICAgICAgIEZMT1dfQUdFX0FDVElPTl9DVFhfU0hBUkVE X0FDVElPTiwNCj4gPiB9DQo+ID4NCj4gPiA/DQo+IA0KPiBJIHRoaW5rIGJldHRlciwgdGhhbmtz Lg0KPiANCj4gPj4NCj4gPj4+ICAgIC8qKiBEZXNjcmlwdG9yIGZvciBhIHNpbmdsZSBmbG93LiAq Lw0KPiA+Pj4gICAgc3RydWN0IHBvcnRfZmxvdyB7DQo+ID4+PiArICAgICBlbnVtIHRlc3RwbWRf Y29udGV4dF90eXBlIGN0eXBlOyAvKio8IENvbnRleHQgdHlwZS4gKi8NCj4gPj4+ICAgICAgICBz dHJ1Y3QgcG9ydF9mbG93ICpuZXh0OyAvKio8IE5leHQgZmxvdyBpbiBsaXN0LiAqLw0KPiA+Pj4g ICAgICAgIHN0cnVjdCBwb3J0X2Zsb3cgKnRtcDsgLyoqPCBUZW1wb3JhcnkgbGlua2luZy4gKi8N Cj4gPj4+ICAgICAgICB1aW50MzJfdCBpZDsgLyoqPCBGbG93IHJ1bGUgSUQuICovIEBAIC0xNTUs NiArMTYxLDcgQEAgc3RydWN0DQo+ID4+PiBwb3J0X2Zsb3cgew0KPiA+Pj4NCj4gPj4+ICAgIC8q IERlc2NyaXB0b3IgZm9yIHNoYXJlZCBhY3Rpb24gKi8NCj4gPj4+ICAgIHN0cnVjdCBwb3J0X3No YXJlZF9hY3Rpb24gew0KPiA+Pj4gKyAgICAgZW51bSB0ZXN0cG1kX2NvbnRleHRfdHlwZSBjdHlw ZTsgLyoqPCBDb250ZXh0IHR5cGUuICovDQo+ID4+PiAgICAgICAgc3RydWN0IHBvcnRfc2hhcmVk X2FjdGlvbiAqbmV4dDsgLyoqPCBOZXh0IGZsb3cgaW4gbGlzdC4gKi8NCj4gPj4+ICAgICAgICB1 aW50MzJfdCBpZDsgLyoqPCBTaGFyZWQgYWN0aW9uIElELiAqLw0KPiA+Pj4gICAgICAgIGVudW0g cnRlX2Zsb3dfYWN0aW9uX3R5cGUgdHlwZTsgLyoqPCBBY3Rpb24gdHlwZS4gKi8NCj4gPj4+DQo+ ID4NCj4gPg0KPiA+IFdoYXQgZG8geW91IHRoaW5rIGFib3V0IGNoYW5naW5nIHRoZSBydGVfZmxv d19nZXRfYWdlZF9mbG93cyBBUEkgbmFtZSB0bw0KPiBydGVfZmxvd19nZXRfYWdlZF9jb250ZXh0 cyA/DQo+ID4NCj4gDQo+IEhlcmUgY29udGV4dCBoYXMgc29tZSBkYXRhIGRvIGlkZW50aWZ5IHRo ZSBhZ2VkIGZsb3dzLCByaWdodD8gSWYgc28NCj4gJ3J0ZV9mbG93X2dldF9hZ2VkX2Zsb3dzJyBh bHNvIHJlYXNvbmFibGUgSSB0aGluay4NCj4gDQo+IE5vIHN0cm9uZyBvcGluaW9uIGJ1dCB0aGUg QVBJIG5hbWUgYXMgaXQgaXMgbG9va3MgZ29vZCB0byBtZS4NCg0KT0ssIHRoYW5rcy4NCg==