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 DBD6EA0C45; Wed, 22 Sep 2021 17:08:39 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5F80F411A8; Wed, 22 Sep 2021 17:08:39 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 43E5941196; Wed, 22 Sep 2021 17:08:37 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10115"; a="221728705" X-IronPort-AV: E=Sophos;i="5.85,314,1624345200"; d="scan'208";a="221728705" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2021 08:08:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,314,1624345200"; d="scan'208";a="550284971" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by FMSMGA003.fm.intel.com with ESMTP; 22 Sep 2021 08:08:35 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 22 Sep 2021 08:08:35 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 22 Sep 2021 08:08:35 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 22 Sep 2021 08:08:35 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.103) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 22 Sep 2021 08:08:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aOD/jxclX7txMVV4etc1xevfqOP+iGkOq0GyEk1u/fPLUEWqe/RFVGuH2GpISZaiCg+bzX/ijB20lNoyL26SrZLlBUtrg+/nHpPXipB9KFYp5VUlrkzDO+4kQ4rK6Es/ScHVKM6nMnwpujBUhnQgHCbSlqPcSN/ftPqOPgkhPq+NySMsuhsaDcnr9HnFoxxJ132KOBZ/q5QoP5+E+JTZnDl/N9ANJ1mRFJ4mVw0iIpb266hxRbOoA2CliOBQaXkpeUqq01WQETO6OmN927J3R6hhXEE9iyCOa07PsclhMW9I40e3bGLuFhq1bvTBUYQQDFNDrRA8pAw3HSNofbPUPw== 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=UhzTY+75Aqg9R8KLhkmmcrY3Tu6Q+tI962rZp6erQko=; b=Ktbv+buuyYioRT35yMLehSlOWlarm7em21e1p22Td+SIHcVGSIqbyiP4uikWqav0MND9TKpE74btk1Uwi03iPEGjMhhUOUVk1BtqhUyhZDqaJjmejGeId5XZEy2+wc7GGZOHweK/DFMJE/O0Ey3f6uZJsTbdl/vRF8T+qY1scn+P71LzcYp40pZuHmNJeEguLoHGmt3ai0Pd8ajbLQYPHntb4iOtAczyN4FBtjhvraPumQYWvifCh50PC//92UmwnEoibDLjfeTnc3x+8SOgddjM2/3FTeBIBp3kTs1A1cPPL1dmBtItV2wwmyyxmqeSbZb6XAestUmUMVUVimzBpw== 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=UhzTY+75Aqg9R8KLhkmmcrY3Tu6Q+tI962rZp6erQko=; b=gPsEWOibPh/tjl4qWJe2AWVhg+9NyrEbgfK1xIkxgm6rACaoJFIpMRLmZv2Hqzmaak1yprS1tF1oYesqHoRXD2LFZXUddwDl+bpa+3xAcnVJMz30vkwK+4f+0qU25A3GBS/r3GuV5kB/lh2A5qBMqmNr7UwYIoPNnu2bTpo1GPY= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB4012.namprd11.prod.outlook.com (2603:10b6:5:6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.16; Wed, 22 Sep 2021 15:08:29 +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.015; Wed, 22 Sep 2021 15:08:29 +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++OycS5pWP0KbuqLJ036436uFwpOAgB3eHZCAAWBIgIALWgXQ Date: Wed, 22 Sep 2021 15:08:29 +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: 775b2234-6a94-4bea-d3ef-08d97ddad624 x-ms-traffictypediagnostic: DM6PR11MB4012: 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: N6BExrxAKYmaNcDS8jMYe+QRkHQYqrZgpte6/reJOfByTtate1iKIwoIlV8TF21He5hRiVqIDnu9P9HQ0RCXJZGlP9rn9Frf0t/K7Xg5BX6NrG5Vhz0XDvSQ1iDUAoeECnEy6h/zqKTHFRI0e2qiWQyskfYmS4qInHc3F5DCgH0stdwj0h/WW7Yqnt/JVx6JY1V1KAA7UshEz5aRQlFDjVZpnbXCs7kXEokVOb3QFiv72pPn9flnTk9/KmfWiWFm+/D9tJis8zwEfpMzGervACatpZucTw5VRSIcPiRZZqTUYFMX4IpaEdA0kFyxwtsHro2K5jXTlIb2dgBIpWH+ciQja2O5wcMS6V/NVEnnjfpBDrN0gkc/f5qihgO2tMmzMOgCDs/Rzg0FcOgLozx52I+arzK/gdV8U6u8FlAaR9t2+2WBFAlij9aKQOrxay+HXbT3hCusLze7jve5tmO1jld/lbj9/XSGQuwCYQdf6KOYX4HhMTwHXAaGNABgnxrIBSFZ1M8ZTi+Z2wKluOWSpHCATeNPoNI5KlUVT0QTZIWbYXjvPcslQwX2nTx+Bly4Q8QM3hmkMGsKtaODct4XQzKl0MjR7k40u47AK/OM2fi5LyYAB9Pu9mFWIRaFHUMvz7EnPMrvZ8/zIgWVv07IAgmR33UZxWlrPJlnPKULxbTsDz+uyhPBvso9aVmMtzei8c29S+G2TrwcctT9+lTUbNr3NtxwTAYTKWaoSR0yfsz+j60QM6GuS/FjnJ0RATpCzuxLNn7I9r5oFomL/n07X9ZT2O29XzoB26PriIPFO0I= 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)(66476007)(76116006)(66446008)(66556008)(66946007)(64756008)(54906003)(86362001)(83380400001)(6916009)(4326008)(966005)(8676002)(316002)(52536014)(6506007)(38070700005)(2906002)(71200400001)(33656002)(38100700002)(7696005)(122000001)(55236004)(55016002)(8936002)(186003)(26005)(5660300002)(9686003)(508600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bXpZb1ZTZUhvOVVlVFlxYW1NMjNTVXRRZUkyLzhoZzhsNjhhZ2NGWkRnaEJH?= =?utf-8?B?a2hRY3RiajNhM0YzakFoRm9Gd0VMR25SWmFoRXRFd0VOWHVvNHA4N0wwQ1Nk?= =?utf-8?B?NVF2N09ZS1lpWkJJQ3pvejlUSlgyTHdlV1R3MlQzQ0dzcUlEZi9Ca3dRYWho?= =?utf-8?B?bmFOY0M2anFJdEdkK1I2aTJxQTVSUWEvYVVHOEVrREhCY2pxMStPTXdWUk4y?= =?utf-8?B?bzhmZXkrVzlkYnBKSE1xOWE2ZkFveDNCOVhZU3FhVzFGTEM1WnJNdTZOVnNF?= =?utf-8?B?OG1PQ0xUa0VydG5JYUlvcmFMOG9DWUhHN2xUSWd3SXU0anhaai9oNE54Snda?= =?utf-8?B?bVZadUUrZURIOEJ5aDc1U29pZFBQY2J5eVE3OVJZL2JlWW9rRldnZTFiR1pC?= =?utf-8?B?bjhFdnFyZTZvUURaUUxBZlYybnRZa3o2S0xlVVNJdHRsTUx3OXZLa0IxKzFw?= =?utf-8?B?YzRqNFFrWWVERkpvSllJcTZjVWJiK3NKVHRNalIzT1QrVThxc2hWa1paR0Ji?= =?utf-8?B?YjdGR0VSM2MxWjVOKzhOOEI0bEpMZXo0OUNIMGx1TDJtb3I3NFNteUFZbHRG?= =?utf-8?B?T2xiaUlGaW1pZ1ZtaG9YMTBNdTlHdTZrZ3JZa0RaU0s1VWVjZkIybUZPdzU3?= =?utf-8?B?REFtZU4rYllhRzNrTTdINzBXM3ZuSlBDVnJoZERjNWRuNUpUMVhBSzBwZEY5?= =?utf-8?B?aGF3OHJLY05SeUFNN1Q2OW5EVWhKTkZTNmtiMnZEM285Wml6UkI0WG5oS3gy?= =?utf-8?B?VVRzNCt3WEhId2VHUDRvNDR1L2NXWDJyR0xZbVQ4MjF6Y3NScmRUYUtpQkty?= =?utf-8?B?ZWVJandrSFhNdFJhRWd3U0duNTF3a1FZaE1zYyt6MHAwb3lJQnRGd2RsSFVG?= =?utf-8?B?SU1hQm1BdER3ZjQvaFd2a2RPa1BZenRBWUltem9JdHBOK0lja1hMYXlVY01M?= =?utf-8?B?YmNYWTNvVktFOFZmVkxEcExGS2t1QjdSQ2F6VVdBNGlxc1ZtVjdRQkh6TDJV?= =?utf-8?B?OXpsenhBc1YvUUxYZ0dTUktabE9EYlYwTmUwWCtoWktlYWpDOEhRelNTTFNz?= =?utf-8?B?V2RjUVFrODJwVEo4RENYb2xjTkVkUWxEVWpnVEo4VkZDOUx4dm9BeEhLUlJD?= =?utf-8?B?cGpXRGtLZlp4RFBxMTU4R2xjcVJVcFlkeTF2T3EvY3BxWVRTSWp5YTdmQmh2?= =?utf-8?B?T3c4R0tKbFo1R1cxWGVKZWJpUk1jR1dmMTFWUlpBTG1UR0tuY1MyNlZ1YkFw?= =?utf-8?B?cjRyL2dwZjdDNHlVbHlLSWpDYkNkUE0rUit1MnhlSVRKckxuK1ZKeG95T3pX?= =?utf-8?B?VkZORUF3WUExeXJuRUd4bTdqR2J5WjBkVHFPcWJ3eGZhUWZBcS95M21tdld2?= =?utf-8?B?ZTI3QkRqZ1p2OUl3SW02cHdYMXVsQUN6R3k2ZDFUdE1udEpPcGljWTMzT3lk?= =?utf-8?B?RDhhY29wZFRUblp1UUZXeGR1MDNrQXQ1ZVNVeERYSUpTaTBpalBFUWxDQU13?= =?utf-8?B?NHRHTVBqeTFHZ2N3UDVyc0lFb2hZN05ocnlSb2lYTnpsajAzcUR4MGhMVEtO?= =?utf-8?B?ZzJKY2Y5cGh1Z1FVbENtT1RKSFM3OG9Ra2VvWFpqMmJ1VHlJUmhrK2ppNHRs?= =?utf-8?B?aDhmdFZxQmJvM1RjOERWKzNHb1NVOW03RlJhOWVVdlRwbHcvclpCSjk3QkVE?= =?utf-8?B?UEFjSmNQa3hUSzdlRWc4ZUdaeHlhMGhWZ1Zwc3dUelRJWFRsVFNlaGJvN1BC?= =?utf-8?Q?VDjeosMFbMijYzweLCaIyR6Npb0HF06UxujvFQ2?= 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: 775b2234-6a94-4bea-d3ef-08d97ddad624 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Sep 2021 15:08:29.1800 (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: BOJBO2mkcZB14cWdxv9jKsBlLKW0L5jOOiEVMjYiedClAmzCxQWP9JNKlJbakh2YSlL50t5F8NRjZTdg4/HJusE7qC3Z/p04cDOdEhP0SE4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4012 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+ID4gSGkgSmVyaW4sDQo+ID4NCj4gPiA+ID4gTk9URTogVGhpcyBpcyBqdXN0IGFuIFJGQyB0 byBzdGFydCBmdXJ0aGVyIGRpc2N1c3Npb24gYW5kIGNvbGxlY3QgdGhlIGZlZWRiYWNrLg0KPiA+ ID4gPiBEdWUgdG8gc2lnbmlmaWNhbnQgYW1vdW50IG9mIHdvcmssIGNoYW5nZXMgcmVxdWlyZWQg YXJlIGFwcGxpZWQgb25seSB0byB0d28NCj4gPiA+ID4gUE1EcyBzbyBmYXI6IG5ldC9pNDBlIGFu ZCBuZXQvaWNlLg0KPiA+ID4gPiBTbyB0byBidWlsZCBpdCB5b3UnbGwgbmVlZCB0byBhZGQ6DQo+ ID4gPiA+IC1EZW5hYmxlX2RyaXZlcnM9J2NvbW1vbi8qLG1lbXBvb2wvKixuZXQvaWNlLG5ldC9p NDBlJw0KPiA+ID4gPiB0byB5b3VyIGNvbmZpZyBvcHRpb25zLg0KPiA+ID4NCj4gPiA+ID4NCj4g PiA+ID4gVGhhdCBhcHByb2FjaCB3YXMgc2VsZWN0ZWQgdG8gYXZvaWQoL21pbmltaXplKSBwb3Nz aWJsZSBwZXJmb3JtYW5jZSBsb3NzZXMuDQo+ID4gPiA+DQo+ID4gPiA+IFNvIGZhciBJIGRvbmUg b25seSBsaW1pdGVkIGFtb3VudCBmdW5jdGlvbmFsIGFuZCBwZXJmb3JtYW5jZSB0ZXN0aW5nLg0K PiA+ID4gPiBEaWRuJ3Qgc3BvdCBhbnkgZnVuY3Rpb25hbCBwcm9ibGVtcywgYW5kIHBlcmZvcm1h bmNlIG51bWJlcnMNCj4gPiA+ID4gcmVtYWlucyB0aGUgc2FtZSBiZWZvcmUgYW5kIGFmdGVyIHRo ZSBwYXRjaCBvbiBteSBib3ggKHRlc3RwbWQsIG1hY3N3YXAgZndkKS4NCj4gPiA+DQo+ID4gPg0K PiA+ID4gQmFzZWQgb24gdGVzdGluZyBvbiBvY3Rlb254dDIuIFdlIHNlZSBzb21lIHJlZ3Jlc3Np b24gaW4gdGVzdHBtZCBhbmQNCj4gPiA+IGJpdCBvbiBsM2Z3ZCB0b28uDQo+ID4gPg0KPiA+ID4g V2l0aG91dCBwYXRjaDogNzMuNW1wcHMvY29yZSBpbiB0ZXN0cG1kIGlvZndkDQo+ID4gPiBXaXRo IG91dCBwYXRjaDogNzIgNW1wcHMvY29yZSBpbiB0ZXN0cG1kIGlvZndkDQo+ID4gPg0KPiA+ID4g QmFzZWQgb24gbXkgdW5kZXJzdGFuZGluZyBpdCBpcyBkdWUgdG8gYWRkaXRpb25hbCBpbmRpcmVj dGlvbi4NCj4gPg0KPiA+IEZyb20geW91ciBwYXRjaCBiZWxvdywgaXQgbG9va3MgbGlrZSBub3Qg YWN0dWFsbHkgYWRkaXRpb25hbCBpbmRpcmVjdGlvbiwNCj4gPiBidXQgZXh0cmEgbWVtb3J5IGRl cmVmZXJlbmNlIC0gZnVuYyBhbmQgZGV2IHBvaW50ZXJzIGFyZSBub3cgc3RvcmVkDQo+ID4gYXQg ZGlmZmVyZW50IHBsYWNlcy4NCj4gDQo+IFl1cC4gSSBtZWFudCB0aGUgc2FtZS4gV2UgYXJlIG9u IHRoZSBzYW1lIHBhZ2UuDQo+IA0KPiA+IFBsdXMgdGhlIGZhY3QgdGhhdCBub3cgd2UgZGVyZWZl cmVuY2UgcnRlX2V0aF9kZXZpY2VzW10NCj4gPiBkYXRhIGluc2lkZSBQTUQgZnVuY3Rpb24uIFdo aWNoIHByb2JhYmx5IHByZXZlbnRzIGNvbXBpbGVyIGFuZCBDUFUgdG8gbG9hZA0KPiA+ICBydGVf ZXRoX2RldmljZXNbcG9ydF9pZF0uZGF0YSBhbmQgcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdLiBw cmVfdHhfYnVyc3RfY2JzW3F1ZXVlX2lkXQ0KPiA+IGluIGFkdmFuY2UgYmVmb3JlIGNhbGxpbmcg YWN0dWFsIFJYL1RYIGZ1bmN0aW9uLg0KPiANCj4gWWVzLg0KPiANCj4gPiBBYm91dCB5b3VyIGFw cHJvYWNoOiBJIGRvbuKAmXQgbWluZCB0byBhZGQgZXh0cmEgb3BhcXVlICd2b2lkICpkYXRhJyBw b2ludGVyLA0KPiA+IGJ1dCB3b3VsZCBwcmVmZXIgbm90IHRvIGV4cG9zZSBjYWxsYmFjayBpbnZv Y2F0aW9ucyBjb2RlIGludG8gaW5saW5lIGZ1bmN0aW9uLg0KPiA+IE1haW4gcmVhc29uIGZvciB0 aGF0IC0gSSB0aGluayBpdCBzdGlsbCBuZWVkIHRvIGJlIHJld29ya2VkIHRvIGFsbG93IGFkZGlu Zy9yZW1vdmluZw0KPiA+IGNhbGxiYWNrcyB3aXRob3V0IHN0b3BwaW5nIHRoZSBkZXZpY2UuIFNv bWV0aGluZyBzaW1pbGFyIHRvIHdoYXQgd2FzIGRvbmUgZm9yIGNyeXB0b2Rldg0KPiA+IGNhbGxi YWNrcy4gVG8gYmUgYWJsZSB0byBkbyB0aGF0IGluIGZ1dHVyZSB3aXRob3V0IGFub3RoZXIgQUJJ IGJyZWFrYWdlIGNhbGxiYWNrcyByZWxhdGVkIHBhcnQNCj4gPiBuZWVkcyB0byBiZSBrZXB0IGlu dGVybmFsLg0KPiA+IFRob3VnaCB3aGF0IHdlIHByb2JhYmx5IGNhbiBkbzogYWRkIHR3byBkeW5h bWljIGFycmF5cyBvZiBvcGFxdWUgcG9pbnRlcnMgdG8gIHJ0ZV9ldGhfYnVyc3RfYXBpLg0KPiA+ IE9uZSBmb3IgcngvdHggcXVldWUgZGF0YSBwb2ludGVycywgc2Vjb25kIGZvciByeC90eCBjYWxs YmFjayBwb2ludGVycy4NCj4gPiBUbyBiZSBtb3JlIHNwZWNpZmljLCBzb21ldGhpbmcgbGlrZToN Cj4gPg0KPiA+IHR5cGVkZWYgdWludDE2X3QgKCpydGVfZXRoX3J4X2J1cnN0X3QpKCB2b2lkICpy eHEsIHN0cnVjdCBydGVfbWJ1ZiAqKnJ4X3BrdHMsIHVpbnQxNl90IG5iX3BrdHMsIHZvaWQgKmNi cyk7DQo+ID4gdHlwZWRlZiB1aW50MTZfdCAoKnJ0ZV9ldGhfdHhfYnVyc3RfdCkodm9pZCAqdHhx LCBzdHJ1Y3QgcnRlX21idWYgKip0eF9wa3RzLCB1aW50MTZfdCBuYl9wa3RzLCB2b2lkICpjYnMp Ow0KPiA+IC4uLi4NCj4gPg0KPiA+IHN0cnVjdCBydGVfZXRoX2J1cnN0X2FwaSB7DQo+ID4gICAg ICAgICBydGVfZXRoX3J4X2J1cnN0X3QgcnhfcGt0X2J1cnN0Ow0KPiA+ICAgICAgICAgLyoqPCBQ TUQgcmVjZWl2ZSBmdW5jdGlvbi4gKi8NCj4gPiAgICAgICAgIHJ0ZV9ldGhfdHhfYnVyc3RfdCB0 eF9wa3RfYnVyc3Q7DQo+ID4gICAgICAgICAvKio8IFBNRCB0cmFuc21pdCBmdW5jdGlvbi4gKi8N Cj4gPiAgICAgICAgIHJ0ZV9ldGhfdHhfcHJlcF90IHR4X3BrdF9wcmVwYXJlOw0KPiA+ICAgICAg ICAgLyoqPCBQTUQgdHJhbnNtaXQgcHJlcGFyZSBmdW5jdGlvbi4gKi8NCj4gPiAgICAgICAgIHJ0 ZV9ldGhfcnhfcXVldWVfY291bnRfdCByeF9xdWV1ZV9jb3VudDsNCj4gPiAgICAgICAgIC8qKjwg R2V0IHRoZSBudW1iZXIgb2YgdXNlZCBSWCBkZXNjcmlwdG9ycy4gKi8NCj4gPiAgICAgICAgIHJ0 ZV9ldGhfcnhfZGVzY3JpcHRvcl9zdGF0dXNfdCByeF9kZXNjcmlwdG9yX3N0YXR1czsNCj4gPiAg ICAgICAgIC8qKjwgQ2hlY2sgdGhlIHN0YXR1cyBvZiBhIFJ4IGRlc2NyaXB0b3IuICovDQo+ID4g ICAgICAgICBydGVfZXRoX3R4X2Rlc2NyaXB0b3Jfc3RhdHVzX3QgdHhfZGVzY3JpcHRvcl9zdGF0 dXM7DQo+ID4gICAgICAgICAvKio8IENoZWNrIHRoZSBzdGF0dXMgb2YgYSBUeCBkZXNjcmlwdG9y LiAqLw0KPiA+ICAgICAgICAgc3RydWN0IHsNCj4gPiAgICAgICAgICAgICAgICAgIHZvaWQgKipx dWV1ZV9kYXRhOyAgIC8qIHBvaW50IHRvIHJ0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXS5kYXRhLT4g cnhfcXVldWVzICovDQo+ID4gICAgICAgICAgICAgICAgICB2b2lkICoqY2JzOyAgICAgICAgICAg ICAgICAgIC8qICBwb2ludHMgdG8gcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdLnBvc3RfcnhfYnVy c3RfY2JzICovDQo+ID4gICAgICAgIH0gcnhfZGF0YSwgdHhfZGF0YTsNCj4gPiB9IF9fcnRlX2Nh Y2hlX2FsaWduZWQ7DQo+ID4NCj4gPiBzdGF0aWMgaW5saW5lIHVpbnQxNl90DQo+ID4gcnRlX2V0 aF9yeF9idXJzdCh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gPiAgICAg ICAgICAgICAgICAgIHN0cnVjdCBydGVfbWJ1ZiAqKnJ4X3BrdHMsIGNvbnN0IHVpbnQxNl90IG5i X3BrdHMpDQo+ID4gew0KPiA+ICAgICAgICBzdHJ1Y3QgcnRlX2V0aF9idXJzdF9hcGkgKnA7DQo+ ID4NCj4gPiAgICAgICAgIGlmIChwb3J0X2lkID49IFJURV9NQVhfRVRIUE9SVFMgfHwgcXVldWVf aWQgPj0gUlRFX01BWF9RVUVVRVNfUEVSX1BPUlQpDQo+ID4gICAgICAgICAgICAgICAgIHJldHVy biAwOw0KPiA+DQo+ID4gICAgICAgcCA9ICAmcnRlX2V0aF9idXJzdF9hcGlbcG9ydF9pZF07DQo+ ID4gICAgICAgcmV0dXJuIHAtPnJ4X3BrdF9idXJzdChwLT5yeF9kYXRhLnF1ZXVlX2RhdGFbcXVl dWVfaWRdLCByeF9wa3RzLCBuYl9wa3RzLCBwLT5yeF9kYXRhLmNic1txdWV1ZV9pZF0pOw0KPiAN Cj4gDQo+IA0KPiBUaGF0IHdvcmtzLg0KPiANCj4gDQo+ID4gfQ0KPiA+DQo+ID4gU2FtZSBmb3Ig VFguDQo+ID4NCj4gPiBJZiB0aGF0IGxvb2tzIG9rIHRvIGV2ZXJ5b25lLCBJJ2xsIHRyeSB0byBw cmVwYXJlIG5leHQgdmVyc2lvbiBiYXNlZCBvbiB0aGF0Lg0KPiANCj4gDQo+IExvb2tzIGdvb2Qg dG8gbWUuDQo+IA0KPiA+IEluIHRoZW9yeSB0aGF0IHNob3VsZCBhdm9pZCBleHRyYSBkZXJlZmVy ZW5jZSBwcm9ibGVtIGFuZCBldmVuIHJlZHVjZSBpbmRpcmVjdGlvbi4NCj4gPiBBcyBhIGRyYXdi YWNrIGRhdGEtPnJ4cS90eHEgc2hvdWxkIGFsd2F5cyBiZSBhbGxvY2F0ZWQgZm9yIFJURV9NQVhf UVVFVUVTX1BFUl9QT1JUIGVudHJpZXMsDQo+ID4gYnV0IEkgcHJlc3VtZSB0aGF04oCZcyBub3Qg YSBiaWcgZGVhbC4NCj4gPg0KPiA+IEFzIGEgc2lkZSBxdWVzdGlvbiAtIGlzIHRoZXJlIGFueSBy ZWFzb24gd2h5IHJ0ZV9ldGhkZXZfdHJhY2VfcnhfYnVyc3QoKSBpcyBpbnZva2VkIGF0IHZlcnkg bGFzdCBwb2ludCwNCj4gPiB3aGlsZSBydGVfZXRoZGV2X3RyYWNlX3R4X2J1cnN0KCkgIGFmdGVy IENCcyBidXQgYmVmb3JlIGFjdHVhbCB0eF9wa3RfYnVyc3QoKT8NCj4gPiBJdCB3b3VsZCBtYWtl IHRoaW5ncyBzaW1wbGVyIGlmIHRyYWNuZyB3b3VsZCBhbHdheXMgYmUgZG9uZSBlaXRoZXIgb24g ZW50cmFuY2Ugb3IgZXhpdCBvZiByeC90eF9idXJzdC4NCj4gDQo+IGV4aXQgaXMgZmluZS4NCj4g DQo+ID4NCj4gPiA+DQo+ID4gPiBNeSBzdWdnZXN0aW9uIHRvIGZpeCB0aGUgcHJvYmxlbSBieToN Cj4gPiA+IFJlbW92aW5nIHRoZSBhZGRpdGlvbmFsIGBkYXRhYCByZWRpcmVjdGlvbiBhbmQgcHVs bCBjYWxsYmFjayBmdW5jdGlvbg0KPiA+ID4gcG9pbnRlcnMgYmFjaw0KPiA+ID4gYW5kIGtlZXAg cmVzdCBhcyBvcGFxdWUgYXMgZG9uZSBpbiB0aGUgZXhpc3RpbmcgcGF0Y2ggbGlrZSBbMV0NCj4g PiA+DQo+ID4gPiBJIGRvbid0IGJlbGlldmUgdGhpcyBoYXMgYW55IHJlYWwgaW1wbGljYXRpb24g b24gZnV0dXJlIEFCSSBzdGFiaWxpdHkNCj4gPiA+IGFzIHdlIHdpbGwgbm90IGJlIGFkZGluZw0K PiA+ID4gYW55IG5ldyBpdGVtIGluIHJ0ZV9ldGhfZnAgaW4gYW55IHdheSBhcyBuZXcgZmVhdHVy ZXMgY2FuIGJlIGFkZGVkIGluIHNsb3dwYXRoDQo+ID4gPiBydGVfZXRoX2RldiBhcyBtZW50aW9u ZWQgaW4gdGhlIHBhdGNoLg0KPiANCj4gQWNrDQo+IA0KPiBJIHdpbGwgaGFwcHkgdG8gdGVzdCBh Z2FpbiBhZnRlciB0aGUgcmV3b3JrIGFuZCByZXBvcnQgYW55IHBlcmZvcm1hbmNlDQo+IGlzc3Vl cyBpZiBhbnkuDQoNClRoYW5rcyBKZXJpbiwgdjIgaXMgb3V0Og0KaHR0cHM6Ly9wYXRjaGVzLmRw ZGsub3JnL3Byb2plY3QvZHBkay9saXN0Lz9zZXJpZXM9MTkwODQNClBsZWFzZSBoYXZlIGEgbG9v aywgd2hlbiB5b3UnbGwgZ2V0IGEgY2hhbmNlLg0KDQo=