From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20073.outbound.protection.outlook.com [40.107.2.73]) by dpdk.org (Postfix) with ESMTP id 3025C1B286 for ; Thu, 21 Dec 2017 15:08:19 +0100 (CET) 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; bh=CDEgPKHKxranFvSfjb63WYTYo5m6rEZwiUBfYJHxhPs=; b=ROwyuzpi4OZEOevnJIAT/zx/QdjGacJxO+nn5TeAPHv6yCYpmf4NoubB/YiTAn1hyrZ1rtVASzmZQpHykTU9odqxdUkIcfpxiFTKny8yHC9dgbCcdZtOpwuZCGYkQ/+zOINjbEbc4pXAz+uZstd7cgFF8t9KxpB+cGBc7N4ORu0= Received: from VI1PR05MB3149.eurprd05.prod.outlook.com (10.170.237.142) by VI1PR05MB3150.eurprd05.prod.outlook.com (10.170.237.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.323.15; Thu, 21 Dec 2017 14:08:17 +0000 Received: from VI1PR05MB3149.eurprd05.prod.outlook.com ([fe80::355f:857b:fdfd:afd9]) by VI1PR05MB3149.eurprd05.prod.outlook.com ([fe80::355f:857b:fdfd:afd9%13]) with mapi id 15.20.0323.018; Thu, 21 Dec 2017 14:08:17 +0000 From: Shahaf Shuler To: Maciej Czekaj , "dev@dpdk.org" , "konstantin.ananyev@intel.com" , "radu.nicolau@intel.com" , "arybchenko@solarflare.com" , "tomasz.kantecki@intel.com" Thread-Topic: [dpdk-dev] [PATCH v2 05/39] examples/l3fwd: move to ethdev offloads API Thread-Index: AQHTeBlTw8uPcat4oEG8RFR6FMqgHKNN1x+A Date: Thu, 21 Dec 2017 14:08:17 +0000 Message-ID: References: <20171123121419.144132-1-shahafs@mellanox.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=shahafs@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB3150; 6:5+OHaGrzTVJWorgrRfci76awsY8unXZ1114g65zgJ2BL1jDAXQbDWw751necNQv2f/g1E5GWowIJRRwsVhjgfj4ItsFoCgpr+PFn7iVrtTjZTgj4+jnzAFJy5i+UMC07PX/kPtElzdU6arqJg/6jjqdkbge8ggwMyKXaZLmyD/7DXuIq9Ka/8Hwf1cQR8MyIJ2pCJo0nRDme4GX0nP4nCDtlKyRvlZN71zAwWIc7hletZWcVpRABh6dMeNA0PZfIIV1SYjBcNSkq3G0EtsYsCve3t9mNty8D05aMYOc/na2BYZQBN/ruL08K8gckfz012o+uLYRoo7vjfbkMIphwpMHWW4t6kMNrXcxZgwLSSSk=; 5:5Qb7lQyd9TXLuLi1xb3EYiJWpA9yawp83sL9oasF7r04wy6WEp8cX6AQto6LcUHr1CE+O8KrnIeGGIhOGCeNBIxGmxDvmpJm7kzVURpJH6Js5I5WZsM4VoK6qlPQgBFkf1pe/+BOSA9JtK/k0Kuw9eaQ4/6ZoOCmFhiTvzy3ZvU=; 24:Lvzl7jhYpaGRfJzhBQUs/46a9J1m+JQlcydQju75qQbviJhalrkFDmLlpGIErGczM1WJpVdASdbfk/5Ur5fFTwvi0rs0roV17ZGwrk7Q4HI=; 7:+0WkO3avNVTFT3kG6nDtMbqh/W/SXnfCr9Bi2by5gS5xy6Ot5kkR2JoNsiNCF/sHmTvRP4EQScjrBOUtuktqBUaoXi9ZI7tmDS8kXb3FK7YORd/XXCeDUP/ypJV0QJCHpgNpqd8AxvU/Ac9ejcu7R7AxOXY9P1Yrz1K1teTTkJMIItrfB0BTaqOIMViwf4QUQZoqrVCSZFmXq3erUyF4rk6kXpmu1jEYc1+YFp69/0S8FrbhVdsEKUhB+SjJv2PK x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: f4e82e1a-6eb3-4661-f298-08d5487c48f1 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(3008031)(2017052603307)(7153060); SRVR:VI1PR05MB3150; x-ms-traffictypediagnostic: VI1PR05MB3150: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(21748063052155)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231023)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011); SRVR:VI1PR05MB3150; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR05MB3150; x-forefront-prvs: 0528942FD8 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(376002)(39860400002)(396003)(39380400002)(346002)(199004)(189003)(33656002)(3660700001)(2201001)(105586002)(81166006)(8936002)(106356001)(6436002)(5250100002)(478600001)(97736004)(2906002)(3280700002)(86362001)(110136005)(8676002)(68736007)(7736002)(316002)(25786009)(6246003)(53936002)(5660300001)(53546011)(6116002)(6506007)(790700001)(3846002)(76176011)(74316002)(6306002)(81156014)(14454004)(59450400001)(7696005)(99286004)(55016002)(2950100002)(2501003)(236005)(2900100001)(93886005)(229853002)(9686003)(54896002)(66066001)(102836004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB3150; H:VI1PR05MB3149.eurprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4e82e1a-6eb3-4661-f298-08d5487c48f1 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2017 14:08:17.9284 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB3150 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v2 05/39] examples/l3fwd: move to ethdev offloads API 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: , X-List-Received-Date: Thu, 21 Dec 2017 14:08:19 -0000 Pkxvb2tpbmcgYXQgZGlmZiBiZXR3ZWVuIHYxIGFuZCB2MiwgZm9sbG93aW5nIGxpbmVzIGFyZSBt aXNzaW5nOg0KPg0KPi0gICAgICAgICAgICAgICAgICAgICAgIHBvcnRfY29uZi5yeG1vZGUub2Zm bG9hZHMgJj0gZGV2X2luZm8ucnhfb2ZmbG9hZF9jYXBhOw0KPi0gICAgICAgICAgICAgICAgICAg ICAgIHBvcnRfY29uZi50eG1vZGUub2ZmbG9hZHMgJj0gZGV2X2luZm8udHhfb2ZmbG9hZF9jYXBh Ow0KPg0KPkkgY2FuIHNlZSB0aGlzIGNoYW5nZSBpcyBjb25zaXN0ZW50IGFjcm9zcyBhbGwgZXhh bXBsZXMuIElzIGl0IGludGVudGlvbmFsIHRvIGVuZm9yY2UgdGhlIGNhcGFiaWxpdGllcyB0aGlz IHdheT8NCg0KWWVzIGl0IHdhcyBpbnRlbnRpb25hbC4NCg0KVGhlIHJlYXNvbiBpcyB0aGF0IGFw cGxpY2F0aW9uIGlzIHJlbHlpbmcgb24gaXRzIG9mZmxvYWRzIHRvIGJlIHNldC4gU28gYW55IG9m ZmxvYWRzIHNldCBieSB0aGUgYXBwbGljYXRpb24gbXVzdCByZWFjaCB0aGUgUE1ELCBvdGhlcndp c2UgYXBwbGljYXRpb24gd29u4oCZdCB3b3JrIGNvcnJlY3RseS4NCkZvciBleGFtcGxlIOKAkyBp ZiBhcHBsaWNhdGlvbiBuZWVkcyBSeCBjaGVja3N1bSwgYW5kIGl0IGlzIHNpbGVudGx5IG1hc2tl ZCAoYnkgdjEgb2YgdGhpcyBzZXJpZXMpIHRoZW4gaXQgd2lsbCB3cm9uZ2x5IGFzc3VtZSBhbGwg Y2hlY2tzdW1zIGFyZSBiYWQuDQpUaGlzIGlzIHRydWUgYWxtb3N0IHRvIGV2ZXJ5IG9mZmxvYWRz LiBPbmUgaXMgZXhjZXB0aW9uYWwgLSBERVZfVFhfT0ZGTE9BRF9NQlVGX0ZBU1RfRlJFRS4gQXBw bGljYXRpb24gKmNhbiogd29yayB3aXRob3V0IGl0LCBhcyBpdCBpcyBvbmx5IGEgcGVyZm9ybWFu Y2Ugb3B0aW1pemF0aW9uIGZvciB0aGUgbWJ1ZiBmcmVlLg0KDQo+SWYgc28sIHdoeSBlbmZvcmNp bmcgREVWX1JYX09GRkxPQURfQ0hFQ0tTVU0gaWYgdGhlIGZlYXR1cmUgaXMgbm90IHVzZWQgYnkg bDNmd2QgY29kZT8NCj5JLmUuIHRoZXJlIGlzIG5vIHJlZmVyZW5jZSB0byBSWC1zaWRlIG9sX2Zs YWdzIHNvIGFwcGxpY2F0aW9uIGNhbiBydW4gd2l0aG91dCBpdC4NCg0KWW91IGFyZSByaWdodC4N CldoZW4gSSB3b3JrZWQgb24gdGhpcyBjb2RlIEkgdXNlZCB0aGUgREVWX1JYX09GRkxPQURfQ0hF Q0tTVU0gb2ZmbG9hZHMgYmVjYXVzZSBhbHNvIHRoZSBvcmlnaW5hbCBleGFtcGxlIGVuYWJsZWQg aXQgKGh3X2lwX2NoZWNrc3VtID0gMSkNCg0KQWRkaW5nIFRob21hcyB0aGUgbWFpbnRhaW5lciB0 byBjb25maXJtLg0KSWYgaXQgZG9lc27igJl0IHVzZSAsIHRoZW4gd2UgY2FuIHNhZmVseSByZW1v dmUgdGhpcyBvZmZsb2FkLg0KDQo+DQo+SW4gdjEgdGhlIGZsYWcgd2FzIG9wdGlvbmFsIHdoaWNo IG1hZGUgc2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciBjYXNlLg0KDQoNCi0tU2hhaGFmDQoNCkZy b206IE1hY2llaiBDemVrYWogW21haWx0bzptamNAc2VtaWhhbGYuY29tXQ0KU2VudDogTW9uZGF5 LCBEZWNlbWJlciAxOCwgMjAxNyA2OjAwIFBNDQpUbzogU2hhaGFmIFNodWxlciA8c2hhaGFmc0Bt ZWxsYW5veC5jb20+OyBkZXZAZHBkay5vcmc7IGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb207 IHJhZHUubmljb2xhdUBpbnRlbC5jb207IGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb20NClN1Ympl Y3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MiAwNS8zOV0gZXhhbXBsZXMvbDNmd2Q6IG1vdmUg dG8gZXRoZGV2IG9mZmxvYWRzIEFQSQ0KDQoNCg0KLS0gT3J5Z2luYWwgbWVzc2FnZSAtLQ0KDQpF dGhkZXYgb2ZmbG9hZHMgQVBJIGhhcyBjaGFuZ2VkIHNpbmNlOg0KDQoNCg0KY29tbWl0IGNlMTdl ZGRlZmMyMCAoImV0aGRldjogaW50cm9kdWNlIFJ4IHF1ZXVlIG9mZmxvYWRzIEFQSSIpDQoNCmNv bW1pdCBjYmE3ZjUzYjcxN2QgKCJldGhkZXY6IGludHJvZHVjZSBUeCBxdWV1ZSBvZmZsb2FkcyBB UEkiKQ0KDQoNCg0KVGhpcyBjb21taXQgc3VwcG9ydCB0aGUgbmV3IEFQSS4NCg0KDQoNClNpZ25l ZC1vZmYtYnk6IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPjxtYWlsdG86c2hh aGFmc0BtZWxsYW5veC5jb20+DQoNCi0tLQ0KDQogZXhhbXBsZXMvbDNmd2QvbWFpbi5jIHwgNDAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KDQogMSBmaWxlIGNoYW5n ZWQsIDMwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQ0KDQoNCg0KZGlmZiAtLWdpdCBh L2V4YW1wbGVzL2wzZndkL21haW4uYyBiL2V4YW1wbGVzL2wzZndkL21haW4uYw0KDQppbmRleCA2 MjI5NTY4Li4zYmRmNGQ1IDEwMDY0NA0KDQotLS0gYS9leGFtcGxlcy9sM2Z3ZC9tYWluLmMNCg0K KysrIGIvZXhhbXBsZXMvbDNmd2QvbWFpbi5jDQoNCkBAIC0xNDksMTEgKzE0OSw5IEBAIHN0cnVj dCBsY29yZV9wYXJhbXMgew0KDQogICAgICAgICAgICAgICAgLm1xX21vZGUgPSBFVEhfTVFfUlhf UlNTLA0KDQogICAgICAgICAgICAgICAgLm1heF9yeF9wa3RfbGVuID0gRVRIRVJfTUFYX0xFTiwN Cg0KICAgICAgICAgICAgICAgIC5zcGxpdF9oZHJfc2l6ZSA9IDAsDQoNCi0gICAgICAgICAgICAg ICAuaGVhZGVyX3NwbGl0ICAgPSAwLCAvKio8IEhlYWRlciBTcGxpdCBkaXNhYmxlZCAqLw0KDQot ICAgICAgICAgICAgICAgLmh3X2lwX2NoZWNrc3VtID0gMSwgLyoqPCBJUCBjaGVja3N1bSBvZmZs b2FkIGVuYWJsZWQgKi8NCg0KLSAgICAgICAgICAgICAgIC5od192bGFuX2ZpbHRlciA9IDAsIC8q KjwgVkxBTiBmaWx0ZXJpbmcgZGlzYWJsZWQgKi8NCg0KLSAgICAgICAgICAgICAgIC5qdW1ib19m cmFtZSAgICA9IDAsIC8qKjwgSnVtYm8gRnJhbWUgU3VwcG9ydCBkaXNhYmxlZCAqLw0KDQotICAg ICAgICAgICAgICAgLmh3X3N0cmlwX2NyYyAgID0gMSwgLyoqPCBDUkMgc3RyaXBwZWQgYnkgaGFy ZHdhcmUgKi8NCg0KKyAgICAgICAgICAgICAgIC5pZ25vcmVfb2ZmbG9hZF9iaXRmaWVsZCA9IDEs DQoNCisgICAgICAgICAgICAgICAub2ZmbG9hZHMgPSAoREVWX1JYX09GRkxPQURfQ1JDX1NUUklQ IHwNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZfUlhfT0ZGTE9BRF9DSEVDS1NV TSksDQoNCiAgICAgICAgfSwNCg0KICAgICAgICAucnhfYWR2X2NvbmYgPSB7DQoNCiAgICAgICAg ICAgICAgICAucnNzX2NvbmYgPSB7DQoNCkBAIC0xNjMsNiArMTYxLDcgQEAgc3RydWN0IGxjb3Jl X3BhcmFtcyB7DQoNCiAgICAgICAgfSwNCg0KICAgICAgICAudHhtb2RlID0gew0KDQogICAgICAg ICAgICAgICAgLm1xX21vZGUgPSBFVEhfTVFfVFhfTk9ORSwNCg0KKyAgICAgICAgICAgICAgIC5v ZmZsb2FkcyA9IERFVl9UWF9PRkZMT0FEX01CVUZfRkFTVF9GUkVFLA0KDQogICAgICAgIH0sDQoN CiB9Ow0KDQoNCg0KQEAgLTYxMiw3ICs2MTEsOCBAQCBlbnVtIHsNCg0KICAgICAgICAgICAgICAg ICAgICAgICAgfTsNCg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiJXNcbiIs IHN0cjgpOw0KDQotICAgICAgICAgICAgICAgICAgICAgICBwb3J0X2NvbmYucnhtb2RlLmp1bWJv X2ZyYW1lID0gMTsNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgcG9ydF9jb25mLnJ4bW9kZS5v ZmZsb2FkcyB8PSBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRTsNCg0KKyAgICAgICAgICAgICAg ICAgICAgICAgcG9ydF9jb25mLnR4bW9kZS5vZmZsb2FkcyB8PSBERVZfVFhfT0ZGTE9BRF9NVUxU SV9TRUdTOw0KDQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgLyoNCg0KICAgICAgICAgICAg ICAgICAgICAgICAgICogaWYgbm8gbWF4LXBrdC1sZW4gc2V0LCB1c2UgdGhlIGRlZmF1bHQNCg0K QEAgLTkwOCw2ICs5MDgsMjIgQEAgZW51bSB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIG5f dHhfcXVldWUgPSBNQVhfVFhfUVVFVUVfUEVSX1BPUlQ7DQoNCiAgICAgICAgICAgICAgICBwcmlu dGYoIkNyZWF0aW5nIHF1ZXVlczogbmJfcnhxPSVkIG5iX3R4cT0ldS4uLiAiLA0KDQogICAgICAg ICAgICAgICAgICAgICAgICBuYl9yeF9xdWV1ZSwgKHVuc2lnbmVkKW5fdHhfcXVldWUgKTsNCg0K Kw0KDQorICAgICAgICAgICAgICAgcnRlX2V0aF9kZXZfaW5mb19nZXQocG9ydGlkLCAmZGV2X2lu Zm8pOw0KDQorICAgICAgICAgICAgICAgaWYgKChkZXZfaW5mby5yeF9vZmZsb2FkX2NhcGEgJiBw b3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzKSAhPQ0KDQorICAgICAgICAgICAgICAgICAgIHBvcnRf Y29uZi5yeG1vZGUub2ZmbG9hZHMpIHsNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRm KCJTb21lIFJ4IG9mZmxvYWRzIGFyZSBub3Qgc3VwcG9ydGVkICINCg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJieSBwb3J0ICVkOiByZXF1ZXN0ZWQgMHglbHggc3VwcG9ydGVkIDB4 JWx4XG4iLA0KDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydGlkLCBwb3J0X2Nv bmYucnhtb2RlLm9mZmxvYWRzLA0KDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2 X2luZm8ucnhfb2ZmbG9hZF9jYXBhKTsNCg0KKyAgICAgICAgICAgICAgIH0NCg0KKyAgICAgICAg ICAgICAgIGlmICgoZGV2X2luZm8udHhfb2ZmbG9hZF9jYXBhICYgcG9ydF9jb25mLnR4bW9kZS5v ZmZsb2FkcykgIT0NCg0KKyAgICAgICAgICAgICAgICAgICBwb3J0X2NvbmYudHhtb2RlLm9mZmxv YWRzKSB7DQoNCisgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiU29tZSBUeCBvZmZsb2Fk cyBhcmUgbm90IHN1cHBvcnRlZCAiDQoNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi YnkgcG9ydCAlZDogcmVxdWVzdGVkIDB4JWx4IHN1cHBvcnRlZCAweCVseFxuIiwNCg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRpZCwgcG9ydF9jb25mLnR4bW9kZS5vZmZsb2Fk cywNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9pbmZvLnR4X29mZmxvYWRf Y2FwYSk7DQoNCisgICAgICAgICAgICAgICB9DQoNCkxvb2tpbmcgYXQgZGlmZiBiZXR3ZWVuIHYx IGFuZCB2MiwgZm9sbG93aW5nIGxpbmVzIGFyZSBtaXNzaW5nOg0KDQotICAgICAgICAgICAgICAg ICAgICAgICBwb3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzICY9IGRldl9pbmZvLnJ4X29mZmxvYWRf Y2FwYTsNCi0gICAgICAgICAgICAgICAgICAgICAgIHBvcnRfY29uZi50eG1vZGUub2ZmbG9hZHMg Jj0gZGV2X2luZm8udHhfb2ZmbG9hZF9jYXBhOw0KDQpJIGNhbiBzZWUgdGhpcyBjaGFuZ2UgaXMg Y29uc2lzdGVudCBhY3Jvc3MgYWxsIGV4YW1wbGVzLiBJcyBpdCBpbnRlbnRpb25hbCB0byBlbmZv cmNlIHRoZSBjYXBhYmlsaXRpZXMgdGhpcyB3YXk/DQpJZiBzbywgd2h5IGVuZm9yY2luZyBERVZf UlhfT0ZGTE9BRF9DSEVDS1NVTSBpZiB0aGUgZmVhdHVyZSBpcyBub3QgdXNlZCBieSBsM2Z3ZCBj b2RlPw0KSS5lLiB0aGVyZSBpcyBubyByZWZlcmVuY2UgdG8gUlgtc2lkZSBvbF9mbGFncyBzbyBh cHBsaWNhdGlvbiBjYW4gcnVuIHdpdGhvdXQgaXQuDQoNCkluIHYxIHRoZSBmbGFnIHdhcyBvcHRp b25hbCB3aGljaCBtYWRlIHNlbnNlIGZvciB0aGlzIHBhcnRpY3VsYXIgY2FzZS4NCg0KDQoNCg0K ICAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZShwb3J0aWQsIG5iX3J4 X3F1ZXVlLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2 X3Qpbl90eF9xdWV1ZSwgJnBvcnRfY29uZik7DQoNCiAgICAgICAgICAgICAgICBpZiAocmV0IDwg MCkNCg0KQEAgLTk1NSwxMCArOTcxLDkgQEAgZW51bSB7DQoNCiAgICAgICAgICAgICAgICAgICAg ICAgIHByaW50ZigidHhxPSV1LCVkLCVkICIsIGxjb3JlX2lkLCBxdWV1ZWlkLCBzb2NrZXRpZCk7 DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGZmbHVzaChzdGRvdXQpOw0KDQoNCg0KLSAgICAg ICAgICAgICAgICAgICAgICAgcnRlX2V0aF9kZXZfaW5mb19nZXQocG9ydGlkLCAmZGV2X2luZm8p Ow0KDQogICAgICAgICAgICAgICAgICAgICAgICB0eGNvbmYgPSAmZGV2X2luZm8uZGVmYXVsdF90 eGNvbmY7DQoNCi0gICAgICAgICAgICAgICAgICAgICAgIGlmIChwb3J0X2NvbmYucnhtb2RlLmp1 bWJvX2ZyYW1lKQ0KDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHhjb25mLT50eHFf ZmxhZ3MgPSAwOw0KDQorICAgICAgICAgICAgICAgICAgICAgICB0eGNvbmYtPnR4cV9mbGFncyA9 IEVUSF9UWFFfRkxBR1NfSUdOT1JFOw0KDQorICAgICAgICAgICAgICAgICAgICAgICB0eGNvbmYt Pm9mZmxvYWRzID0gcG9ydF9jb25mLnR4bW9kZS5vZmZsb2FkczsNCg0KICAgICAgICAgICAgICAg ICAgICAgICAgcmV0ID0gcnRlX2V0aF90eF9xdWV1ZV9zZXR1cChwb3J0aWQsIHF1ZXVlaWQsIG5i X3R4ZCwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNvY2tldGlkLCB0eGNvbmYpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0 IDwgMCkNCg0KQEAgLTk4NCw2ICs5OTksOCBAQCBlbnVtIHsNCg0KICAgICAgICAgICAgICAgIGZm bHVzaChzdGRvdXQpOw0KDQogICAgICAgICAgICAgICAgLyogaW5pdCBSWCBxdWV1ZXMgKi8NCg0K ICAgICAgICAgICAgICAgIGZvcihxdWV1ZSA9IDA7IHF1ZXVlIDwgcWNvbmYtPm5fcnhfcXVldWU7 ICsrcXVldWUpIHsNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldGhfcnhj b25mIHJ4cV9jb25mOw0KDQorDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRpZCA9IHFj b25mLT5yeF9xdWV1ZV9saXN0W3F1ZXVlXS5wb3J0X2lkOw0KDQogICAgICAgICAgICAgICAgICAg ICAgICBxdWV1ZWlkID0gcWNvbmYtPnJ4X3F1ZXVlX2xpc3RbcXVldWVdLnF1ZXVlX2lkOw0KDQoN Cg0KQEAgLTk5Niw5ICsxMDEzLDEyIEBAIGVudW0gew0KDQogICAgICAgICAgICAgICAgICAgICAg ICBwcmludGYoInJ4cT0lZCwlZCwlZCAiLCBwb3J0aWQsIHF1ZXVlaWQsIHNvY2tldGlkKTsNCg0K ICAgICAgICAgICAgICAgICAgICAgICAgZmZsdXNoKHN0ZG91dCk7DQoNCg0KDQorICAgICAgICAg ICAgICAgICAgICAgICBydGVfZXRoX2Rldl9pbmZvX2dldChwb3J0aWQsICZkZXZfaW5mbyk7DQoN CisgICAgICAgICAgICAgICAgICAgICAgIHJ4cV9jb25mID0gZGV2X2luZm8uZGVmYXVsdF9yeGNv bmY7DQoNCisgICAgICAgICAgICAgICAgICAgICAgIHJ4cV9jb25mLm9mZmxvYWRzID0gcG9ydF9j b25mLnJ4bW9kZS5vZmZsb2FkczsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gcnRl X2V0aF9yeF9xdWV1ZV9zZXR1cChwb3J0aWQsIHF1ZXVlaWQsIG5iX3J4ZCwNCg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0aWQsDQoNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQoNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZyeHFfY29uZiwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGt0bWJ1Zl9wb29sW3NvY2tldGlkXSk7DQoNCiAgICAgICAgICAgICAgICAg ICAgICAgIGlmIChyZXQgPCAwKQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRl X2V4aXQoRVhJVF9GQUlMVVJFLA0KDQo=