From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BE644C31E49 for ; Wed, 19 Jun 2019 06:45:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7ED162084A for ; Wed, 19 Jun 2019 06:45:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="R66yhbC2" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730783AbfFSGpf (ORCPT ); Wed, 19 Jun 2019 02:45:35 -0400 Received: from mail-eopbgr60054.outbound.protection.outlook.com ([40.107.6.54]:17812 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725892AbfFSGpe (ORCPT ); Wed, 19 Jun 2019 02:45:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4SBPax+wQTYP1ezo89iOkWZNbpVPxuUmZXD7cuPpFOY=; b=R66yhbC2Byzem9bWA4bsqAUTSzlfraLRrnqdrGFCQfRXzCQoUYUJRNhLp1psTBOwQ4RWDTB+GqngowPHgeYuCK8QOGG2CTqx/Qavieliu/ONKngioVPc6jd4xQYbpaEwERqpcy9FIk7BSFRNXCEIcx6pApbDN77KvSSDK2fCzfQ= Received: from VI1PR05MB6255.eurprd05.prod.outlook.com (20.178.205.93) by VI1PR05MB3149.eurprd05.prod.outlook.com (10.170.237.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.11; Wed, 19 Jun 2019 06:45:26 +0000 Received: from VI1PR05MB6255.eurprd05.prod.outlook.com ([fe80::1c71:b7b7:cf55:48bb]) by VI1PR05MB6255.eurprd05.prod.outlook.com ([fe80::1c71:b7b7:cf55:48bb%7]) with mapi id 15.20.1987.014; Wed, 19 Jun 2019 06:45:26 +0000 From: Jianbo Liu To: Parav Pandit CC: Saeed Mahameed , Leon Romanovsky , "netdev@vger.kernel.org" , "linux-rdma@vger.kernel.org" , Eli Britstein , Roi Dayan , Mark Bloch Subject: Re: [PATCH mlx5-next 05/15] net/mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs Thread-Topic: [PATCH mlx5-next 05/15] net/mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs Thread-Index: AQHVJUIe4CH/LI+8A02ewuMUSS8rDqahN3UAgAG/GoD//4J2gIAAEZeA Date: Wed, 19 Jun 2019 06:45:26 +0000 Message-ID: <20190619064521.GC5176@mellanox.com> References: <20190617192247.25107-1-saeedm@mellanox.com> <20190617192247.25107-6-saeedm@mellanox.com> <20190619051143.GB30694@mellanox.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: LO2P265CA0412.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a0::16) To VI1PR05MB6255.eurprd05.prod.outlook.com (2603:10a6:803:ed::29) authentication-results: spf=none (sender IP is ) smtp.mailfrom=jianbol@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [37.142.13.130] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fbbe3c61-fcaf-4f14-be65-08d6f481b5c8 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:VI1PR05MB3149; x-ms-traffictypediagnostic: VI1PR05MB3149: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-forefront-prvs: 0073BFEF03 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(136003)(376002)(346002)(396003)(366004)(189003)(199004)(13464003)(81156014)(2906002)(1076003)(256004)(107886003)(8676002)(14444005)(6246003)(71200400001)(71190400001)(6506007)(81166006)(316002)(6862004)(450100002)(6116002)(25786009)(33656002)(68736007)(66066001)(53546011)(4326008)(3846002)(386003)(54906003)(99286004)(229853002)(305945005)(478600001)(2616005)(26005)(446003)(6436002)(73956011)(66946007)(476003)(52116002)(6486002)(8936002)(36756003)(14454004)(76176011)(66446008)(86362001)(53936002)(102836004)(66556008)(64756008)(66476007)(6512007)(37006003)(6636002)(5660300002)(11346002)(186003)(7736002)(486006);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR05MB3149;H:VI1PR05MB6255.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: b/R4WYgRBB/LTQk8uYK53OQSJQ2eYden3GAz33j7sutwCPdhAtFzrQpCDlbQ62FAdAptoHmOcAk4nQA+vipf4gkAVyZuSAHt201sohW0hiu4f2ZjTPtSkZ+d3ajUlqZ5zQazizgzZv+fEs8unjv5kwk5OnUbKCedPT4boiCso2qKAhftFtT+qDjLbNhOqO8sNgJA6CC9sbJTbHol/b4Acnp1dJBD438t6kVOWjuSp9ED9h+2cQmCHRz4FR6weQnld4CPKVfX/PbMkENaDxkQY8YltFdOgINkX48AhMQIclJmJqnIGvBveeOCtaRXGgIqP9H5aBLdtrf+uvwxSSQoZw2jCZJafpR8h4JF+LzuEcT0o/+ca9ay8b9h5vngQTjwOSWODfTc0Bj/xfzPuNIotqpM+bUirPmPjhaoyZzy3qo= Content-Type: text/plain; charset="utf-8" Content-ID: <2D36BE44E42CCE4FAB5AE088F5462583@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbbe3c61-fcaf-4f14-be65-08d6f481b5c8 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jun 2019 06:45:26.0322 (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: jianbol@mellanox.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB3149 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org VGhlIDA2LzE5LzIwMTkgMTM6NDIsIFBhcmF2IFBhbmRpdCB3cm90ZToNCj4gDQo+IA0KPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogSmlhbmJvIExpdQ0KPiA+IFNlbnQ6 IFdlZG5lc2RheSwgSnVuZSAxOSwgMjAxOSAxMDo0MiBBTQ0KPiA+IFRvOiBQYXJhdiBQYW5kaXQg PHBhcmF2QG1lbGxhbm94LmNvbT4NCj4gPiBDYzogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxs YW5veC5jb20+OyBMZW9uIFJvbWFub3Zza3kNCj4gPiA8bGVvbnJvQG1lbGxhbm94LmNvbT47IG5l dGRldkB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQ0KPiA+IHJkbWFAdmdlci5rZXJuZWwub3JnOyBF bGkgQnJpdHN0ZWluIDxlbGlickBtZWxsYW5veC5jb20+OyBSb2kgRGF5YW4NCj4gPiA8cm9pZEBt ZWxsYW5veC5jb20+OyBNYXJrIEJsb2NoIDxtYXJrYkBtZWxsYW5veC5jb20+DQo+ID4gU3ViamVj dDogUmU6IFtQQVRDSCBtbHg1LW5leHQgMDUvMTVdIG5ldC9tbHg1OiBFLVN3aXRjaCwgVGFnIHBh Y2tldCB3aXRoDQo+ID4gdnBvcnQgbnVtYmVyIGluIFZGIHZwb3J0cyBhbmQgdXBsaW5rIGluZ3Jl c3MgQUNMcw0KPiA+IA0KPiA+IFRoZSAwNi8xOC8yMDE5IDE4OjMxLCBQYXJhdiBQYW5kaXQgd3Jv dGU6DQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiA+ID4gRnJvbTogbmV0ZGV2LW93bmVyQHZnZXIua2VybmVsLm9yZyA8bmV0ZGV2LW93bmVyQHZn ZXIua2VybmVsLm9yZz4gT24NCj4gPiA+ID4gQmVoYWxmIE9mIFNhZWVkIE1haGFtZWVkDQo+ID4g PiA+IFNlbnQ6IFR1ZXNkYXksIEp1bmUgMTgsIDIwMTkgMTI6NTMgQU0NCj4gPiA+ID4gVG86IFNh ZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPjsgTGVvbiBSb21hbm92c2t5DQo+ID4g PiA+IDxsZW9ucm9AbWVsbGFub3guY29tPg0KPiA+ID4gPiBDYzogbmV0ZGV2QHZnZXIua2VybmVs Lm9yZzsgbGludXgtcmRtYUB2Z2VyLmtlcm5lbC5vcmc7IEppYW5ibyBMaXUNCj4gPiA+ID4gPGpp YW5ib2xAbWVsbGFub3guY29tPjsgRWxpIEJyaXRzdGVpbiA8ZWxpYnJAbWVsbGFub3guY29tPjsg Um9pDQo+ID4gPiA+IERheWFuIDxyb2lkQG1lbGxhbm94LmNvbT47IE1hcmsgQmxvY2ggPG1hcmti QG1lbGxhbm94LmNvbT4NCj4gPiA+ID4gU3ViamVjdDogW1BBVENIIG1seDUtbmV4dCAwNS8xNV0g bmV0L21seDU6IEUtU3dpdGNoLCBUYWcgcGFja2V0IHdpdGgNCj4gPiA+ID4gdnBvcnQgbnVtYmVy IGluIFZGIHZwb3J0cyBhbmQgdXBsaW5rIGluZ3Jlc3MgQUNMcw0KPiA+ID4gPg0KPiA+ID4gPiBG cm9tOiBKaWFuYm8gTGl1IDxqaWFuYm9sQG1lbGxhbm94LmNvbT4NCj4gPiA+ID4NCj4gPiA+ID4g V2hlbiBhIGR1YWwtcG9ydCBWSENBIHNlbmRzIGEgUm9DRSBwYWNrZXQgb24gaXRzIG5vbi1uYXRp dmUgcG9ydCwNCj4gPiA+ID4gYW5kIHRoZSBwYWNrZXQgYXJyaXZlcyB0byBpdHMgYWZmaWxpYXRl ZCB2cG9ydCBGREIsIGEgbWlzbWF0Y2ggbWlnaHQNCj4gPiA+ID4gb2NjdXIgb24gdGhlIHJ1bGVz IHRoYXQgbWF0Y2ggdGhlIHBhY2tldCBzb3VyY2UgdnBvcnQgYXMgaXQgaXMgbm90DQo+ID4gPiA+ IHJlcHJlc2VudGVkIGJ5IHNpbmdsZSBWSENBIG9ubHkgaW4gdGhpcyBjYXNlLiBTbyB3ZSBjaGFu Z2UgdG8gbWF0Y2ggb24NCj4gPiBtZXRhZGF0YSBpbnN0ZWFkIG9mIHNvdXJjZSB2cG9ydC4NCj4g PiA+ID4gVG8gZG8gdGhhdCwgYSBydWxlIGlzIGNyZWF0ZWQgaW4gYWxsIHZwb3J0cyBhbmQgdXBs aW5rIGluZ3Jlc3MgQUNMcywNCj4gPiA+ID4gdG8gc2F2ZSB0aGUgc291cmNlIHZwb3J0IG51bWJl ciBhbmQgdmhjYSBpZCBpbiB0aGUgcGFja2V0J3MgbWV0YWRhdGENCj4gPiA+ID4gaW4gb3JkZXIg dG8gbWF0Y2ggb24gaXQgbGF0ZXIuDQo+ID4gPiA+IFRoZSBtZXRhZGF0YSByZWdpc3RlciB1c2Vk IGlzIHRoZSBmaXJzdCBvZiB0aGUgMzItYml0IHR5cGUgQw0KPiA+ID4gPiByZWdpc3RlcnMuIEl0 IGNhbiBiZSB1c2VkIGZvciBtYXRjaGluZyBhbmQgaGVhZGVyIG1vZGlmeSBvcGVyYXRpb25zLg0K PiA+ID4gPiBUaGUgaGlnaGVyIDE2IGJpdHMgb2YgdGhpcyByZWdpc3RlciBhcmUgZm9yIHZoY2Eg aWQsIGFuZCB0aGUgbG93ZXIgMTYgb25lcyBpcw0KPiA+IGZvciB2cG9ydCBudW1iZXIuDQo+ID4g PiA+IFRoaXMgY2hhbmdlIGlzIG5vdCBmb3IgZHVhbC1wb3J0IFJvQ0Ugb25seS4gSWYgSFcgYW5k IEZXIGFsbG93LCB0aGUNCj4gPiA+ID4gdnBvcnQgbWV0YWRhdGEgbWF0Y2hpbmcgaXMgZW5hYmxl ZCBieSBkZWZhdWx0Lg0KPiA+ID4gPg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKaWFuYm8gTGl1 IDxqaWFuYm9sQG1lbGxhbm94LmNvbT4NCj4gPiA+ID4gUmV2aWV3ZWQtYnk6IEVsaSBCcml0c3Rl aW4gPGVsaWJyQG1lbGxhbm94LmNvbT4NCj4gPiA+ID4gUmV2aWV3ZWQtYnk6IFJvaSBEYXlhbiA8 cm9pZEBtZWxsYW5veC5jb20+DQo+ID4gPiA+IFJldmlld2VkLWJ5OiBNYXJrIEJsb2NoIDxtYXJr YkBtZWxsYW5veC5jb20+DQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxz YWVlZG1AbWVsbGFub3guY29tPg0KPiA+ID4gPiAtLS0NCj4gPiA+ID4gIC4uLi9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guYyB8ICAgMiArDQo+ID4gPiA+ICAuLi4vbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmggfCAgIDkgKw0KPiA+ID4gPiAg Li4uL21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMgICAgIHwgMTgzICsrKysr KysrKysrKysrLS0tLQ0KPiA+ID4gPiAgaW5jbHVkZS9saW51eC9tbHg1L2Vzd2l0Y2guaCAgICAg ICAgICAgICAgICAgIHwgICAzICsNCj4gPiA+ID4gIDQgZmlsZXMgY2hhbmdlZCwgMTYxIGluc2Vy dGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQ0KPiA+ID4gPg0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guYw0KPiA+ID4g PiBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmMNCj4g PiA+ID4gaW5kZXggYTQyYTIzZTUwNWRmLi4xMjM1ZmQ4NGFlM2EgMTAwNjQ0DQo+ID4gPiA+IC0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmMNCj4g PiA+ID4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0 Y2guYw0KPiA+ID4gPiBAQCAtMTE2OCw2ICsxMTY4LDggQEAgdm9pZCBlc3dfdnBvcnRfY2xlYW51 cF9pbmdyZXNzX3J1bGVzKHN0cnVjdA0KPiA+ID4gPiBtbHg1X2Vzd2l0Y2ggKmVzdywNCj4gPiA+ ID4NCj4gPiA+ID4gIAl2cG9ydC0+aW5ncmVzcy5kcm9wX3J1bGUgPSBOVUxMOw0KPiA+ID4gPiAg CXZwb3J0LT5pbmdyZXNzLmFsbG93X3J1bGUgPSBOVUxMOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsJ ZXN3X3Zwb3J0X2RlbF9pbmdyZXNzX2FjbF9tb2RpZnlfbWV0YWRhdGEoZXN3LCB2cG9ydCk7DQo+ ID4gPiA+ICB9DQo+ID4gPiA+DQo+ID4gPiA+ICB2b2lkIGVzd192cG9ydF9kaXNhYmxlX2luZ3Jl c3NfYWNsKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywgZGlmZg0KPiA+ID4gPiAtLWdpdCBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmgNCj4gPiA+ID4g Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5oDQo+ID4g PiA+IGluZGV4IDhiOWYyY2Y1OGU5MS4uNDQxN2ExOTU4MzJlIDEwMDY0NA0KPiA+ID4gPiAtLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5oDQo+ID4g PiA+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNo LmgNCj4gPiA+ID4gQEAgLTY4LDYgKzY4LDggQEAgc3RydWN0IHZwb3J0X2luZ3Jlc3Mgew0KPiA+ ID4gPiAgCXN0cnVjdCBtbHg1X2Zsb3dfZ3JvdXAgKmFsbG93X3Nwb29mY2hrX29ubHlfZ3JwOw0K PiA+ID4gPiAgCXN0cnVjdCBtbHg1X2Zsb3dfZ3JvdXAgKmFsbG93X3VudGFnZ2VkX29ubHlfZ3Jw Ow0KPiA+ID4gPiAgCXN0cnVjdCBtbHg1X2Zsb3dfZ3JvdXAgKmRyb3BfZ3JwOw0KPiA+ID4gPiAr CWludCAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlfbWV0YWRhdGFfaWQ7DQo+ID4gPiBObyBu ZWVkIGZvciByYW5kb20gYWxpZ25tZW50LiBKdXN0IGhhdmUgb25lIHdoaXRlIHNwYWNlIGFmdGVy IGludC4NCj4gPiANCj4gPiBOb3QgcmFuZG9tLiBJdCdzIHRvIGFsaWduIHdpdGggb3RoZXIgbGlu ZXMgaW4gdGhlIHRoaXMgc3RydWN0dXJlLg0KPiA+IFRoZXJlIGFyZSBhbHNvIG90aGVyIGZpbGVk cyB3aXRoIG1vcmUgdGhhbiBvbmUgc3BhY2VzIGFmdGVyIHR5cGUuDQo+ID4gSXQgbG9va3MgdWds eSBpZiB0aGVyZSBhcmUgZGlmZmVyZW50IHN0eWxlcyBpbiB0aGUgc2FtZSBzdHJ1Y3R1cmUuDQo+ ID4gDQo+IFdoYXRldmVyIHdhcyBkb25lIGluIHBhc3Qgd2FzIGRvbmUuDQo+IFRoZXJlIHdpbGwg YmUgbWl4ZWQgYWxpZ25tZW50IGFueXdheS4NCj4gDQo+ID4gPg0KPiA+ID4gPiArCXN0cnVjdCBt bHg1X2Zsb3dfaGFuZGxlICAqbW9kaWZ5X21ldGFkYXRhX3J1bGU7DQo+ID4gPiA+ICAJc3RydWN0 IG1seDVfZmxvd19oYW5kbGUgICphbGxvd19ydWxlOw0KPiA+ID4gPiAgCXN0cnVjdCBtbHg1X2Zs b3dfaGFuZGxlICAqZHJvcF9ydWxlOw0KPiA+ID4gPiAgCXN0cnVjdCBtbHg1X2ZjICAgICAgICAg ICAqZHJvcF9jb3VudGVyOw0KPiA+ID4gPiBAQCAtMTk2LDYgKzE5OCwxMCBAQCBzdHJ1Y3QgbWx4 NV9lc3dfZnVuY3Rpb25zIHsNCj4gPiA+ID4gIAl1MTYJCQludW1fdmZzOw0KPiA+ID4gPiAgfTsN Cj4gPiA+ID4NCj4gPiA+ID4gK2VudW0gew0KPiA+ID4gPiArCU1MWDVfRVNXSVRDSF9WUE9SVF9N QVRDSF9NRVRBREFUQSA9IEJJVCgwKSwgfTsNCj4gPiA+ID4gKw0KPiA+ID4gPiAgc3RydWN0IG1s eDVfZXN3aXRjaCB7DQo+ID4gPiA+ICAJc3RydWN0IG1seDVfY29yZV9kZXYgICAgKmRldjsNCj4g PiA+ID4gIAlzdHJ1Y3QgbWx4NV9uYiAgICAgICAgICBuYjsNCj4gPiA+ID4gQEAgLTIwMyw2ICsy MDksNyBAQCBzdHJ1Y3QgbWx4NV9lc3dpdGNoIHsNCj4gPiA+ID4gIAlzdHJ1Y3QgaGxpc3RfaGVh ZCAgICAgICBtY190YWJsZVtNTFg1X0wyX0FERFJfSEFTSF9TSVpFXTsNCj4gPiA+ID4gIAlzdHJ1 Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqd29ya19xdWV1ZTsNCj4gPiA+ID4gIAlzdHJ1Y3QgbWx4NV92 cG9ydCAgICAgICAqdnBvcnRzOw0KPiA+ID4gPiArCXUzMiAgICAgICAgICAgICAgICAgICAgIGZs YWdzOw0KPiA+ID4gU2FtZSBhcyBhYm92ZSwgbm8gbmVlZCBmb3IgZXh0cmEgYWxpZ21lbnQuDQo+ ID4gDQo+ID4gU2FtZSByZWFzb24uDQo+ID4gDQo+ID4gPg0KPiA+ID4gPiAgCWludCAgICAgICAg ICAgICAgICAgICAgIHRvdGFsX3Zwb3J0czsNCj4gPiA+ID4gIAlpbnQgICAgICAgICAgICAgICAg ICAgICBlbmFibGVkX3Zwb3J0czsNCj4gPiA+ID4gIAkvKiBTeW5jaHJvbml6ZSBiZXR3ZWVuIHZw b3J0IGNoYW5nZSBldmVudHMgQEAgLTI0MCw2ICsyNDcsOCBAQA0KPiA+ID4gPiB2b2lkIGVzd192 cG9ydF9kaXNhYmxlX2VncmVzc19hY2woc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KPiA+ID4g PiAgCQkJCSAgc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0KTsNCj4gPiA+ID4gIHZvaWQgZXN3X3Zw b3J0X2Rpc2FibGVfaW5ncmVzc19hY2woc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KPiA+ID4g PiAgCQkJCSAgIHN0cnVjdCBtbHg1X3Zwb3J0ICp2cG9ydCk7DQo+ID4gPiA+ICt2b2lkIGVzd192 cG9ydF9kZWxfaW5ncmVzc19hY2xfbW9kaWZ5X21ldGFkYXRhKHN0cnVjdCBtbHg1X2Vzd2l0Y2gN Cj4gPiAqZXN3LA0KPiA+ID4gPiArCQkJCQkgICAgICAgc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0 KTsNCj4gPiA+ID4NCj4gPiA+ID4gIC8qIEUtU3dpdGNoIEFQSSAqLw0KPiA+ID4gPiAgaW50IG1s eDVfZXN3aXRjaF9pbml0KHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpOyBkaWZmIC0tZ2l0DQo+ ID4gPiA+IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hf b2ZmbG9hZHMuYw0KPiA+ID4gPiBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lc3dpdGNoX29mZmxvYWRzLmMNCj4gPiA+ID4gaW5kZXggMTdhYmI5OGI0OGFmLi44NzFh ZTQ0ZGMxMzIgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMNCj4gPiA+ID4gKysrIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hfb2ZmbG9hZHMuYw0KPiA+IA0K PiA+IC4uLg0KPiA+IA0KPiA+ID4gPiArc3RhdGljIGludCBlc3dfY3JlYXRlX29mZmxvYWRzX2Fj bF90YWJsZXMoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3KSB7DQo+ID4gPiA+ICsJc3RydWN0IG1s eDVfdnBvcnQgKnZwb3J0Ow0KPiA+ID4gPiArCWludCBpLCBqOw0KPiA+ID4gPiArCWludCBlcnI7 DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwltbHg1X2Vzd19mb3JfYWxsX3Zwb3J0cyhlc3csIGksIHZw b3J0KSB7DQo+ID4gPiA+ICsJCWVyciA9IGVzd192cG9ydF9pbmdyZXNzX2NvbW1vbl9jb25maWco ZXN3LCB2cG9ydCk7DQo+ID4gPiA+ICAJCWlmIChlcnIpDQo+ID4gPiA+IC0JCQlnb3RvIGVycl9l Z3Jlc3M7DQo+ID4gPiA+ICsJCQlnb3RvIGVycl9pbmdyZXNzOw0KPiA+ID4gPiArDQo+ID4gPiA+ ICsJCWlmICh2cG9ydC0+dnBvcnQgPj0gTUxYNV9WUE9SVF9GSVJTVF9WRiAmJg0KPiA+ID4gPiAr CQkgICAgdnBvcnQtPnZwb3J0IDw9IGVzdy0+ZGV2LT5wcml2LnNyaW92Lm51bV92ZnMpIHsNCj4g PiA+IEFkZCBhbiBoZWxwZXIgQVBJIG1seDVfZXN3X2lzX3Zwb3J0KGNvbnN0IHN0cnVjdCBtbHg1 X2VzdyAqZXN3LCBjb25zdA0KPiA+ID4gc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0KSBhbmQgdXNl IGF0IHR3byBwbGFjZXMgaW4gaW5ncmVzcyBhbmQgZWdyZXNzIGNvbmZpZy4NCj4gPiANCj4gPiBJ dCdzIHZlcnkgc2ltcGxlIGxvZ2ljLCBidXQgbmV3IEFQSSBtYWtlIHRoaW5ncyBjb21wbGljYXRl ZC4NCj4gDQo+IE5vLiBpdCBkb2Vzbid0LiBSaWdodCBBUEkgbmFtZSBpcywNCj4gbWx4NV9lc3df aXNfdmZfdnBvcnQoKS4NCj4gbWx4NV9lc3dfaXNfdmZfcmVwKCkuLi4NCj4gZXRjLg0KPiANCj4g PiBJZiBhZGRpbmcgbWx4NV9lc3dfaXNfdnBvcnQoKSBhcyB5b3Ugc3VnZ2VzdGVkLCBubyBvbmUg Y2FuIGtub3cgd2hhdCdzIHRoZSBtZWFuaW5nIG9mDQo+ID4gdGhpcyBmdW5jdGlvbiBmcm9tIG5h bWUsIGFuZCBuZWVkIHRvIGNoZWNrIHRoZSBpbXBsZW1lbnRhdGlvbiBhZ2Fpbiwgd2hpY2gNCj4g PiB3aWxsIHdhc3RlIHRvbyBtdWNoIHRpbWUuDQo+ID4gDQo+IG1seDVfZXN3X2lzX3ZmX3Zwb3J0 KCkgaXMgc2VsZi1leHBsYW5hdG9yeSBuYW1lIHdoaWNoIHdvbid0IHdhc3RlIHRpbWUuDQo+IA0K PiBJIGFtIGFscmVhZHkgaGF2aW5nIHRoaXMgQVBJIGluIG15IHR3byBzZXJpZXMsIGJ1dCBzaW5j ZSB5b3VycyBpcyBhbHJlYWR5IG91dCwgaXQgbWFrZSBzZW5zZSB0byBpbnRyb2R1Y2UgaW4gdGhp cyBwYXRjaC4NCg0KQ291bGQgeW91IHBsZWFzZSBzZW5kIG1lPyBJIHdpbGwgYWRkIHRvIHRoaXMg c2VyaWVzLiBUaGFua3MhDQoNCi0tIA0K