From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30071.outbound.protection.outlook.com [40.107.3.71]) by dpdk.org (Postfix) with ESMTP id A92005B34 for ; Wed, 17 Oct 2018 07:27:09 +0200 (CEST) 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=ca0TbQETjmOVDKsVDTPA5Z+kP1XInIh3HxDbjBW7l70=; b=GcDKutwsspMtlpPPJQyNZolHIOE9u6IHtkm5L6FGDuT/zyC2roNTc6MSFV8AT/W45aAUuh5KEdmdR28TqvW5x6y8UicAqsUsMg8xH0nxOQwlZ9d6e36v1YeegwxYOWRde0EqNtzxYF4tLQ/XI+Magmryb12tsjvMPNIj0gpdieI= Received: from VI1PR05MB4224.eurprd05.prod.outlook.com (52.133.12.13) by VI1PR05MB4621.eurprd05.prod.outlook.com (20.176.3.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1228.31; Wed, 17 Oct 2018 05:27:07 +0000 Received: from VI1PR05MB4224.eurprd05.prod.outlook.com ([fe80::345d:803:9e2:679c]) by VI1PR05MB4224.eurprd05.prod.outlook.com ([fe80::345d:803:9e2:679c%3]) with mapi id 15.20.1250.022; Wed, 17 Oct 2018 05:27:06 +0000 From: Dekel Peled To: Andrew Rybchenko , "wenzhuo.lu@intel.com" , "jingjing.wu@intel.com" , "bernard.iremonger@intel.com" , "olivier.matz@6wind.com" , Adrien Mazarguil , Thomas Monjalon , "ferruh.yigit@intel.com" CC: Shahaf Shuler , "dev@dpdk.org" , Ori Kam , Nikhil Rao Thread-Topic: [dpdk-dev] [PATCH v4 1/3] ethdev: support metadata as flow rule criteria Thread-Index: AQHUZVpUZuZA+1dnWEi5nONXgB2zEaUi6KxA Date: Wed, 17 Oct 2018 05:27:06 +0000 Message-ID: References: <1538056677-33846-1-git-send-email-dekelp@mellanox.com> <1539254998-8555-2-git-send-email-dekelp@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=dekelp@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB4621; 6:mJqpJegML4TZkhiGwbR/1qX3ljMAwgiiOCl3o9pLDLSjJx5KRVF7Kc+EHXRDHQQyb04VrV/2AkhxrcG/SZ7sxoYqvPfrQZwtq9G16ZsOSsOgnzdMk1X41caCgh7hsf7YIerdSPbTMCcg+p04r84q7RmjCV5XchWbiDy6YHMF9nvng1Kwq0s9YJ0hFbc862KmTP8+u5ZZgASKHDVih3agW9gFvEIhBYzPyQNp9yPVEqv9NhmcXampEnGC4J84oecMU6w3YqWVdDBH99yBcQQ1J/nTy6MnXjaYF+oPpi/Tz5sJTTzKOqM1LS/LWnNjiXsqj46N7giZVuls0jW5+NwRPaOYBkvsNV1IQX0wpkdDExdpUGKaadtcso3V9dRZZbk+gFnh9y9dVJk+qeJLciFwOfzXMt05xNjw3/X+YP46a5AoGoEDtGh0ezTwiv2NaBee/590iE8bre4SDuABpUcGLw==; 5:s7RAzIrFpGVCOGKv1HiLPJlFYZCyk1OXuJafSTCwrUVKOoGMZ4OqE1/gYCaIbOt0DAswRv//8rk7ipXPma1NdAargBDJLYMYrxsmK3p6efcuWwRmmDN3U/RxcoG8YoB14AOPBHXu5IoIfueVU5OAXz4CM+EQqCO/ZqDLjL9AGo0=; 7:V/MeuXmA+L8jVWPjHkuwbhdQkJOwA5og/Yf5Y6p6D4Cn5gcSbw/f24jd1efqfgz6q/qyznbJw/oC3gPWNLkG7X0Dj127GMMS28RYpMmzeIo7FNDLA+ibzPyL7n6d5kGdBqZd8HE+7EzlvjKWW0EDK7dC/h3kwHk5VdxhF+Z2nV4ru3FWBiMREl1Fg1xLBe7vcUxVKs7pC8o9QBnkrqFRZOuXNxK1VnD7ZcTxK0qRdsY/QmR9fpVru0fLCnJEQShi x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 7c72c912-4be3-406c-e6d6-08d633f12dc1 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR05MB4621; x-ms-traffictypediagnostic: VI1PR05MB4621: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699)(21748063052155)(28532068793085)(190501279198761)(227612066756510); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(3231355)(944501410)(52105095)(10201501046)(93006095)(93001095)(6055026)(149066)(150057)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(201708071742011)(7699051)(76991091); SRVR:VI1PR05MB4621; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB4621; x-forefront-prvs: 08286A0BE2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(39860400002)(376002)(346002)(366004)(396003)(199004)(189003)(486006)(6116002)(2201001)(316002)(33656002)(3846002)(81166006)(54906003)(6306002)(55016002)(54896002)(11346002)(110136005)(66066001)(99286004)(8676002)(19609705001)(186003)(2900100001)(8936002)(53936002)(446003)(14454004)(86362001)(236005)(476003)(575784001)(9686003)(105586002)(76176011)(74316002)(6506007)(6246003)(256004)(81156014)(5250100002)(53546011)(5660300001)(2906002)(97736004)(4326008)(25786009)(5024004)(14444005)(2501003)(478600001)(106356001)(71190400001)(102836004)(71200400001)(790700001)(7416002)(229853002)(7696005)(68736007)(7736002)(26005)(6436002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB4621; H:VI1PR05MB4224.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: a/xTq6XSgMUsvd0o2EUOThJlDcmK4YMjCMIIJTM6NzCU7jUqvhy0xxM0rDrZd8ZUABxIoV4SrKHa35Uu8Vaz2W0TTthe7lzsGknv7FnNPTLho2MMQO8/LF+8/t6ErhcL4ZntNUdG/cd3QQ4GJeWWEjKkxVeAC2wjTnqas+iAcTmK7jUhGIyFcnLcmn9E6NosHlm9cnPkup5QJTYx0NPduJhNk4PhrB0miDtWMpRYyI9ZUCR920hXfr6vYqlSat8xraU2qUIIE1BWHvhLuffnv6juYSbWWOGu/W1PZu96kyjnYpGXPQ6rTsZFVtXELusZOpfJe4gKEd8it3BKODSlVlf8TIrStKkUrnBR9adhzS8= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c72c912-4be3-406c-e6d6-08d633f12dc1 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2018 05:27:06.5758 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB4621 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 v4 1/3] ethdev: support metadata as flow rule criteria 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: Wed, 17 Oct 2018 05:27:09 -0000 VGhhbmtzLCBQU0IuDQoNCkZyb206IEFuZHJldyBSeWJjaGVua28gPGFyeWJjaGVua29Ac29sYXJm bGFyZS5jb20+DQpTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDE2LCAyMDE4IDU6MTIgUE0NClRvOiBE ZWtlbCBQZWxlZCA8ZGVrZWxwQG1lbGxhbm94LmNvbT47IHdlbnpodW8ubHVAaW50ZWwuY29tOyBq aW5namluZy53dUBpbnRlbC5jb207IGJlcm5hcmQuaXJlbW9uZ2VyQGludGVsLmNvbTsgb2xpdmll ci5tYXR6QDZ3aW5kLmNvbTsgQWRyaWVuIE1hemFyZ3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2lu ZC5jb20+OyBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBmZXJydWgueWln aXRAaW50ZWwuY29tDQpDYzogU2hhaGFmIFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5jb20+OyBk ZXZAZHBkay5vcmc7IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IE5pa2hpbCBSYW8gPG5p a2hpbC5yYW9AaW50ZWwuY29tPg0KU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHY0IDEv M10gZXRoZGV2OiBzdXBwb3J0IG1ldGFkYXRhIGFzIGZsb3cgcnVsZSBjcml0ZXJpYQ0KDQpPbiAx MC8xMS8xOCAxOjQ5IFBNLCBEZWtlbCBQZWxlZCB3cm90ZToNCg0KQXMgZGVzY3JpYmVkIGluIFsx XSwgYSBuZXcgcnRlX2Zsb3cgaXRlbSBpcyBhZGRlZCB0byBzdXBwb3J0IG1ldGFkYXRhDQoNCnRv IHVzZSBhcyBmbG93IHJ1bGUgbWF0Y2ggcGF0dGVybi4NCg0KVGhlIG1ldGFkYXRhIGlzIGFuIG9w YXF1ZSBpdGVtLCBmdWxseSBjb250cm9sbGVkIGJ5IHRoZSBhcHBsaWNhdGlvbi4NCg0KDQoNClRo ZSB1c2Ugb2YgbWV0YWRhdGEgaXMgcmVsZXZhbnQgZm9yIGVncmVzcyBydWxlcyBvbmx5Lg0KDQpJ dCBjYW4gYmUgc2V0IGluIHRoZSBmbG93IHJ1bGUgdXNpbmcgdGhlIFJURV9GTE9XX0lURU1fTUVU QS4NCg0KDQoNCkFuIGFkZGl0aW9uYWwgaXRlbSAndHhfbWV0YWRhdGEnIGlzIGFkZGVkIGluIHVu aW9uIHdpdGggZXhpc3RpbmcgbWVtYmVyDQoNCidoYXNoJyBvZiBzdHJ1Y3QgJ3J0ZV9tYnVmJy4N Cg0KSXQgaXMgdXNlZCB0byBjYXJyeSB0aGUgbWV0YWRhdGEgaXRlbS4NCg0KQ3VycmVudGx5IHRo aXMgdW5pb24gaXMgdXNlZCBvbmx5IGZvciBpbmdyZXNzIHBhY2tldHMsIHNvIHVzaW5nIGl0IGZv cg0KDQplZ3Jlc3MgbWV0YWRhdGEgd2lsbCBub3QgY2F1c2UgY29uZmxpY3RzLg0KDQoNCg0KQXBw bGljYXRpb24gc2hvdWxkIHNldCB0aGUgcGFja2V0IG1ldGFkYXRhIGluIHRoZSBtYnVmIGRlZGlj YXRlZCBmaWVsZCwNCg0KYW5kIHNldCB0aGUgUEtUX1RYX01FVEFEQVRBIGZsYWcgaW4gdGhlIG1i dWYtPm9sX2ZsYWdzLg0KDQpUaGUgTklDIHdpbGwgdXNlIHRoZSBwYWNrZXQgbWV0YWRhdGEgYXMg bWF0Y2ggY3JpdGVyaWEgZm9yIHJlbGV2YW50DQoNCmZsb3cgcnVsZXMuDQoNCg0KDQpUaGlzIHBh dGNoIGludHJvZHVjZXMgbWV0YWRhdGEgaXRlbSB0eXBlIGZvciBydGVfZmxvdyBSVEVfRkxPV19J VEVNX01FVEEsDQoNCmFsb25nIHdpdGggY29ycmVzcG9uZGluZyBzdHJ1Y3QgcnRlX2Zsb3dfaXRl bV9tZXRhIGFuZCBvbF9mbGFnDQoNClBLVF9UWF9NRVRBREFUQS4NCg0KDQoNClsxXSAiW1JGQyx2 Ml0gZXRoZGV2OiBzdXBwb3J0IG1ldGFkYXRhIGFzIGZsb3cgcnVsZSBjcml0ZXJpYSINCg0KDQoN ClNpZ25lZC1vZmYtYnk6IERla2VsIFBlbGVkIDxkZWtlbHBAbWVsbGFub3guY29tPjxtYWlsdG86 ZGVrZWxwQG1lbGxhbm94LmNvbT4NCg0KWy4uLl0NCg0KDQoNCmRpZmYgLS1naXQgYS9kb2MvZ3Vp ZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0IGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9m bG93LnJzdA0KDQppbmRleCBiNjAwYjJkLi44NjQzNzIyIDEwMDY0NA0KDQotLS0gYS9kb2MvZ3Vp ZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQoNCisrKyBiL2RvYy9ndWlkZXMvcHJvZ19ndWlk ZS9ydGVfZmxvdy5yc3QNCg0KQEAgLTExOTEsNiArMTE5MSwyNyBAQCBOb3JtYWxseSBwcmVjZWRl ZCBieSBhbnkgb2Y6DQoNCiAtIGBJdGVtOiBJQ01QNl9ORF9OU2BfDQoNCiAtIGBJdGVtOiBJQ01Q Nl9ORF9PUFRgXw0KDQoNCg0KK0l0ZW06IGBgTUVUQWBgDQoNCiteXl5eXl5eXl5eXl5eXg0KDQor DQoNCitNYXRjaGVzIGFuIGFwcGxpY2F0aW9uIHNwZWNpZmljIDMyIGJpdCBtZXRhZGF0YSBpdGVt Lg0KDQorDQoNCistIERlZmF1bHQgYGBtYXNrYGAgbWF0Y2hlcyBhbnkgMzIgYml0IHZhbHVlLg0K DQorDQoNCisuLiBfdGFibGVfcnRlX2Zsb3dfaXRlbV9tZXRhOg0KDQorDQoNCisuLiB0YWJsZTo6 IE1FVEENCg0KKw0KDQorICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rDQoNCisgICB8IEZpZWxkICAgIHwgU3ViZmllbGQgfCBWYWx1ZSAgICAgICAg ICAgICAgICAgICAgIHwNCg0KKyAgICs9PT09PT09PT09Kz09PT09PT09PT0rPT09PT09PT09PT09 PT09PT09PT09PT09PT09Kw0KDQorICAgfCBgYHNwZWNgYCB8IGBgZGF0YWBgIHwgMzIgYml0IG1l dGFkYXRhIHZhbHVlICAgICB8DQoNCisgICArLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsNCg0KKyAgIHwgYGBsYXN0YGAgfCBgYGRhdGFgYCB8IHVwcGVy IHJhbmdlIHZhbHVlICAgICAgICAgfA0KDQorICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoNCisgICB8IGBgbWFza2BgIHwgYGBkYXRhYGAgfCB6 ZXJvZWQgdG8gbWF0Y2ggYW55IHZhbHVlIHwNCg0KKyAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KDQorDQoNCklzIHRoZXJlIGEgZGlmZmVyZW5j ZSBiZXR3ZWVuIGFueSBtZXRhZGF0YSB2YWx1ZSBhbmQNCm5vIG1ldGFkYXRhIHZhbHVlIGF0IGFs bD8NCg0KDQo8RFA+IFZhbHVlIFplcm8gaXMgY29uc2lkZXJlZCBhcyBubyBtZXRhZGF0YSB2YWx1 ZS4NCg0KDQpkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5oIGIvbGli L2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5oDQoNCmluZGV4IDAxMjU3N2IuLjkzM2YwZTAgMTAw NjQ0DQoNCi0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuaA0KDQorKysgYi9saWIv bGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmgNCg0KQEAgLTk0Miw2ICs5NDIsMTEgQEAgc3RydWN0 IHJ0ZV9ldGhfY29uZiB7DQoNCiAgKiBmb3IgdHVubmVsIFRTTy4NCg0KICAqLw0KDQogI2RlZmlu ZSBERVZfVFhfT0ZGTE9BRF9JUF9UTkxfVFNPICAgICAgIDB4MDAwODAwMDANCg0KKy8qKg0KDQor ICogRGV2aWNlIHN1cHBvcnRzIG1hdGNoIG9uIG1ldGFkYXRhIFR4IG9mZmxvYWQuLg0KDQorICog QXBwbGljYXRpb24gbXVzdCBzZXQgUEtUX1RYX01FVEFEQVRBIGFuZCBtYnVmIG1ldGFkYXRhIGZp ZWxkLg0KDQorICovDQoNCisjZGVmaW5lIERFVl9UWF9PRkZMT0FEX01BVENIX01FVEFEQVRBICAg MHgwMDEwMDAwMA0KDQoNCg0KICNkZWZpbmUgUlRFX0VUSF9ERVZfQ0FQQV9SVU5USU1FX1JYX1FV RVVFX1NFVFVQIDB4MDAwMDAwMDENCg0KIC8qKjwgRGV2aWNlIHN1cHBvcnRzIFJ4IHF1ZXVlIHNl dHVwIGFmdGVyIGRldmljZSBzdGFydGVkKi8NCg0KDQoNCmRpZmYgLS1naXQgYS9saWIvbGlicnRl X21idWYvcnRlX21idWYuaCBiL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oDQoNCmluZGV4IGE1 MGIwNWMuLjFmYTM4ZGIgMTAwNjQ0DQoNCi0tLSBhL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5o DQoNCisrKyBiL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oDQoNCkBAIC0xODIsNiArMTgyLDEx IEBADQoNCiAvKiBhZGQgbmV3IFRYIGZsYWdzIGhlcmUgKi8NCg0KDQoNCiAvKioNCg0KKyAqIElu ZGljYXRlIHRoYXQgdGhlIG1ldGFkYXRhIGZpZWxkIGluIHRoZSBtYnVmIGlzIGluIHVzZS4NCg0K KyAqLw0KDQorI2RlZmluZSBQS1RfVFhfTUVUQURBVEEgICAgICAgKDFVTEwgPDwgNDEpDQoNCisN Cg0KKy8qKg0KDQogICogVURQIEZyYWdtZW50YXRpb24gT2ZmbG9hZCBmbGFnLiBUaGlzIGZsYWcg aXMgdXNlZCBmb3IgZW5hYmxpbmcgVURQDQoNCiAgKiBmcmFnbWVudGF0aW9uIGluIFNXIG9yIGlu IEhXLiBXaGVuIHVzZSBVRk8sIG1idWYtPnRzb19zZWdzeiBpcyB1c2VkDQoNCiAgKiB0byBzdG9y ZSB0aGUgTVNTIG9mIFVEUCBmcmFnbWVudHMuDQoNCkBAIC0zNDIsOCArMzQ3LDkgQEANCg0KICAg ICAgICAgICAgICAgIFBLVF9UWF9RSU5RX1BLVCB8ICAgICAgICBcDQoNCiAgICAgICAgICAgICAg ICBQS1RfVFhfVkxBTl9QS1QgfCAgICAgICAgXA0KDQogICAgICAgICAgICAgICAgUEtUX1RYX1RV Tk5FTF9NQVNLIHwgICAgXA0KDQotICAgICAgICAgICAgICAgUEtUX1RYX01BQ1NFQyB8ICAgICAg ICAgXA0KDQotICAgICAgICAgICAgICAgUEtUX1RYX1NFQ19PRkZMT0FEKQ0KDQorICAgICAgICAg ICAgICAgUEtUX1RYX01BQ1NFQyB8ICAgICAgICAgIFwNCg0KKyAgICAgICAgICAgICAgIFBLVF9U WF9TRUNfT0ZGTE9BRCB8ICAgIFwNCg0KKyAgICAgICAgICAgICAgIFBLVF9UWF9NRVRBREFUQSkN Cg0KDQoNCiAvKioNCg0KICAqIE1idWYgaGF2aW5nIGFuIGV4dGVybmFsIGJ1ZmZlciBhdHRhY2hl ZC4gc2hpbmZvIGluIG1idWYgbXVzdCBiZSBmaWxsZWQuDQoNCkBAIC01MTEsMjggKzUxNyw0MSBA QCBzdHJ1Y3QgcnRlX21idWYgew0KDQogICAgICAgIC8qKiBWTEFOIFRDSSAoQ1BVIG9yZGVyKSwg dmFsaWQgaWYgUEtUX1JYX1ZMQU4gaXMgc2V0LiAqLw0KDQogICAgICAgIHVpbnQxNl90IHZsYW5f dGNpOw0KDQoNCg0KKyAgICAgICBSVEVfU1REX0MxMQ0KDQogICAgICAgIHVuaW9uIHsNCg0KLSAg ICAgICAgICAgICAgIHVpbnQzMl90IHJzczsgICAgIC8qKjwgUlNTIGhhc2ggcmVzdWx0IGlmIFJT UyBlbmFibGVkICovDQoNCi0gICAgICAgICAgICAgICBzdHJ1Y3Qgew0KDQotICAgICAgICAgICAg ICAgICAgICAgICBSVEVfU1REX0MxMQ0KDQotICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiB7 DQoNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgew0KDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBoYXNoOw0KDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBpZDsNCg0KKyAgICAgICAgICAg ICAgIHVuaW9uIHsNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcnNzOyAgICAg LyoqPCBSU1MgaGFzaCByZXN1bHQgaWYgUlNTIGVuYWJsZWQgKi8NCg0KKyAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHsNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9u IHsNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHsNCg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBo YXNoOw0KDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDE2X3QgaWQ7DQoNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07DQoN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxvOw0KDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY29uZCA0IGZsZXhp YmxlIGJ5dGVzICovDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ow0KDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaGk7DQoNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvKio8IEZpcnN0IDQgZmxleGlibGUgYnl0ZXMgb3IgRkQgSUQsIGRl cGVuZGVudA0KDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogb24gUEtUX1JYX0ZE SVJfKiBmbGFnIGluIG9sX2ZsYWdzLg0KDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICovDQoNCisgICAgICAgICAgICAgICAgICAgICAgIH0gZmRpcjsgLyoqPCBGaWx0ZXIgaWRlbnRp ZmllciBpZiBGRElSIGVuYWJsZWQgKi8NCg0KKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGxvOw0KDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZWNvbmQgNCBmbGV4aWJsZSBieXRlcyAq Lw0KDQotICAgICAgICAgICAgICAgICAgICAgICB9Ow0KDQotICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBoaTsNCg0KLSAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGaXJzdCA0IGZs ZXhpYmxlIGJ5dGVzIG9yIEZEIElELCBkZXBlbmRlbnQgb24NCg0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQS1RfUlhfRkRJUl8qIGZsYWcgaW4gb2xfZmxhZ3MuICovDQoNCi0gICAgICAg ICAgICAgICB9IGZkaXI7ICAgICAgICAgICAvKio8IEZpbHRlciBpZGVudGlmaWVyIGlmIEZESVIg ZW5hYmxlZCAqLw0KDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaGk7 DQoNCisgICAgICAgICAgICAgICAgICAgICAgIH0gc2NoZWQ7ICAgICAgICAgIC8qKjwgSGllcmFy Y2hpY2FsIHNjaGVkdWxlciAqLw0KDQorICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVzZXIg ZGVmaW5lZCB0YWdzLiBTZWUgcnRlX2Rpc3RyaWJ1dG9yX3Byb2Nlc3MoKSAqLw0KDQorICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCB1c3I7DQoNCisgICAgICAgICAgICAgICB9IGhhc2g7 ICAgICAgICAgICAgICAgICAgIC8qKjwgaGFzaCBpbmZvcm1hdGlvbiAqLw0KDQogICAgICAgICAg ICAgICAgc3RydWN0IHsNCg0KLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbG87DQoN CisgICAgICAgICAgICAgICAgICAgICAgIC8qKg0KDQorICAgICAgICAgICAgICAgICAgICAgICAg KiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBtZXRhZGF0YSB2YWx1ZQ0KDQorICAgICAgICAgICAgICAg ICAgICAgICAgKiBmb3IgZWdyZXNzIGZsb3cgcnVsZSBtYXRjaC4NCg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICogVmFsaWQgaWYgUEtUX1RYX01FVEFEQVRBIGlzIHNldC4NCg0KKyAgICAgICAg ICAgICAgICAgICAgICAgICovDQoNCkRvIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHkgdGhhdCBpdCBp cyBpbiBDUFUgYnl0ZSBvcmRlcj8NCg0KPERQPiBZZXMuIFRoZSBtZXRhZGF0YSB2YWx1ZSBpcyBu b3Qgc2VudCBvdXQgdG8gbmV0d29yay4NCg0KDQorICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCB0eF9tZXRhZGF0YTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaGk7 DQoNCkkgZG9uJ3Qga25vdyBpZiB3ZSBuZWVkICdoaScgaGVyZS4gUmlnaHQgbm93IG9ubHkgb25l IHRoaW5nIGlzDQppbXBvcnRhbnQgLSBtYWtlIGl0IGNsZWFyIHRoYXQgaXQgaXMgbm90IHVzZWQu IE1heSBiZSBuYW1lIGl0ICdyZXNlcnZlZCcNCmluc3RlYWQgb2YgJ2hpJy4NCg0KPERQPiBBY2Nl cHRlZCwgSSB3aWxsIHJlbmFtZSBpdC4NCg0KSXQgaXMgaW50ZXJlc3RpbmcgdGhhdCBoYXNoOjpz Y2hlZDo6aGkgaXMgdXNlZCBmb3IgVHhRIGlkZW50aWZpY2F0aW9uDQppbiBydGVfZXZlbnRfZXRo X3R4LiBUaGUgcGF0Y2ggdXNlcyBsb3cgYnl0ZXMuIFNvLCBzZWVtIHRvIGJlIGZpbmUuDQpIb3dl dmVyLCBpZiB0aGUgc2VwYXJhdGUgc3RydWN0dXJlIGlzIGFkZGVkIGluIHVuaW9uIGZvciBUeCBm aWVsZHMsDQppdCBsb29rcyBzdHJhbmdlIHRha2luZyAgcnRlX2V2ZW50X2V0aF90eCBpbnRvIGFj Y291bnQuDQpTbywgSSB0aGluayBpdCB3b3VsZCBiZSBnb29kIGRvY3VtZW50IChjb21tZW50cykg dGhlIHB1cnBvc2UNCm9mIHNlcGFyYXRlIGJ1dCB1bm5hbWVkIHN0cnVjdHVyZSBpbiB0aGUgdW5p b24uDQoNCjxEUD4gQWNjZXB0ZWQsIEkgd2lsbCBhZGQgY29tbWVudC4NCg0KQW5kcmV3Lg0K