From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03hn0211.outbound.protection.outlook.com [104.47.10.211]) by dpdk.org (Postfix) with ESMTP id AECEC2C16 for ; Sat, 14 Jul 2018 03:29:31 +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=P/3kRnsip7p5WpEXDwS0aLfJaEus1Ajke6maxjEyXDw=; b=s/XsnqsiHYgR0dy9A0z0q9Xc8PZFAL44JGnRax/2merIRvbl9sfcA7QsfZF34fZTNw/N12TQNU7gzyQqkrcc6WkhCfxEGCeHCNIaqeEK9AZboRSoPPfn1fLr4VJH3sjFvg4EsqNKcYvy3sHefJF1J508qYOZdNk1XmPXURmt7gI= Received: from VI1PR0501MB2045.eurprd05.prod.outlook.com (10.167.195.147) by VI1PR0501MB2381.eurprd05.prod.outlook.com (10.168.135.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Sat, 14 Jul 2018 01:29:20 +0000 Received: from VI1PR0501MB2045.eurprd05.prod.outlook.com ([fe80::89c3:2b8e:5cea:4a0b]) by VI1PR0501MB2045.eurprd05.prod.outlook.com ([fe80::89c3:2b8e:5cea:4a0b%6]) with mapi id 15.20.0952.017; Sat, 14 Jul 2018 01:29:19 +0000 From: Yongseok Koh To: Adrien Mazarguil CC: Shahaf Shuler , =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= , "dev@dpdk.org" Thread-Topic: [PATCH v2 1/6] net/mlx5: lay groundwork for switch offloads Thread-Index: AQHUGxHDMqSb9Jqg0kC8rYfM3qJkJKSN7gjX Date: Sat, 14 Jul 2018 01:29:19 +0000 Message-ID: <5E6F42BB-5385-4F19-8BE7-06AEDACC7B9C@mellanox.com> References: <20180627173355.4718-1-adrien.mazarguil@6wind.com> <20180713092910.26276-1-adrien.mazarguil@6wind.com>, <20180713092910.26276-2-adrien.mazarguil@6wind.com> In-Reply-To: <20180713092910.26276-2-adrien.mazarguil@6wind.com> 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=yskoh@mellanox.com; x-originating-ip: [73.222.116.174] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR0501MB2381; 7:RjiaZw5pxBd6GSKBvjCSTR6lZndJ983GNXMs8OqXkwSCIWqtWPcLmBIJ6lDpWusc0tLNzyD9O3f75VfNrxSK04HHbNByFlgUBeyyNoOMMe0QtHwJ8KET0sx9PV/8XCEsk8pHa9Cfk+9H+OkHfw51FwwTM4YR45eA2mF1/tkNRf/pkR0tU6PRQiWJFBRxGpOxg7N9vHNWT4mua/Gqdz6vWhefX0tgw9jrRliCtizl93YiY1tOW6UUtyCGat+HkIp1 x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 60e255e0-68a8-4023-d436-08d5e92938c9 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:VI1PR0501MB2381; x-ms-traffictypediagnostic: VI1PR0501MB2381:|VI1PR0501MB2381: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(189930954265078)(66839620246622)(45079756050767)(211171220733660); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(3231311)(2232096)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:VI1PR0501MB2381; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0501MB2381; x-forefront-prvs: 07334CBCCD x-forefront-antispam-report: SFV:SPM; SFS:(10009020)(346002)(396003)(376002)(136003)(39860400002)(366004)(189003)(199004)(11346002)(186003)(99286004)(66066001)(476003)(6436002)(54896002)(5660300001)(33656002)(6306002)(6486002)(7736002)(2616005)(3846002)(966005)(6916009)(446003)(106356001)(6512007)(26005)(236005)(486006)(14454004)(229853002)(6116002)(68736007)(5250100002)(81156014)(5024004)(25786009)(2906002)(606006)(83716003)(575784001)(86362001)(36756003)(97736004)(256004)(81166006)(8676002)(316002)(53936002)(4326008)(45080400002)(2900100001)(82746002)(53546011)(478600001)(76176011)(14444005)(105586002)(54906003)(102836004)(6246003)(8936002)(6506007)(59010400001); DIR:OUT; SFP:1501; SCL:5; SRVR:VI1PR0501MB2381; H:VI1PR0501MB2045.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: peh0tujhIXzwdxwfPBIzrwDj43aG/W0vbMEgaJ4f+QPYFvHvGHa++TNp30Q1I7/r6ypkHdR5qvlh/CABJLL/U9s98yIEJP/2inrhru5Nvq3AHsOpgRVzpOalzJyaxIXUksvmhdBqlRLgzUXtKVo6T3Aag/HF+LPJnN/M51NftqJoPCxottshLpfp0naKCtlQPexgDf+Zf+/9ejxQwGDPc4fID7mDvvvDp0nJyPovozOG76Q4+Xf85wor2RtazfGFfhigTzpF1bUdE7zVdkDxJPRR1SC68Ct19ja1kJR79fVy7TjN7Ve3mPnABPsVp7aa7WwdxkXJSq7DG9Ef8nIx7x3aUGJlTuDCw8x3fNJyiTeFu5jx48xWOVmuN9ctk6ZZ27cAk6+B+ie1cKRKFoTHzge0EaPm8e+yS5eNvP6era4WptSJahA7BP4ig3DPfHAm3zOu4XNqiIDJnxTATcmWVB1LTSWWQWpDpSo4TnCl+4ExD2oLGYra4+/lf+M40OFaVFroNnrjeSnp0F7a1txoLrFujdsMNOSAezAYj8xte0eZXGY6cFF1kRCnln0gm1KCWkx4tFyKehi4HofdsZw0uOvgwp3d6crNzCRUq3NgGJK0FOnp+UvMq9g7MjP0lByQXYCu15VoRIds8ZDXT+d2OiitpY6QYI14gdKSP86ZoiLJJrTlvU6qhnnc7UxwWIoXQcJX9ZYh6yoH0bsbmoYySQ== spamdiagnosticoutput: 1:22 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 60e255e0-68a8-4023-d436-08d5e92938c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jul 2018 01:29:19.6053 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2381 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 1/6] net/mlx5: lay groundwork for switch offloads 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: Sat, 14 Jul 2018 01:29:32 -0000 DQpPbiBKdWwgMTMsIDIwMTgsIGF0IDY6MjcgUE0sIEFkcmllbiBNYXphcmd1aWwgPGFkcmllbi5t YXphcmd1aWxANndpbmQuY29tPG1haWx0bzphZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT4+IHdy b3RlOg0KDQpXaXRoIG1seDUsIHVubGlrZSBub3JtYWwgZmxvdyBydWxlcyBpbXBsZW1lbnRlZCB0 aHJvdWdoIFZlcmJzIGZvciB0cmFmZmljDQplbWl0dGVkIGFuZCByZWNlaXZlZCBieSB0aGUgYXBw bGljYXRpb24sIHRob3NlIHRhcmdldGluZyBkaWZmZXJlbnQgbG9naWNhbA0KcG9ydHMgb2YgdGhl IGRldmljZSAoVkYgcmVwcmVzZW50b3JzIGZvciBpbnN0YW5jZSkgYXJlIG9mZmxvYWRlZCBhdCB0 aGUNCnN3aXRjaCBsZXZlbCBhbmQgbXVzdCBiZSBjb25maWd1cmVkIHRocm91Z2ggTmV0bGluayAo VEMgaW50ZXJmYWNlKS4NCg0KVGhpcyBwYXRjaCBhZGRzIHByZWxpbWluYXJ5IHN1cHBvcnQgdG8g bWFuYWdlIHN1Y2ggZmxvdyBydWxlcyB0aHJvdWdoIHRoZQ0KZmxvdyBBUEkgKHJ0ZV9mbG93KS4N Cg0KSW5zdGVhZCBvZiByZXdyaXRpbmcgdG9ucyBvZiBOZXRsaW5rIGhlbHBlcnMgYW5kIGFzIHBy ZXZpb3VzbHkgc3VnZ2VzdGVkIGJ5DQpTdGVwaGVuIFsxXSwgdGhpcyBwYXRjaCBpbnRyb2R1Y2Vz IGEgbmV3IGRlcGVuZGVuY3kgdG8gbGlibW5sIFsyXQ0KKExHUEwtMi4xKSB3aGVuIGNvbXBpbGlu ZyBtbHg1Lg0KDQpbMV0gaHR0cHM6Ly9lbWVhMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9v ay5jb20vP3VybD1odHRwcyUzQSUyRiUyRm1haWxzLmRwZGsub3JnJTJGYXJjaGl2ZXMlMkZkZXYl MkYyMDE4LU1hcmNoJTJGMDkyNjc2Lmh0bWwmYW1wO2RhdGE9MDIlN0MwMSU3Q3lza29oJTQwbWVs bGFub3guY29tJTdDZWI2NWNkMGY1NjQ0NGY5MGQxZTIwOGQ1ZThhNGJhZjclN0NhNjUyOTcxYzdk MmU0ZDliYTZhNGQxNDkyNTZmNDYxYiU3QzAlN0MwJTdDNjM2NjcwNzE2NTg3MDY4MDgzJmFtcDtz ZGF0YT1XbHFZbVgzcDFnbUdsM2Vrdk5vZHVXNjR2R1l6OEg5UiUyRmF2dThyc0NCMmclM0QmYW1w O3Jlc2VydmVkPTANClsyXSBodHRwczovL2VtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRs b29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGbmV0ZmlsdGVyLm9yZyUyRnByb2plY3RzJTJGbGli bW5sJTJGJmFtcDtkYXRhPTAyJTdDMDElN0N5c2tvaCU0MG1lbGxhbm94LmNvbSU3Q2ViNjVjZDBm NTY0NDRmOTBkMWUyMDhkNWU4YTRiYWY3JTdDYTY1Mjk3MWM3ZDJlNGQ5YmE2YTRkMTQ5MjU2ZjQ2 MWIlN0MwJTdDMCU3QzYzNjY3MDcxNjU4NzA2ODA4MyZhbXA7c2RhdGE9RURWODZ6M0kyN040NlUl MkJtajczVTJQZ3VTNHZZYSUyRkxGTDVvMmdZMlFES28lM0QmYW1wO3Jlc2VydmVkPTANCg0KU2ln bmVkLW9mZi1ieTogQWRyaWVuIE1hemFyZ3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb208 bWFpbHRvOmFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPj4NCkFja2VkLWJ5OiBOZWxpbyBMYXJh bmplaXJvIDxuZWxpby5sYXJhbmplaXJvQDZ3aW5kLmNvbTxtYWlsdG86bmVsaW8ubGFyYW5qZWly b0A2d2luZC5jb20+Pg0KQ2M6IFlvbmdzZW9rIEtvaCA8eXNrb2hAbWVsbGFub3guY29tPG1haWx0 bzp5c2tvaEBtZWxsYW5veC5jb20+Pg0KLS0NCkFja2VkLWJ5OiBZb25nc2VvayBLb2ggPHlza29o QG1lbGxhbm94LmNvbTxtYWlsdG86eXNrb2hAbWVsbGFub3guY29tPj4NCg0KVGhhbmtzDQoNCnYy IGNoYW5nZXM6DQoNCi0gQWRkZWQgTkVUTElOS19DQVBfQUNLIGRlZmluaXRpb24gaWYgbWlzc2lu ZyBmcm9tIHRoZSBob3N0IHN5c3RlbS4gVGhpcw0KIHBhcmFtZXRlciBpcyBhbHNvIG5vdCBtYW5k YXRvcnkgYW55bW9yZSBhbmQgd29uJ3QgcHJldmVudCBjcmVhdGlvbiBvZg0KIE5MIHNvY2tldHMg d2hlbiBub3Qgc3VwcG9ydGVkLg0KLSBNb2RpZmllZCBtbHg1X25sX2Zsb3dfbmxfYWNrKCkgYW5k IG1seDVfbmxfZmxvd19pbml0KCkgdG8gY29uc3VtZSB0aGUNCiBsZWFzdCBhbW91bnQgb2Ygc3Rh Y2sgc3BhY2UgYmFzZWQgb24gbWVzc2FnZSBzaXplLCBpbnN0ZWFkIG9mIHRoZSBmaXhlZA0KIE1O TF9TT0NLRVRfQlVGRkVSX1NJWkUgd2hpY2ggaXMgcXVpdGUgbGFyZ2UuDQotLS0NCmRyaXZlcnMv bmV0L21seDUvTWFrZWZpbGUgICAgICAgfCAgIDIgKw0KZHJpdmVycy9uZXQvbWx4NS9tbHg1LmMg ICAgICAgICB8ICAzMiArKysrKysrKw0KZHJpdmVycy9uZXQvbWx4NS9tbHg1LmggICAgICAgICB8 ICAxMCArKysNCmRyaXZlcnMvbmV0L21seDUvbWx4NV9ubF9mbG93LmMgfCAxNDcgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysNCm1rL3J0ZS5hcHAubWsgICAgICAgICAgICAgICAg ICAgfCAgIDIgKy0NCjUgZmlsZXMgY2hhbmdlZCwgMTkyIGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDUvTWFrZWZpbGUgYi9kcml2ZXJz L25ldC9tbHg1L01ha2VmaWxlDQppbmRleCA5ZTI3NDk2NGIuLjhkM2NiMjE5YiAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvbmV0L21seDUvTWFrZWZpbGUNCisrKyBiL2RyaXZlcnMvbmV0L21seDUvTWFr ZWZpbGUNCkBAIC0zMyw2ICszMyw3IEBAIFNSQ1MtJChDT05GSUdfUlRFX0xJQlJURV9NTFg1X1BN RCkgKz0gbWx4NV9tci5jDQpTUkNTLSQoQ09ORklHX1JURV9MSUJSVEVfTUxYNV9QTUQpICs9IG1s eDVfZmxvdy5jDQpTUkNTLSQoQ09ORklHX1JURV9MSUJSVEVfTUxYNV9QTUQpICs9IG1seDVfc29j a2V0LmMNClNSQ1MtJChDT05GSUdfUlRFX0xJQlJURV9NTFg1X1BNRCkgKz0gbWx4NV9ubC5jDQor U1JDUy0kKENPTkZJR19SVEVfTElCUlRFX01MWDVfUE1EKSArPSBtbHg1X25sX2Zsb3cuYw0KDQpp ZmVxICgkKENPTkZJR19SVEVfTElCUlRFX01MWDVfRExPUEVOX0RFUFMpLHkpDQpJTlNUQUxMLSQo Q09ORklHX1JURV9MSUJSVEVfTUxYNV9QTUQpLWxpYiArPSAkKExJQl9HTFVFKQ0KQEAgLTU2LDYg KzU3LDcgQEAgTERMSUJTICs9IC1sZGwNCmVsc2UNCkxETElCUyArPSAtbGlidmVyYnMgLWxtbHg1 DQplbmRpZg0KK0xETElCUyArPSAtbG1ubA0KTERMSUJTICs9IC1scnRlX2VhbCAtbHJ0ZV9tYnVm IC1scnRlX21lbXBvb2wgLWxydGVfcmluZw0KTERMSUJTICs9IC1scnRlX2V0aGRldiAtbHJ0ZV9u ZXQgLWxydGVfa3ZhcmdzDQpMRExJQlMgKz0gLWxydGVfYnVzX3BjaQ0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L21seDUvbWx4NS5jIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1LmMNCmluZGV4IDZk MzQyMWZhZS4uOGZiOGM5MWViIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1LmMN CisrKyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NS5jDQpAQCAtMjgyLDYgKzI4Miw4IEBAIG1seDVf ZGV2X2Nsb3NlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KICAgICAgIGNsb3NlKHByaXYtPm5s X3NvY2tldF9yb3V0ZSk7DQogICBpZiAocHJpdi0+bmxfc29ja2V0X3JkbWEgPj0gMCkNCiAgICAg ICBjbG9zZShwcml2LT5ubF9zb2NrZXRfcmRtYSk7DQorICAgIGlmIChwcml2LT5tbmxfc29ja2V0 KQ0KKyAgICAgICAgbWx4NV9ubF9mbG93X3NvY2tldF9kZXN0cm95KHByaXYtPm1ubF9zb2NrZXQp Ow0KICAgcmV0ID0gbWx4NV9ocnhxX2lidl92ZXJpZnkoZGV2KTsNCiAgIGlmIChyZXQpDQogICAg ICAgRFJWX0xPRyhXQVJOSU5HLCAicG9ydCAldSBzb21lIGhhc2ggUnggcXVldWUgc3RpbGwgcmVt YWluIiwNCkBAIC0xMTE2LDYgKzExMTgsMzQgQEAgbWx4NV9kZXZfc3Bhd24oc3RydWN0IHJ0ZV9k ZXZpY2UgKmRwZGtfZGV2LA0KICAgY2xhaW1femVybyhtbHg1X21hY19hZGRyX2FkZChldGhfZGV2 LCAmbWFjLCAwLCAwKSk7DQogICBpZiAodmYgJiYgY29uZmlnLnZmX25sX2VuKQ0KICAgICAgIG1s eDVfbmxfbWFjX2FkZHJfc3luYyhldGhfZGV2KTsNCisgICAgcHJpdi0+bW5sX3NvY2tldCA9IG1s eDVfbmxfZmxvd19zb2NrZXRfY3JlYXRlKCk7DQorICAgIGlmICghcHJpdi0+bW5sX3NvY2tldCkg ew0KKyAgICAgICAgZXJyID0gLXJ0ZV9lcnJubzsNCisgICAgICAgIERSVl9MT0coV0FSTklORywN CisgICAgICAgICAgICAiZmxvdyBydWxlcyByZWx5aW5nIG9uIHN3aXRjaCBvZmZsb2FkcyB3aWxs IG5vdCBiZSINCisgICAgICAgICAgICAiIHN1cHBvcnRlZDogY2Fubm90IG9wZW4gbGlibW5sIHNv Y2tldDogJXMiLA0KKyAgICAgICAgICAgIHN0cmVycm9yKHJ0ZV9lcnJubykpOw0KKyAgICB9IGVs c2Ugew0KKyAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yIGVycm9yOw0KKyAgICAgICAgdW5z aWduZWQgaW50IGlmaW5kZXggPSBtbHg1X2lmaW5kZXgoZXRoX2Rldik7DQorDQorICAgICAgICBp ZiAoIWlmaW5kZXgpIHsNCisgICAgICAgICAgICBlcnIgPSAtcnRlX2Vycm5vOw0KKyAgICAgICAg ICAgIGVycm9yLm1lc3NhZ2UgPQ0KKyAgICAgICAgICAgICAgICAiY2Fubm90IHJldHJpZXZlIG5l dHdvcmsgaW50ZXJmYWNlIGluZGV4IjsNCisgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAg ZXJyID0gbWx4NV9ubF9mbG93X2luaXQocHJpdi0+bW5sX3NvY2tldCwgaWZpbmRleCwNCisgICAg ICAgICAgICAgICAgICAgICAgICAmZXJyb3IpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgaWYgKGVy cikgew0KKyAgICAgICAgICAgIERSVl9MT0coV0FSTklORywNCisgICAgICAgICAgICAgICAgImZs b3cgcnVsZXMgcmVseWluZyBvbiBzd2l0Y2ggb2ZmbG9hZHMgd2lsbCINCisgICAgICAgICAgICAg ICAgIiBub3QgYmUgc3VwcG9ydGVkOiAlczogJXMiLA0KKyAgICAgICAgICAgICAgICBlcnJvci5t ZXNzYWdlLCBzdHJlcnJvcihydGVfZXJybm8pKTsNCisgICAgICAgICAgICBtbHg1X25sX2Zsb3df c29ja2V0X2Rlc3Ryb3kocHJpdi0+bW5sX3NvY2tldCk7DQorICAgICAgICAgICAgcHJpdi0+bW5s X3NvY2tldCA9IE5VTEw7DQorICAgICAgICB9DQorICAgIH0NCiAgIFRBSUxRX0lOSVQoJnByaXYt PmZsb3dzKTsNCiAgIFRBSUxRX0lOSVQoJnByaXYtPmN0cmxfZmxvd3MpOw0KICAgLyogSGludCBs aWJtbHg1IHRvIHVzZSBQTUQgYWxsb2NhdG9yIGZvciBkYXRhIHBsYW5lIHJlc291cmNlcyAqLw0K QEAgLTExNjgsNiArMTE5OCw4IEBAIG1seDVfZGV2X3NwYXduKHN0cnVjdCBydGVfZGV2aWNlICpk cGRrX2RldiwNCiAgICAgICAgICAgY2xvc2UocHJpdi0+bmxfc29ja2V0X3JvdXRlKTsNCiAgICAg ICBpZiAocHJpdi0+bmxfc29ja2V0X3JkbWEgPj0gMCkNCiAgICAgICAgICAgY2xvc2UocHJpdi0+ bmxfc29ja2V0X3JkbWEpOw0KKyAgICAgICAgaWYgKHByaXYtPm1ubF9zb2NrZXQpDQorICAgICAg ICAgICAgbWx4NV9ubF9mbG93X3NvY2tldF9kZXN0cm95KHByaXYtPm1ubF9zb2NrZXQpOw0KICAg ICAgIGlmIChvd25fZG9tYWluX2lkKQ0KICAgICAgICAgICBjbGFpbV96ZXJvKHJ0ZV9ldGhfc3dp dGNoX2RvbWFpbl9mcmVlKHByaXYtPmRvbWFpbl9pZCkpOw0KICAgICAgIHJ0ZV9mcmVlKHByaXYp Ow0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDUvbWx4NS5oIGIvZHJpdmVycy9uZXQvbWx4 NS9tbHg1LmgNCmluZGV4IDEzMWJlMzM0Yy4uOThiNmVjMDdkIDEwMDY0NA0KLS0tIGEvZHJpdmVy cy9uZXQvbWx4NS9tbHg1LmgNCisrKyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NS5oDQpAQCAtMTU2 LDYgKzE1Niw4IEBAIHN0cnVjdCBtbHg1X2Ryb3Agew0KICAgc3RydWN0IG1seDVfcnhxX2lidiAq cnhxOyAvKiBWZXJicyBSeCBxdWV1ZS4gKi8NCn07DQoNCitzdHJ1Y3QgbW5sX3NvY2tldDsNCisN CnN0cnVjdCBwcml2IHsNCiAgIExJU1RfRU5UUlkocHJpdikgbWVtX2V2ZW50X2NiOyAvKiBDYWxs ZWQgYnkgbWVtb3J5IGV2ZW50IGNhbGxiYWNrLiAqLw0KICAgc3RydWN0IHJ0ZV9ldGhfZGV2X2Rh dGEgKmRldl9kYXRhOyAgLyogUG9pbnRlciB0byBkZXZpY2UgZGF0YS4gKi8NCkBAIC0yMTUsNiAr MjE3LDcgQEAgc3RydWN0IHByaXYgew0KICAgaW50IG5sX3NvY2tldF9yZG1hOyAvKiBOZXRsaW5r IHNvY2tldCAoTkVUTElOS19SRE1BKS4gKi8NCiAgIGludCBubF9zb2NrZXRfcm91dGU7IC8qIE5l dGxpbmsgc29ja2V0IChORVRMSU5LX1JPVVRFKS4gKi8NCiAgIHVpbnQzMl90IG5sX3NuOyAvKiBO ZXRsaW5rIG1lc3NhZ2Ugc2VxdWVuY2UgbnVtYmVyLiAqLw0KKyAgICBzdHJ1Y3QgbW5sX3NvY2tl dCAqbW5sX3NvY2tldDsgLyogTGlibW5sIHNvY2tldC4gKi8NCn07DQoNCiNkZWZpbmUgUE9SVF9J RChwcml2KSAoKHByaXYpLT5kZXZfZGF0YS0+cG9ydF9pZCkNCkBAIC0zODAsNCArMzgzLDExIEBA IHVuc2lnbmVkIGludCBtbHg1X25sX2lmaW5kZXgoaW50IG5sLCBjb25zdCBjaGFyICpuYW1lKTsN CmludCBtbHg1X25sX3N3aXRjaF9pbmZvKGludCBubCwgdW5zaWduZWQgaW50IGlmaW5kZXgsDQog ICAgICAgICAgIHN0cnVjdCBtbHg1X3N3aXRjaF9pbmZvICppbmZvKTsNCg0KKy8qIG1seDVfbmxf Zmxvdy5jICovDQorDQoraW50IG1seDVfbmxfZmxvd19pbml0KHN0cnVjdCBtbmxfc29ja2V0ICpu bCwgdW5zaWduZWQgaW50IGlmaW5kZXgsDQorICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3df ZXJyb3IgKmVycm9yKTsNCitzdHJ1Y3QgbW5sX3NvY2tldCAqbWx4NV9ubF9mbG93X3NvY2tldF9j cmVhdGUodm9pZCk7DQordm9pZCBtbHg1X25sX2Zsb3dfc29ja2V0X2Rlc3Ryb3koc3RydWN0IG1u bF9zb2NrZXQgKm5sKTsNCisNCiNlbmRpZiAvKiBSVEVfUE1EX01MWDVfSF8gKi8NCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9tbHg1L21seDVfbmxfZmxvdy5jIGIvZHJpdmVycy9uZXQvbWx4NS9t bHg1X25sX2Zsb3cuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uNjBh NDQ5M2U1DQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL25ldC9tbHg1L21seDVfbmxfZmxv dy5jDQpAQCAtMCwwICsxLDE0NyBAQA0KKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt My1DbGF1c2UNCisgKiBDb3B5cmlnaHQgMjAxOCA2V0lORCBTLkEuDQorICogQ29weXJpZ2h0IDIw MTggTWVsbGFub3ggVGVjaG5vbG9naWVzLCBMdGQNCisgKi8NCisNCisjaW5jbHVkZSA8ZXJybm8u aD4NCisjaW5jbHVkZSA8bGlibW5sL2xpYm1ubC5oPg0KKyNpbmNsdWRlIDxsaW51eC9uZXRsaW5r Lmg+DQorI2luY2x1ZGUgPGxpbnV4L3BrdF9zY2hlZC5oPg0KKyNpbmNsdWRlIDxsaW51eC9ydG5l dGxpbmsuaD4NCisjaW5jbHVkZSA8c3RkYWxpZ24uaD4NCisjaW5jbHVkZSA8c3RkZGVmLmg+DQor I2luY2x1ZGUgPHN0ZGludC5oPg0KKyNpbmNsdWRlIDxzdGRsaWIuaD4NCisjaW5jbHVkZSA8c3lz L3NvY2tldC5oPg0KKw0KKyNpbmNsdWRlIDxydGVfZXJybm8uaD4NCisjaW5jbHVkZSA8cnRlX2Zs b3cuaD4NCisNCisjaW5jbHVkZSAibWx4NS5oIg0KKw0KKy8qIE5vcm1hbGx5IGZvdW5kIGluIGxp bnV4L25ldGxpbmsuaC4gKi8NCisjaWZuZGVmIE5FVExJTktfQ0FQX0FDSw0KKyNkZWZpbmUgTkVU TElOS19DQVBfQUNLIDEwDQorI2VuZGlmDQorDQorLyoqDQorICogU2VuZCBOZXRsaW5rIG1lc3Nh Z2Ugd2l0aCBhY2tub3dsZWRnbWVudC4NCisgKg0KKyAqIEBwYXJhbSBubA0KKyAqICAgTGlibW5s IHNvY2tldCB0byB1c2UuDQorICogQHBhcmFtIG5saA0KKyAqICAgTWVzc2FnZSB0byBzZW5kLiBU aGlzIGZ1bmN0aW9uIGFsd2F5cyByYWlzZXMgdGhlIE5MTV9GX0FDSyBmbGFnIGJlZm9yZQ0KKyAq ICAgc2VuZGluZy4NCisgKg0KKyAqIEByZXR1cm4NCisgKiAgIDAgb24gc3VjY2VzcywgYSBuZWdh dGl2ZSBlcnJubyB2YWx1ZSBvdGhlcndpc2UgYW5kIHJ0ZV9lcnJubyBpcyBzZXQuDQorICovDQor c3RhdGljIGludA0KK21seDVfbmxfZmxvd19ubF9hY2soc3RydWN0IG1ubF9zb2NrZXQgKm5sLCBz dHJ1Y3Qgbmxtc2doZHIgKm5saCkNCit7DQorICAgIGFsaWduYXMoc3RydWN0IG5sbXNnaGRyKQ0K KyAgICB1aW50OF90IGFuc1ttbmxfbmxtc2dfc2l6ZShzaXplb2Yoc3RydWN0IG5sbXNnZXJyKSkg Kw0KKyAgICAgICAgICAgIG5saC0+bmxtc2dfbGVuIC0gc2l6ZW9mKCpubGgpXTsNCisgICAgdWlu dDMyX3Qgc2VxID0gcmFuZG9tKCk7DQorICAgIGludCByZXQ7DQorDQorICAgIG5saC0+bmxtc2df ZmxhZ3MgfD0gTkxNX0ZfQUNLOw0KKyAgICBubGgtPm5sbXNnX3NlcSA9IHNlcTsNCisgICAgcmV0 ID0gbW5sX3NvY2tldF9zZW5kdG8obmwsIG5saCwgbmxoLT5ubG1zZ19sZW4pOw0KKyAgICBpZiAo cmV0ICE9IC0xKQ0KKyAgICAgICAgcmV0ID0gbW5sX3NvY2tldF9yZWN2ZnJvbShubCwgYW5zLCBz aXplb2YoYW5zKSk7DQorICAgIGlmIChyZXQgIT0gLTEpDQorICAgICAgICByZXQgPSBtbmxfY2Jf cnVuDQorICAgICAgICAgICAgKGFucywgcmV0LCBzZXEsIG1ubF9zb2NrZXRfZ2V0X3BvcnRpZChu bCksIE5VTEwsIE5VTEwpOw0KKyAgICBpZiAoIXJldCkNCisgICAgICAgIHJldHVybiAwOw0KKyAg ICBydGVfZXJybm8gPSBlcnJubzsNCisgICAgcmV0dXJuIC1ydGVfZXJybm87DQorfQ0KKw0KKy8q Kg0KKyAqIEluaXRpYWxpemUgaW5ncmVzcyBxZGlzYyBvZiBhIGdpdmVuIG5ldHdvcmsgaW50ZXJm YWNlLg0KKyAqDQorICogQHBhcmFtIG5sDQorICogICBMaWJtbmwgc29ja2V0IG9mIHRoZSBAcCBO RVRMSU5LX1JPVVRFIGtpbmQuDQorICogQHBhcmFtIGlmaW5kZXgNCisgKiAgIEluZGV4IG9mIG5l dHdvcmsgaW50ZXJmYWNlIHRvIGluaXRpYWxpemUuDQorICogQHBhcmFtW291dF0gZXJyb3INCisg KiAgIFBlcmZvcm0gdmVyYm9zZSBlcnJvciByZXBvcnRpbmcgaWYgbm90IE5VTEwuDQorICoNCisg KiBAcmV0dXJuDQorICogICAwIG9uIHN1Y2Nlc3MsIGEgbmVnYXRpdmUgZXJybm8gdmFsdWUgb3Ro ZXJ3aXNlIGFuZCBydGVfZXJybm8gaXMgc2V0Lg0KKyAqLw0KK2ludA0KK21seDVfbmxfZmxvd19p bml0KHN0cnVjdCBtbmxfc29ja2V0ICpubCwgdW5zaWduZWQgaW50IGlmaW5kZXgsDQorICAgICAg ICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpDQorew0KKyAgICBzdHJ1Y3Qgbmxtc2do ZHIgKm5saDsNCisgICAgc3RydWN0IHRjbXNnICp0Y207DQorICAgIGFsaWduYXMoc3RydWN0IG5s bXNnaGRyKQ0KKyAgICB1aW50OF90IGJ1Zlttbmxfbmxtc2dfc2l6ZShzaXplb2YoKnRjbSkgKyAx MjgpXTsNCisNCisgICAgLyogRGVzdHJveSBleGlzdGluZyBpbmdyZXNzIHFkaXNjIGFuZCBldmVy eXRoaW5nIGF0dGFjaGVkIHRvIGl0LiAqLw0KKyAgICBubGggPSBtbmxfbmxtc2dfcHV0X2hlYWRl cihidWYpOw0KKyAgICBubGgtPm5sbXNnX3R5cGUgPSBSVE1fREVMUURJU0M7DQorICAgIG5saC0+ bmxtc2dfZmxhZ3MgPSBOTE1fRl9SRVFVRVNUOw0KKyAgICB0Y20gPSBtbmxfbmxtc2dfcHV0X2V4 dHJhX2hlYWRlcihubGgsIHNpemVvZigqdGNtKSk7DQorICAgIHRjbS0+dGNtX2ZhbWlseSA9IEFG X1VOU1BFQzsNCisgICAgdGNtLT50Y21faWZpbmRleCA9IGlmaW5kZXg7DQorICAgIHRjbS0+dGNt X2hhbmRsZSA9IFRDX0hfTUFLRShUQ19IX0lOR1JFU1MsIDApOw0KKyAgICB0Y20tPnRjbV9wYXJl bnQgPSBUQ19IX0lOR1JFU1M7DQorICAgIC8qIElnbm9yZSBlcnJvcnMgd2hlbiBxZGlzYyBpcyBh bHJlYWR5IGFic2VudC4gKi8NCisgICAgaWYgKG1seDVfbmxfZmxvd19ubF9hY2sobmwsIG5saCkg JiYNCisgICAgICAgIHJ0ZV9lcnJubyAhPSBFSU5WQUwgJiYgcnRlX2Vycm5vICE9IEVOT0VOVCkN CisgICAgICAgIHJldHVybiBydGVfZmxvd19lcnJvcl9zZXQNCisgICAgICAgICAgICAoZXJyb3Is IHJ0ZV9lcnJubywgUlRFX0ZMT1dfRVJST1JfVFlQRV9VTlNQRUNJRklFRCwNCisgICAgICAgICAg ICAgTlVMTCwgIm5ldGxpbms6IGZhaWxlZCB0byByZW1vdmUgaW5ncmVzcyBxZGlzYyIpOw0KKyAg ICAvKiBDcmVhdGUgZnJlc2ggaW5ncmVzcyBxZGlzYy4gKi8NCisgICAgbmxoID0gbW5sX25sbXNn X3B1dF9oZWFkZXIoYnVmKTsNCisgICAgbmxoLT5ubG1zZ190eXBlID0gUlRNX05FV1FESVNDOw0K KyAgICBubGgtPm5sbXNnX2ZsYWdzID0gTkxNX0ZfUkVRVUVTVCB8IE5MTV9GX0NSRUFURSB8IE5M TV9GX0VYQ0w7DQorICAgIHRjbSA9IG1ubF9ubG1zZ19wdXRfZXh0cmFfaGVhZGVyKG5saCwgc2l6 ZW9mKCp0Y20pKTsNCisgICAgdGNtLT50Y21fZmFtaWx5ID0gQUZfVU5TUEVDOw0KKyAgICB0Y20t PnRjbV9pZmluZGV4ID0gaWZpbmRleDsNCisgICAgdGNtLT50Y21faGFuZGxlID0gVENfSF9NQUtF KFRDX0hfSU5HUkVTUywgMCk7DQorICAgIHRjbS0+dGNtX3BhcmVudCA9IFRDX0hfSU5HUkVTUzsN CisgICAgbW5sX2F0dHJfcHV0X3N0cnpfY2hlY2sobmxoLCBzaXplb2YoYnVmKSwgVENBX0tJTkQs ICJpbmdyZXNzIik7DQorICAgIGlmIChtbHg1X25sX2Zsb3dfbmxfYWNrKG5sLCBubGgpKQ0KKyAg ICAgICAgcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldA0KKyAgICAgICAgICAgIChlcnJvciwgcnRl X2Vycm5vLCBSVEVfRkxPV19FUlJPUl9UWVBFX1VOU1BFQ0lGSUVELA0KKyAgICAgICAgICAgICBO VUxMLCAibmV0bGluazogZmFpbGVkIHRvIGNyZWF0ZSBpbmdyZXNzIHFkaXNjIik7DQorICAgIHJl dHVybiAwOw0KK30NCisNCisvKioNCisgKiBDcmVhdGUgYW5kIGNvbmZpZ3VyZSBhIGxpYm1ubCBz b2NrZXQgZm9yIE5ldGxpbmsgZmxvdyBydWxlcy4NCisgKg0KKyAqIEByZXR1cm4NCisgKiAgIEEg dmFsaWQgbGlibW5sIHNvY2tldCBvYmplY3QgcG9pbnRlciBvbiBzdWNjZXNzLCBOVUxMIG90aGVy d2lzZSBhbmQNCisgKiAgIHJ0ZV9lcnJubyBpcyBzZXQuDQorICovDQorc3RydWN0IG1ubF9zb2Nr ZXQgKg0KK21seDVfbmxfZmxvd19zb2NrZXRfY3JlYXRlKHZvaWQpDQorew0KKyAgICBzdHJ1Y3Qg bW5sX3NvY2tldCAqbmwgPSBtbmxfc29ja2V0X29wZW4oTkVUTElOS19ST1VURSk7DQorDQorICAg IGlmIChubCkgew0KKyAgICAgICAgbW5sX3NvY2tldF9zZXRzb2Nrb3B0KG5sLCBORVRMSU5LX0NB UF9BQ0ssICYoaW50KXsgMSB9LA0KKyAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaW50KSk7 DQorICAgICAgICBpZiAoIW1ubF9zb2NrZXRfYmluZChubCwgMCwgTU5MX1NPQ0tFVF9BVVRPUElE KSkNCisgICAgICAgICAgICByZXR1cm4gbmw7DQorICAgIH0NCisgICAgcnRlX2Vycm5vID0gZXJy bm87DQorICAgIGlmIChubCkNCisgICAgICAgIG1ubF9zb2NrZXRfY2xvc2UobmwpOw0KKyAgICBy ZXR1cm4gTlVMTDsNCit9DQorDQorLyoqDQorICogRGVzdHJveSBhIGxpYm1ubCBzb2NrZXQuDQor ICovDQordm9pZA0KK21seDVfbmxfZmxvd19zb2NrZXRfZGVzdHJveShzdHJ1Y3QgbW5sX3NvY2tl dCAqbmwpDQorew0KKyAgICBtbmxfc29ja2V0X2Nsb3NlKG5sKTsNCit9DQpkaWZmIC0tZ2l0IGEv bWsvcnRlLmFwcC5tayBiL21rL3J0ZS5hcHAubWsNCmluZGV4IDdiY2Y2MzA4ZC4uNDE0ZjFiOTY3 IDEwMDY0NA0KLS0tIGEvbWsvcnRlLmFwcC5taw0KKysrIGIvbWsvcnRlLmFwcC5taw0KQEAgLTE0 NSw3ICsxNDUsNyBAQCBlbmRpZg0KaWZlcSAoJChDT05GSUdfUlRFX0xJQlJURV9NTFg1X0RMT1BF Tl9ERVBTKSx5KQ0KX0xETElCUy0kKENPTkZJR19SVEVfTElCUlRFX01MWDVfUE1EKSAgICAgICAr PSAtbHJ0ZV9wbWRfbWx4NSAtbGRsDQplbHNlDQotX0xETElCUy0kKENPTkZJR19SVEVfTElCUlRF X01MWDVfUE1EKSAgICAgICArPSAtbHJ0ZV9wbWRfbWx4NSAtbGlidmVyYnMgLWxtbHg1DQorX0xE TElCUy0kKENPTkZJR19SVEVfTElCUlRFX01MWDVfUE1EKSAgICAgICArPSAtbHJ0ZV9wbWRfbWx4 NSAtbGlidmVyYnMgLWxtbHg1IC1sbW5sDQplbmRpZg0KX0xETElCUy0kKENPTkZJR19SVEVfTElC UlRFX01WUFAyX1BNRCkgICAgICArPSAtbHJ0ZV9wbWRfbXZwcDIgLUwkKExJQk1VU0RLX1BBVEgp L2xpYiAtbG11c2RrDQpfTERMSUJTLSQoQ09ORklHX1JURV9MSUJSVEVfTkZQX1BNRCkgICAgICAg ICs9IC1scnRlX3BtZF9uZnANCi0tDQoyLjExLjANCg==