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 6D3DBA04AC; Fri, 1 May 2020 13:29:02 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F15381DA2F; Fri, 1 May 2020 13:29:01 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80088.outbound.protection.outlook.com [40.107.8.88]) by dpdk.org (Postfix) with ESMTP id E93B71DA12 for ; Fri, 1 May 2020 13:28:59 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CxFe2bE4HgmL5qwfRU4rQRSgYcf1DmhjTzABhIFJ96xFIkwzMMspCYEr4gNYnW4sjNtVIeR2RQTQ2j3aeNtTEXnxz/I2wQxBumBvjD+L0uX8rbJbXr0yen3Pjqf3g9TagpuxmlM2dXzdxFXzeh0VdGJeh3b/nMK11usCtIN8POoUkEPCSOMEEhsShfaCERFhd/76A5Iv/TOHMaENisPlguLpxvlokR2yTk6WpMGSghOgdegNQcVmHrnkuGaE0LtHLveIGbFuiYd1L2KfdC71/Pfuz7k9o2tQjyAj2p3nW5tE2dko+0gFVTreuQtI5LgyvK7lQi0hFdn4bPU32OuTpw== 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=UOHEUlyWcK4aNWnM71niZdyX9jE0tHPSi8dZy5cEWnY=; b=M77IQHZITsbS9hZeoHJuV14Oa2UCL7iiLaWKQplpIB7+OZu7iA6mzkLiGvojBF2mQKaHV3VjJ+h597xCRM8HmhRZxlQrgIwe64aaUlVU1kZ/u2WPOlaKDptk0y5qnMzM0HEJNiiMk4Jsn/3gt0RWIFmbnuClK8b8+Ar8tUeyV3kF9APJSdRLYZuZKiJQM/bBNnTOUJ1kt5Y/+3MhZwSw3Ei2U4fOApco2HwDVvEbS5GO+7IFDOWdoanMNji+h2ma3YW9YIndZ4t15a+orbMJ2LkJ5H/c46Yk6gVXR5/6mG5vRDAJIui3wAWv3enOQfhYMO1GyJJJoAbDP8yy2h0sSA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UOHEUlyWcK4aNWnM71niZdyX9jE0tHPSi8dZy5cEWnY=; b=rjYzmSswHM+y5RlE2ixp6c7LqnIJA1bkImnxNT37dC0Wcmipt1mTdzifJAtqUCZ8ZnsqLSJ1ecogXLuV1xZCUbXp7x70bDl/Sb3P4q+XkhQ5YgFmwjZQ4K0/yyZKKR1H97h6sAxRw1oQNrkZuLymrdxYtDfGrkcalc7g4fz3CIQ= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (2603:10a6:208:f::11) by AM0PR0502MB3731.eurprd05.prod.outlook.com (2603:10a6:208:1e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19; Fri, 1 May 2020 11:28:58 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::a564:a117:9022:1fee]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::a564:a117:9022:1fee%7]) with mapi id 15.20.2958.027; Fri, 1 May 2020 11:28:58 +0000 From: Matan Azrad To: Ferruh Yigit , Bill Zhou , "wenzhuo.lu@intel.com" , "jingjing.wu@intel.com" , "bernard.iremonger@intel.com" , Ori Kam , "john.mcnamara@intel.com" , "marko.kovacevic@intel.com" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v2] app/testpmd: support flow aging Thread-Index: AQHWHweJy5G3zl/UeUGkUKuqvjrotaiSQ26AgACAICCAADPWAIAAGjWQ Date: Fri, 1 May 2020 11:28:57 +0000 Message-ID: References: <20200424105511.13147-1-dongz@mellanox.com> <20200430155345.1384-1-dongz@mellanox.com> <5fc8bc00-e4b1-b2c4-1caf-03dea0456f4c@intel.com> In-Reply-To: Accept-Language: en-US, he-IL 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=mellanox.com; x-originating-ip: [2a02:ed0:4360:400:6d77:6f4b:ba4d:aae1] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 42bfa52b-6037-4fb8-967e-08d7edc2d715 x-ms-traffictypediagnostic: AM0PR0502MB3731:|AM0PR0502MB3731: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0390DB4BDA x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9bZfR2mzrsvH2rzD4mTUzfjr8VTRzY3KFeW67b9G5K7ALDq3K9ZEQuLYCuGu1CWOjo9R899IlZdKYZDwcDWhtTWpq3q4egrcclneY34h7y/SH9MVyYunMR3+6cHeABwnzIInYzMu+hLYI7lN3OJRpnUmQLGL6/zQ9gMwtTLLWtJwl61y7Kl/slUd2Uz9RrKGHkXowFjcd1dOC3jHTvIOEPuk0mJ5pdesGW8sGYeRMDV8dxPWmmSDvnmlaIPqedgAKq/7eCYHJzOJKuGZgnLNq610kPqlioHo0pCqyzyWyq65DelHId+w2zaVGomaXpcivyrxYG0zlxTm2aLTdFc5vxovcZ/eW1/Hgoo0gAL2lg0ymgEVV/2jZrak87MMcX9r9P9xnhfcq+rsjZe+T697UdxDc9vDA5yG0kUPK1K8VKGhp3SbqNb3fL4otpeIp/8n x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(396003)(346002)(39860400002)(376002)(366004)(7696005)(8936002)(186003)(2906002)(8676002)(71200400001)(6506007)(478600001)(4326008)(55016002)(9686003)(86362001)(53546011)(76116006)(52536014)(33656002)(110136005)(316002)(64756008)(66446008)(66556008)(66946007)(5660300002)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: mXUz2E6f4AsYniCJcLSLSniuysbyUa9sz3lnbDYDjsHKz0mn5WAmz7n8EanNlEsTisAeABC9pcpHR10Yzc35LF4U8+sMQ29xkO4K/5TxTd4y3udbhuU+Cv3LDTr87CYm4o21cgg1LDlm7StQXxwOlT46OOdwVzATXEod+1deAXQ8yhzkhucKXuESWCkZN3SzmlHrXUNrAppCW66OnXg6L2ToJZUsKtntRLrHt6A7GKVgIgtm2xGdd8T2Yqy5vtoozw6QX4aEf0ARGKuUFZ4hu+Lle+6HQDCe94X0lefqNb2mw5JrsOS9CWjXK77dLzJ68wEOe00lU9LOdmpl1xGvjbH19H5nWOgzQ+k71HtQEdksM5RXOFcLkchLTZL6p7hR1Xsmb3MDM3qnHJzv/E3TCMWwWT+DsfVWrSCSBOA6/OBM0R5UVuOumOj5BmVUWANEdcB1zz+h7eWkZJo9PvsLd2JSK1s6Cl3brdVjgRv5uI1GcZrHZkO2B3kxDNA4AzlopgMdkW7gyl5HWbTlLWkPjanaf+faAcYT1wV8NLC2g8/Tr80AjLbEyyRztdwD2On7tYR3tO57RNR6K1ZXpZCyt+ymSWBJ4ZAPgO6Ig9+P0rEtWVPLg9PgbQgPGBnPY9J8v9ZG+aKQF7jaK33XLWbma8RJLClul5UCv1zo+0WPLP1RAv+wmb7aPMm/Y/cigTs0cXRalN0YBT3O7OTT8J9XW6b0nGi8LB7XmYWs3sdME58EnyFWN1gi2AtUEm3zq8aq9DMY/a8AirKImgnODRKejrDh88cQfOTh3GjORedskF+A4tjTR6AhnevbIA6auuRkMt4eqzfaJ1UjnoN4wrFbLAGdvD+TXz7q3RqCxy/A8bU= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42bfa52b-6037-4fb8-967e-08d7edc2d715 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 May 2020 11:28:58.1873 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 3PPNjonU1shU7JoQ4cBNdSNSRECYB6MClKG6HM0nbHM6z9o1q/Uozi9PrWlRBYSHFfI7h+OwAi+tnBjxyK/i9Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3731 Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: support flow aging 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" DQpIaSBGZXJydWgNCg0KRnJvbTogRmVycnVoIFlpZ2l0Og0KPiBPbiA1LzEvMjAyMCA3OjUxIEFN LCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPiBIaSBGZXJydWgNCj4gPg0KPiA+IEZyb206IEZlcnJ1 aCBZaWdpdA0KPiA+PiBPbiA0LzMwLzIwMjAgNDo1MyBQTSwgQmlsbCBaaG91IHdyb3RlOg0KPiA+ Pj4gQ3VycmVudGx5LCB0aGVyZSBpcyBubyB3YXkgdG8gY2hlY2sgdGhlIGFnaW5nIGV2ZW50IG9y IHRvIGdldCB0aGUNCj4gPj4+IGN1cnJlbnQgYWdlZCBmbG93cyBpbiB0ZXN0cG1kLCB0aGlzIHBh dGNoIGluY2x1ZGUgdGhvc2UgaW1wbGVtZW50cywNCj4gPj4+IGl0J3MNCj4gPj4gaW5jbHVkZWQ6 DQo+ID4+PiAtIFJlZ2lzdGVyaW5nIGFnaW5nIGV2ZW50IHdoZW4gdGhlIHRlc3RwbWQgYXBwbGlj YXRpb24gc3RhcnQsIGFkZCBuZXcNCj4gPj4+ICAgY29tbWFuZCB0byBjb250cm9sIGlmIHRoZSBl dmVudCBleHBvc2UgdG8gdGhlIGFwcGxpY2F0aW9ucy4gSWYgaXQncyBiZQ0KPiA+Pj4gICBzZXQs IHdoZW4gbmV3IGZsb3cgYmUgY2hlY2tlZCBhZ2Ugb3V0LCB0aGVyZSB3aWxsIGJlIG9uZS1saW5l IG91dHB1dA0KPiBsb2cuDQo+ID4+PiAtIEFkZCBuZXcgY29tbWFuZCB0byBsaXN0IGFsbCBhZ2Vk IGZsb3dzLCBtZWFud2hpbGUsIHdlIGNhbiBzZXQNCj4gPj4gcGFyYW1ldGVyDQo+ID4+PiAgIHRv IGRlc3Ryb3kgaXQuDQo+ID4+Pg0KPiA+Pj4gU2lnbmVkLW9mZi1ieTogQmlsbCBaaG91IDxkb25n ekBtZWxsYW5veC5jb20+DQo+ID4+PiAtLS0NCj4gPj4+IHYyOiBVcGRhdGUgdGhlIHdheSBvZiBy ZWdpc3RlcmluZyBhZ2luZyBldmVudCwgYWRkIG5ldyBjb21tYW5kIHRvDQo+ID4+PiBjb250cm9s IGlmIHRoZSBldmVudCBuZWVkIGJlIHByaW50IG9yIG5vdC4gVXBkYXRlIHRoZSBvdXRwdXQgb2Yg dGhlDQo+ID4+PiBkZWxldGUgYWdlZCBmbG93IGNvbW1hbmQgZm9ybWF0Lg0KPiA+Pg0KPiA+PiA8 Li4uPg0KPiA+Pg0KPiA+Pj4gQEAgLTE5Mzg3LDYgKzE5Mzk0LDQ0IEBAIGNtZGxpbmVfcGFyc2Vf aW5zdF90DQo+IGNtZF9zaG93cG9ydF9tYWNzID0NCj4gPj4gew0KPiA+Pj4gIAl9LA0KPiA+Pj4g IH07DQo+ID4+Pg0KPiA+Pj4gKy8qIEVuYWJsZS9EaXNhYmxlIGZsb3cgYWdpbmcgZXZlbnQgbG9n ICovIHN0cnVjdA0KPiA+Pj4gK2NtZF9zZXRfYWdlZF9mbG93X2V2ZW50X2xvZ19yZXN1bHQgew0K PiA+Pj4gKwljbWRsaW5lX2ZpeGVkX3N0cmluZ190IHNldDsNCj4gPj4+ICsJY21kbGluZV9maXhl ZF9zdHJpbmdfdCBrZXl3b3JkOw0KPiA+Pj4gKwljbWRsaW5lX2ZpeGVkX3N0cmluZ190IGVuYWJs ZTsNCj4gPj4+ICt9Ow0KPiA+Pj4gK2NtZGxpbmVfcGFyc2VfdG9rZW5fc3RyaW5nX3QgY21kX3Nl dF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3NldCA9DQo+ID4+PiArCVRPS0VOX1NUUklOR19JTklUSUFM SVpFUihzdHJ1Y3QNCj4gPj4gY21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3Jlc3VsdCwNCj4g Pj4+ICsJCXNldCwgInNldCIpOw0KPiA+Pj4gK2NtZGxpbmVfcGFyc2VfdG9rZW5fc3RyaW5nX3QN Cj4gY21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX2tleXdvcmQNCj4gPj4gPQ0KPiA+Pj4gKwlU T0tFTl9TVFJJTkdfSU5JVElBTElaRVIoc3RydWN0DQo+ID4+IGNtZF9zZXRfYWdlZF9mbG93X2V2 ZW50X2xvZ19yZXN1bHQsDQo+ID4+PiArCQlrZXl3b3JkLCAiYWdlZF9mbG93X2V2ZW50X2xvZyIp Ow0KPiA+Pj4gK2NtZGxpbmVfcGFyc2VfdG9rZW5fc3RyaW5nX3QNCj4gY21kX3NldF9hZ2VkX2Zs b3dfZXZlbnRfbG9nX2VuYWJsZSA9DQo+ID4+PiArCVRPS0VOX1NUUklOR19JTklUSUFMSVpFUihz dHJ1Y3QNCj4gPj4gY21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3Jlc3VsdCwNCj4gPj4+ICsJ CWVuYWJsZSwgIm9uI29mZiIpOw0KPiA+Pj4gKw0KPiA+Pj4gK3N0YXRpYyB2b2lkDQo+ID4+PiAr Y21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3BhcnNlZCh2b2lkICpwYXJzZWRfcmVzdWx0LA0K PiA+Pj4gKwkJCQlfX3J0ZV91bnVzZWQgc3RydWN0IGNtZGxpbmUgKmNsLA0KPiA+Pj4gKwkJCQlf X3J0ZV91bnVzZWQgdm9pZCAqZGF0YSkNCj4gPj4+ICt7DQo+ID4+PiArCXN0cnVjdCBjbWRfc2V0 X2FnZWRfZmxvd19ldmVudF9sb2dfcmVzdWx0ICpyZXMgPSBwYXJzZWRfcmVzdWx0Ow0KPiA+Pj4g KwlpbnQgZW5hYmxlID0gKHN0cmNtcChyZXMtPmVuYWJsZSwgIm9uIikgPT0gMCkgPyAxIDogMDsN Cj4gPj4+ICsJdXBkYXRlX2FnaW5nX2V2ZW50X2xvZ19zdGF0dXMoZW5hYmxlKTsNCj4gPj4+ICt9 DQo+ID4+PiArDQo+ID4+PiArY21kbGluZV9wYXJzZV9pbnN0X3QgY21kX3NldF9hZ2VkX2Zsb3df ZXZlbnRfbG9nID0gew0KPiA+Pj4gKwkuZiA9IGNtZF9zZXRfYWdlZF9mbG93X2V2ZW50X2xvZ19w YXJzZWQsDQo+ID4+PiArCS5kYXRhID0gTlVMTCwNCj4gPj4+ICsJLmhlbHBfc3RyID0gInNldCBh Z2VkX2Zsb3dfZXZlbnRfbG9nIG9ufG9mZiIsDQo+ID4+DQo+ID4+IFdoYXQgZG8geW91IHRoaW5r ICJzZXQgYWdlZF9mbG93X3ZlcmJvc2Ugb258b2ZmIiB0byBiZSBtb3JlIHNpbWlsYXINCj4gPj4g dG8gZXhpc3RpbmcgdmVyYm9zZSBjb21tYW5kPw0KPiA+DQo+ID4gUGxlYXNlIHNlZSBteSBjb21t ZW50cyBiZWxvdyByZWdhcmQgaXQuDQo+ID4NCj4gPj4gPC4uLj4NCj4gPj4NCj4gPj4+IC0tLSBh L2FwcC90ZXN0LXBtZC90ZXN0cG1kLmMNCj4gPj4+ICsrKyBiL2FwcC90ZXN0LXBtZC90ZXN0cG1k LmMNCj4gPj4+IEBAIC0zMDY4LDYgKzMwNjgsMjEgQEAgcm12X3BvcnRfY2FsbGJhY2sodm9pZCAq YXJnKQ0KPiA+Pj4gIAkJc3RhcnRfcGFja2V0X2ZvcndhcmRpbmcoMCk7DQo+ID4+PiAgfQ0KPiA+ Pj4NCj4gPj4+ICtzdGF0aWMgaW50IGFnZWRfZmxvd19ldmVudF9lbmFibGU7DQo+ID4+DQo+ID4+ IE90aGVyIGdsb2JhbCBjb25maWcgdmFsdWVzIGFyZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBm aWxlLCB3aXRoIGENCj4gPj4gY29tbWVudCBvbiB0aGVtLCBjYW4geW91IGRvIHNhbWUgd2l0aCB2 YXJpYWJsZT8NCj4gPg0KPiA+ICsxDQo+ID4NCj4gPj4+ICt2b2lkIHVwZGF0ZV9hZ2luZ19ldmVu dF9sb2dfc3RhdHVzKGludCBlbmFibGUpIHsNCj4gPj4+ICsJYWdlZF9mbG93X2V2ZW50X2VuYWJs ZSA9IGVuYWJsZTsNCj4gPj4+ICt9DQo+ID4+PiArDQo+ID4+PiAraW50IGFnaW5nX2V2ZW50X291 dHB1dCh1aW50MTZfdCBwb3J0aWQpDQo+ID4+DQo+ID4+IFRoaXMgY2FuIGJlIGEgJ3N0YXRpYycg ZnVuY3Rpb24uDQo+ID4NCj4gPiArMQ0KPiA+DQo+ID4+PiArew0KPiA+Pj4gKwlpZiAoYWdlZF9m bG93X2V2ZW50X2VuYWJsZSkgew0KPiA+Pj4gKwkJcHJpbnRmKCJwb3J0ICV1IFJURV9FVEhfRVZF TlRfRkxPV19BR0VEIHRyaWdnZXJlZFxuIiwNCj4gPj4gcG9ydGlkKTsNCj4gPj4+ICsJCWZmbHVz aChzdGRvdXQpOw0KPiA+Pj4gKwl9DQo+ID4+PiArCXJldHVybiAwOw0KPiA+Pj4gK30NCj4gPj4+ ICsNCj4gPj4+ICAvKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgYnkgdGhlIGludGVycnVwdCB0aHJl YWQgKi8gIHN0YXRpYyBpbnQNCj4gPj4+IGV0aF9ldmVudF9jYWxsYmFjayhwb3J0aWRfdCBwb3J0 X2lkLCBlbnVtIHJ0ZV9ldGhfZXZlbnRfdHlwZSB0eXBlLA0KPiA+Pj4gdm9pZCAqcGFyYW0sIEBA IC0zMDk4LDYgKzMxMTMsOCBAQCBldGhfZXZlbnRfY2FsbGJhY2socG9ydGlkX3QNCj4gPj4gcG9y dF9pZCwgZW51bSBydGVfZXRoX2V2ZW50X3R5cGUgdHlwZSwgdm9pZCAqcGFyYW0sDQo+ID4+PiAg CQkJCXJtdl9wb3J0X2NhbGxiYWNrLCAodm9pZA0KPiA+PiAqKShpbnRwdHJfdClwb3J0X2lkKSkN Cj4gPj4+ICAJCQlmcHJpbnRmKHN0ZGVyciwgIkNvdWxkIG5vdCBzZXQgdXAgZGVmZXJyZWQgZGV2 aWNlDQo+ID4+IHJlbW92YWxcbiIpOw0KPiA+Pj4gIAkJYnJlYWs7DQo+ID4+PiArCWNhc2UgUlRF X0VUSF9FVkVOVF9GTE9XX0FHRUQ6DQo+ID4+PiArCQlhZ2luZ19ldmVudF9vdXRwdXQocG9ydF9p ZCk7DQo+ID4+DQo+ID4+IENhbid0IHRoaXMgcHJvdmlkZSBtb3JlIGluZm9ybWF0aW9uIHRoYW4g cG9ydF9pZCwgbGlrZSBmbG93IGlkIGV0YywNCj4gPj4gd2hhdCBldmVudF9wcm9jZXNzIGZ1bmN0 aW9uIHByb3ZpZGVzPyBjYW4gd2UgcHJpbnQgaXQgdG9vPw0KPiA+PiBBbmQgd2hhdCBpcyB0aGUg aW50ZW5kZWQgdXNhZ2UgaW4gcmVhbCBhcHBsaWNhdGlvbiwgd2hlbiBmbG93IGFnZWQNCj4gPj4g ZXZlbnQgb2NjdXJyZWQsIHNob3VsZCBhcHBsaWNhdGlvbiBkZXN0cm95IHRoZSBmbG93PyBTbyBp dCBzaG91bGQNCj4gPj4ga25vdyB0aGUgZmxvdywgcmlnaHQ/DQo+ID4NCj4gPiBQcm9iYWJseSBZ ZXMgRmVycnVoLCBJIHdpbGwgYWRkIGRldGFpbHMsIG1heWJlIGl0IHdpbGwgYmUgY2xlYXJlcjoN Cj4gPg0KPiA+IEFzIGRlc2NyaWJlZCB3ZWxsIGluIHJ0ZV9mbG93X2dldF9hZ2VkX2Zsb3dzIEFQ SSBkZXNjcmlwdGlvbiwgdGhlcmUgYXJlIDINCj4gc3VnZ2VzdGVkIG9wdGlvbnMgZm9yIHRoZSBh cHBsaWNhdGlvbjoNCj4gPg0KPiA+IDEuIFRvIGNhbGwgcnRlX2Zsb3dfZ2V0X2FnZWRfZmxvd3Mg ZnJvbSB0aGUgQUdFRCBldmVudCBjYWxsYmFjayBpbiBvcmRlcg0KPiB0byBnZXQgdGhlIGFnZWQg ZmxvdyBjb250ZXh0cyBvZiB0aGUgdHJpZ2dlcmVkIHBvcnQuDQo+ID4gMi4gVG8gY2FsbCBydGVf Zmxvd19nZXRfYWdlZF9mbG93cyBpbiBhbnkgdGltZSBhcHBsaWNhdGlvbiB3YW50cy4NCj4gDQo+ IEkgc2VlLCBmb3IgdGhlIHRlc3RwbWQgaW1wbGVtZW50YXRpb24gd2hhdCBkbyB5b3UgdGhpbmsg Z2V0dGluZyB0aGUgYWdlZA0KPiBmbG93IGxpc3QgYW5kIHByaW50IHRoZW0gaW4gZXZlbnQgY2Fs bGJhY2ssIHRoaXMgY2FuIGJlIGdvb2QgYXMgc2FtcGxlIG9mIHRoZQ0KPiBpbnRlbmRlZCB1c2Fn ZT8NCg0KWWVzLCB3ZSB0aG91Z2h0IG9uIGl0IGFuZCBJIHVuZGVyc3RhbmQgeW91LA0KVGhlIGlz c3VlIHdpdGggaXQgaXMgdGhhdCB3ZSBuZWVkIHRvIHN5bmNocm9uaXplIGFsbCB0aGUgZmxvdyBt YW5hZ2VtZW50IGluIFRlc3RwbWQgYW5kIHRvIHByb3RlY3QgYW55IGZsb3cgb3BlcmF0aW9uIHdp dGggYSBsb2NrLg0KQmVjYXVzZSB0aGUgY2FsbGJhY2sgaXMgcHJvYmFibHkgY29taW5nIGZyb20g dGhlIGhvc3QgdGhyZWFkIHdoaWxlIG90aGVyIGZsb3cgb3BlcmF0aW9ucyBmcm9tIGRpZmZlcmVu dCBUZXN0cG1kIHRocmVhZChjb21tYW5kIGxpbmUgdGhyZWFkKS4NCg0KSXQgd2lsbCBkbyB0aGUg cGF0Y2ggdmVyeSBpbnRydXNpdmUuDQoNClRoZSBjdXJyZW50IGFwcHJvYWNoKGxpa2UgdGhlIHNl Y29uZCBzdWdnZXN0aW9uKSBtb3ZlcyB0aGUgc3luY2hyb25pemF0aW9uIHRvIHRoZSB0ZXN0cG1k IHVzZXIgdG8gYWNjZXNzIGZsb3dzIG9ubHkgZnJvbSB0aGUgY29tbWFuZCBsaW5lIHRocmVhZCB3 aGlsZSBoaW50aW5nIHRvIHRoZSB1c2VyIHdoZW4gYSBwb3J0IGhvbGRzIHNvbWUgYWdlZC1vdXQg Zmxvd3MuDQpJIHRoaW5rIGl0IGlzIGJldHRlciB0byBzdGF5IHRoZSBpbXBsZW1lbnRhdGlvbiBz aW1wbGUuDQoNCj4gPg0KPiA+IEl0IGlzIHByb2JhYmx5IGRlcGVuZHMgaW4gdGhlIHdheSB0aGUg YXBwbGljYXRpb24gd2FudHMgdG8gc3luY2hyb25pemUgZmxvdw0KPiBBUElzIGNhbGxzLg0KPiA+ DQo+ID4gVGhlIGFwcGxpY2F0aW9uIGp1c3QgZ2V0cyB0aGUgaW5mb3JtYXRpb24gb2YgdGhlIGFn ZWQtb3V0IGZsb3dzIGNvbnRleHQNCj4gZnJvbSB0aGUgYWJvdmUgQVBJIGFuZCBjYW4gZG8gYW55 IGZsb3cgb3BlcmF0aW9uIGZvciBpdCwgYW5kIHllcywgdGhlIG1vc3QNCj4gZXhwZWN0ZWQgY2Fz ZSBpcyB0byBkZXN0cm95IHRoZSBmbG93cy4NCj4gPg0KPiA+IEJpbGwgYWRkZWQgMiB0ZXN0cG1k IGNvbW1hbmRzOg0KPiA+DQo+ID4gMS4gVG8gdXNlIHJ0ZV9mbG93X2dldF9hZ2VkX2Zsb3dzIGFu ZCB0byBwcmludCBhIGxpc3Qgb2YgYWxsIHRoZSBhZ2VkLW91dA0KPiBmbG93cyAod2l0aCBvcHRp b24gdG8gZGVzdHJveSB0aGVtIGRpcmVjdGx5IGJ5IHRoZSBjb21tYW5kKS4NCj4gPiAyLiBBIEJv b2xlYW4gdG8gaW5kaWNhdGUgdGhlIGFwcGxpY2F0aW9uIHdoZXRoZXIgdG8gbm90aWZ5IHRoZSB0 ZXN0cG1kIHVzZXINCj4gYWJvdXQgbmV3IGFnZWQtb3V0IGZsb3dzKGJ5IHByaW50KS4NCj4gPg0K PiA+IEJ5IHRoaXMgd2F5LCB0aGUgdGVzdHBtZCB1c2VyIGNhbiB1c2UgdGhlIDIgYXBwcm9hY2hl cyB3aXRoIG1pbmltdW0NCj4gdGVzdHBtZCBmbG93IG1hbmFnZW1lbnQgY2hhbmdlLg0KPiA+DQo+ ID4gU28sIHRoZSBCb29sZWFuIHZhciBpcyBtb3JlIGxpa2UgInRyaWdnZXIgdGVzdHBtZCB1c2Vy IG5vdGlmaWNhdGlvbiIsIG5vdCBsaWtlDQo+IHJlZ3VsYXIgdmVyYm9zZSBvcHRpb25zLg0KPiAN Cj4gQXMgeW91IGFscmVhZHkga25vdywgZXZlbnQgYWx3YXlzIHJlZ2lzdGVyZWQgYW5kIGNhbGxi YWNrIGFsd2F5cyBjYWxsZWQsIHRoaXMNCj4gY29tbWFuZCBvbmx5IGRlZmluZXMgdG8gcHJpbnQg YSBsb2cgaW4gdGhlIGNhbGxiYWNrIG9yIG5vdCwgc28gSSBiZWxpZXZlDQo+ICd2ZXJib3NlJyBz dWl0cyBoZXJlLCBtYWluIGNvbmNlcm4gaXMgdGhlcmUgYXJlIG1hbnkgdGVzdHBtZCBjb21tYW5k cyBhbmQNCj4gaXQgaXMgaGFyZCB0byByZW1lbWJlciB0aGVtICh1c2FnZSBpcyBub3QgaW50dWl0 aXZlLCBJIGhhZCBuZWVkIHRvIGNoZWNrDQo+IHNvdXJjZSBjb2RlIHRvIGZpbmQgYSBjb21tYW5k IG1hbnkgdGltZXMpLCB0cnlpbmcgdG8gbWFrZSB0aGVtIGFzDQo+IGNvbnNpc3RlbnQgYXMgcG9z c2libGUgdG8gaGVscCB1c2FnZS4NCj4gDQo+IEJ1dCBJIHRoaW5rIGFzIHNlZSB5b3VyIGNvbmNl cm4sICJzZXQgYWdlZF9mbG93X3ZlcmJvc2Ugb258b2ZmIiBjb21tYW5kDQo+IGNhbiBiZSBjb25m dXNlZCBhcyBpZiBjaGFuZ2luZyAiZmxvdyBhZ2VkICMiIGNvbW1hbmQgdmVyYm9zaXR5IGxldmVs Lg0KPiANCj4gV2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgYSBtb3JlIGdlbmVyaWMgInNldCBldmVu dF92ZXJib3NlIG9ufG9mZiINCj4gY29tbWFuZCwgd2hpY2ggY2FuIGNvbnRyb2wgdG8gbG9nZ2lu ZyBmb3IgYWxsIGV2ZW50IGhhbmRsZXJzLCBidXQgcmlnaHQgbm93DQo+IG9ubHkgZm9yIGFnZWQg ZXZlbnRzPw0KDQpMb29rcyBnb29kIHRvIG1lLCBidXQgbWF5YmUgaW5zdGVhZCBvZiBvbiB8IG9m ZiBpdCBpcyBiZXR0ZXIgdG8gdXNlIGJpdG1hcCBpbiBvcmRlciB0byBpbmRpY2F0ZSB0aGUgZXZl bnQ/DQoNCiANCj4gPg0KPiA+IE1hdGFuDQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPj4NCj4gPj4g PC4uLj4NCj4gPj4NCj4gPj4+IC0tLSBhL2RvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBt ZF9mdW5jcy5yc3QNCj4gPj4+ICsrKyBiL2RvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBt ZF9mdW5jcy5yc3QNCj4gPj4+IEBAIC0xMDYyLDYgKzEwNjIsMjEgQEAgV2hlcmU6DQo+ID4+Pg0K PiA+Pj4gICAgIENoZWNrIHRoZSBOSUMgRGF0YXNoZWV0IGZvciBoYXJkd2FyZSBsaW1pdHMuDQo+ ID4+Pg0KPiA+Pj4gK2FnZWQgZmxvdyBldmVudCBsb2cgc2V0DQo+ID4+PiArfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4NCj4gPj4+ICsNCj4gPj4+ICtDdXJyZW50bHksIHRoZSBmbG93IGFnaW5nIGV2 ZW50IGlzIHJlZ2lzdGVyZWQgd2hlbiB0aGUgdGVzdHBtZA0KPiA+Pj4gK2FwcGxpY2F0aW9uIHN0 YXJ0LCBpZiBuZXcgZmxvdyBiZSBjaGVja2VkIGFnZSBvdXQsIHRoZXJlIHdpbGwgYmUNCj4gPj4+ ICtvbmUgb3V0cHV0IGxvZyBmb3IgaXQuIEJ1dCBzb21lIGFwcGxpY2F0aW9ucyBkbyBub3QgaW50 ZXJlc3QgdGhpcw0KPiA+Pj4gK2V2ZW50LCB1c2UgdGhpcw0KPiA+PiBjb21tYW5kIGNhbiBzZXQg aWYgdGhlIGV2ZW50IGV4cG9zZSB0byB0aGUgYXBwbGljYXRpb25zOjoNCj4gPj4+ICsNCj4gPj4+ ICsgICB0ZXN0cG1kPiBzZXQgYWdlZF9mbG93X2V2ZW50X2xvZyAob258b2ZmKQ0KPiA+Pj4gKw0K PiA+Pj4gK0ZvciBleGFtaW5lOjoNCj4gPj4+ICsNCj4gPj4+ICsgICB0ZXN0cG1kPiBzZXQgYWdl ZF9mbG93X2V2ZW50X2xvZyBvbg0KPiA+Pj4gKyAgIHRlc3RwbWQ+IHBvcnQgMCBSVEVfRVRIX0VW RU5UX0ZMT1dfQUdFRCB0cmlnZ2VyZWQNCj4gPj4+ICsgICB0ZXN0cG1kPiBzZXQgYWdlZF9mbG93 X2V2ZW50X2xvZyBvZmYNCj4gPj4+ICsNCj4gPj4NCj4gPj4gVGhpcyBjYW4gYmUgbW92ZWQgYmVs b3cgdGhlICJzZXQgdmVyYm9zZSIgY29tbWFuZCBzaW5jZSB0aGV5IGFyZSBpbg0KPiA+PiBzaW1p bGFyIGdyb3VwLg0KDQo=