From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 5B658A0096 for ; Thu, 11 Apr 2019 06:44:45 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1885A5B36; Thu, 11 Apr 2019 06:44:44 +0200 (CEST) Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690082.outbound.protection.outlook.com [40.107.69.82]) by dpdk.org (Postfix) with ESMTP id 4258858FE for ; Thu, 11 Apr 2019 06:44:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eO8DCkHccrTSJa2OOv4FgGVtHPBdy6Ael9vZr9GGwQ4=; b=WAqk1F3KceOGf0rf8/lab4+gWm98GYlgG5RmA4ZstBWMB7rrLJn+Rtj/pOLtrK5hUHI0mvt3AS5IuJoFDQlxLdo0aEX/LOxqh+a8/WZK7rm8gnHEEUz915K1MlVwKsVQE4vKJcGnWxuX0UwBGaNU0ChmPhCxiALwZlPHj+NvFZY= Received: from MWHPR05MB3472.namprd05.prod.outlook.com (10.174.248.35) by MWHPR05MB2976.namprd05.prod.outlook.com (10.168.246.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.8; Thu, 11 Apr 2019 04:44:40 +0000 Received: from MWHPR05MB3472.namprd05.prod.outlook.com ([fe80::c0af:3553:570:5a48]) by MWHPR05MB3472.namprd05.prod.outlook.com ([fe80::c0af:3553:570:5a48%2]) with mapi id 15.20.1792.007; Thu, 11 Apr 2019 04:44:39 +0000 From: Eduard Serra Miralles To: Yong Wang CC: "dev@dpdk.org" , Eduard Serra Miralles Thread-Topic: [PATCH] net/vmxnet3: v4 boot and guest UDP RSS configuration Thread-Index: AQHU8CFFyCMOtxzfeUqUo5yiSA39Lw== Date: Thu, 11 Apr 2019 04:44:39 +0000 Message-ID: <1554957873-12549-1-git-send-email-eserra@vmware.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR07CA0069.namprd07.prod.outlook.com (2603:10b6:a03:60::46) To MWHPR05MB3472.namprd05.prod.outlook.com (2603:10b6:301:40::35) authentication-results: spf=none (sender IP is ) smtp.mailfrom=eserra@vmware.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-originating-ip: [107.131.124.149] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0cbaef72-d003-4683-7ae6-08d6be3867f3 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600139)(711020)(4605104)(2017052603328)(7193020); SRVR:MWHPR05MB2976; x-ms-traffictypediagnostic: MWHPR05MB2976: x-microsoft-antispam-prvs: x-forefront-prvs: 00046D390F x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(366004)(396003)(39860400002)(376002)(136003)(199004)(189003)(6436002)(81166006)(14444005)(486006)(8676002)(476003)(256004)(50226002)(5660300002)(66066001)(8936002)(71200400001)(2616005)(36756003)(478600001)(6512007)(71190400001)(6636002)(305945005)(81156014)(105586002)(106356001)(7736002)(186003)(54906003)(53936002)(4326008)(99286004)(6486002)(37006003)(316002)(68736007)(14454004)(97736004)(52116002)(107886003)(6116002)(3846002)(386003)(6506007)(26005)(2906002)(86362001)(6862004)(102836004)(25786009); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR05MB2976; H:MWHPR05MB3472.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: vmware.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: wr9Fi2jgB8LcDWk5brgxVnYVSWWR3gd57O71/MSc6HY/wWXiIOP5tYtzVD7GRXU2KSDt+pdtmSuknAFVQZMZ0mpPSH8aK1C/EDTtKzmZocjuE3dPKYigHcYElgLBqSSGZr3DsFrhL6NGenq+BO9tO4tTF1ogz7xW/Yn05hIG14w28BwKG9LTcns+XyxENnXsQe8mFQdEhVsoq1bERWCghf7OewXnBkS+dtrASfRq8qQrDo6t3K9AMg36b21mpbsatlm0DrcKiNxAsnD9jZb1o+H4x3zTMfYQuFhmbZ5WExEiZy/HppcAjZ9rFxmhGVfO5Ybh0vHs4a4iksMoNOg/o/ZeoV72RoCCWOSKuGu8CjVsfV1BwEkC3jngHIp3FnVeKik95Yv8TRCU+NAcmL7kPvqsCdaRW6YBYBHK3lWAhOs= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0cbaef72-d003-4683-7ae6-08d6be3867f3 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Apr 2019 04:44:39.5382 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB2976 Subject: [dpdk-dev] [PATCH] net/vmxnet3: v4 boot and guest UDP RSS configuration 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190411044439.l7PHWP-FizP8ePY7fA8oQKWWBWdGDxY0JT_0EzArxac@z> RnJvbTogRWR1YXJkIFNlcnJhIDxlc2VycmFAdm13YXJlLmNvbT4NCg0KVGhpcyBwYXRjaCBpbnRy b2R1Y2VzOg0KLSBWTXhuZXQzIHY0IG5lZ290aWF0aW9uIGFuZCwNCi0gZW50aXJlbHkgZ3Vlc3Qt ZHJpdmVuIFVEUCBSU1Mgc3VwcG9ydC4NCg0KVk14bmV0MyB2MyBhbHJlYWR5IGhhcyBVRFAgUlNT IHN1cHBvcnQsIGhvd2V2ZXIgaXQNCmRlcGVuZHMgb24gaHlwZXJ2aXNvciBwcm92aXNpb25pbmcg b24gdGhlIFZNIHRocm91Z2gNCkVTWCBzcGVjaWZpYyBmbGFncywgd2hpY2ggYXJlIG5vdCB0cmFu c3BhcmVudCBvciBrbm93bg0KdG8gdGhlIGd1ZXN0IGxhdGVyIG9uLg0KDQpWbXhuZXQzIHY0IGlu dHJvZHVjZXMgYSBuZXcgQVBJIHRyYW5zYWN0aW9uIHdoaWNoIGFsbG93cw0KY29uZmlndXJpbmcg UlNTIGVudGlyZWx5IGZyb20gdGhlIGd1ZXN0LiBUaGlzIEFQSSBtdXN0IGJlDQppbnZva2VkIGFm dGVyIGRldmljZSBzaGFyZWQgbWVtIHJlZ2lvbiBpbml0Lg0KDQpJUHY0IEVTUCBSU1MgKFNQSSBi YXNlZCkgaXMgYWxzbyBhdmFpbGFibGUsIGJ1dCBjdXJyZW50bHkNCnRoZXJlIGFyZSBubyBFU1Ag UlNTIGRlZmluaXRpb25zIG9uIHJ0ZV9ldGggbGF5ZXIgdG8NCmhhbmRsZSB0aGF0Lg0KDQpTaWdu ZWQtb2ZmLWJ5OiBFZHVhcmQgU2VycmEgPGVzZXJyYUB2bXdhcmUuY29tPg0KLS0tDQogZHJpdmVy cy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5jIHwgMjEgKysrKysrKysrKysrKysrKystDQog ZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5oIHwgIDggKysrKysrKw0KIGRyaXZl cnMvbmV0L3ZteG5ldDMvdm14bmV0M19yeHR4LmMgICB8IDQxICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKw0KIDMgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0 aGRldi5jIGIvZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5jDQppbmRleCA5M2U1 ZGU5Li44NDZkN2ZkIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0 aGRldi5jDQorKysgYi9kcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2LmMNCkBAIC0y NjYsNyArMjY2LDExIEBAIGV0aF92bXhuZXQzX2Rldl9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAq ZXRoX2RldikNCiAJdmVyID0gVk1YTkVUM19SRUFEX0JBUjFfUkVHKGh3LCBWTVhORVQzX1JFR19W UlJTKTsNCiAJUE1EX0lOSVRfTE9HKERFQlVHLCAiSGFyZHdhcmUgdmVyc2lvbiA6ICVkIiwgdmVy KTsNCiANCi0JaWYgKHZlciAmICgxIDw8IFZNWE5FVDNfUkVWXzMpKSB7DQorCWlmICh2ZXIgJiAo MSA8PCBWTVhORVQzX1JFVl80KSkgew0KKwkJVk1YTkVUM19XUklURV9CQVIxX1JFRyhodywgVk1Y TkVUM19SRUdfVlJSUywNCisJCQkJICAgICAgIDEgPDwgVk1YTkVUM19SRVZfNCk7DQorCQlody0+ dmVyc2lvbiA9IFZNWE5FVDNfUkVWXzQgKyAxOw0KKwl9IGVsc2UgaWYgKHZlciAmICgxIDw8IFZN WE5FVDNfUkVWXzMpKSB7DQogCQlWTVhORVQzX1dSSVRFX0JBUjFfUkVHKGh3LCBWTVhORVQzX1JF R19WUlJTLA0KIAkJCQkgICAgICAgMSA8PCBWTVhORVQzX1JFVl8zKTsNCiAJCWh3LT52ZXJzaW9u ID0gVk1YTkVUM19SRVZfMyArIDE7DQpAQCAtNzY0LDYgKzc2OCwxNSBAQCB2bXhuZXQzX2Rldl9z dGFydChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCiAJCVBNRF9JTklUX0xPRyhERUJVRywgIkZh aWxlZCB0byBzZXR1cCBtZW1vcnkgcmVnaW9uXG4iKTsNCiAJfQ0KIA0KKwlpZiAoVk1YTkVUM19W RVJTSU9OX0dFXzQoaHcpKSB7DQorCQkvKiBDaGVjayBmb3IgYWRkaXRpb25hbCBSU1MgICovDQor CQlyZXQgPSB2bXhuZXQzX3Y0X3Jzc19jb25maWd1cmUoZGV2KTsNCisJCWlmIChyZXQgIT0gVk1Y TkVUM19TVUNDRVNTKSB7DQorCQkJUE1EX0lOSVRfTE9HKEVSUiwgIkZhaWxlZCB0byBjb25maWd1 cmUgdjQgUlNTIik7DQorCQkJcmV0dXJuIHJldDsNCisJCX0NCisJfQ0KKw0KIAkvKiBEaXNhYmxl IGludGVycnVwdHMgKi8NCiAJdm14bmV0M19kaXNhYmxlX2ludHIoaHcpOw0KIA0KQEAgLTExNDEs NiArMTE1NCw4IEBAIHN0YXRpYyB2b2lkDQogdm14bmV0M19kZXZfaW5mb19nZXQoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYgX19ydGVfdW51c2VkLA0KIAkJICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXZf aW5mbyAqZGV2X2luZm8pDQogew0KKwlzdHJ1Y3Qgdm14bmV0M19odyAqaHcgPSBkZXYtPmRhdGEt PmRldl9wcml2YXRlOw0KKw0KIAlkZXZfaW5mby0+bWF4X3J4X3F1ZXVlcyA9IFZNWE5FVDNfTUFY X1JYX1FVRVVFUzsNCiAJZGV2X2luZm8tPm1heF90eF9xdWV1ZXMgPSBWTVhORVQzX01BWF9UWF9R VUVVRVM7DQogCWRldl9pbmZvLT5taW5fcnhfYnVmc2l6ZSA9IDE1MTggKyBSVEVfUEtUTUJVRl9I RUFEUk9PTTsNCkBAIC0xMTUwLDYgKzExNjUsMTAgQEAgdm14bmV0M19kZXZfaW5mb19nZXQoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYgX19ydGVfdW51c2VkLA0KIA0KIAlkZXZfaW5mby0+Zmxvd190 eXBlX3Jzc19vZmZsb2FkcyA9IFZNWE5FVDNfUlNTX09GRkxPQURfQUxMOw0KIA0KKwlpZiAoVk1Y TkVUM19WRVJTSU9OX0dFXzQoaHcpKSB7DQorCQlkZXZfaW5mby0+Zmxvd190eXBlX3Jzc19vZmZs b2FkcyB8PSBWTVhORVQzX1Y0X1JTU19NQVNLOw0KKwl9DQorDQogCWRldl9pbmZvLT5yeF9kZXNj X2xpbSA9IChzdHJ1Y3QgcnRlX2V0aF9kZXNjX2xpbSkgew0KIAkJLm5iX21heCA9IFZNWE5FVDNf UlhfUklOR19NQVhfU0laRSwNCiAJCS5uYl9taW4gPSBWTVhORVQzX0RFRl9SWF9SSU5HX1NJWkUs DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5oIGIvZHJp dmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5oDQppbmRleCA1YmMzYTg0Li4zMTlkNzM5 IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5oDQorKysg Yi9kcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2LmgNCkBAIC0zNCw2ICszNCwxMCBA QA0KIAlFVEhfUlNTX0lQVjYgfCBcDQogCUVUSF9SU1NfTk9ORlJBR19JUFY2X1RDUCkNCiANCisj ZGVmaW5lIFZNWE5FVDNfVjRfUlNTX01BU0sgKCBcDQorCUVUSF9SU1NfTk9ORlJBR19JUFY0X1VE UCB8IFwNCisJRVRIX1JTU19OT05GUkFHX0lQVjZfVURQKQ0KKw0KIC8qIFJTUyBjb25maWd1cmF0 aW9uIHN0cnVjdHVyZSAtIHNoYXJlZCB3aXRoIGRldmljZSB0aHJvdWdoIEdQQSAqLw0KIHR5cGVk ZWYgc3RydWN0IFZNWE5FVDNfUlNTQ29uZiB7DQogCXVpbnQxNl90ICAgaGFzaFR5cGU7DQpAQCAt MTAzLDEwICsxMDcsMTIgQEAgc3RydWN0IHZteG5ldDNfaHcgew0KIAlVUFQxX1J4U3RhdHMgICAg ICAgICAgc25hcHNob3Rfcnhfc3RhdHNbVk1YTkVUM19NQVhfUlhfUVVFVUVTXTsNCiB9Ow0KIA0K KyNkZWZpbmUgVk1YTkVUM19SRVZfNAkJMwkJLyogVm14bmV0MyBSZXYuIDQgKi8NCiAjZGVmaW5l IFZNWE5FVDNfUkVWXzMJCTIJCS8qIFZteG5ldDMgUmV2LiAzICovDQogI2RlZmluZSBWTVhORVQz X1JFVl8yCQkxCQkvKiBWbXhuZXQzIFJldi4gMiAqLw0KICNkZWZpbmUgVk1YTkVUM19SRVZfMQkJ MAkJLyogVm14bmV0MyBSZXYuIDEgKi8NCiANCisjZGVmaW5lIFZNWE5FVDNfVkVSU0lPTl9HRV80 KGh3KSAoKGh3KS0+dmVyc2lvbiA+PSBWTVhORVQzX1JFVl80ICsgMSkNCiAjZGVmaW5lIFZNWE5F VDNfVkVSU0lPTl9HRV8zKGh3KSAoKGh3KS0+dmVyc2lvbiA+PSBWTVhORVQzX1JFVl8zICsgMSkN CiAjZGVmaW5lIFZNWE5FVDNfVkVSU0lPTl9HRV8yKGh3KSAoKGh3KS0+dmVyc2lvbiA+PSBWTVhO RVQzX1JFVl8yICsgMSkNCiANCkBAIC0xNjIsNiArMTY4LDggQEAgdm9pZCB2bXhuZXQzX2Rldl9j bGVhcl9xdWV1ZXMoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0KIHZvaWQgdm14bmV0M19kZXZf cnhfcXVldWVfcmVsZWFzZSh2b2lkICpyeHEpOw0KIHZvaWQgdm14bmV0M19kZXZfdHhfcXVldWVf cmVsZWFzZSh2b2lkICp0eHEpOw0KIA0KK2ludCB2bXhuZXQzX3Y0X3Jzc19jb25maWd1cmUoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0KKw0KIGludCAgdm14bmV0M19kZXZfcnhfcXVldWVfc2V0 dXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQxNl90IHJ4X3F1ZXVlX2lkLA0KIAkJCQl1 aW50MTZfdCBuYl9yeF9kZXNjLCB1bnNpZ25lZCBpbnQgc29ja2V0X2lkLA0KIAkJCQljb25zdCBz dHJ1Y3QgcnRlX2V0aF9yeGNvbmYgKnJ4X2NvbmYsDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv dm14bmV0My92bXhuZXQzX3J4dHguYyBiL2RyaXZlcnMvbmV0L3ZteG5ldDMvdm14bmV0M19yeHR4 LmMNCmluZGV4IGQzMDkxNGEuLjlkODA2NDYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC92bXhu ZXQzL3ZteG5ldDNfcnh0eC5jDQorKysgYi9kcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfcnh0 eC5jDQpAQCAtMTI5Miw2ICsxMjkyLDQ3IEBAIHN0YXRpYyB1aW50OF90IHJzc19pbnRlbF9rZXlb NDBdID0gew0KIH07DQogDQogLyoNCisgKiBBZGRpdGlvbmFsIFJTUyBjb25maWd1cmF0aW9ucyBi YXNlZCBvbiB2bXhuZXQgdjQrIEFQSXMNCisgKi8NCitpbnQNCit2bXhuZXQzX3Y0X3Jzc19jb25m aWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQorew0KKwlzdHJ1Y3Qgdm14bmV0M19odyAq aHcgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KKwlWbXhuZXQzX0RyaXZlclNoYXJlZCAqc2hh cmVkID0gaHctPnNoYXJlZDsNCisJVm14bmV0M19DbWRJbmZvICpjbWRJbmZvID0gJnNoYXJlZC0+ Y3UuY21kSW5mbzsNCisJc3RydWN0IHJ0ZV9ldGhfcnNzX2NvbmYgKnBvcnRfcnNzX2NvbmY7DQor CXVpbnQ2NF90IHJzc19oZjsNCisJdWludDMyX3QgcmV0Ow0KKw0KKwlQTURfSU5JVF9GVU5DX1RS QUNFKCk7DQorDQorCWNtZEluZm8tPnNldFJTU0ZpZWxkcyA9IDA7DQorICAgICAgICBwb3J0X3Jz c19jb25mID0gJmRldi0+ZGF0YS0+ZGV2X2NvbmYucnhfYWR2X2NvbmYucnNzX2NvbmY7DQorCXJz c19oZiA9IHBvcnRfcnNzX2NvbmYtPnJzc19oZiAmDQorCQkoVk1YTkVUM19WNF9SU1NfTUFTSyB8 IFZNWE5FVDNfUlNTX09GRkxPQURfQUxMKTsNCisNCisJaWYgKHJzc19oZiAmIEVUSF9SU1NfTk9O RlJBR19JUFY0X1RDUCkNCisJCWNtZEluZm8tPnNldFJTU0ZpZWxkcyB8PSBWTVhORVQzX1JTU19G SUVMRFNfVENQSVA0Ow0KKwlpZiAocnNzX2hmICYgRVRIX1JTU19OT05GUkFHX0lQVjZfVENQKQ0K KwkJY21kSW5mby0+c2V0UlNTRmllbGRzIHw9IFZNWE5FVDNfUlNTX0ZJRUxEU19UQ1BJUDY7DQor CWlmIChyc3NfaGYgJiBFVEhfUlNTX05PTkZSQUdfSVBWNF9VRFApDQorCQljbWRJbmZvLT5zZXRS U1NGaWVsZHMgfD0gVk1YTkVUM19SU1NfRklFTERTX1VEUElQNDsNCisJaWYgKHJzc19oZiAmIEVU SF9SU1NfTk9ORlJBR19JUFY2X1VEUCkNCisJCWNtZEluZm8tPnNldFJTU0ZpZWxkcyB8PSBWTVhO RVQzX1JTU19GSUVMRFNfVURQSVA2Ow0KKwkvKiBUT0RPOiBFU1AgUlNTIGlzIGN1cnJlbnRseSBu b3QgZGVmaW5lIGluIHJ0ZV9ldGggbGF5ZXIgKi8NCisNCisJVk1YTkVUM19XUklURV9CQVIxX1JF RyhodywgVk1YTkVUM19SRUdfQ01ELA0KKwkJCSAgICAgICBWTVhORVQzX0NNRF9TRVRfUlNTX0ZJ RUxEUyk7DQorCXJldCA9IFZNWE5FVDNfUkVBRF9CQVIxX1JFRyhodywgVk1YTkVUM19SRUdfQ01E KTsNCisNCisJaWYgKHJldCAhPSBWTVhORVQzX1NVQ0NFU1MpIHsNCisJCVBNRF9EUlZfTE9HKEVS UiwgIlNldCBSU1MgZmllbGRzICh2NCkgZmFpbGVkOiAlZCIsIHJldCk7DQorCX0NCisNCisJcmV0 dXJuIHJldDsNCit9DQorDQorLyoNCiAgKiBDb25maWd1cmUgUlNTIGZlYXR1cmUNCiAgKi8NCiBp bnQNCi0tIA0KMi43LjQNCg0K