From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 98D84A0032; Tue, 28 Sep 2021 11:37:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6929740E3C; Tue, 28 Sep 2021 11:37:34 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id E4BAF40DF6; Tue, 28 Sep 2021 11:37:32 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10120"; a="211911120" X-IronPort-AV: E=Sophos;i="5.85,329,1624345200"; d="scan'208";a="211911120" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2021 02:37:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,329,1624345200"; d="scan'208";a="538056643" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga004.fm.intel.com with ESMTP; 28 Sep 2021 02:37:31 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 28 Sep 2021 02:37:31 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 28 Sep 2021 02:37:30 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 28 Sep 2021 02:37:30 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.170) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 28 Sep 2021 02:37:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NpfFSYI54QPY5cKmPtdbKQnrIsVv++fWRwqnAP7uHwW8Qe1MECG2uecpSw0Zm8caQMyNg9DyRpx05MHlkMstC9sFo/899WpBjf0/cnfFV/eJ0OgLyrrEnNbGASBUsiucfxJWFW3/sZVNJmNNS7WAb+OFnTlWbjpMZQrHw5NCCw1f9IDODxwPjAT1fNvKS9QkV97XXBnQi9KJuA3voYSzozLOrCLzQ3UOTPk881VKWn6qlj846UHzP4DwN74I/OZ8ic9F9T6/Ifhm+22syLBs4xdsKM9mpNqzEQriX39gXV/taIA+CX8jMsgFtesvn0Km1QNCQbfxx8+jUzw5WpMsvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=enJXC6BWsWOrsRvgzHLQUDNuCGNjfTOEW5ev/MP8pCo=; b=lanOo8uIkhxe9xXFWTD6vQS3tYV8M8lzMyAtIeqWCMNfH4K6yDLWnXP4ke8ZubY0zG2h9dwxRdBRaEU7UrxPwozB6QD/uNotQjbumbqe1cnWHpGHJA5Ovrk2NJ6NKvgjp+I+LN1iF1HHiaOygbDoaxAhcvk9QHkvq6cAH03OsGhUhSqZN/TntouQAtI8oaDMRZK7GXv2MjQFNbBkMfv6cr8n536wGXYXBNKcEHPcgVK+PV8r7jkSb1QpJIq1jnxxa6+kNQ2l2itkyaiW7GnkMjyFB/svlRplcfC66Fj+iy84KgzJt93CLVYLzdzk/cr8z7Yr9Nl5eBGn6vKH/A6P7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=enJXC6BWsWOrsRvgzHLQUDNuCGNjfTOEW5ev/MP8pCo=; b=mGzhUYQqgHE7JRG3/rgT1skx5d6t0TJejpmYdO992YrZuAONK9BZ7uLvbSJMuuKeUT2pGQo6ib7VQs1DZgfprz+RqFqSRTvzfPCA8lYaw/pYF+qdXkphi7Bir6wlEHquhtn3RB9heDE1sYbpUVadQZ3/8TDIsrHAT8YjHLfe8bg= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM5PR11MB1340.namprd11.prod.outlook.com (2603:10b6:3:15::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.14; Tue, 28 Sep 2021 09:37:28 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::740e:126e:c785:c8fd]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::740e:126e:c785:c8fd%4]) with mapi id 15.20.4544.022; Tue, 28 Sep 2021 09:37:28 +0000 From: "Ananyev, Konstantin" To: Jerin Jacob CC: dpdk-dev , Thomas Monjalon , "Yigit, Ferruh" , Andrew Rybchenko , "Yang, Qiming" , "Zhang, Qi Z" , "Xing, Beilei" , "techboard@dpdk.org" Thread-Topic: [dpdk-dev] [RFC 0/7] hide eth dev related structures Thread-Index: AQHXleB++OycS5pWP0KbuqLJ036436uFwpOAgB3eHZCAAWBIgIALWgXQgAfuqACAASMs0A== Date: Tue, 28 Sep 2021 09:37:27 +0000 Message-ID: References: <20210820162834.12544-1-konstantin.ananyev@intel.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2b582c9e-99ba-42f1-702d-08d982639612 x-ms-traffictypediagnostic: DM5PR11MB1340: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BszxW0CYPs99VY35Uh/xniDQx9IzuVJC479asYN0qpreSGZElodSrAhB8CzVQqFR4LlrNwF476HTZme8/houohjSSxYjC5r8QIZnmmmTyiM05khXWxqxnM9mqgICag5w9T1vh7zMq2+021ivf0I8gVk3OnN71FntNdL61aJoeK+/x3sLUTjdXwX/tqgVnZRRQnsuJ4iinOhVtVjcKV2Zq/xixKzkqeiH3lBdWsuj1u392Gx932h8t6PnN794ZVztBvyV/ZNoEye0ZzIJJ13XHNwFSK6dnjr7PFc37nP/Ai0gq8VhVMx3nuanZQ3bosULzqb9vhujvacgZVRXRHFp/uGHanCxpBRXupv164AbIuK9AbuJDwAPyauUXkpKq5Rm99msapvA19ddGLbyFcgl5UcQSQYyI6Dpwjb8d3AkntNyamXW0NpznCuR9gZSaa49MhEJn/3oFUzfjxDh+AMXBSHYkg1bzb+QNIa2D+FU06524lkeRQBCv0rGgSm4N087y7vXbGHXvePpBjVwVHHNmaLsrwW6HCNikCU9kzg3A1rMw5sudz49cjpZZzKU1a7wG41jeXN+BCHJ0DTcpDrVOChuMnvHlaZxRIq7puW+MaK6a0vQABz1HYIOFfH3t2I5sa7kS9eXdup8kcduRTxWsj0QbcsMKqtUWaioBwAENz31z1qt6SOF2rDf8mIcSIPiX3fjANXKAPz5SPBEL2R+5GV1JMBE3PI72TiCCM1MaevoeoHCZYx5P2KhchbKZtOsndLzszgqTTcue3+jL4lL9Drr0EOh+CFGXLYMaqWps2M= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(966005)(71200400001)(86362001)(53546011)(55236004)(2906002)(122000001)(6506007)(55016002)(508600001)(186003)(26005)(7696005)(9686003)(83380400001)(33656002)(38070700005)(66476007)(54906003)(8936002)(8676002)(52536014)(66946007)(76116006)(4326008)(38100700002)(66556008)(64756008)(6916009)(66446008)(5660300002)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YS9sZ3BzK21DQXNFWDBPbW4wY2NpQXlIRFNIUWpWSmhRTUJ3bldSRTk5OHk3?= =?utf-8?B?bFB0VUM5b3Zuc3RObkZlMWU1VzFJV0xUbXNrQWpRM2QxaGxNb2FDa09lS0Zx?= =?utf-8?B?Y3hCM25jRm9QY0FaTFM4dTdta1grN0RzaVBlVXlLcS9DaDRCd25uSTlUMmhI?= =?utf-8?B?cWRFdlNIUmFicU5hNzNxTWh0UktTOUhJZFhaZ2FzRUo1ZFZLejc1YlUwbUhj?= =?utf-8?B?YTBsRXR0dUgwWDRFaGlrZkxRcnhYemtpelRDK3BnUzhpV0VFMkJ2dGEwckpi?= =?utf-8?B?UWtLcVB1QzloVlpVelIxUElaakRzM0p5NkVnTkpyQm53Z1NjV2dscHBVM0tw?= =?utf-8?B?QzB5UDR0SmVLWVphVFdUQm1BVGtWa3IzQmNUUjA2dFZoVUVEanVvVHlmbWNT?= =?utf-8?B?OUNORXl3NFRsdi9SWDZ2dHA4VTVqNEh2WWw4TDVDaFlyQ1VnVDMrWGk4d1pr?= =?utf-8?B?YVlwSzd3azZWYXRZWlp4UTZiQTBOeTY1cE1SQkpsUXk1WGpoOElRazRFR0kz?= =?utf-8?B?ZDlZNm5paTYzTFFDM1FFWGNZVWxkd1NKZVFEREhSVXEyNmlQNVdDNDAwdUhz?= =?utf-8?B?eG4rb05UemlIVjcyVi9vTXhxczFKUFg3RU44ZFkwUFdpUEJuOVpldDBnNjVn?= =?utf-8?B?Mnptcjh2M25YUitPVjg0aDBKMXdqS2k1QStXVkRnTjhHbS85WFNmT0JNcEhD?= =?utf-8?B?UXRIczA2OUFtVTlNb21senpxbGR3L3FXWjVlc0JUeVhCSk9mN1ZySFVYV2JJ?= =?utf-8?B?V21kQlRYd3N6anBLQVZPSnBXc3FhN041OXFaVkZuNkhhdW13WmcwMGtCZDZQ?= =?utf-8?B?NzhMc05aR0daUndQVkFiVTFMaFFMaG00TWRqYTEwS3hNSmF2THNSZ0QrWGxu?= =?utf-8?B?Q1V3RG5SQXVFdlF2MVpIemRkeEw0WnM0Nm5lR0Y4U0NOYlZyWGtYRG55dlFH?= =?utf-8?B?MXB2bHk1d1lPNjEvSmtzVzhUK2xWRDVyOExDUGhXZGRQdTYzK2RZYUw0VUlM?= =?utf-8?B?VjBxeUNsd0xNay94aGpualp1Q1JnR0NxWHk4dmljMXN3MTNYaG1pYTl1S0hy?= =?utf-8?B?aTVibUhUckkzeGhxd01Ua2xhTVZkM2E3TkZCTWlmSlRWZkNSSms3SkV6Zmpl?= =?utf-8?B?WWdYb0k1K1BEM2xPYlVrR1RaL3RHbUdzOTRFTkYxRkdYdVN1MXoyRWF0ampu?= =?utf-8?B?QzFOT25QK0k3Q0lpMWN5UUNZdC81dGJadTd4R3Brc2NwVEVCRnNvN1dzWEV2?= =?utf-8?B?NEpReVp2THlyQ241VldXbytZQTk1ZFVCRUFoS0Z3K1ZVMFJRWmVGdDhMTmtI?= =?utf-8?B?Rjd4MzVNTlpEbUJNM0FxbUYwdElLWGpQQ0dza2tGR1kzVjZWL3krcnNwbGN2?= =?utf-8?B?ZThRdXZ4UFJtczlRaFJwbVNHZ21HVHRYS3dlVFdxWnBqeW5DbEFqdlpqWXVy?= =?utf-8?B?U1M3OW1OWkRHVUo0VTU1aENaUHFycUNaRGhWTldNaWZRakVyMktHeGVjeDNJ?= =?utf-8?B?VGtPR0RmUEdJZnNocFVvcVA2WWliTDRjeGpUYy81Y1hvUE5jVEp6MGxKM1Q5?= =?utf-8?B?M1BuS1pKY0tpOFpHZ2t5OGd5NHE3UmNSVGtpTnpxWmNkK2k4Rm1JdUQzRnhB?= =?utf-8?B?VmR5c1Y4RlpXcGZabzFucDZKV1RpMkRCQ0x3N290QVYyTE9RcXZ6VDJmTlBQ?= =?utf-8?B?TjdqVUxOanhtTnRBYnhDOFZSMjMrMmFpN1IzVHZnSjdaVm8rZ2RTamRCVEpP?= =?utf-8?Q?xVRlCsfzZloC4kKfAhUdtPl7CApUNkGS4vreYX3?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b582c9e-99ba-42f1-702d-08d982639612 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Sep 2021 09:37:27.8960 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nt73kISm5unu8gX3K+F7RxQkxk3K6SBRh0BO5ZeZNWYUfmyVhKGJmlwibJKW+zPyyKxYnCLA5u11cl6xg6L0hdRoIaZjlk6H8MT3VaK60uY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1340 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [RFC 0/7] hide eth dev related structures X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" DQo+IE9uIFdlZCwgU2VwIDIyLCAyMDIxIGF0IDg6MzggUE0gQW5hbnlldiwgS29uc3RhbnRpbg0K PiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPg0KPiA+ID4g PiBIaSBKZXJpbiwNCj4gPiA+ID4NCj4gPiA+ID4gPiA+IE5PVEU6IFRoaXMgaXMganVzdCBhbiBS RkMgdG8gc3RhcnQgZnVydGhlciBkaXNjdXNzaW9uIGFuZCBjb2xsZWN0IHRoZSBmZWVkYmFjay4N Cj4gPiA+ID4gPiA+IER1ZSB0byBzaWduaWZpY2FudCBhbW91bnQgb2Ygd29yaywgY2hhbmdlcyBy ZXF1aXJlZCBhcmUgYXBwbGllZCBvbmx5IHRvIHR3bw0KPiA+ID4gPiA+ID4gUE1EcyBzbyBmYXI6 IG5ldC9pNDBlIGFuZCBuZXQvaWNlLg0KPiA+ID4gPiA+ID4gU28gdG8gYnVpbGQgaXQgeW91J2xs IG5lZWQgdG8gYWRkOg0KPiA+ID4gPiA+ID4gLURlbmFibGVfZHJpdmVycz0nY29tbW9uLyosbWVt cG9vbC8qLG5ldC9pY2UsbmV0L2k0MGUnDQo+ID4gPiA+ID4gPiB0byB5b3VyIGNvbmZpZyBvcHRp b25zLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhhdCBhcHByb2FjaCB3 YXMgc2VsZWN0ZWQgdG8gYXZvaWQoL21pbmltaXplKSBwb3NzaWJsZSBwZXJmb3JtYW5jZSBsb3Nz ZXMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gU28gZmFyIEkgZG9uZSBvbmx5IGxpbWl0ZWQg YW1vdW50IGZ1bmN0aW9uYWwgYW5kIHBlcmZvcm1hbmNlIHRlc3RpbmcuDQo+ID4gPiA+ID4gPiBE aWRuJ3Qgc3BvdCBhbnkgZnVuY3Rpb25hbCBwcm9ibGVtcywgYW5kIHBlcmZvcm1hbmNlIG51bWJl cnMNCj4gPiA+ID4gPiA+IHJlbWFpbnMgdGhlIHNhbWUgYmVmb3JlIGFuZCBhZnRlciB0aGUgcGF0 Y2ggb24gbXkgYm94ICh0ZXN0cG1kLCBtYWNzd2FwIGZ3ZCkuDQo+ID4gPiA+ID4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IEJhc2VkIG9uIHRlc3Rpbmcgb24gb2N0ZW9ueHQyLiBXZSBzZWUgc29tZSBy ZWdyZXNzaW9uIGluIHRlc3RwbWQgYW5kDQo+ID4gPiA+ID4gYml0IG9uIGwzZndkIHRvby4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IFdpdGhvdXQgcGF0Y2g6IDczLjVtcHBzL2NvcmUgaW4gdGVzdHBt ZCBpb2Z3ZA0KPiA+ID4gPiA+IFdpdGggb3V0IHBhdGNoOiA3MiA1bXBwcy9jb3JlIGluIHRlc3Rw bWQgaW9md2QNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEJhc2VkIG9uIG15IHVuZGVyc3RhbmRpbmcg aXQgaXMgZHVlIHRvIGFkZGl0aW9uYWwgaW5kaXJlY3Rpb24uDQo+ID4gPiA+DQo+ID4gPiA+IEZy b20geW91ciBwYXRjaCBiZWxvdywgaXQgbG9va3MgbGlrZSBub3QgYWN0dWFsbHkgYWRkaXRpb25h bCBpbmRpcmVjdGlvbiwNCj4gPiA+ID4gYnV0IGV4dHJhIG1lbW9yeSBkZXJlZmVyZW5jZSAtIGZ1 bmMgYW5kIGRldiBwb2ludGVycyBhcmUgbm93IHN0b3JlZA0KPiA+ID4gPiBhdCBkaWZmZXJlbnQg cGxhY2VzLg0KPiA+ID4NCj4gPiA+IFl1cC4gSSBtZWFudCB0aGUgc2FtZS4gV2UgYXJlIG9uIHRo ZSBzYW1lIHBhZ2UuDQo+ID4gPg0KPiA+ID4gPiBQbHVzIHRoZSBmYWN0IHRoYXQgbm93IHdlIGRl cmVmZXJlbmNlIHJ0ZV9ldGhfZGV2aWNlc1tdDQo+ID4gPiA+IGRhdGEgaW5zaWRlIFBNRCBmdW5j dGlvbi4gV2hpY2ggcHJvYmFibHkgcHJldmVudHMgY29tcGlsZXIgYW5kIENQVSB0byBsb2FkDQo+ ID4gPiA+ICBydGVfZXRoX2RldmljZXNbcG9ydF9pZF0uZGF0YSBhbmQgcnRlX2V0aF9kZXZpY2Vz W3BvcnRfaWRdLiBwcmVfdHhfYnVyc3RfY2JzW3F1ZXVlX2lkXQ0KPiA+ID4gPiBpbiBhZHZhbmNl IGJlZm9yZSBjYWxsaW5nIGFjdHVhbCBSWC9UWCBmdW5jdGlvbi4NCj4gPiA+DQo+ID4gPiBZZXMu DQo+ID4gPg0KPiA+ID4gPiBBYm91dCB5b3VyIGFwcHJvYWNoOiBJIGRvbuKAmXQgbWluZCB0byBh ZGQgZXh0cmEgb3BhcXVlICd2b2lkICpkYXRhJyBwb2ludGVyLA0KPiA+ID4gPiBidXQgd291bGQg cHJlZmVyIG5vdCB0byBleHBvc2UgY2FsbGJhY2sgaW52b2NhdGlvbnMgY29kZSBpbnRvIGlubGlu ZSBmdW5jdGlvbi4NCj4gPiA+ID4gTWFpbiByZWFzb24gZm9yIHRoYXQgLSBJIHRoaW5rIGl0IHN0 aWxsIG5lZWQgdG8gYmUgcmV3b3JrZWQgdG8gYWxsb3cgYWRkaW5nL3JlbW92aW5nDQo+ID4gPiA+ IGNhbGxiYWNrcyB3aXRob3V0IHN0b3BwaW5nIHRoZSBkZXZpY2UuIFNvbWV0aGluZyBzaW1pbGFy IHRvIHdoYXQgd2FzIGRvbmUgZm9yIGNyeXB0b2Rldg0KPiA+ID4gPiBjYWxsYmFja3MuIFRvIGJl IGFibGUgdG8gZG8gdGhhdCBpbiBmdXR1cmUgd2l0aG91dCBhbm90aGVyIEFCSSBicmVha2FnZSBj YWxsYmFja3MgcmVsYXRlZCBwYXJ0DQo+ID4gPiA+IG5lZWRzIHRvIGJlIGtlcHQgaW50ZXJuYWwu DQo+ID4gPiA+IFRob3VnaCB3aGF0IHdlIHByb2JhYmx5IGNhbiBkbzogYWRkIHR3byBkeW5hbWlj IGFycmF5cyBvZiBvcGFxdWUgcG9pbnRlcnMgdG8gIHJ0ZV9ldGhfYnVyc3RfYXBpLg0KPiA+ID4g PiBPbmUgZm9yIHJ4L3R4IHF1ZXVlIGRhdGEgcG9pbnRlcnMsIHNlY29uZCBmb3IgcngvdHggY2Fs bGJhY2sgcG9pbnRlcnMuDQo+ID4gPiA+IFRvIGJlIG1vcmUgc3BlY2lmaWMsIHNvbWV0aGluZyBs aWtlOg0KPiA+ID4gPg0KPiA+ID4gPiB0eXBlZGVmIHVpbnQxNl90ICgqcnRlX2V0aF9yeF9idXJz dF90KSggdm9pZCAqcnhxLCBzdHJ1Y3QgcnRlX21idWYgKipyeF9wa3RzLCB1aW50MTZfdCBuYl9w a3RzLCB2b2lkICpjYnMpOw0KPiA+ID4gPiB0eXBlZGVmIHVpbnQxNl90ICgqcnRlX2V0aF90eF9i dXJzdF90KSh2b2lkICp0eHEsIHN0cnVjdCBydGVfbWJ1ZiAqKnR4X3BrdHMsIHVpbnQxNl90IG5i X3BrdHMsIHZvaWQgKmNicyk7DQo+ID4gPiA+IC4uLi4NCj4gPiA+ID4NCj4gPiA+ID4gc3RydWN0 IHJ0ZV9ldGhfYnVyc3RfYXBpIHsNCj4gPiA+ID4gICAgICAgICBydGVfZXRoX3J4X2J1cnN0X3Qg cnhfcGt0X2J1cnN0Ow0KPiA+ID4gPiAgICAgICAgIC8qKjwgUE1EIHJlY2VpdmUgZnVuY3Rpb24u ICovDQo+ID4gPiA+ICAgICAgICAgcnRlX2V0aF90eF9idXJzdF90IHR4X3BrdF9idXJzdDsNCj4g PiA+ID4gICAgICAgICAvKio8IFBNRCB0cmFuc21pdCBmdW5jdGlvbi4gKi8NCj4gPiA+ID4gICAg ICAgICBydGVfZXRoX3R4X3ByZXBfdCB0eF9wa3RfcHJlcGFyZTsNCj4gPiA+ID4gICAgICAgICAv Kio8IFBNRCB0cmFuc21pdCBwcmVwYXJlIGZ1bmN0aW9uLiAqLw0KPiA+ID4gPiAgICAgICAgIHJ0 ZV9ldGhfcnhfcXVldWVfY291bnRfdCByeF9xdWV1ZV9jb3VudDsNCj4gPiA+ID4gICAgICAgICAv Kio8IEdldCB0aGUgbnVtYmVyIG9mIHVzZWQgUlggZGVzY3JpcHRvcnMuICovDQo+ID4gPiA+ICAg ICAgICAgcnRlX2V0aF9yeF9kZXNjcmlwdG9yX3N0YXR1c190IHJ4X2Rlc2NyaXB0b3Jfc3RhdHVz Ow0KPiA+ID4gPiAgICAgICAgIC8qKjwgQ2hlY2sgdGhlIHN0YXR1cyBvZiBhIFJ4IGRlc2NyaXB0 b3IuICovDQo+ID4gPiA+ICAgICAgICAgcnRlX2V0aF90eF9kZXNjcmlwdG9yX3N0YXR1c190IHR4 X2Rlc2NyaXB0b3Jfc3RhdHVzOw0KPiA+ID4gPiAgICAgICAgIC8qKjwgQ2hlY2sgdGhlIHN0YXR1 cyBvZiBhIFR4IGRlc2NyaXB0b3IuICovDQo+ID4gPiA+ICAgICAgICAgc3RydWN0IHsNCj4gPiA+ ID4gICAgICAgICAgICAgICAgICB2b2lkICoqcXVldWVfZGF0YTsgICAvKiBwb2ludCB0byBydGVf ZXRoX2RldmljZXNbcG9ydF9pZF0uZGF0YS0+IHJ4X3F1ZXVlcyAqLw0KPiA+ID4gPiAgICAgICAg ICAgICAgICAgIHZvaWQgKipjYnM7ICAgICAgICAgICAgICAgICAgLyogIHBvaW50cyB0byBydGVf ZXRoX2RldmljZXNbcG9ydF9pZF0ucG9zdF9yeF9idXJzdF9jYnMgKi8NCj4gPiA+ID4gICAgICAg IH0gcnhfZGF0YSwgdHhfZGF0YTsNCj4gPiA+ID4gfSBfX3J0ZV9jYWNoZV9hbGlnbmVkOw0KPiA+ ID4gPg0KPiA+ID4gPiBzdGF0aWMgaW5saW5lIHVpbnQxNl90DQo+ID4gPiA+IHJ0ZV9ldGhfcnhf YnVyc3QodWludDE2X3QgcG9ydF9pZCwgdWludDE2X3QgcXVldWVfaWQsDQo+ID4gPiA+ICAgICAg ICAgICAgICAgICAgc3RydWN0IHJ0ZV9tYnVmICoqcnhfcGt0cywgY29uc3QgdWludDE2X3QgbmJf cGt0cykNCj4gPiA+ID4gew0KPiA+ID4gPiAgICAgICAgc3RydWN0IHJ0ZV9ldGhfYnVyc3RfYXBp ICpwOw0KPiA+ID4gPg0KPiA+ID4gPiAgICAgICAgIGlmIChwb3J0X2lkID49IFJURV9NQVhfRVRI UE9SVFMgfHwgcXVldWVfaWQgPj0gUlRFX01BWF9RVUVVRVNfUEVSX1BPUlQpDQo+ID4gPiA+ICAg ICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiA+ID4NCj4gPiA+ID4gICAgICAgcCA9ICAmcnRl X2V0aF9idXJzdF9hcGlbcG9ydF9pZF07DQo+ID4gPiA+ICAgICAgIHJldHVybiBwLT5yeF9wa3Rf YnVyc3QocC0+cnhfZGF0YS5xdWV1ZV9kYXRhW3F1ZXVlX2lkXSwgcnhfcGt0cywgbmJfcGt0cywg cC0+cnhfZGF0YS5jYnNbcXVldWVfaWRdKTsNCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IFRo YXQgd29ya3MuDQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gfQ0KPiA+ID4gPg0KPiA+ID4gPiBTYW1l IGZvciBUWC4NCj4gPiA+ID4NCj4gPiA+ID4gSWYgdGhhdCBsb29rcyBvayB0byBldmVyeW9uZSwg SSdsbCB0cnkgdG8gcHJlcGFyZSBuZXh0IHZlcnNpb24gYmFzZWQgb24gdGhhdC4NCj4gPiA+DQo+ ID4gPg0KPiA+ID4gTG9va3MgZ29vZCB0byBtZS4NCj4gPiA+DQo+ID4gPiA+IEluIHRoZW9yeSB0 aGF0IHNob3VsZCBhdm9pZCBleHRyYSBkZXJlZmVyZW5jZSBwcm9ibGVtIGFuZCBldmVuIHJlZHVj ZSBpbmRpcmVjdGlvbi4NCj4gPiA+ID4gQXMgYSBkcmF3YmFjayBkYXRhLT5yeHEvdHhxIHNob3Vs ZCBhbHdheXMgYmUgYWxsb2NhdGVkIGZvciBSVEVfTUFYX1FVRVVFU19QRVJfUE9SVCBlbnRyaWVz LA0KPiA+ID4gPiBidXQgSSBwcmVzdW1lIHRoYXTigJlzIG5vdCBhIGJpZyBkZWFsLg0KPiA+ID4g Pg0KPiA+ID4gPiBBcyBhIHNpZGUgcXVlc3Rpb24gLSBpcyB0aGVyZSBhbnkgcmVhc29uIHdoeSBy dGVfZXRoZGV2X3RyYWNlX3J4X2J1cnN0KCkgaXMgaW52b2tlZCBhdCB2ZXJ5IGxhc3QgcG9pbnQs DQo+ID4gPiA+IHdoaWxlIHJ0ZV9ldGhkZXZfdHJhY2VfdHhfYnVyc3QoKSAgYWZ0ZXIgQ0JzIGJ1 dCBiZWZvcmUgYWN0dWFsIHR4X3BrdF9idXJzdCgpPw0KPiA+ID4gPiBJdCB3b3VsZCBtYWtlIHRo aW5ncyBzaW1wbGVyIGlmIHRyYWNuZyB3b3VsZCBhbHdheXMgYmUgZG9uZSBlaXRoZXIgb24gZW50 cmFuY2Ugb3IgZXhpdCBvZiByeC90eF9idXJzdC4NCj4gPiA+DQo+ID4gPiBleGl0IGlzIGZpbmUu DQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gTXkgc3VnZ2VzdGlvbiB0byBm aXggdGhlIHByb2JsZW0gYnk6DQo+ID4gPiA+ID4gUmVtb3ZpbmcgdGhlIGFkZGl0aW9uYWwgYGRh dGFgIHJlZGlyZWN0aW9uIGFuZCBwdWxsIGNhbGxiYWNrIGZ1bmN0aW9uDQo+ID4gPiA+ID4gcG9p bnRlcnMgYmFjaw0KPiA+ID4gPiA+IGFuZCBrZWVwIHJlc3QgYXMgb3BhcXVlIGFzIGRvbmUgaW4g dGhlIGV4aXN0aW5nIHBhdGNoIGxpa2UgWzFdDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJIGRvbid0 IGJlbGlldmUgdGhpcyBoYXMgYW55IHJlYWwgaW1wbGljYXRpb24gb24gZnV0dXJlIEFCSSBzdGFi aWxpdHkNCj4gPiA+ID4gPiBhcyB3ZSB3aWxsIG5vdCBiZSBhZGRpbmcNCj4gPiA+ID4gPiBhbnkg bmV3IGl0ZW0gaW4gcnRlX2V0aF9mcCBpbiBhbnkgd2F5IGFzIG5ldyBmZWF0dXJlcyBjYW4gYmUg YWRkZWQgaW4gc2xvd3BhdGgNCj4gPiA+ID4gPiBydGVfZXRoX2RldiBhcyBtZW50aW9uZWQgaW4g dGhlIHBhdGNoLg0KPiA+ID4NCj4gPiA+IEFjaw0KPiA+ID4NCj4gPiA+IEkgd2lsbCBoYXBweSB0 byB0ZXN0IGFnYWluIGFmdGVyIHRoZSByZXdvcmsgYW5kIHJlcG9ydCBhbnkgcGVyZm9ybWFuY2UN Cj4gPiA+IGlzc3VlcyBpZiBhbnkuDQo+ID4NCj4gPiBUaGFua3MgSmVyaW4sIHYyIGlzIG91dDoN Cj4gPiBodHRwczovL3BhdGNoZXMuZHBkay5vcmcvcHJvamVjdC9kcGRrL2xpc3QvP3Nlcmllcz0x OTA4NA0KPiA+IFBsZWFzZSBoYXZlIGEgbG9vaywgd2hlbiB5b3UnbGwgZ2V0IGEgY2hhbmNlLg0K PiANCj4gVGVzdGVkIHRoZSBzZXJpZXMuIExvb2tzIGdvb2QsIE5vIHBlcmZvcm1hbmNlIGlzc3Vl Lg0KDQpUaGF0J3MgZ3JlYXQgbmV3cywgdGhhbmtzIGZvciB0ZXN0aW5nIGl0Lg0KUGxhbiB0byBw cm9jZWVkIHdpdGggcHJvcGVyIHYzIGluIG5leHQgZmV3IGRheXMuDQogDQoNCg==