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 BA9FCC31E49 for ; Wed, 19 Jun 2019 05:12:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6CE4A208CB for ; Wed, 19 Jun 2019 05:12:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="O1+/QaHN" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726009AbfFSFMh (ORCPT ); Wed, 19 Jun 2019 01:12:37 -0400 Received: from mail-eopbgr20078.outbound.protection.outlook.com ([40.107.2.78]:28076 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725854AbfFSFMh (ORCPT ); Wed, 19 Jun 2019 01:12:37 -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=CZnrDOtd/MUmp+V7zUXa+I5c+Zzm3LwxWmENpLA97Ik=; b=O1+/QaHNCQ1QIl1vvcIx/OGc+kcctT9/SBJhPWu5zuQey9h6XJ3wUh1EoNAILUs5Um2UrMYA/bFymSLW4w+Fu0odawoC9MxJfBw+aef7aDQwasI7+zjrGQW2MxY0lRwSJlIlhSu9jxqrQMYeFlWaQTB0yxdjZYt20ic002jTIWA= Received: from VI1PR05MB6255.eurprd05.prod.outlook.com (20.178.205.93) by VI1PR05MB3184.eurprd05.prod.outlook.com (10.170.237.153) 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 05:12:19 +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 05:12:19 +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+8A02ewuMUSS8rDqahN3UAgAE4/wA= Date: Wed, 19 Jun 2019 05:12:19 +0000 Message-ID: <20190619051143.GB30694@mellanox.com> References: <20190617192247.25107-1-saeedm@mellanox.com> <20190617192247.25107-6-saeedm@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: VI1PR0102CA0102.eurprd01.prod.exchangelabs.com (2603:10a6:803:15::43) 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: 61284a4f-4445-460d-437b-08d6f474b409 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:VI1PR05MB3184; x-ms-traffictypediagnostic: VI1PR05MB3184: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4502; x-forefront-prvs: 0073BFEF03 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(39860400002)(366004)(136003)(346002)(396003)(199004)(189003)(13464003)(386003)(53546011)(6436002)(5660300002)(6506007)(66446008)(102836004)(14444005)(66946007)(25786009)(73956011)(66556008)(64756008)(256004)(11346002)(54906003)(6862004)(107886003)(66476007)(66066001)(446003)(8936002)(71190400001)(52116002)(99286004)(71200400001)(33656002)(53936002)(478600001)(6246003)(81156014)(8676002)(81166006)(7736002)(6116002)(450100002)(4326008)(486006)(6512007)(6486002)(86362001)(76176011)(2616005)(6636002)(305945005)(36756003)(3846002)(186003)(316002)(37006003)(26005)(2906002)(1076003)(476003)(229853002)(14454004)(68736007);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR05MB3184;H:VI1PR05MB6255.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: tF/bFG9ezga5J9o35kHP7OSzaIcau9l1CMDCVOOwdIPIytZZe6SqWdcAfNlU7iXSmxjJVe0gU54CazJcFBBS/vVa1qMNZiBcV6l1C7i3Vx3d0P1w6eJhOP/7aqHqSE5a8eiCRbeZbs7uLlD1KV4k/kSfpke4q3+DqBVONTBh5F6lYTh9BdY1YEJIDJIud4jQhoMgJOrhiAAV1DHPrjChd5wTBBRxd/MJLxEZsI797k4CBaC7mEi0d2hBWhh4WharOEbgsrx9Zz4XnI0XuL1Q9z6mFOEdYgHQErXEYJktHBHV0RGPgU2piiGm978pKbw6puBT7084WdeTh4V9WXY+reUM8U1n1Bdp4su4pAMaf/WebqV2TCfe0VNfhmRLwqiAHqV62dI6Wyeog0nsCivZbaO++Vzg9ZnYLYVZIH0xpsQ= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 61284a4f-4445-460d-437b-08d6f474b409 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jun 2019 05:12:19.6611 (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: VI1PR05MB3184 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org VGhlIDA2LzE4LzIwMTkgMTg6MzEsIFBhcmF2IFBhbmRpdCB3cm90ZToNCj4gDQo+IA0KPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogbmV0ZGV2LW93bmVyQHZnZXIua2Vy bmVsLm9yZyA8bmV0ZGV2LW93bmVyQHZnZXIua2VybmVsLm9yZz4gT24NCj4gPiBCZWhhbGYgT2Yg U2FlZWQgTWFoYW1lZWQNCj4gPiBTZW50OiBUdWVzZGF5LCBKdW5lIDE4LCAyMDE5IDEyOjUzIEFN DQo+ID4gVG86IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPjsgTGVvbiBSb21h bm92c2t5DQo+ID4gPGxlb25yb0BtZWxsYW5veC5jb20+DQo+ID4gQ2M6IG5ldGRldkB2Z2VyLmtl cm5lbC5vcmc7IGxpbnV4LXJkbWFAdmdlci5rZXJuZWwub3JnOyBKaWFuYm8gTGl1DQo+ID4gPGpp YW5ib2xAbWVsbGFub3guY29tPjsgRWxpIEJyaXRzdGVpbiA8ZWxpYnJAbWVsbGFub3guY29tPjsg Um9pIERheWFuDQo+ID4gPHJvaWRAbWVsbGFub3guY29tPjsgTWFyayBCbG9jaCA8bWFya2JAbWVs bGFub3guY29tPg0KPiA+IFN1YmplY3Q6IFtQQVRDSCBtbHg1LW5leHQgMDUvMTVdIG5ldC9tbHg1 OiBFLVN3aXRjaCwgVGFnIHBhY2tldCB3aXRoIHZwb3J0DQo+ID4gbnVtYmVyIGluIFZGIHZwb3J0 cyBhbmQgdXBsaW5rIGluZ3Jlc3MgQUNMcw0KPiA+IA0KPiA+IEZyb206IEppYW5ibyBMaXUgPGpp YW5ib2xAbWVsbGFub3guY29tPg0KPiA+IA0KPiA+IFdoZW4gYSBkdWFsLXBvcnQgVkhDQSBzZW5k cyBhIFJvQ0UgcGFja2V0IG9uIGl0cyBub24tbmF0aXZlIHBvcnQsIGFuZCB0aGUNCj4gPiBwYWNr ZXQgYXJyaXZlcyB0byBpdHMgYWZmaWxpYXRlZCB2cG9ydCBGREIsIGEgbWlzbWF0Y2ggbWlnaHQg b2NjdXIgb24gdGhlIHJ1bGVzDQo+ID4gdGhhdCBtYXRjaCB0aGUgcGFja2V0IHNvdXJjZSB2cG9y dCBhcyBpdCBpcyBub3QgcmVwcmVzZW50ZWQgYnkgc2luZ2xlIFZIQ0Egb25seQ0KPiA+IGluIHRo aXMgY2FzZS4gU28gd2UgY2hhbmdlIHRvIG1hdGNoIG9uIG1ldGFkYXRhIGluc3RlYWQgb2Ygc291 cmNlIHZwb3J0Lg0KPiA+IFRvIGRvIHRoYXQsIGEgcnVsZSBpcyBjcmVhdGVkIGluIGFsbCB2cG9y dHMgYW5kIHVwbGluayBpbmdyZXNzIEFDTHMsIHRvIHNhdmUgdGhlDQo+ID4gc291cmNlIHZwb3J0 IG51bWJlciBhbmQgdmhjYSBpZCBpbiB0aGUgcGFja2V0J3MgbWV0YWRhdGEgaW4gb3JkZXIgdG8g bWF0Y2ggb24NCj4gPiBpdCBsYXRlci4NCj4gPiBUaGUgbWV0YWRhdGEgcmVnaXN0ZXIgdXNlZCBp cyB0aGUgZmlyc3Qgb2YgdGhlIDMyLWJpdCB0eXBlIEMgcmVnaXN0ZXJzLiBJdCBjYW4gYmUNCj4g PiB1c2VkIGZvciBtYXRjaGluZyBhbmQgaGVhZGVyIG1vZGlmeSBvcGVyYXRpb25zLiBUaGUgaGln aGVyIDE2IGJpdHMgb2YgdGhpcw0KPiA+IHJlZ2lzdGVyIGFyZSBmb3IgdmhjYSBpZCwgYW5kIHRo ZSBsb3dlciAxNiBvbmVzIGlzIGZvciB2cG9ydCBudW1iZXIuDQo+ID4gVGhpcyBjaGFuZ2UgaXMg bm90IGZvciBkdWFsLXBvcnQgUm9DRSBvbmx5LiBJZiBIVyBhbmQgRlcgYWxsb3csIHRoZSB2cG9y dA0KPiA+IG1ldGFkYXRhIG1hdGNoaW5nIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4NCj4gPiANCj4g PiBTaWduZWQtb2ZmLWJ5OiBKaWFuYm8gTGl1IDxqaWFuYm9sQG1lbGxhbm94LmNvbT4NCj4gPiBS ZXZpZXdlZC1ieTogRWxpIEJyaXRzdGVpbiA8ZWxpYnJAbWVsbGFub3guY29tPg0KPiA+IFJldmll d2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29tPg0KPiA+IFJldmlld2VkLWJ5OiBN YXJrIEJsb2NoIDxtYXJrYkBtZWxsYW5veC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogU2FlZWQg TWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+DQo+ID4gLS0tDQo+ID4gIC4uLi9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guYyB8ICAgMiArDQo+ID4gIC4uLi9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guaCB8ICAgOSArDQo+ID4gIC4uLi9t ZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaF9vZmZsb2Fkcy5jICAgICB8IDE4MyArKysrKysrKysr KysrKy0tLS0NCj4gPiAgaW5jbHVkZS9saW51eC9tbHg1L2Vzd2l0Y2guaCAgICAgICAgICAgICAg ICAgIHwgICAzICsNCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAxNjEgaW5zZXJ0aW9ucygrKSwgMzYg ZGVsZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmMNCj4gPiBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmMNCj4gPiBpbmRleCBhNDJhMjNlNTA1ZGYuLjEy MzVmZDg0YWUzYSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZXN3aXRjaC5jDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guYw0KPiA+IEBAIC0xMTY4LDYgKzExNjgsOCBAQCB2b2lk IGVzd192cG9ydF9jbGVhbnVwX2luZ3Jlc3NfcnVsZXMoc3RydWN0DQo+ID4gbWx4NV9lc3dpdGNo ICplc3csDQo+ID4gDQo+ID4gIAl2cG9ydC0+aW5ncmVzcy5kcm9wX3J1bGUgPSBOVUxMOw0KPiA+ ICAJdnBvcnQtPmluZ3Jlc3MuYWxsb3dfcnVsZSA9IE5VTEw7DQo+ID4gKw0KPiA+ICsJZXN3X3Zw b3J0X2RlbF9pbmdyZXNzX2FjbF9tb2RpZnlfbWV0YWRhdGEoZXN3LCB2cG9ydCk7DQo+ID4gIH0N Cj4gPiANCj4gPiAgdm9pZCBlc3dfdnBvcnRfZGlzYWJsZV9pbmdyZXNzX2FjbChzdHJ1Y3QgbWx4 NV9lc3dpdGNoICplc3csIGRpZmYgLS1naXQNCj4gPiBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9lc3dpdGNoLmgNCj4gPiBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9lc3dpdGNoLmgNCj4gPiBpbmRleCA4YjlmMmNmNThlOTEuLjQ0MTdh MTk1ODMyZSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZXN3aXRjaC5oDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFu b3gvbWx4NS9jb3JlL2Vzd2l0Y2guaA0KPiA+IEBAIC02OCw2ICs2OCw4IEBAIHN0cnVjdCB2cG9y dF9pbmdyZXNzIHsNCj4gPiAgCXN0cnVjdCBtbHg1X2Zsb3dfZ3JvdXAgKmFsbG93X3Nwb29mY2hr X29ubHlfZ3JwOw0KPiA+ICAJc3RydWN0IG1seDVfZmxvd19ncm91cCAqYWxsb3dfdW50YWdnZWRf b25seV9ncnA7DQo+ID4gIAlzdHJ1Y3QgbWx4NV9mbG93X2dyb3VwICpkcm9wX2dycDsNCj4gPiAr CWludCAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlfbWV0YWRhdGFfaWQ7DQo+IE5vIG5lZWQg Zm9yIHJhbmRvbSBhbGlnbm1lbnQuIEp1c3QgaGF2ZSBvbmUgd2hpdGUgc3BhY2UgYWZ0ZXIgaW50 Lg0KDQpOb3QgcmFuZG9tLiBJdCdzIHRvIGFsaWduIHdpdGggb3RoZXIgbGluZXMgaW4gdGhlIHRo aXMgc3RydWN0dXJlLg0KVGhlcmUgYXJlIGFsc28gb3RoZXIgZmlsZWRzIHdpdGggbW9yZSB0aGFu IG9uZSBzcGFjZXMgYWZ0ZXIgdHlwZS4NCkl0IGxvb2tzIHVnbHkgaWYgdGhlcmUgYXJlIGRpZmZl cmVudCBzdHlsZXMgaW4gdGhlIHNhbWUgc3RydWN0dXJlLg0KDQo+IA0KPiA+ICsJc3RydWN0IG1s eDVfZmxvd19oYW5kbGUgICptb2RpZnlfbWV0YWRhdGFfcnVsZTsNCj4gPiAgCXN0cnVjdCBtbHg1 X2Zsb3dfaGFuZGxlICAqYWxsb3dfcnVsZTsNCj4gPiAgCXN0cnVjdCBtbHg1X2Zsb3dfaGFuZGxl ICAqZHJvcF9ydWxlOw0KPiA+ICAJc3RydWN0IG1seDVfZmMgICAgICAgICAgICpkcm9wX2NvdW50 ZXI7DQo+ID4gQEAgLTE5Niw2ICsxOTgsMTAgQEAgc3RydWN0IG1seDVfZXN3X2Z1bmN0aW9ucyB7 DQo+ID4gIAl1MTYJCQludW1fdmZzOw0KPiA+ICB9Ow0KPiA+IA0KPiA+ICtlbnVtIHsNCj4gPiAr CU1MWDVfRVNXSVRDSF9WUE9SVF9NQVRDSF9NRVRBREFUQSA9IEJJVCgwKSwgfTsNCj4gPiArDQo+ ID4gIHN0cnVjdCBtbHg1X2Vzd2l0Y2ggew0KPiA+ICAJc3RydWN0IG1seDVfY29yZV9kZXYgICAg KmRldjsNCj4gPiAgCXN0cnVjdCBtbHg1X25iICAgICAgICAgIG5iOw0KPiA+IEBAIC0yMDMsNiAr MjA5LDcgQEAgc3RydWN0IG1seDVfZXN3aXRjaCB7DQo+ID4gIAlzdHJ1Y3QgaGxpc3RfaGVhZCAg ICAgICBtY190YWJsZVtNTFg1X0wyX0FERFJfSEFTSF9TSVpFXTsNCj4gPiAgCXN0cnVjdCB3b3Jr cXVldWVfc3RydWN0ICp3b3JrX3F1ZXVlOw0KPiA+ICAJc3RydWN0IG1seDVfdnBvcnQgICAgICAg KnZwb3J0czsNCj4gPiArCXUzMiAgICAgICAgICAgICAgICAgICAgIGZsYWdzOw0KPiBTYW1lIGFz IGFib3ZlLCBubyBuZWVkIGZvciBleHRyYSBhbGlnbWVudC4NCg0KU2FtZSByZWFzb24uDQoNCj4g DQo+ID4gIAlpbnQgICAgICAgICAgICAgICAgICAgICB0b3RhbF92cG9ydHM7DQo+ID4gIAlpbnQg ICAgICAgICAgICAgICAgICAgICBlbmFibGVkX3Zwb3J0czsNCj4gPiAgCS8qIFN5bmNocm9uaXpl IGJldHdlZW4gdnBvcnQgY2hhbmdlIGV2ZW50cyBAQCAtMjQwLDYgKzI0Nyw4IEBADQo+ID4gdm9p ZCBlc3dfdnBvcnRfZGlzYWJsZV9lZ3Jlc3NfYWNsKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywN Cj4gPiAgCQkJCSAgc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0KTsNCj4gPiAgdm9pZCBlc3dfdnBv cnRfZGlzYWJsZV9pbmdyZXNzX2FjbChzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csDQo+ID4gIAkJ CQkgICBzdHJ1Y3QgbWx4NV92cG9ydCAqdnBvcnQpOw0KPiA+ICt2b2lkIGVzd192cG9ydF9kZWxf aW5ncmVzc19hY2xfbW9kaWZ5X21ldGFkYXRhKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCj4g PiArCQkJCQkgICAgICAgc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0KTsNCj4gPiANCj4gPiAgLyog RS1Td2l0Y2ggQVBJICovDQo+ID4gIGludCBtbHg1X2Vzd2l0Y2hfaW5pdChzdHJ1Y3QgbWx4NV9j b3JlX2RldiAqZGV2KTsgZGlmZiAtLWdpdA0KPiA+IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hfb2ZmbG9hZHMuYw0KPiA+IGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hfb2ZmbG9hZHMuYw0KPiA+IGluZGV4IDE3 YWJiOThiNDhhZi4uODcxYWU0NGRjMTMyIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMNCj4gPiArKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaF9vZmZsb2Fkcy5j DQoNCi4uLg0KDQo+ID4gK3N0YXRpYyBpbnQgZXN3X2NyZWF0ZV9vZmZsb2Fkc19hY2xfdGFibGVz KHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdykgew0KPiA+ICsJc3RydWN0IG1seDVfdnBvcnQgKnZw b3J0Ow0KPiA+ICsJaW50IGksIGo7DQo+ID4gKwlpbnQgZXJyOw0KPiA+ICsNCj4gPiArCW1seDVf ZXN3X2Zvcl9hbGxfdnBvcnRzKGVzdywgaSwgdnBvcnQpIHsNCj4gPiArCQllcnIgPSBlc3dfdnBv cnRfaW5ncmVzc19jb21tb25fY29uZmlnKGVzdywgdnBvcnQpOw0KPiA+ICAJCWlmIChlcnIpDQo+ ID4gLQkJCWdvdG8gZXJyX2VncmVzczsNCj4gPiArCQkJZ290byBlcnJfaW5ncmVzczsNCj4gPiAr DQo+ID4gKwkJaWYgKHZwb3J0LT52cG9ydCA+PSBNTFg1X1ZQT1JUX0ZJUlNUX1ZGICYmDQo+ID4g KwkJICAgIHZwb3J0LT52cG9ydCA8PSBlc3ctPmRldi0+cHJpdi5zcmlvdi5udW1fdmZzKSB7DQo+ IEFkZCBhbiBoZWxwZXIgQVBJIG1seDVfZXN3X2lzX3Zwb3J0KGNvbnN0IHN0cnVjdCBtbHg1X2Vz dyAqZXN3LCBjb25zdCBzdHJ1Y3QgbWx4NV92cG9ydCAqdnBvcnQpIA0KPiBhbmQgdXNlIGF0IHR3 byBwbGFjZXMgaW4gaW5ncmVzcyBhbmQgZWdyZXNzIGNvbmZpZy4NCg0KSXQncyB2ZXJ5IHNpbXBs ZSBsb2dpYywgYnV0IG5ldyBBUEkgbWFrZSB0aGluZ3MgY29tcGxpY2F0ZWQuIElmIGFkZGluZw0K bWx4NV9lc3dfaXNfdnBvcnQoKSBhcyB5b3Ugc3VnZ2VzdGVkLCBubyBvbmUgY2FuIGtub3cgd2hh dCdzIHRoZSBtZWFuaW5nDQpvZiB0aGlzIGZ1bmN0aW9uIGZyb20gbmFtZSwgYW5kIG5lZWQgdG8g Y2hlY2sgdGhlIGltcGxlbWVudGF0aW9uIGFnYWluLA0Kd2hpY2ggd2lsbCB3YXN0ZSB0b28gbXVj aCB0aW1lLg0KDQo+IA0K