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 39216A0543; Tue, 2 Aug 2022 09:22:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 25B9940141; Tue, 2 Aug 2022 09:22:56 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 14C13400D7 for ; Tue, 2 Aug 2022 09:22:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1659424974; x=1690960974; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=huSLHtjqcS86vljtF9ozaCDTq8MHxVyXvuXqWTyC5Kw=; b=bReNbGjO5HOBLexC2Vni4CnaEGlYm5BNXlFdsG1J8TjW6K2nc03Kr19N JRuv/74TycWusW+6imb2QB1VR9qH8nIjaD+pHw0tgUq8U5hDQRCSZaSOP qsDpEiTV7673xhlJkSvRPBUhIqMYhu1X9o984ls0p14++l4NdeCrY9ml2 ZSGICNpO8KlKgglFR30byqg3C4T7wM9BgrAaD9PvZWdhPaS8RLBxRkyGO e9m71yNHBdiU+6UqA3hAplNt+CUjQTkFVxg+Tw7Vyvjbe79RouYsf3lfS P661Fm6WGobECtdip5f51hDhx7INr2wGAwrNeYDXD4Fw5nosHMuwfLfvl A==; X-IronPort-AV: E=McAfee;i="6400,9594,10426"; a="315182163" X-IronPort-AV: E=Sophos;i="5.93,210,1654585200"; d="scan'208";a="315182163" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2022 00:22:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,210,1654585200"; d="scan'208";a="599208243" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP; 02 Aug 2022 00:22:37 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 2 Aug 2022 00:22:36 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) 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.2375.28; Tue, 2 Aug 2022 00:22:36 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Tue, 2 Aug 2022 00:22:36 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Tue, 2 Aug 2022 00:22:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WkyqTAUzACysx4nSpczLG+Gi+PlXcxw9CdZ4WVLO6MfrGiiNQ27NrTu+UvfRNTXVDTQQyOfy7l+v0yxnrQX/FMURmZ+S7TK1Pon5J0cbMfGIMdcOpF6B17nBvkLjV06tnh/VYqrxE/SqRi708zQ9u84Fs3pkzFmWdDMBbU6fgU5PKLNBlKpNo6T+075YVCx67v3Mmpd/i/501/3MH606AjCc0QySP1YJRxwO7jtsiEJB1kFdJ2EWdynSqc+qWKN4YFYGyOo/SLzhFRcsr+C4GmwenXKN2eZCbaUlaxCsK1aPJgeo2f9cwgU72AwKPdFCXOAz970J0dK8F4e/5DuWVQ== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=huSLHtjqcS86vljtF9ozaCDTq8MHxVyXvuXqWTyC5Kw=; b=ai4T2oIUdMV+ps9AvQY3GBteUcBWGaqZ2AjnzmTSje3mounn8Cb2LOh7lZFSIDEO2n+DVSvEVrsSbjamMofUUcb0z/ljIHDk0yJMhR6a0jEVG7fnyHNxH9wWm/dR3wP9QApPEcqWMGixe2IOpGKS1BoTc9oY/oevaZnzY96BzWVPuAm5Ksbsk68ykiTnHYnNDfe9nHm8kHU8r2AVsUf313m6v4JVp0t96e9a5bXW2yQmt4nQjYZ3nn8UzBGcnuGSqdFKgU1eELi2aNADtV2ijm/SsLwb5mU8VC7Tiumhwfg6EClFNftEs3xyhdmBYWjAnQMgfObbdW693LbXqNeLeQ== 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 Received: from BL1PR11MB5509.namprd11.prod.outlook.com (2603:10b6:208:31f::12) by DM6PR11MB4444.namprd11.prod.outlook.com (2603:10b6:5:1de::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.15; Tue, 2 Aug 2022 07:22:35 +0000 Received: from BL1PR11MB5509.namprd11.prod.outlook.com ([fe80::1cff:92c5:661e:7efe]) by BL1PR11MB5509.namprd11.prod.outlook.com ([fe80::1cff:92c5:661e:7efe%6]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022 07:22:34 +0000 From: "Ding, Xuan" To: Andrew Rybchenko CC: "dev@dpdk.org" , "stephen@networkplumber.org" , "Wang, YuanX" , "Ray Kinsella" , "Wu, WenxuanX" , "thomas@monjalon.net" , "Li, Xiaoyun" , "ferruh.yigit@xilinx.com" , "Singh, Aman Deep" , "Zhang, Yuying" , "Zhang, Qi Z" , "jerinjacobk@gmail.com" , "viacheslavo@nvidia.com" Subject: RE: [PATCH v9 2/4] ethdev: introduce protocol hdr based buffer split Thread-Topic: [PATCH v9 2/4] ethdev: introduce protocol hdr based buffer split Thread-Index: AQHYfxM4xb+F2+Bh1k6ZBMjgUj729a10uNuAgAilsPCAHQkwgIAAuE/Q Date: Tue, 2 Aug 2022 07:22:34 +0000 Message-ID: References: <20220303060136.36427-1-xuan.ding@intel.com> <20220613102550.241759-1-wenxuanx.wu@intel.com> <20220613102550.241759-3-wenxuanx.wu@intel.com> <7f8f4017-c924-9533-0914-3792c32b5804@oktetlabs.ru> <41783e69-6d97-2d4c-a7b0-ce915b39400b@oktetlabs.ru> In-Reply-To: <41783e69-6d97-2d4c-a7b0-ce915b39400b@oktetlabs.ru> Accept-Language: zh-CN, 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.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1f492f77-0711-4626-4303-08da7457c545 x-ms-traffictypediagnostic: DM6PR11MB4444:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZDKDFFdBEIr59d0VT6qtECkYgTteKDW5MJjujfrniDWyZBZCEHzESei8RYS9GkSkMnKUU2d2t2X8CHAl3iyEdNqZ8KJjQwX+Kg3fHoLBsdC5B2yR+1WkoJUMtUUSCbCHpn4BM6CAF9kp/7U3QIn+cu0ek5hT4jX2CtadlOXTBRf4S8lMhLon/fElYhB7mBLAvlq2NXN7N2i5kj1sweXZ5WqbPA5tLWuyltGhSXOhhMpZ8QXh0yuZymUkqJidsehIXV37tX7QlztWpfJYYLuGI4d5np53fpF/b9oiuhrda6D0j7KTXyq25+gnydE3lG5Sj6TUtmiVNrmhBb3czuns/7k9Sn6Qa/g22UuQzFfmaCpqydbl3IUiiEpDur+WEq6AfUslanzvV9GybB1+R9cfN9Hxc0I9Evh993EO4YH8WfXQrqkzWb/l9m0qJf7dcJOK0+QU8h+Vh1I5ilDLxAbdVuwbRDAxpeSEHeJue0C5oSAjGUVK+zv+qbSix40LniRg0JwTMiKv82NUN6B5SPayKCnGt1OPCcwpHncZnAWciXt+DNTEWl9gC/ZisnxLgvbUj8yD+lV/j7TAncocLbLPrqmiYui8WqYMCQ1ePeK9wg0GmW9X5HfrosMz8u9Saxo37BbbVdyVTzxg3Ks1AV6MNWhiW+bwSbq2AlBWwWRg8xhqeFbHPLrM79vWnyXcN08nKFHOt3vLTjScaEAze8nTfZRTDXpE5gB7XA0Z2Lu7JK0zE600cQ/hGqw0RsPMCq28vQw9SYewn/OUAP6kSbc0OzMEOLgrJ4nzjRnR/Gg/Z2uIWqNiC7VTwAWEkYOIGmIE x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL1PR11MB5509.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(39860400002)(396003)(136003)(346002)(366004)(376002)(478600001)(186003)(52536014)(83380400001)(316002)(41300700001)(2906002)(6916009)(54906003)(8936002)(71200400001)(66946007)(86362001)(64756008)(66446008)(66476007)(66556008)(8676002)(4326008)(55016003)(5660300002)(26005)(9686003)(76116006)(7696005)(6506007)(33656002)(53546011)(38100700002)(38070700005)(82960400001)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WVpzNExqcEg5dUNIaHB2dEdqQmFkTml6enUvRVdGSE5qaEtYNHJoRlZMN05O?= =?utf-8?B?ZVBRMGptTU1KVGV1RW5iM2JjdEdPL0RCeTVkRmVCdkFycm5GcURFWjg5WUZ5?= =?utf-8?B?RGhuVm85cmxKOGc4a1RoczVUVXI0dDNuVG1TdWZTTnEydGVGenNNaVpZMmN0?= =?utf-8?B?bFl6cG8yUkVOWlUzQnZJOWZpNzNmemMxa2pCS1VFWXc0TEd1Y1NSRm9oRGI2?= =?utf-8?B?Qi84N3FndTJibWxnVUFhTklycGJWaW16YUlldDF4UTBXVVJRTTFSM3lVNkhF?= =?utf-8?B?YXNTa1dxejlPb1EzYk9NdWdwQW4zVlFPSGdacng4U0VpUXRqVDM2YUlaNmF4?= =?utf-8?B?eEhxSXNVMnpJWEJaVjMzYndObnFteTd1Mzl5dEdvbVpYTHQ0VHU5NCszbzVx?= =?utf-8?B?bngvditRbkRIbmUzSlE3bGt2cldSY2dScDNvN1VSdjJ0eEVhMlBWQ2hSak1B?= =?utf-8?B?R0JZU2FGamZSWVdJWitSdzJPbDFKR3hNZUpzV0VWSEw3Yi9NVXJsTWliMlF6?= =?utf-8?B?Z3cwSEo1YkZoV3hlM3RpWUo1K1lrYWtOUGd0eC94OHhyVFBWTnlURnRoZFBU?= =?utf-8?B?QjBPVnY1Yk9rL1ZlbUE2UlhkQkQrWTE5WFZuSk5MaXo3OXhjUnNEaDJRZWIz?= =?utf-8?B?cEdsNHBRZm5ieFhDYnVWaE9XbTJPY2MzVWVid0RxeHgxQ0phYWMrSDZyU0dq?= =?utf-8?B?RUUyVk16R3RDT285ZUdWQmdWSUMxQk1hOUVMemcxcnN5d0dScDh0YlExUkEv?= =?utf-8?B?M1QrY1RyWkcrL2tLdXdrZHlhSWFvcGNaL0wwR1Q4UWJtbEd5SE1pby9ML0po?= =?utf-8?B?c0hKL1BPUGxrbTYxL2o1Rk9LZHYySWlLZGxoY2xvWmJyc2lpcjJxb0kzMlJy?= =?utf-8?B?V0o5MDZ6cUNOVWZxLzhtMWQ0bFNwOFFlT1g3cmVmdGlSbkVFWHlxT25lcnJR?= =?utf-8?B?ME04WWQ4djFHejZITHozeW1zak9RT2cranJJa2EyU042UzV4TWcrbzNWQnl3?= =?utf-8?B?azEzQnMvWENIUlRpSld5ek83OXdLakpTZXlxRDQrWG9kR0N3N3UwOEpZOTgx?= =?utf-8?B?NUVzbmJVMWpuK01wZjFwTHdBS2wxSGF4SWtrVFpEbjBEa1VhMisrbFBvaTl5?= =?utf-8?B?Y2dNVTgzYmxOenFQNjgzSGFrbmExNmRjV2lDcWE5WWQyTVlwL3hnVVlxMHpj?= =?utf-8?B?K2NYZURYNlE4TXJBemRDcGxvbXAxRy9LVEpxczE3eDY3UHhjSm9VVzdFWUdP?= =?utf-8?B?NllOamFnM3NLb2MyRkZuL2YrcFlxV0dXdzdGVWlrVFV2cXJDUCtLNUNFc0ZN?= =?utf-8?B?clI2QnNEQXpxK1hJdVhMRElOUG1MbHFveTIxaStXWDhmblhuSGNOb2kyc2dp?= =?utf-8?B?aVFlVXJrV005a3hyU21TMnVKeW1sZCtUeVhQbXNFcE9GOGJWYk9PMGsza1BY?= =?utf-8?B?Q0hSSmx2ZzBqeWFIRW02OXRxMnU4SXpSdHRLVTRzdmVyZTVjamVKWUVVcHY5?= =?utf-8?B?a2FIb1BtMDhxWGtIdjdBcUd4T3RZUWNlTWs4RDZjZ2l2eGR5OHVTc2pVaHJk?= =?utf-8?B?aG5BT29OV3pSZjFaYlFiNFNBd05LR1VkTlY4bmVzYy9PYm50enQ1UGtTN0hR?= =?utf-8?B?KzByZHdVWWtINUlKSGlOaDY1bmFNeWw2bkVYOEluckZTZ3hMa2dTUGxPT2hZ?= =?utf-8?B?NXBaWktKUTJHQlZta0N6bS9oMG9qTll0Y3RIRFRwVnFzLzhSZkF4dm5oclVD?= =?utf-8?B?Sy9jTmEzMWZYbEpyeWJhQWRaNzZnb1BYR0FpdmtodnR6RldOcUhVZ3Jlbk02?= =?utf-8?B?OWF3bGQ4OWF4N1cvK1FKRWc5VGNKbHVMWEJ1T3RwY1FYbXFxYmUxc0JXYnA0?= =?utf-8?B?UUsyaGNhaGtiQW5nZHBSay8rRlFpNGpsc2NIM1NuYWVUNUJPanZJUmJqRDdk?= =?utf-8?B?VWd0YWZaQWFTMG9xdkI0aEJMS0g4S1UxYmljNXN0ampWVTJ6aVMvR1hnMUVZ?= =?utf-8?B?eU02bEw4WU13Rm5YZzJBaUpmN0FUUmh6dW1ZQVJZYi9zNmJ5MEZGZnhyWUsz?= =?utf-8?B?YmpMNkZxRHZDdFNDOWpJZ3JmQUpTQ0VraCs1K1FiQWgwSkVVTXBjNmdhS3By?= =?utf-8?Q?xTsqGq2CbncOuyIK8MBVGowiU?= 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: BL1PR11MB5509.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f492f77-0711-4626-4303-08da7457c545 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2022 07:22:34.6505 (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: +6wF1c85eqR0ZPqAAdOqNj8PxJe6QUFQJpza1UfUwpGMVu/XErHqjJs/epE8zKZ+6siYyVQjMT4fBQwnPAZI2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4444 X-OriginatorOrg: intel.com 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 SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNo ZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+IFNlbnQ6IE1vbmRheSwgQXVn dXN0IDEsIDIwMjIgMTA6MjggUE0NCj4gVG86IERpbmcsIFh1YW4gPHh1YW4uZGluZ0BpbnRlbC5j b20+DQo+IENjOiBkZXZAZHBkay5vcmc7IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBXYW5n LCBZdWFuWA0KPiA8eXVhbngud2FuZ0BpbnRlbC5jb20+OyBSYXkgS2luc2VsbGEgPG1kckBhc2hy b2UuZXU+OyBXdSwgV2VueHVhblgNCj4gPHdlbnh1YW54Lnd1QGludGVsLmNvbT47IHRob21hc0Bt b25qYWxvbi5uZXQ7IExpLCBYaWFveXVuDQo+IDx4aWFveXVuLmxpQGludGVsLmNvbT47IGZlcnJ1 aC55aWdpdEB4aWxpbnguY29tOyBTaW5naCwgQW1hbiBEZWVwDQo+IDxhbWFuLmRlZXAuc2luZ2hA aW50ZWwuY29tPjsgWmhhbmcsIFl1eWluZyA8eXV5aW5nLnpoYW5nQGludGVsLmNvbT47DQo+IFpo YW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVsLmNvbT47IGplcmluamFjb2JrQGdtYWlsLmNvbTsN Cj4gdmlhY2hlc2xhdm9AbnZpZGlhLmNvbQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY5IDIvNF0g ZXRoZGV2OiBpbnRyb2R1Y2UgcHJvdG9jb2wgaGRyIGJhc2VkIGJ1ZmZlciBzcGxpdA0KPiANCj4g T24gNy8yMS8yMiAwNjoyNCwgRGluZywgWHVhbiB3cm90ZToNCj4gPiBIaSBBbmRyZXcsDQo+ID4N Cj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogQW5kcmV3IFJ5YmNo ZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+ID4+IFNlbnQ6IDIwMjLlubQ3 5pyIOOaXpSAyMzowMQ0KPiA+PiBUbzogV3UsIFdlbnh1YW5YIDx3ZW54dWFueC53dUBpbnRlbC5j b20+OyB0aG9tYXNAbW9uamFsb24ubmV0Ow0KPiBMaSwNCj4gPj4gWGlhb3l1biA8eGlhb3l1bi5s aUBpbnRlbC5jb20+OyBmZXJydWgueWlnaXRAeGlsaW54LmNvbTsgU2luZ2gsIEFtYW4NCj4gPj4g RGVlcCA8YW1hbi5kZWVwLnNpbmdoQGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsgWmhhbmcsIFl1 eWluZw0KPiA+PiA8eXV5aW5nLnpoYW5nQGludGVsLmNvbT47IFpoYW5nLCBRaSBaIDxxaS56Lnpo YW5nQGludGVsLmNvbT47DQo+ID4+IGplcmluamFjb2JrQGdtYWlsLmNvbQ0KPiA+PiBDYzogc3Rl cGhlbkBuZXR3b3JrcGx1bWJlci5vcmc7IERpbmcsIFh1YW4gPHh1YW4uZGluZ0BpbnRlbC5jb20+ Ow0KPiA+PiBXYW5nLCBZdWFuWCA8eXVhbngud2FuZ0BpbnRlbC5jb20+OyBSYXkgS2luc2VsbGEg PG1kckBhc2hyb2UuZXU+DQo+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjkgMi80XSBldGhkZXY6 IGludHJvZHVjZSBwcm90b2NvbCBoZHIgYmFzZWQNCj4gPj4gYnVmZmVyIHNwbGl0DQo+ID4+DQo+ ID4+IE9uIDYvMTMvMjIgMTM6MjUsIHdlbnh1YW54Lnd1QGludGVsLmNvbSB3cm90ZToNCj4gPj4+ IEZyb206IFdlbnh1YW4gV3UgPHdlbnh1YW54Lnd1QGludGVsLmNvbT4NCj4gPj4+DQo+ID4+PiBD dXJyZW50bHksIFJ4IGJ1ZmZlciBzcGxpdCBzdXBwb3J0cyBsZW5ndGggYmFzZWQgc3BsaXQuIFdp dGggUngNCj4gPj4+IHF1ZXVlIG9mZmxvYWQgUlRFX0VUSF9SWF9PRkZMT0FEX0JVRkZFUl9TUExJ VCBlbmFibGVkIGFuZCBSeA0KPiBwYWNrZXQNCj4gPj4gc2VnbWVudA0KPiA+Pj4gY29uZmlndXJl ZCwgUE1EIHdpbGwgYmUgYWJsZSB0byBzcGxpdCB0aGUgcmVjZWl2ZWQgcGFja2V0cyBpbnRvDQo+ ID4+PiBtdWx0aXBsZSBzZWdtZW50cy4NCj4gPj4+DQo+ID4+PiBIb3dldmVyLCBsZW5ndGggYmFz ZWQgYnVmZmVyIHNwbGl0IGlzIG5vdCBzdWl0YWJsZSBmb3IgTklDcyB0aGF0IGRvDQo+ID4+PiBz cGxpdCBiYXNlZCBvbiBwcm90b2NvbCBoZWFkZXJzLiBHaXZlbiBhbiBhcmJpdHJhcmlseSB2YXJp YWJsZQ0KPiA+Pj4gbGVuZ3RoIGluIFJ4IHBhY2tldCBzZWdtZW50LCBpdCBpcyBhbG1vc3QgaW1w b3NzaWJsZSB0byBwYXNzIGEgZml4ZWQNCj4gPj4+IHByb3RvY29sIGhlYWRlciB0byBkcml2ZXIu IEJlc2lkZXMsIHRoZSBleGlzdGVuY2Ugb2YgdHVubmVsaW5nDQo+ID4+PiByZXN1bHRzIGluIHRo ZSBjb21wb3NpdGlvbiBvZiBhIHBhY2tldCBpcyB2YXJpb3VzLCB3aGljaCBtYWtlcyB0aGUNCj4g c2l0dWF0aW9uIGV2ZW4gd29yc2UuDQo+ID4+Pg0KPiA+Pj4gVGhpcyBwYXRjaCBleHRlbmRzIGN1 cnJlbnQgYnVmZmVyIHNwbGl0IHRvIHN1cHBvcnQgcHJvdG9jb2wgaGVhZGVyDQo+ID4+PiBiYXNl ZCBidWZmZXIgc3BsaXQuIEEgbmV3IHByb3RvX2hkciBmaWVsZCBpcyBpbnRyb2R1Y2VkIGluIHRo ZQ0KPiA+Pj4gcmVzZXJ2ZWQgZmllbGQgb2YgcnRlX2V0aF9yeHNlZ19zcGxpdCBzdHJ1Y3R1cmUg dG8gc3BlY2lmeSBwcm90b2NvbA0KPiA+Pj4gaGVhZGVyLiBUaGUgcHJvdG9faGRyIGZpZWxkIGRl ZmluZXMgdGhlIHNwbGl0IHBvc2l0aW9uIG9mIHBhY2tldCwNCj4gPj4+IHNwbGl0dGluZyB3aWxs IGFsd2F5cyBoYXBwZW5zIGFmdGVyIHRoZSBwcm90b2NvbCBoZWFkZXIgZGVmaW5lZCBpbg0KPiA+ Pj4gdGhlIFJ4IHBhY2tldCBzZWdtZW50LiBXaGVuIFJ4IHF1ZXVlIG9mZmxvYWQNCj4gPj4+IFJU RV9FVEhfUlhfT0ZGTE9BRF9CVUZGRVJfU1BMSVQgaXMgZW5hYmxlZCBhbmQgY29ycmVzcG9uZGlu Zw0KPiA+Pj4gcHJvdG9jb2wgaGVhZGVyIGlzIGNvbmZpZ3VyZWQsIGRyaXZlciB3aWxsIHNwbGl0 IHRoZSBpbmdyZXNzIHBhY2tldHMNCj4gPj4+IGludG8gbXVsdGlwbGUNCj4gPj4gc2VnbWVudHMu DQo+ID4+Pg0KPiA+Pj4gc3RydWN0IHJ0ZV9ldGhfcnhzZWdfc3BsaXQgew0KPiA+Pj4NCj4gPj4+ ICAgICAgICAgICBzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wOyAvKiBtZW1vcnkgcG9vbHMgdG8gYWxs b2NhdGUgc2VnbWVudA0KPiBmcm9tICovDQo+ID4+PiAgICAgICAgICAgdWludDE2X3QgbGVuZ3Ro OyAvKiBzZWdtZW50IG1heGltYWwgZGF0YSBsZW5ndGgsDQo+ID4+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25maWd1cmVzICJzcGxpdCBwb2ludCIgKi8NCj4gPj4+ICAgICAgICAg ICB1aW50MTZfdCBvZmZzZXQ7IC8qIGRhdGEgb2Zmc2V0IGZyb20gYmVnaW5uaW5nDQo+ID4+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBtYnVmIGRhdGEgYnVmZmVyICovDQo+ID4+ PiAgICAgICAgICAgdWludDMyX3QgcHJvdG9faGRyOyAvKiBpbm5lci9vdXRlciBMMi9MMy9MNCBw cm90b2NvbCBoZWFkZXIsDQo+ID4+PiAJCQkgICAgICAgY29uZmlndXJlcyAic3BsaXQgcG9pbnQi ICovDQo+ID4+DQo+ID4+IFRoZXJlIGlzIGEgYmlnIHByb2JsZW0gaGVyZSB0aGF0IHVzaW5nIFJU RV9QVFlQRV8qIGRlZmluZXMgSSBjYW4ndA0KPiA+PiByZXF1ZXN0IHNwbGl0IGFmdGVyIGVpdGhl ciBUQ1Agb3IgVURQIGhlYWRlci4NCj4gPg0KPiA+IFNvcnJ5LCBmb3Igc29tZSByZWFzb24gSSBt aXNzZWQgeW91ciByZXBseS4NCj4gPg0KPiA+IEN1cnJlbnQgUlRFX1BUWVBFXyogbGlzdCBhbGwg dGhlIHR1bm5lbCBhbmQgTDIvTDMvTDQgcHJvdG9jb2wgaGVhZGVycw0KPiAoYm90aCBvdXRlciBh bmQgaW5uZXIpLg0KPiA+IERvIHlvdSBtZWFuIHRoYXQgd2Ugc2hvdWxkIHN1cHBvcnQgaGlnaGVy IGxheWVyIHByb3RvY29scyBhZnRlciBMND8NCj4gPg0KPiA+IEkgdGhpbmsgdHVubmVsIGFuZCBM Mi9MMy9MNCBwcm90b2NvbCBoZWFkZXJzIGFyZSBlbm91Z2guDQo+ID4gSW4gRFBESywgd2UgZG9u J3QgcGFyc2UgaGlnaGVyIGxldmVsIHByb3RvY29scyBhZnRlciBMNC4NCj4gPiBBbmQgdGhlIGhp Z2hlciBsYXllciBwcm90b2NvbHMgYXJlIHJpY2hlciwgd2UgY2FuJ3QgbGlzdCBhbGwgb2YgdGhl bS4NCj4gPiBXaGF0IGRvIHlvdSB0aGluaz8NCj4gDQo+IEl0IGxvb2tzIGxpa2UgeW91IGRvbid0 IGdldCBteSBwb2ludC4gWW91IHNpbXBseSBjYW5ub3Qgc2F5Og0KPiBSVEVfUFRZUEVfTDRfVENQ IHwgUlRFX1BUWVBFX0w0X1VEUCBzaW5jZSBpdCBpcyBudW1lcmljYWxseSBlcXVhbCB0bw0KPiBS VEVfUFRZUEVfTDRfRlJBRy4gTWF5IGJlIHRoZSBkZXNpZ24gbGltaXRhdGlvbiBpcyBhY2NlcHRh YmxlLg0KPiBJIGhhdmUgbm8gc3Ryb25nIG9waW5pb24sIGJ1dCBpdCBtdXN0IGJlIGNsZWFyIGZv ciBhbGwgdGhhdCB0aGUgbGltaXRhdGlvbiBleGlzdHMuDQoNClRoYW5rcyBmb3IgeW91ciBjb3Jy ZWN0aW9uLg0KU2ltaWxhcmx5LCBSVEVfUFRZUEVfSU5ORVJfTDRfVENQIGFuZCBSVEVfUFRZUEVf SU5ORVJfTDRfVURQDQphbHNvIGV4aXN0cyB0aGlzIHNpdHVhdGlvbi4NCg0KSSB3aWxsIHRyeSB0 byBzb2x2ZSB0aGlzIGxpbWl0YXRpb24gYnkgZm9sbG93aW5nIHB0eXBlc19nZXQgYXBwcm9hY2gu DQoNCj4gDQo+ID4+DQo+ID4+PiAgICAgICB9Ow0KPiA+Pj4NCj4gPj4+IElmIGJvdGggaW5uZXIg YW5kIG91dGVyIEwyL0wzL0w0IGxldmVsIHByb3RvY29sIGhlYWRlciBzcGxpdCBjYW4gYmUNCj4g Pj4+IHN1cHBvcnRlZCBieSBhIFBNRC4gQ29ycmVzcG9uZGluZyBwcm90b2NvbCBoZWFkZXIgY2Fw YWJpbGl0eSBpcw0KPiA+Pj4gUlRFX1BUWVBFX0wyX0VUSEVSLCBSVEVfUFRZUEVfTDNfSVBWNCwg UlRFX1BUWVBFX0wzX0lQVjYsDQo+ID4+PiBSVEVfUFRZUEVfTDRfVENQLCBSVEVfUFRZUEVfTDRf VURQLCBSVEVfUFRZUEVfTDRfU0NUUCwNCj4gPj4+IFJURV9QVFlQRV9JTk5FUl9MMl9FVEhFUiwg UlRFX1BUWVBFX0lOTkVSX0wzX0lQVjQsDQo+ID4+PiBSVEVfUFRZUEVfSU5ORVJfTDNfSVBWNiwg UlRFX1BUWVBFX0lOTkVSX0w0X1RDUCwNCj4gPj4gUlRFX1BUWVBFX0lOTkVSX0w0X1VEUCwgUlRF X1BUWVBFX0lOTkVSX0w0X1NDVFAuDQo+ID4+DQo+ID4+IEkgdGhpbmsgdGhlcmUgaXMgbm8gcG9p bnQgdG8gbGlzdCBhYm92ZSBkZWZpbmVzIGhlcmUgaWYgaXQgaXMgbm90IHRoZQ0KPiA+PiBvbmx5 IHN1cHBvcnRlZCBkZWZpbmVzLg0KPiA+DQo+ID4gWWVzLCBzaW5jZSB3ZSB1c2UgYSBBUEkgdG8g cmV0dXJuIHRoZSBwcm90b2NvbCBoZWFkZXIgZHJpdmVyIHN1cHBvcnRlZA0KPiA+IHRvIHNwbGl0 LCB0aGVyZSBpcyBubyBuZWVkIHRvIGxpc3QgdGhlIGluY29tcGxldGUgUlRFX1BUWVBFKiBoZXJl LiBQbGVhc2UNCj4gc2VlIG5leHQgdmVyc2lvbi4NCj4gPg0KPiA+Pg0KPiA+Pj4NCj4gPj4+IEZv ciBleGFtcGxlLCBsZXQncyBzdXBwb3NlIHdlIGNvbmZpZ3VyZWQgdGhlIFJ4IHF1ZXVlIHdpdGgg dGhlDQo+ID4+PiBmb2xsb3dpbmcgc2VnbWVudHM6DQo+ID4+PiAgICAgICBzZWcwIC0gcG9vbDAs IHByb3RvX2hkcjA9UlRFX1BUWVBFX0wzX0lQVjQsIG9mZjA9MkINCj4gPj4+ICAgICAgIHNlZzEg LSBwb29sMSwgcHJvdG9faGRyMT1SVEVfUFRZUEVfTDRfVURQLCBvZmYxPTEyOEINCj4gPj4+ICAg ICAgIHNlZzIgLSBwb29sMiwgb2ZmMT0wQg0KPiA+Pj4NCj4gPj4+IFRoZSBwYWNrZXQgY29uc2lz dHMgb2YgTUFDX0lQVjRfVURQX1BBWUxPQUQgd2lsbCBiZSBzcGxpdCBsaWtlDQo+ID4+PiBmb2xs b3dpbmc6DQo+ID4+PiAgICAgICBzZWcwIC0gaXB2NCBoZWFkZXIgQCBSVEVfUEtUTUJVRl9IRUFE Uk9PTSArIDIgaW4gbWJ1ZiBmcm9tDQo+IHBvb2wwDQo+ID4+PiAgICAgICBzZWcxIC0gdWRwIGhl YWRlciBAIDEyOCBpbiBtYnVmIGZyb20gcG9vbDENCj4gPj4+ICAgICAgIHNlZzIgLSBwYXlsb2Fk IEAgMCBpbiBtYnVmIGZyb20gcG9vbDINCj4gPj4NCj4gPj4gU29ycnksIGJ1dCBJIHN0aWxsIHNl ZSBubyBkZWZpbml0aW9uIHdoYXQgc2hvdWxkIGhhcHBlbiB3aXRoLCBmb3INCj4gPj4gZXhhbXBs ZSwgQVJQIHBhY2tldCB3aXRoIGFib3ZlIGNvbmZpZy4NCj4gPg0KPiA+IFRoYW5rcywgYmVjYXVz ZSB0aGUgZm9sbG93aW5nIHJlcGx5IHdhcyBub3QgYW5zd2VyZWQgaW4gdjgsIHRoZQ0KPiA+IGRl ZmluaXRpb24gaGFzIG5vdCBiZWVuIGFkZGVkIGluIHY5IHlldC4NCj4gPg0KPiA+ICINCj4gPiBP dXIgTklDIG9ubHkgc3VwcG9ydHMgdG8gc3BsaXQgdGhlIHBhY2tldHMgaW50byB0d28gc2VnbWVu dHMsIHNvIHRoZXJlDQo+ID4gd2lsbCBiZSBhbiBleGFjdCBtYXRjaCBmb3IgdGhlIG9ubHkgb25l IHByb3RvY29sIGhlYWRlciBjb25maWd1cmVkLg0KPiA+IEJhY2sgdG8gdGhpcyBxdWVzdGlvbiwg Zm9yIHRoZSBzZXQgb2YgcHJvdG9faGRycyBjb25maWd1cmVkLCBpdCBjYW4gaGF2ZSB0d28NCj4g YmVoYXZpb3JzOg0KPiA+IDEuIFRoZSBhZ2dyZXNzaXZlIHdheSBpcyB0byBzcGxpdCBvbiBsb25n ZXN0IG1hdGNoIHlvdSBtZW50aW9uZWQsIEUuZy4NCj4gPiB3ZSBjb25maWd1cmUgc3BsaXQgb24g RVRILUlQVjQtVENQLCB3aGVuIHJlY2VpdmVzIEVUSC1JUFY0LVVEUCBvcg0KPiA+IEVUSC1JUFY2 LCBpdCBjYW4gYWxzbyBzcGxpdCBvbiBFVEgtSVBWNCBvciBFVEguDQo+ID4gMi4gQSBtb3JlIGNv bnNlcnZhdGl2ZSB3YXkgaXMgdG8gc3BsaXQgb25seSB3aGVuIHRoZSBwYWNrZXRzIG1lZXQgdGhl DQo+ID4gYWxsIHByb3RvY29sIGhlYWRlcnMgaW4gdGhlIFJ4IHBhY2tldCBzZWdtZW50LiBJbiB0 aGUgYWJvdmUgc2l0dWF0aW9uLA0KPiA+IGl0IHdpbGwgbm90IGRvIHNwbGl0IGZvciBFVEgtSVBW NC1VRFAgYW5kIEVUSC1JUFY2Lg0KPiA+DQo+ID4gSSBwcmVmZXIgdGhlIHNlY29uZCBiZWhhdmlv ciwgYmVjYXVzZSB0aGUgc3BsaXQgaXMgdXN1YWxseSBmb3IgdGhlDQo+ID4gaW5uZXIgbW9zdCBo ZWFkZXIgYW5kIHBheWxvYWQsIGlmIGl0IGRvZXMgbm90IG1lZXQsIHRoZSByZXN0IG9mIHRoZSBo ZWFkZXJzDQo+IGhhdmUgbm8gYWN0dWFsIHZhbHVlLg0KPiA+ICINCj4gPg0KPiA+IEhvcGUgdG8g Z2V0IHlvdXIgaW5zaWdodHMuDQo+ID4gQW5kIHdlIHdpbGwgdXBkYXRlIHRoZSBkb2MgdG8gZGVm aW5lIHRoZSBiZWhhdmlvciBpbiBuZXh0IHZlcnNpb24uDQo+IA0KPiBJJ20gT0sgd2l0aCAoMikg YXMgd2VsbC4gUGxlYXNlLCBkZWZpbmUgaXQgaW4gdGhlIGRvY3VtZW50YXRpb24uIEFsc28gaXQg bXVzdA0KPiBiZSBjbGVhciB3aGljaCBzZWdtZW50L21lbXBvb2wgaXMgdXNlZCBpZiBhIHBhY2tl dCBpcyBub3Qgc3BsaXQuDQoNCkdldCB5b3VyIHBvaW50LiBXaWxsIGZpeCBpdCBpbiBuZXh0IHZl cnNpb24uDQoNClRoYW5rcywNClh1YW4NCg==