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=-8.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,USER_AGENT_GIT 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 97D8FC48BD5 for ; Tue, 25 Jun 2019 17:48:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 663E8208E3 for ; Tue, 25 Jun 2019 17:48:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="VtMM+YLc" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732669AbfFYRsR (ORCPT ); Tue, 25 Jun 2019 13:48:17 -0400 Received: from mail-eopbgr80085.outbound.protection.outlook.com ([40.107.8.85]:15870 "EHLO EUR04-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732437AbfFYRsP (ORCPT ); Tue, 25 Jun 2019 13:48:15 -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=irQjMQaaTgVwuorwMS/7jGCIgHJFDxR2BlUgiBjp9y4=; b=VtMM+YLcZDHpcB7jADC1BkdU8AzB9QoHzO1LNftQbPddXvKMHO2EtILH102V38uvCAIjvtemk2+/VvMhwjIsmo+c9edmWh4q1kMgMB//rd9Q+g3pubxQ6S8x38IUtovpcGYpATgVnijV1Q6qf3xy7sG5/ANlf+zCbLUwOXgmsDg= Received: from DB6PR0501MB2759.eurprd05.prod.outlook.com (10.172.227.7) by DB6PR0501MB2216.eurprd05.prod.outlook.com (10.168.55.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.16; Tue, 25 Jun 2019 17:48:04 +0000 Received: from DB6PR0501MB2759.eurprd05.prod.outlook.com ([fe80::a901:6951:59de:3278]) by DB6PR0501MB2759.eurprd05.prod.outlook.com ([fe80::a901:6951:59de:3278%2]) with mapi id 15.20.2008.014; Tue, 25 Jun 2019 17:48:04 +0000 From: Saeed Mahameed To: Saeed Mahameed , Leon Romanovsky CC: "netdev@vger.kernel.org" , "linux-rdma@vger.kernel.org" , Jianbo Liu , Eli Britstein , Roi Dayan , Mark Bloch Subject: [PATCH V2 mlx5-next 08/13] net/mlx5: E-Switch, Add match on vport metadata for rule in fast path Thread-Topic: [PATCH V2 mlx5-next 08/13] net/mlx5: E-Switch, Add match on vport metadata for rule in fast path Thread-Index: AQHVK34j/srqU0SEo0mGOtEPTNBrsQ== Date: Tue, 25 Jun 2019 17:48:04 +0000 Message-ID: <20190625174727.20309-9-saeedm@mellanox.com> References: <20190625174727.20309-1-saeedm@mellanox.com> In-Reply-To: <20190625174727.20309-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BY5PR04CA0026.namprd04.prod.outlook.com (2603:10b6:a03:1d0::36) To DB6PR0501MB2759.eurprd05.prod.outlook.com (2603:10a6:4:84::7) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 97a42feb-d026-4420-d824-08d6f99545dc 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:DB6PR0501MB2216; x-ms-traffictypediagnostic: DB6PR0501MB2216: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-forefront-prvs: 0079056367 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(366004)(136003)(346002)(396003)(376002)(39860400002)(189003)(199004)(36756003)(26005)(76176011)(1076003)(86362001)(14454004)(50226002)(52116002)(110136005)(6116002)(186003)(6506007)(5660300002)(68736007)(386003)(8936002)(2906002)(3846002)(6436002)(256004)(316002)(102836004)(478600001)(81166006)(53936002)(6512007)(107886003)(450100002)(4326008)(486006)(7736002)(8676002)(11346002)(66556008)(64756008)(66946007)(73956011)(99286004)(446003)(66476007)(66446008)(66066001)(2616005)(305945005)(81156014)(71190400001)(54906003)(71200400001)(476003)(6636002)(25786009)(6486002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0501MB2216;H:DB6PR0501MB2759.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: 65Y9mNXs7PJQcvznbsrF/ej6tkypGo+n0tZMgl2GhOlV0mwEMsVkMoKwknZlxhptvBPWxlLflffA9PIMEXWcVdM93fMfzFBt1j8utLzMzvOEick5YlLiHDLbGPG4tUClSnAMdBcM5fkwChkc1lb/RIR+osV9bzyHvydK4enjl7S6D9D930tSVlIdW9DPz0t08GLwSoerQXAU/gYN2WF+FINWE5bqCRhG30u1yAIlaKnD9T+hWzaLw98GF6nBpqS0DNbXFKRn0iMZ4gayQwgtbToq5dyk2o2FHZEOAYz2cchdisMNkR2QGrbTeQA7oKBW1X28EF4MCVafx6X4dI2WZda4T2H0NfS/1jIBGcNrNs8j6PxlIlFJ7BDs9CgWdHgAPah0IWqrVyEx/nRiqdBO//EmqU3DU4T7nRmjATCiB2w= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 97a42feb-d026-4420-d824-08d6f99545dc X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2019 17:48:04.0741 (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: saeedm@mellanox.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2216 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org RnJvbTogSmlhbmJvIExpdSA8amlhbmJvbEBtZWxsYW5veC5jb20+DQoNCklmIEZXJ3MgY2FwYWJp bGl0aWVzIGFuZCBjb25maWd1cmF0aW9ucyBtZWV0IHRoZSByZXF1aXJlbWVudCBvZiB2cG9ydA0K bWV0YWRhdGEgbWF0Y2hpbmcsIHRoaXMgZmVhdHVyZSB3aWxsIGJlIHVzZWQuIEFzIHRoZSBpbmZv cm1hdGlvbg0KYWJvdXQgdnBvcnQgbnVtYmVyIGFuZCB2aGNhX2lkIHJlbGF0ZWQgdG8gcGFja2V0 IGlzIGFscmVhZHkgc3RvcmVkIHRvDQppdHMgbWV0YWRhdGEgcmVnaXN0ZXIsIHdoaWNoIGlzIHVz ZWQgYXMgYW4gaW5kaWNhdG9yIGZvciBwZXJ0aWN1bGFyDQp2cG9ydCwgbm93IHdlIGNhbiBjaGFu Z2UgdG8gbWF0Y2ggb24gdGhpcyBtZXRhZGF0YSBmb3IgYWxsIHRoZQ0Kb2ZmbG9hZGluZyBydWxl cyBpbiBmYXN0IHBhdGguDQoNClNpZ25lZC1vZmYtYnk6IEppYW5ibyBMaXUgPGppYW5ib2xAbWVs bGFub3guY29tPg0KUmV2aWV3ZWQtYnk6IEVsaSBCcml0c3RlaW4gPGVsaWJyQG1lbGxhbm94LmNv bT4NClJldmlld2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29tPg0KUmV2aWV3ZWQt Ynk6IE1hcmsgQmxvY2ggPG1hcmtiQG1lbGxhbm94LmNvbT4NClNpZ25lZC1vZmYtYnk6IFNhZWVk IE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPg0KLS0tDQogLi4uL21lbGxhbm94L21seDUv Y29yZS9lc3dpdGNoX29mZmxvYWRzLmMgICAgIHwgODUgKysrKysrKysrKystLS0tLS0tLQ0KIDEg ZmlsZSBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkNCg0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoX29m ZmxvYWRzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRj aF9vZmZsb2Fkcy5jDQppbmRleCA0YmNiYzg3MmNkMDguLmEzY2Y3ODczODJlZSAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoX29mZmxv YWRzLmMNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dp dGNoX29mZmxvYWRzLmMNCkBAIC04OCw2ICs4OCw1MyBAQCB1MTYgbWx4NV9lc3dpdGNoX2dldF9w cmlvX3JhbmdlKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdykNCiAJcmV0dXJuIDE7DQogfQ0KIA0K K3N0YXRpYyB2b2lkDQorbWx4NV9lc3dpdGNoX3NldF9ydWxlX3NvdXJjZV9wb3J0KHN0cnVjdCBt bHg1X2Vzd2l0Y2ggKmVzdywNCisJCQkJICBzdHJ1Y3QgbWx4NV9mbG93X3NwZWMgKnNwZWMsDQor CQkJCSAgc3RydWN0IG1seDVfZXN3X2Zsb3dfYXR0ciAqYXR0cikNCit7DQorCXZvaWQgKm1pc2My Ow0KKwl2b2lkICptaXNjOw0KKw0KKwkvKiBVc2UgbWV0YWRhdGEgbWF0Y2hpbmcgYmVjYXVzZSB2 cG9ydCBpcyBub3QgcmVwcmVzZW50ZWQgYnkgc2luZ2xlDQorCSAqIFZIQ0EgaW4gZHVhbC1wb3J0 IFJvQ0UgbW9kZSwgYW5kIG1hdGNoaW5nIG9uIHNvdXJjZSB2cG9ydCBtYXkgZmFpbC4NCisJICov DQorCWlmIChtbHg1X2Vzd2l0Y2hfdnBvcnRfbWF0Y2hfbWV0YWRhdGFfZW5hYmxlZChlc3cpKSB7 DQorCQltaXNjMiA9IE1MWDVfQUREUl9PRihmdGVfbWF0Y2hfcGFyYW0sIHNwZWMtPm1hdGNoX3Zh bHVlLCBtaXNjX3BhcmFtZXRlcnNfMik7DQorCQlNTFg1X1NFVChmdGVfbWF0Y2hfc2V0X21pc2My LCBtaXNjMiwgbWV0YWRhdGFfcmVnX2NfMCwNCisJCQkgbWx4NV9lc3dpdGNoX2dldF92cG9ydF9t ZXRhZGF0YV9mb3JfbWF0Y2goYXR0ci0+aW5fbWRldi0+cHJpdi5lc3dpdGNoLA0KKwkJCQkJCQkJ ICAgYXR0ci0+aW5fcmVwLT52cG9ydCkpOw0KKw0KKwkJbWlzYzIgPSBNTFg1X0FERFJfT0YoZnRl X21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF9jcml0ZXJpYSwgbWlzY19wYXJhbWV0ZXJzXzIpOw0K KwkJTUxYNV9TRVRfVE9fT05FUyhmdGVfbWF0Y2hfc2V0X21pc2MyLCBtaXNjMiwgbWV0YWRhdGFf cmVnX2NfMCk7DQorDQorCQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9lbmFibGUgfD0gTUxYNV9NQVRD SF9NSVNDX1BBUkFNRVRFUlNfMjsNCisJCW1pc2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3Bh cmFtLCBzcGVjLT5tYXRjaF9jcml0ZXJpYSwgbWlzY19wYXJhbWV0ZXJzKTsNCisJCWlmIChtZW1j aHJfaW52KG1pc2MsIDAsIE1MWDVfU1RfU1pfQllURVMoZnRlX21hdGNoX3NldF9taXNjKSkpDQor CQkJc3BlYy0+bWF0Y2hfY3JpdGVyaWFfZW5hYmxlIHw9IE1MWDVfTUFUQ0hfTUlTQ19QQVJBTUVU RVJTOw0KKwl9IGVsc2Ugew0KKwkJbWlzYyA9IE1MWDVfQUREUl9PRihmdGVfbWF0Y2hfcGFyYW0s IHNwZWMtPm1hdGNoX3ZhbHVlLCBtaXNjX3BhcmFtZXRlcnMpOw0KKwkJTUxYNV9TRVQoZnRlX21h dGNoX3NldF9taXNjLCBtaXNjLCBzb3VyY2VfcG9ydCwgYXR0ci0+aW5fcmVwLT52cG9ydCk7DQor DQorCQlpZiAoTUxYNV9DQVBfRVNXKGVzdy0+ZGV2LCBtZXJnZWRfZXN3aXRjaCkpDQorCQkJTUxY NV9TRVQoZnRlX21hdGNoX3NldF9taXNjLCBtaXNjLA0KKwkJCQkgc291cmNlX2Vzd2l0Y2hfb3du ZXJfdmhjYV9pZCwNCisJCQkJIE1MWDVfQ0FQX0dFTihhdHRyLT5pbl9tZGV2LCB2aGNhX2lkKSk7 DQorDQorCQltaXNjID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hf Y3JpdGVyaWEsIG1pc2NfcGFyYW1ldGVycyk7DQorCQlNTFg1X1NFVF9UT19PTkVTKGZ0ZV9tYXRj aF9zZXRfbWlzYywgbWlzYywgc291cmNlX3BvcnQpOw0KKwkJaWYgKE1MWDVfQ0FQX0VTVyhlc3ct PmRldiwgbWVyZ2VkX2Vzd2l0Y2gpKQ0KKwkJCU1MWDVfU0VUX1RPX09ORVMoZnRlX21hdGNoX3Nl dF9taXNjLCBtaXNjLA0KKwkJCQkJIHNvdXJjZV9lc3dpdGNoX293bmVyX3ZoY2FfaWQpOw0KKw0K KwkJc3BlYy0+bWF0Y2hfY3JpdGVyaWFfZW5hYmxlIHw9IE1MWDVfTUFUQ0hfTUlTQ19QQVJBTUVU RVJTOw0KKwl9DQorDQorCWlmIChNTFg1X0NBUF9FU1dfRkxPV1RBQkxFKGVzdy0+ZGV2LCBmbG93 X3NvdXJjZSkgJiYNCisJICAgIGF0dHItPmluX3JlcC0+dnBvcnQgPT0gTUxYNV9WUE9SVF9VUExJ TkspDQorCQlzcGVjLT5mbG93X2NvbnRleHQuZmxvd19zb3VyY2UgPSBNTFg1X0ZMT1dfQ09OVEVY VF9GTE9XX1NPVVJDRV9VUExJTks7DQorfQ0KKw0KIHN0cnVjdCBtbHg1X2Zsb3dfaGFuZGxlICoN CiBtbHg1X2Vzd2l0Y2hfYWRkX29mZmxvYWRlZF9ydWxlKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVz dywNCiAJCQkJc3RydWN0IG1seDVfZmxvd19zcGVjICpzcGVjLA0KQEAgLTk5LDcgKzE0Niw2IEBA IG1seDVfZXN3aXRjaF9hZGRfb2ZmbG9hZGVkX3J1bGUoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3 LA0KIAlzdHJ1Y3QgbWx4NV9mbG93X2hhbmRsZSAqcnVsZTsNCiAJc3RydWN0IG1seDVfZmxvd190 YWJsZSAqZmRiOw0KIAlpbnQgaiwgaSA9IDA7DQotCXZvaWQgKm1pc2M7DQogDQogCWlmIChlc3ct Pm1vZGUgIT0gU1JJT1ZfT0ZGTE9BRFMpDQogCQlyZXR1cm4gRVJSX1BUUigtRU9QTk9UU1VQUCk7 DQpAQCAtMTU5LDIxICsyMDUsOCBAQCBtbHg1X2Vzd2l0Y2hfYWRkX29mZmxvYWRlZF9ydWxlKHN0 cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiAJCWkrKzsNCiAJfQ0KIA0KLQltaXNjID0gTUxYNV9B RERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hfdmFsdWUsIG1pc2NfcGFyYW1ldGVy cyk7DQotCU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywgc291cmNlX3BvcnQsIGF0 dHItPmluX3JlcC0+dnBvcnQpOw0KLQ0KLQlpZiAoTUxYNV9DQVBfRVNXKGVzdy0+ZGV2LCBtZXJn ZWRfZXN3aXRjaCkpDQotCQlNTFg1X1NFVChmdGVfbWF0Y2hfc2V0X21pc2MsIG1pc2MsDQotCQkJ IHNvdXJjZV9lc3dpdGNoX293bmVyX3ZoY2FfaWQsDQotCQkJIE1MWDVfQ0FQX0dFTihhdHRyLT5p bl9tZGV2LCB2aGNhX2lkKSk7DQorCW1seDVfZXN3aXRjaF9zZXRfcnVsZV9zb3VyY2VfcG9ydChl c3csIHNwZWMsIGF0dHIpOw0KIA0KLQltaXNjID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJh bSwgc3BlYy0+bWF0Y2hfY3JpdGVyaWEsIG1pc2NfcGFyYW1ldGVycyk7DQotCU1MWDVfU0VUX1RP X09ORVMoZnRlX21hdGNoX3NldF9taXNjLCBtaXNjLCBzb3VyY2VfcG9ydCk7DQotCWlmIChNTFg1 X0NBUF9FU1coZXN3LT5kZXYsIG1lcmdlZF9lc3dpdGNoKSkNCi0JCU1MWDVfU0VUX1RPX09ORVMo ZnRlX21hdGNoX3NldF9taXNjLCBtaXNjLA0KLQkJCQkgc291cmNlX2Vzd2l0Y2hfb3duZXJfdmhj YV9pZCk7DQotDQotCXNwZWMtPm1hdGNoX2NyaXRlcmlhX2VuYWJsZSA9IE1MWDVfTUFUQ0hfTUlT Q19QQVJBTUVURVJTOw0KIAlpZiAoZmxvd19hY3QuYWN0aW9uICYgTUxYNV9GTE9XX0NPTlRFWFRf QUNUSU9OX0RFQ0FQKSB7DQogCQlpZiAoYXR0ci0+dHVubmVsX21hdGNoX2xldmVsICE9IE1MWDVf TUFUQ0hfTk9ORSkNCiAJCQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9lbmFibGUgfD0gTUxYNV9NQVRD SF9PVVRFUl9IRUFERVJTOw0KQEAgLTIxOSw3ICsyNTIsNiBAQCBtbHg1X2Vzd2l0Y2hfYWRkX2Z3 ZF9ydWxlKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiAJc3RydWN0IG1seDVfZmxvd190YWJs ZSAqZmFzdF9mZGI7DQogCXN0cnVjdCBtbHg1X2Zsb3dfdGFibGUgKmZ3ZF9mZGI7DQogCXN0cnVj dCBtbHg1X2Zsb3dfaGFuZGxlICpydWxlOw0KLQl2b2lkICptaXNjOw0KIAlpbnQgaTsNCiANCiAJ ZmFzdF9mZGIgPSBlc3dfZ2V0X3ByaW9fdGFibGUoZXN3LCBhdHRyLT5jaGFpbiwgYXR0ci0+cHJp bywgMCk7DQpAQCAtMjUxLDI1ICsyODMsMTAgQEAgbWx4NV9lc3dpdGNoX2FkZF9md2RfcnVsZShz dHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csDQogCWRlc3RbaV0uZnQgPSBmd2RfZmRiLA0KIAlpKys7 DQogDQotCW1pc2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF92 YWx1ZSwgbWlzY19wYXJhbWV0ZXJzKTsNCi0JTUxYNV9TRVQoZnRlX21hdGNoX3NldF9taXNjLCBt aXNjLCBzb3VyY2VfcG9ydCwgYXR0ci0+aW5fcmVwLT52cG9ydCk7DQotDQotCWlmIChNTFg1X0NB UF9FU1coZXN3LT5kZXYsIG1lcmdlZF9lc3dpdGNoKSkNCi0JCU1MWDVfU0VUKGZ0ZV9tYXRjaF9z ZXRfbWlzYywgbWlzYywNCi0JCQkgc291cmNlX2Vzd2l0Y2hfb3duZXJfdmhjYV9pZCwNCi0JCQkg TUxYNV9DQVBfR0VOKGF0dHItPmluX21kZXYsIHZoY2FfaWQpKTsNCi0NCi0JbWlzYyA9IE1MWDVf QUREUl9PRihmdGVfbWF0Y2hfcGFyYW0sIHNwZWMtPm1hdGNoX2NyaXRlcmlhLCBtaXNjX3BhcmFt ZXRlcnMpOw0KLQlNTFg1X1NFVF9UT19PTkVTKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywgc291 cmNlX3BvcnQpOw0KLQlpZiAoTUxYNV9DQVBfRVNXKGVzdy0+ZGV2LCBtZXJnZWRfZXN3aXRjaCkp DQotCQlNTFg1X1NFVF9UT19PTkVTKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywNCi0JCQkJIHNv dXJjZV9lc3dpdGNoX293bmVyX3ZoY2FfaWQpOw0KKwltbHg1X2Vzd2l0Y2hfc2V0X3J1bGVfc291 cmNlX3BvcnQoZXN3LCBzcGVjLCBhdHRyKTsNCiANCi0JaWYgKGF0dHItPm1hdGNoX2xldmVsID09 IE1MWDVfTUFUQ0hfTk9ORSkNCi0JCXNwZWMtPm1hdGNoX2NyaXRlcmlhX2VuYWJsZSA9IE1MWDVf TUFUQ0hfTUlTQ19QQVJBTUVURVJTOw0KLQllbHNlDQotCQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9l bmFibGUgPSBNTFg1X01BVENIX09VVEVSX0hFQURFUlMgfA0KLQkJCQkJICAgICAgTUxYNV9NQVRD SF9NSVNDX1BBUkFNRVRFUlM7DQorCWlmIChhdHRyLT5tYXRjaF9sZXZlbCAhPSBNTFg1X01BVENI X05PTkUpDQorCQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9lbmFibGUgfD0gTUxYNV9NQVRDSF9PVVRF Ul9IRUFERVJTOw0KIA0KIAlydWxlID0gbWx4NV9hZGRfZmxvd19ydWxlcyhmYXN0X2ZkYiwgc3Bl YywgJmZsb3dfYWN0LCBkZXN0LCBpKTsNCiANCi0tIA0KMi4yMS4wDQoNCg==