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 5F5F7A0352; Mon, 7 Feb 2022 18:17:50 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E2822410F6; Mon, 7 Feb 2022 18:17:49 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 4D12C410F3 for ; Mon, 7 Feb 2022 18:17:48 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 217H1Mta018974; Mon, 7 Feb 2022 09:17:44 -0800 Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3e3095syes-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Feb 2022 09:17:44 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y7bwUqOAlCs7dZ8KU+pN2jt5tux28iig9zCsMO/WRWVf76qdUJ9AFssmLvOHkmwSDRqdXnPdi+jLoPmTlnDM94vgub/bEpEvYysOXu4Nz3kNzMI8CZWACPBIGii1LDAV+EQHTrXJaKCVb6IAjlorH0JHfTxbdoXHykgcxyJkPVYRQFNE7IWn2gBB88HmUi4oU6C+ry/+/VBXvOY3XKVEU02PUp5XS6wDuqbN6RzdFnHmR3Cl8d/xEYrFr/+RPyMAURbyHLSMQUlNAYrhhQgcD0O1uKmy8P3o7qxTKwR7qeoZSqlFLWQXdb/R9dmexcyB9m4nApp5AX2Cb9Z3FEdhPA== 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=ljuH6rvSpBbp05L9hypTC/DKMoRkS95koYDXbowwS7w=; b=kq6lBt15WjKLDhoYmQFjHljrhYoE+MsNnyAp89bIb1ueW+GdSjCqElhJK+dVT1/lcnZ+KIpTXsZA++tfKPt7H3BrSAOaEFZY4Z2wsL6bE0ujg76EpKzH0sUbygkxRvV9Aozk6nZy4sDEXvk4f4ZhpSjO+LoqbfUiYRZ4g3KMs+AvM+Pnl60GtSux760ydhDIJehKL1svEAandCTBZZ8ViymQfHr1RjDzojOgQYbmmKNkIb55i6AER2ctNTAGxefKJjLeJKOiQ/IMDWwvOmQq/dWTsXVhmBEDnlzl7fD1dmls9eRHO8v3Ha3I9r1kZwKGyJCzJuvtNYxyT37oiddXkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ljuH6rvSpBbp05L9hypTC/DKMoRkS95koYDXbowwS7w=; b=Yr65bWQS2wjTR4soo/fyOMx9mPTKBMZ05txsjtoxVPIVN/H2asZFf/0IfyGgXQWBAEbHNsIiP97jphAIEv18nqZk4A2ZCBeT/8zuGipVB4MPe9avTrSW9U1E+ASECb/CMRs3NlmC7/UTW/tqwX9yt7IKsiNIR8GHn9/s9L1Clvo= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by BYAPR18MB2391.namprd18.prod.outlook.com (2603:10b6:a03:12d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.18; Mon, 7 Feb 2022 17:17:42 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::9985:c3ca:2f91:7fc]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::9985:c3ca:2f91:7fc%5]) with mapi id 15.20.4951.019; Mon, 7 Feb 2022 17:17:41 +0000 From: Akhil Goyal To: Ferruh Yigit , "dev@dpdk.org" , "olivier.matz@6wind.com" CC: Anoob Joseph , "matan@nvidia.com" , "konstantin.ananyev@intel.com" , "thomas@monjalon.net" , "andrew.rybchenko@oktetlabs.ru" , "rosen.xu@intel.com" , "david.marchand@redhat.com" , "radu.nicolau@intel.com" , Jerin Jacob Kollanukkaran , "stephen@networkplumber.org" , "mdr@ashroe.eu" Subject: RE: [EXT] Re: [PATCH v4 2/3] ethdev: add mbuf dynfield for incomplete IP reassembly Thread-Topic: [EXT] Re: [PATCH v4 2/3] ethdev: add mbuf dynfield for incomplete IP reassembly Thread-Index: AQHYGhSD5snN0ffJdEyr+e/sHU+c5KyIIXaAgAABV/CAAA7rAIAAFB/AgAAJCYCAAAh2QA== Date: Mon, 7 Feb 2022 17:17:41 +0000 Message-ID: References: <20220130175935.1947730-1-gakhil@marvell.com> <20220204221334.3551574-1-gakhil@marvell.com> <20220204221334.3551574-3-gakhil@marvell.com> <03b80bd0-64b1-2cda-c982-e42108ffce6c@intel.com> <26e903b1-924b-fd1b-cd83-f57dc327f1a2@intel.com> In-Reply-To: <26e903b1-924b-fd1b-cd83-f57dc327f1a2@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c9764198-cbcd-4ab4-ef7e-08d9ea5dbfbc x-ms-traffictypediagnostic: BYAPR18MB2391:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:326; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Zqy8syYCx5YB4inETwuzfg40j3BFTjthsj4SNwsbQ5G9Gr9GAFxgGdl5FqTtYsQvZeSZZZi2EOKNN6hxsYSiEShIEYzjD4qkevbah3L5kNtRzXgk1+YjdI3aeLeHJ4tvTaO5D/DtZE7J5S9WrieWeGDl9/EP2qxknrjRh8cyZITeder+rB/HUwMrhB2YY01UV7ChXmFMOEGtWmyjKQWM6B3VvZfjLsXCM3mc2oxHxXVXzeuXKcvRTlggLKVTgGw0udgRrqaYRIO35b8mRZfv9CxQu4FZHYy98vsjLgOhtipw5Zz2Lg36XyZARMbPaZ5WDBuS47UTzDnZY1IxvciP5UNZ6VKpR5xXwp1yPy1wFU6bdkxWbjbFbFU4QJvwv+we2D1D8Y890MM5FLV4vzQirjLrT2MhVDxzoLGM45MAJj2VyF6l3EhJPSU3wtZScNtgSpbDvsJqm7dtOsramj7cpYPADEGWCf57LGh6IqGxHW8Tl7LiF5P2lgjVSSLxos/Oe/Q5+rowtEZF9pJYfcK7FYKS+ftnQLYQrxdqZocIFWg/YcT2LRdpppH8MoAAEKYWQUxsHrR3O0SjdfLFiefR4WW2Oo+nPTSlbZvTd6XMeo4J+fTS+7R4WZN9bfzeafVg7HHIk7vYJFTTCUZeIMaHKCtlbLdm+8HZA2eUseEhcT9ULq/BhUgTMJaX9CEwgQj2S2BHtAG+x1Hp8VK9EsYC5Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(5660300002)(76116006)(66946007)(66446008)(316002)(2906002)(64756008)(52536014)(8676002)(122000001)(38100700002)(7416002)(110136005)(8936002)(86362001)(66556008)(71200400001)(83380400001)(6506007)(7696005)(9686003)(66476007)(508600001)(53546011)(55016003)(55236004)(26005)(186003)(54906003)(4326008)(38070700005)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dmYyNFlUeGErUlg5Tm1FaG9LZzlqNzdPTE5TWGNaMkgyNFc4MFRWdktaWU1N?= =?utf-8?B?R0crbkcrUjJiYmV0NjV3cVVhQnRUWTFmTnNqNGRGSWNqVnY4RGxkbUl1d2k5?= =?utf-8?B?NzQxZ2hyWUN3SXZ6VGtCTHJGd0lLTEZGTnJiMzExTER0VWxkdnhqV3IxZFpO?= =?utf-8?B?NFl6YlpYZ1dkT1prZ3k0RDlEMXhuR0tLRTlmUTNUSDluYWtEY0tvQkptQ2xU?= =?utf-8?B?VU5sWTRNVW1NVXZYazRmTmJyb1pqYnloWXAyM3RqZDU1b04rb2Zmdmd1V1do?= =?utf-8?B?dGxIQTc4cWRaeXNLRHZUcVYvYnR2amlTMTI0WXhoYklub2FhTVZBM2liRnVH?= =?utf-8?B?aEdqSHBtQ3NLYkYyelVLZkl0Mzh2M3pvWkh2blkyaE9CSjdsa0hJcm83WGwr?= =?utf-8?B?MmVzWUZVVGZyUHQzcVBYaUI3eDBOeGx6U3MxTHpja2EyTk9ka3ZnTURpMzhJ?= =?utf-8?B?MTgreHRpL3dyOEhHemNaZkptL3YwUFJBeXVhMG5DZkFRSVNJc1p5TXU4OVAr?= =?utf-8?B?OXBNeHk5SFFRaUIzclMwQkxOVXZqaktEVDlWenhrQXQ4TDIyK0JpT0VmVmJ2?= =?utf-8?B?YzlaRnJQUjNIWjN5T2drU1dwZ0NxMmpIZE0vdzV5MVBVLzNBS3VDUjBSeUI2?= =?utf-8?B?NEtFQ3dKTThnRmk0eWlLdnR0cmpmV3k3TGJuWHFRcTVqaXVONjlPT3k3YnFN?= =?utf-8?B?ZFp1TTBRWmRwWW1OZkZ6UkNDTzM5Zk9kNW9XMHYvdjhCV3R6SGFOazE4MnNO?= =?utf-8?B?NmdXS0szRTFtZ1piaDExZ3d2d2piZW9GVllUQXBzbGVGN21NdUdJTktsQlBr?= =?utf-8?B?S1BXQ2t1NjJJaFF6WHFYbzFPNEREN2tFN3lITVZPWkxzd0RSUkt3SXVaT1Qz?= =?utf-8?B?RXVDL05MVHplQUxLVzlpaEh6N2ZURG9USElXc1VHckpuRUNEdUxNU1FwTTVw?= =?utf-8?B?MGlpdi94MWJjNzNkTFBVS25wZnM3REJhVkdwcWlnM2ZiVGRVNlZrMjBnNGYy?= =?utf-8?B?S2NMSXhNaGtZTEZlaERXOTQvZzhvN2d6cXI4U0E2Z05lbXB5SXVzYTJKWFRv?= =?utf-8?B?T0pTeUNBbGpZN1ArMDJubjFnanROM1A4clZXL0V3eEszVStzNTZ1MTZxWjNX?= =?utf-8?B?VFAyUWNkVS9EcmJlNmVzYkg5ZkJRTmVQT25KVUJhN2xYVnQyYVJ2WEpNcUxh?= =?utf-8?B?bHNoeGZnTWtEMk1GaGdGWHFKdzRGVkhDL0xQZExTNmdtRDhhMFkvcERwTjIz?= =?utf-8?B?VVZwVFR3d3pDSklTd0RuRWhBZGVJZzB5QytHQzc2RVpoa1hkNkp2UjVvMzE4?= =?utf-8?B?OUwxeWZZVG05bnVEeWxaWEFZTFZVN0pNdUljR1hBUHhqS0ZLdnI5eWludlNq?= =?utf-8?B?SXA1eUQxTlNxK1NwQ01Da1Azblp2ZzVNcCtzRDhwQ0tZTkpaOEw2VEgxbUlP?= =?utf-8?B?ZmJXK0JOZU1MRkN1RVl4N3R3NENvV2JhRWIzVUN6YWZhdjlDWVdjVFRhWDAr?= =?utf-8?B?M3lXSjM2SC9nNmVGd3ZxeFdlSnhnRC9OdWRiZS9xL1pTN2d5Y09NZVN0aXBI?= =?utf-8?B?TjU0cyt5MEc0WW4wWDdtNEZTKzBmb3YwVjlrZTNJVGY5Rjg0aXlJRTczQ2Fx?= =?utf-8?B?dG94RlpFR29hUVVqc2NlNnNYWGtOdmVyU0o5NUxjWjVmUjYvZllvVzUrdHhu?= =?utf-8?B?V2pMMHFWQUJyWU84TXdFckp0bkhOKzJPQnQwN3RaTHg1ZmJPU1M2MGFETG8v?= =?utf-8?B?dlZQL3RGakpmK3dXRHlRUUdyRVYzVnN6T1RqSm9FMWJzcGYvYzcrUXVhdTZK?= =?utf-8?B?ektzNkV0M3ljYnB1NG93dE1uZWhPdkV1SzJvWHUwWng5Q1pjMmFYN0ZaM20z?= =?utf-8?B?eW9kNHFFYU43Yk1nSDZvUmU2amY0VzdaMGR4RHJzZU95dFBLVHJoNEpLQ2NP?= =?utf-8?B?TS93a0RpYTkwWGUwTnZVOGZ2azNUMjIyVTl0aGNFS05jOEdkTVd2cVpNWEx0?= =?utf-8?B?aDFyYm5rUGF1TzY0b1I4M0Mxd0ZxSzcxcllLZTE4Rm1KMkpmVWkvV2pUTTZG?= =?utf-8?B?WS9kMVJPa3dRU2U1NEE5QjdhZVROUFhDUkxtbnRYcXYzbFRYNzJxNDlDdGV6?= =?utf-8?B?T3ZzdFlWNEFrSjBFSzNjQnJVV3pMdXBPOHRKL0JvVEgxZDl1STVKNEhMZHFx?= =?utf-8?Q?N1QV3CI2GxZpq7nt74SozDU=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9764198-cbcd-4ab4-ef7e-08d9ea5dbfbc X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Feb 2022 17:17:41.8386 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yxZ4CMOzbh2OQFdiSGmSMhkHdyUcM6Prs972gAP3/lilezuhyVMDVqtHECa7i+cvktghOF31yiednxbWhTs4eQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB2391 X-Proofpoint-ORIG-GUID: aFrsVbagVN7bmBZ4YJ33G76sakrObeLV X-Proofpoint-GUID: aFrsVbagVN7bmBZ4YJ33G76sakrObeLV X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513 definitions=2022-02-07_06,2022-02-07_02,2021-12-02_01 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiBTZW50OiBNb25kYXksIEZlYnJ1YXJ5IDcsIDIwMjIg MTA6MTEgUE0NCj4gVG86IEFraGlsIEdveWFsIDxnYWtoaWxAbWFydmVsbC5jb20+OyBkZXZAZHBk ay5vcmc7DQo+IG9saXZpZXIubWF0ekA2d2luZC5jb20NCj4gQ2M6IEFub29iIEpvc2VwaCA8YW5v b2JqQG1hcnZlbGwuY29tPjsgbWF0YW5AbnZpZGlhLmNvbTsNCj4ga29uc3RhbnRpbi5hbmFueWV2 QGludGVsLmNvbTsgdGhvbWFzQG1vbmphbG9uLm5ldDsNCj4gYW5kcmV3LnJ5YmNoZW5rb0Bva3Rl dGxhYnMucnU7IHJvc2VuLnh1QGludGVsLmNvbTsNCj4gZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNv bTsgcmFkdS5uaWNvbGF1QGludGVsLmNvbTsgSmVyaW4gSmFjb2INCj4gS29sbGFudWtrYXJhbiA8 amVyaW5qQG1hcnZlbGwuY29tPjsgc3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc7DQo+IG1kckBh c2hyb2UuZXUNCj4gU3ViamVjdDogUmU6IFtFWFRdIFJlOiBbUEFUQ0ggdjQgMi8zXSBldGhkZXY6 IGFkZCBtYnVmIGR5bmZpZWxkIGZvcg0KPiBpbmNvbXBsZXRlIElQIHJlYXNzZW1ibHkNCj4gDQo+ IE9uIDIvNy8yMDIyIDQ6MjAgUE0sIEFraGlsIEdveWFsIHdyb3RlOg0KPiA+PiBPbiAyLzcvMjAy MiAyOjIwIFBNLCBBa2hpbCBHb3lhbCB3cm90ZToNCj4gPj4+PiBPbiAyLzQvMjAyMiAxMDoxMyBQ TSwgQWtoaWwgR295YWwgd3JvdGU6DQo+ID4+Pj4+IEhhcmR3YXJlIElQIHJlYXNzZW1ibHkgbWF5 IGJlIGluY29tcGxldGUgZm9yIG11bHRpcGxlIHJlYXNvbnMgbGlrZQ0KPiA+Pj4+PiByZWFzc2Vt Ymx5IHRpbWVvdXQgcmVhY2hlZCwgZHVwbGljYXRlIGZyYWdtZW50cywgZXRjLg0KPiA+Pj4+PiBU byBzYXZlIGFwcGxpY2F0aW9uIGN5Y2xlcyB0byBwcm9jZXNzIHRoZXNlIHBhY2tldHMgYWdhaW4s IGEgbmV3DQo+ID4+Pj4+IG1idWYgZHluZmxhZyBpcyBhZGRlZCB0byBzaG93IHRoYXQgdGhlIG1i dWYgcmVjZWl2ZWQgaXMgbm90DQo+ID4+Pj4+IHJlYXNzZW1ibGVkIHByb3Blcmx5Lg0KPiA+Pj4+ Pg0KPiA+Pj4+PiBOb3cgaWYgdGhpcyBkeW5mbGFnIGlzIHNldCwgYXBwbGljYXRpb24gY2FuIHJl dHJpZXZlIGNvcnJlc3BvbmRpbmcNCj4gPj4+Pj4gY2hhaW4gb2YgbWJ1ZnMgdXNpbmcgbWJ1ZiBk eW5maWVsZCBzZXQgYnkgdGhlIFBNRC4gTm93LCBpdCB3aWxsIGJlDQo+ID4+Pj4+IHVwIHRvIGFw cGxpY2F0aW9uIHRvIGVpdGhlciBkcm9wIHRob3NlIGZyYWdtZW50cyBvciB3YWl0IGZvciBtb3Jl DQo+IHRpbWUuDQo+ID4+Pj4+DQo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFraGlsIEdveWFsIDxn YWtoaWxAbWFydmVsbC5jb20+DQo+ID4+Pj4+IENoYW5nZS1JZDogSTExODg0N2NkNjI2OWRhN2U2 MzEzYWM0ZTBkOTcwZDc5MGRmZWYxZmYNCj4gPj4+Pj4gLS0tDQo+ID4+Pj4+ICAgICBsaWIvZXRo ZGV2L2V0aGRldl9kcml2ZXIuaCB8ICA4ICsrKysrKysrDQo+ID4+Pj4+ICAgICBsaWIvZXRoZGV2 L3J0ZV9ldGhkZXYuYyAgICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPj4+ Pj4gICAgIGxpYi9ldGhkZXYvcnRlX2V0aGRldi5oICAgIHwgMTcgKysrKysrKysrKysrKysrKysN Cj4gPj4+Pj4gICAgIGxpYi9ldGhkZXYvdmVyc2lvbi5tYXAgICAgIHwgIDEgKw0KPiA+Pj4+PiAg ICAgbGliL21idWYvcnRlX21idWZfZHluLmggICAgfCAgOSArKysrKysrKysNCj4gPj4+Pj4gICAg IDUgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBkaWZm IC0tZ2l0IGEvbGliL2V0aGRldi9ldGhkZXZfZHJpdmVyLmggYi9saWIvZXRoZGV2L2V0aGRldl9k cml2ZXIuaA0KPiA+Pj4+PiBpbmRleCA4ZmU3N2YyODNmLi42Y2ZiMjY2ZjdkIDEwMDY0NA0KPiA+ Pj4+PiAtLS0gYS9saWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuaA0KPiA+Pj4+PiArKysgYi9saWIv ZXRoZGV2L2V0aGRldl9kcml2ZXIuaA0KPiA+Pj4+PiBAQCAtMTcwNyw2ICsxNzA3LDE0IEBAIGlu dA0KPiA+Pj4+PiAgICAgcnRlX2V0aF9oYWlycGluX3F1ZXVlX3BlZXJfdW5iaW5kKHVpbnQxNl90 IGN1cl9wb3J0LCB1aW50MTZfdA0KPiA+Pj4+IGN1cl9xdWV1ZSwNCj4gPj4+Pj4gICAgIAkJCQkg IHVpbnQzMl90IGRpcmVjdGlvbik7DQo+ID4+Pj4+DQo+ID4+Pj4+ICsvKioNCj4gPj4+Pj4gKyAq IEBpbnRlcm5hbA0KPiA+Pj4+PiArICogUmVnaXN0ZXIgbWJ1ZiBkeW5hbWljIGZpZWxkIGFuZCBm bGFnIGZvciBJUCByZWFzc2VtYmx5IGluY29tcGxldGUNCj4gY2FzZS4NCj4gPj4+Pj4gKyAqLw0K PiA+Pj4+PiArX19ydGVfaW50ZXJuYWwNCj4gPj4+Pj4gK2ludA0KPiA+Pj4+PiArcnRlX2V0aF9p cF9yZWFzc19keW5maWVsZF9yZWdpc3RlcihpbnQgKmZpZWxkX29mZnNldCwgaW50ICpmbGFnKTsN Cj4gPj4+Pj4gKw0KPiA+Pj4+Pg0KPiA+Pj4+PiAgICAgLyoNCj4gPj4+Pj4gICAgICAqIExlZ2Fj eSBldGhkZXYgQVBJIHVzZWQgaW50ZXJuYWxseSBieSBkcml2ZXJzLg0KPiA+Pj4+PiBkaWZmIC0t Z2l0IGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmMgYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuYw0K PiA+Pj4+PiBpbmRleCA4OGNhNGNlODY3Li40ODM2N2RiZWMxIDEwMDY0NA0KPiA+Pj4+PiAtLS0g YS9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuYw0KPiA+Pj4+PiArKysgYi9saWIvZXRoZGV2L3J0ZV9l dGhkZXYuYw0KPiA+Pj4+PiBAQCAtNjU2Nyw2ICs2NTY3LDM0IEBAIHJ0ZV9ldGhfaXBfcmVhc3Nl bWJseV9jb25mX3NldCh1aW50MTZfdA0KPiA+Pj4+IHBvcnRfaWQsDQo+ID4+Pj4+ICAgICAJCSAg ICAgICAoKmRldi0+ZGV2X29wcy0+aXBfcmVhc3NlbWJseV9jb25mX3NldCkoZGV2LA0KPiBjb25m KSk7DQo+ID4+Pj4+ICAgICB9DQo+ID4+Pj4+DQo+ID4+Pj4+ICtpbnQNCj4gPj4+Pj4gK3J0ZV9l dGhfaXBfcmVhc3NfZHluZmllbGRfcmVnaXN0ZXIoaW50ICpmaWVsZF9vZmZzZXQsIGludA0KPiAq ZmxhZ19vZmZzZXQpDQo+ID4+Pj4+ICt7DQo+ID4+Pj4+ICsJc3RhdGljIGNvbnN0IHN0cnVjdCBy dGVfbWJ1Zl9keW5maWVsZCBmaWVsZF9kZXNjID0gew0KPiA+Pj4+PiArCQkubmFtZSA9IFJURV9N QlVGX0RZTkZJRUxEX0lQX1JFQVNTX05BTUUsDQo+ID4+Pj4+ICsJCS5zaXplID0gc2l6ZW9mKHJ0 ZV9ldGhfaXBfcmVhc3NfZHluZmllbGRfdCksDQo+ID4+Pj4+ICsJCS5hbGlnbiA9IF9fYWxpZ25v Zl9fKHJ0ZV9ldGhfaXBfcmVhc3NfZHluZmllbGRfdCksDQo+ID4+Pj4+ICsJfTsNCj4gPj4+Pj4g KwlzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9tYnVmX2R5bmZsYWcgaXBfcmVhc3NfZHluZmxhZyA9 IHsNCj4gPj4+Pj4gKwkJLm5hbWUgPQ0KPiA+Pj4+IFJURV9NQlVGX0RZTkZMQUdfSVBfUkVBU1Nf SU5DT01QTEVURV9OQU1FLA0KPiA+Pj4+PiArCX07DQo+ID4+Pj4+ICsJaW50IG9mZnNldDsNCj4g Pj4+Pj4gKw0KPiA+Pj4+PiArCW9mZnNldCA9IHJ0ZV9tYnVmX2R5bmZpZWxkX3JlZ2lzdGVyKCZm aWVsZF9kZXNjKTsNCj4gPj4+Pj4gKwlpZiAob2Zmc2V0IDwgMCkNCj4gPj4+Pj4gKwkJcmV0dXJu IC0xOw0KPiA+Pj4+PiArCWlmIChmaWVsZF9vZmZzZXQgIT0gTlVMTCkNCj4gPj4+Pj4gKwkJKmZp ZWxkX29mZnNldCA9IG9mZnNldDsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArCW9mZnNldCA9IHJ0ZV9t YnVmX2R5bmZsYWdfcmVnaXN0ZXIoJmlwX3JlYXNzX2R5bmZsYWcpOw0KPiA+Pj4+PiArCWlmIChv ZmZzZXQgPCAwKQ0KPiA+Pj4+PiArCQlyZXR1cm4gLTE7DQo+ID4+Pj4+ICsJaWYgKGZsYWdfb2Zm c2V0ICE9IE5VTEwpDQo+ID4+Pj4+ICsJCSpmbGFnX29mZnNldCA9IG9mZnNldDsNCj4gPj4+Pj4g Kw0KPiA+Pj4+PiArCXJldHVybiAwOw0KPiA+Pj4+PiArfQ0KPiA+Pj4+PiArDQo+ID4+Pj4NCj4g Pj4+PiBIb3cgbWFuZGF0b3J5IGlzIHRoaXMgZmllbGQgZm9yIHRoZSBmZWF0dXJlPw0KPiA+Pj4+ DQo+ID4+Pj4gSWYgJ3J0ZV9ldGhfaXBfcmVhc3NfZHluZmllbGRfcmVnaXN0ZXIoKScgZmFpbHMs IHdoYXQgUE1EIHNob3VsZCBkbz8NCj4gPj4+PiBTaG91bGQgdGhpcyBBUEkgY2FsbGVkIGJlZm9y ZSAncnRlX2V0aF9pcF9yZWFzc2VtYmx5X2NhcGFiaWxpdHlfZ2V0KCknDQo+IGFuZA0KPiA+Pj4+ IGlmIHJlZ2lzdGVyaW5nIGRueWZpZWxkIGZhaWxzIHNob3VsZCBQTUQgcmV0dXJuIGZlYXR1cmUg YXMgbm90DQo+IHN1cHBvcnRlZD8NCj4gPj4+DQo+ID4+PiBEeW5maWVsZCBpcyBhZGRlZCBmb3Ig dGhlIGVycm9yLyBpbmNvbXBsZXRlIHJlYXNzZW1ibHkgY2FzZS4NCj4gPj4+IElmIHRoZSBkeW5m aWVsZCBpcyBub3QgcmVnaXN0ZXJlZCwgdGhlIGZlYXR1cmUgY2FuIHdvcmsgd2VsbCBmb3Igc3Vj Y2Vzcw0KPiA+PiBzY2VuYXJpb3MuDQo+ID4+PiBEeW5maWVsZCByZWdpc3RyYXRpb24gaXMgcmVz cG9uc2liaWxpdHkgb2YgUE1EIGFuZCBpdCBpcyB1cHRvIHRoZSBkcml2ZXIgdG8NCj4gZGVjaWRl DQo+ID4+PiB3aGVuIHRvIHNldCB0aGUgZHluZmllbGQuIFRoZSByZWdpc3RyYXRpb24gY2FuIGJl IGRvbmUgaW4gY29uZl9zZXQoKSBBUEkuDQo+ID4+Pg0KPiA+Pj4+DQo+ID4+Pj4gQ2FuIHlvdSBw bGVhc2UgZGVzY3JpYmUgdGhpcyBkZXBlbmRlbmN5LCBwcmVmZXJhYmxlIGluIHRoZQ0KPiA+Pj4+ ICdydGVfZXRoX2lwX3JlYXNzZW1ibHlfY2FwYWJpbGl0eV9nZXQoKScgZG94eWdlbiBjb21tZW50 Pw0KPiA+Pj4NCj4gPj4+IENhcGFiaWxpdHkgZ2V0IGlzIG5vdCBhIHBsYWNlIHdoZXJlIHRoZSBm ZWF0dXJlIGlzIGVuYWJsZWQuDQo+ID4+PiBEeW5maWVsZCBzaG91bGQgYmUgcmVnaXN0ZXJlZCBv bmx5IGluIGNhc2UgdGhlIGZlYXR1cmUgaXMgZW5hYmxlZC4NCj4gPj4+IEkgd2lsbCBhZGQgZm9s bG93aW5nIGxpbmUgaW4gY29uZl9zZXQoKSBkb3h5Z2VuIGNvbW1lbnQuDQo+ID4+Pg0KPiA+Pj4g VGhlIFBNRCBzaG91bGQgY2FsbCAncnRlX2V0aF9pcF9yZWFzc19keW5maWVsZF9yZWdpc3Rlcigp JyB3aGVuDQo+ID4+PiB0aGUgZmVhdHVyZSBpcyBlbmFibGVkIGFuZCByZXR1cm4gZXJyb3IgaWYg ZHluZmllbGQgaXMgbm90IHJlZ2lzdGVyZWQuDQo+ID4+PiBEeW5maWVsZCBpcyBuZWVkZWQgdG8g Z2l2ZSBwYWNrZXRzIGJhY2sgdG8gdGhlIGFwcGxpY2F0aW9uIGluIGNhc2UgdGhlDQo+ID4+PiBy ZWFzc2VtYmx5IGlzIG5vdCBjb21wbGV0ZS4NCj4gPj4+DQo+ID4+DQo+ID4+IENhbiB5b3UgYWxz byBjbGFyaWZ5IHdoYXQgUE1EIHNob3VsZCBkbyByZWxhdGVkIHRvIHRoZSBpcCByZWFzc2VtYmx5 DQo+IGZlYXR1cmUNCj4gPj4gd2hlbiByZWdpc3RlcmluZyBkeW5maWVsZCBmYWlscz8gU2hvdWxk IGl0IGtlZXAgdGhlIGZlYXR1cmUgZW5hYmxlZCBvcg0KPiBkaXNhYmxlZD8NCj4gPj4NCj4gPj4g VGhpcyB3aWxsIGFsc28gY2xhcmlmeSBmb3IgdGhlIGFwcGxpY2F0aW9uLCBpZiBhcHBsaWNhdGlv biBkZXRlY3RzIHRoYXQNCj4gPj4gJ1JURV9NQlVGX0RZTkZJRUxEX0lQX1JFQVNTX05BTUUnIGlz IG5vdCByZWdpc3RlcmVkIGhvdyBpdCBzaG91bGQNCj4gPj4gYmVoYXZlPw0KPiA+PiBJZ25vcmUg aXQ/IEZhaWw/IERpc2FibGUgaXAgcmVhc3NlbWJseT8NCj4gPg0KPiA+IFRoZSBQTUQgY2FuIHJl dHVybiBlcnJvciBpbiB0aGUgY29uZl9zZXQgQVBJLCBpZiBkeW5maWVsZCBpcyBub3Qgc3VjY2Vz c2Z1bGx5DQo+ID4gcmVnaXN0ZXJlZC4gT3IgaW4gY2FzZSBvZiBpbmxpbmUgSVBzZWMsIHRoZSBQ TUQgY2FuIHJldHVybiB0aGUgZXJyb3Igd2hpbGUNCj4gPiBjcmVhdGluZyBpbmxpbmUgc2VjdXJp dHkgc2Vzc2lvbi4NCj4gPg0KPiANCj4gSSB0aGluayBiZXR0ZXIgdG8gaGFuZGxlIGluIHRoZSBj b25mX3NldCwgc2luY2UgdGhlcmUgY2FuIGJlIG90aGVyIHVzZXJzIHRoYW4NCj4gSVBTZWMuDQoN CkkgdGhpbmsgaXQgY2FuIGJlIGxlZnQgdG8gdGhlIFBNRCwgYXMgdGhlcmUgY2FuIGJlIGNhc2Vz IHdoZW4gcmVhc3NlbWJseSBpcyBzdXBwb3J0ZWQNCk9ubHkgd2l0aCBJUHNlYyBmbG93cyBhbmQg bm90IHdpdGggbm9ybWFsIElQIHBhY2tldHMuDQpTbyByZWFzc2VtYmx5IG1heSBnZXQgZW5hYmxl ZCBmb3IgSVBzZWMgZmxvd3Mgb25seSB3aGVuIHNlY3VyaXR5IHNlc3Npb24gaXMgY3JlYXRlZC4N CkluIHRoYXQgY2FzZSBzZXNzaW9uIGNyZWF0aW9uIHdpbGwgZmFpbC4NCg0KPiANCj4gPiBIZW5j ZSB0aGUgYXBwbGljYXRpb24gd2lsbCBnZXQgdG8ga25vdyBpZiB0aGUgZHluZmllbGQgaXMgc3Vj Y2Vzc2Z1bGx5DQo+IGNvbmZpZ3VyZWQNCj4gPiBPciBub3QuDQo+IA0KPiBBcHBsaWNhdGlvbiBh bHJlYWR5IGNhbiBrbm93IGlmIGR5bmZpZWxkIGlzIHJlZ2lzdGVyZWQgb3Igbm90IHZpYQ0KPiAn cnRlX21idWZfZHluZmllbGRfbG9va3VwKCknLg0KPiANCj4gPiBJZiB0aGUgZHluZmllbGQgaXMg bm90IGNvbmZpZ3VyZWQsIFBNRCB3aWxsIHJldHVybiBjb25maWd1cmF0aW9uIGVycm9yDQo+ID4g KGVpdGhlciBpbiBjb25mX3NldCBvciBpbiBzZWN1cml0eV9zZXNzaW9uX2NyZWF0ZSkgYW5kIGZl YXR1cmUNCj4gPiB3aWxsIG5vdCBiZSBlbmFibGVkLg0KPiA+DQo+IA0KPiBhY2suDQo+IFdoYXQg ZG8geW91IHRoaW5rIHRvIGRvY3VtZW50IHRoaXMgaW4gdGhlIEFQSSBkb2N1bWVudGF0aW9uIChk b3h5Z2VuDQo+IGNvbW1lbnQpPw0KT2sgSSB3aWxsIHRyeSB0byBjbGFyaWZ5IHRoaXMgaW4gZG94 eWdlbiBjb21tZW50cy4NCg==