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 21B33A04A3; Mon, 7 Feb 2022 17:20:54 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C0E6A410F6; Mon, 7 Feb 2022 17:20:53 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 92541410F3 for ; Mon, 7 Feb 2022 17:20:51 +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 2178oe0D019024; Mon, 7 Feb 2022 08:20:48 -0800 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2172.outbound.protection.outlook.com [104.47.58.172]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3e3095skgp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Feb 2022 08:20:47 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rp++983ryABm7qWdmyFnAXJ5g9s2+9DIjGmQOWnMMlh5UN9Ou/61+be2OJljXT4WxEocZR8fyV1lBzIfLtgCfiAKR7ZTFUL0zKv9vMJeDaacSH1BBanzyn8Cc2OCZ1kJPkI/HMFRBuU2B0nEi8Z3gsLNNDxjhQB3SPlh7OxTDV0Jb9J65CkALhTDibeUAac3jH/uvg4J4ytpnxVrOnS25PXXD+n1EELimdDRqYbxxisgO0CfbACRaxrGWy+XiaL2bDH4oPbybd/0MiezDlkccOzBFbLVLUVP5qBuf9b5SMchIKux4E57gWLhg63bQZesL6gLLEhwWMGe1KJxtWCavw== 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=2WytFtH7qXgmvDy3c+VpNS+7UmUyTdYq7UM8hELafpM=; b=lIl8vLsfPQGpZ7eNq0qLCiSJMaYdVvc4wzwr+bgJ5kubyu2VsAqABHclnEs8bS8e9LkUzDUatd6ZZZeQ5onl5z3DsoDkbV4zd79rCjiSr9o5v/D1HPXbj+lemFHVhyRVoHk6NCHiPtvHQYkHPcmXfkSrA0dDAfgVFR9TJ9qTvffTWc3niYQ+2I9GEFmXUtrqV/UH3JofsFHob/PsBAhZFmg245LIbs6J03dB6V94FhAIsJiKRso6qB2Kej4g47netRC3AuioHKueA+jda0Cg1pC+sujZphKBtMo1um9E9STYc1ayqUzzlEQh7WFe1BtELbEFObVa/6d2sBA2dGyk+A== 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=2WytFtH7qXgmvDy3c+VpNS+7UmUyTdYq7UM8hELafpM=; b=uAFUIDs+QQZft5dJpwnSnrF/tLg2f75gYniTcQnazMgg+z4uNDUeCGuUpH2u7eySUN1qGo3EP55dEJkSqV6pZZTPhwqfSUeJQTI++f3FrjBXYtOHyBeBdVftX0caZZJMJJIoLJEwFDiO+NE+EA6SnXkBtghP1DvY6aJG04NhQog= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by BN6PR18MB1282.namprd18.prod.outlook.com (2603:10b6:404:e8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.19; Mon, 7 Feb 2022 16:20:44 +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 16:20:44 +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/A Date: Mon, 7 Feb 2022 16:20:44 +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> In-Reply-To: <03b80bd0-64b1-2cda-c982-e42108ffce6c@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: a9cef3de-eb16-4de6-3d62-08d9ea55cab1 x-ms-traffictypediagnostic: BN6PR18MB1282:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:272; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Mn6dSOL1BqsawszG3brM7FShgm2sx+ADCkG6M7BZWm4GfKXfD3ojM2TVzcYhEJUqOF0Jfa3PJbmxFKOBtYpkh25qmwkjnt0AZ1GofrDKouVyJlGC5jBc3XB25PzFTT4DwJ5o7MS+4ucKFz/qH416uDauYgK60UoHggV+ELV6QOe/TP69h0w6SrGDAnIxL0AGriUGtGcw2zVP2C3XZIuuyFU8AgFl0qrVKa7er96Rao/VBChxkLc6Lxr1D/tLTIqUDev95812Yk96pcjAOsNY+aqFSxvO/uCyMQKUwi+MJxMxGMRwIxdgepixkLJ/4TM4u7M77dF9G5RSiZNXiNF673sy0eLzKnvsMuZZ2w/tmXm77jXLdIbEttqIbvNKN0GMKSeHvTXSNdj4Rso385reWL02MOAJqpV+sXZcQKXDrGaVa0yt2exVgcVBcr/Y2A2k32bNFHSzvrJFgF56KdvsNiF49D72VqH/7f93cqcQQf1Pe/0l0xYIVsrbsuj8IBLBOoMP5iq1QZO+hdGdmS0gPt6b3lW+iVmNXKqgFmVWk/9i2KWi7FScCC4qSmJT6tabmGwx6/Z9sreR/lhZ2HfwSTWyUSe6j6SdkNsGxqw5x7CPr/gfXAabYNZRWGb8eSo5RbG/xGhXZVfcOWr3NTilbK/yI4pITxreet8DSdjkMATfSyBiMS4hePi+oAKlrI+0+dWDaQH2AQybknWA2MHkIg== 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)(316002)(122000001)(54906003)(7696005)(83380400001)(6506007)(71200400001)(66946007)(9686003)(64756008)(53546011)(55236004)(8936002)(66556008)(66476007)(66446008)(4326008)(86362001)(8676002)(76116006)(38070700005)(38100700002)(7416002)(508600001)(26005)(2906002)(186003)(52536014)(55016003)(110136005)(5660300002)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OHNnaXV3WWZteFVjbGF0NXJXdFdpUG5oYVZtM1ZKZ25nc0x3TnhXYlBTaDF3?= =?utf-8?B?Z2lIbkZHNnpSWkhRT3hjS0dlbXF6bjFxTk0vM1pWamRsZmh6UGFPU0xsczlm?= =?utf-8?B?Q0VINGdheVM5bWJCNEpYN0thNHRkYnhHU3ZQUExwRDZqS2UvLzFjUVQ3Y0wr?= =?utf-8?B?eUJ1SHBIVUxkZTdQbEhXYk9rOTVHWWR3WmdSRDRKeFBNL1JpdW8wUlZtc3Jh?= =?utf-8?B?TFh3Tm5QSnYxdkQwQmNXbkFNTVZaM2ZYV3YyVVJlT01tYXN3TlZ0NDBTNGh3?= =?utf-8?B?WVczUW5MZjhNNEpibGNZR04zMkRFTjg1bjNWcDRWbUE0ZGg0dVVSK1FHZXJ0?= =?utf-8?B?L3FyOEM0UHVpM3ZZaFlQajk2T05BV0g1Nm9ZRk1vWFFBaHlJUk12NTV0NERl?= =?utf-8?B?bUtRNVhzdFZaRHNUYk9FNHAyM1ZNbjBHUTMzK294N3BXL1dGN0RJRFRXdWdU?= =?utf-8?B?eW00NjVDeFRXQ1JHVmdqaUVKdUNqd3dUQ2hXL2xTK1hkSGE1Y3R2SEZOT0cy?= =?utf-8?B?YVR2Qlo1V0hFc2MrR21sWXZqekJ6N2Q3MGlkWUlQN0NyZ0MwTi9ZQS83TThw?= =?utf-8?B?dkZVREp3YlJYVzdvYktGRVJkN3g4WUdWWmRKY1RWbWY4Q1hUWk9qTm9RKzkr?= =?utf-8?B?SDJPNFU5WEl6VDZMZjhidFRuOHhnalNvaUNTai96SUs5M2dacmJCVHJvSnVu?= =?utf-8?B?NktWVFErZkZiUTAxTG9DWExyN28yUENTOTl0cXErNlFNLzBtRnBzVG13a1Yx?= =?utf-8?B?UTRPNkVXeXdnSTdYdEM3K3QwTVNmaExpdE5yN2dQTGhPR0hNRWpZcTRteG1k?= =?utf-8?B?ZkRSaWVXQS9pVzFTcW4zMmh0WTJ4bWkzMjBjejdjc1ptd3RqcnhLcXdIb2I4?= =?utf-8?B?SUdZNHkxaTQ0QUhNanNSdndKOHVzU0lsa1g2YUx6YWFLTVYrYjhCanpTNEUv?= =?utf-8?B?QUhydVdCcVV1dFNBcnVpa1crWVpXdlBERzFjNDZyeThiK0hxQ01USUNOeEJG?= =?utf-8?B?OWVSTGNNK3pPNzlkUzlXaXVuSnJrOWdQZ3VZZ2ljVXgwSHRlMDAxVDRYY1Mw?= =?utf-8?B?OUpqY1Y3QlYyYnRGekpFUHFPcklDdG9CSlZ3aERkVE9TVmtTNExxQ2RXd1ly?= =?utf-8?B?eVk5cmMzWmxEYmR5cWUvZTllcmo3TTg2N1NaaW9tOEZiMVpXdE9wRlFiUHNM?= =?utf-8?B?Nm9UTW5TWDh3aU5keVd6RW85MmVtTVRkSm84aHZlamsxVkI1OHJkTzdMOTBu?= =?utf-8?B?NW4wY3IwNTFWOTR5YkdQL3dPSHhYcDMxWDBCQ0tKeGtZclBQdE5Ed0FITklr?= =?utf-8?B?cEovQXRnN3haMXlsYW5vNndpSUNNTkVaMGR2RS9TSnR1VUR0Q3pubkh2c2Zi?= =?utf-8?B?UW1oK3NKSVowZnVMMFhCRUVxVkdxd0dkcFdpQkd1UmhWR3RZb0NJekRHWUlL?= =?utf-8?B?RndhNFJaYldKTGxsSHdtcXA1YWV6NGJCeW1ZTHRTSy90bHRzVG1wWFZOVWVj?= =?utf-8?B?U05HL2d0YkNtT1dBNEVsaW1uRC92SzN2eWZ1NWx6Y2VlQlJ4anFmSFpFSGJI?= =?utf-8?B?ZWhjbGFNQnlnalUxeVNJSlh6SlQzNFBkVUYzNDhiVDFHeklhNlU0R21La1Bv?= =?utf-8?B?a1dqaTlTcXRZdGEzcXE2NzFWZ3VMVitDZ2pEQVhYcmVDeXJSQndQWGJjOEQ3?= =?utf-8?B?SzZmcjFUMkhHQTlvNER5TFZWNmFBRjY5cjByeTArVGJDVG5IVVZtK0RuRk13?= =?utf-8?B?a1NObDdtUjVHckdTcXZHUlc5b1lnYkRhM3hUSGhsbi9hbCtGbzBKbWRIem9H?= =?utf-8?B?cjFHaXUwUWE0bHl6aGxkV3oyVjk5YW83N1JHVmxCRFRVRTFpSzg5NGU0cVRT?= =?utf-8?B?L1c4Z0NZRDZLbno1b0xDMXhRZW9BZkxjcm9tTksrRmxIWWhoejl3TjcydjQ4?= =?utf-8?B?ZWtyV2dLTTFtb1I2UUh1a1dHY1JFejdJcUl0dHNLWFZTVWdGRG0rTEdsYm55?= =?utf-8?B?WFJhOTY1MGVvQ25oQll6OHNOa2tRYkxoZWVabE1wMUxUNjBWQklEZ2xaOG1Q?= =?utf-8?B?b0hRSEdxNFBqQS9lRmFBUW1odzZyL1JPYWhzQ296V0pQbDVHeEpsYmlzYTRP?= =?utf-8?B?R3FWckVsMVRocElrbG0rTnVqZ0VaVjkvVTFHVXZ1S3J2VTBXck11aWtHd1Iy?= =?utf-8?Q?J3AENzCGp+Ak6eXVXiLV76o=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: a9cef3de-eb16-4de6-3d62-08d9ea55cab1 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Feb 2022 16:20:44.2119 (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: qud91r1pyVe1tyOsdHMuhQCDeaD+PPlyizrsnt48+QHhFwHOSvXF8Zu9K/ChUuN4FwxoyEmvVgxMV/YEnDhYjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR18MB1282 X-Proofpoint-ORIG-GUID: zmIFCxIjMgyHnTwgcNVRcnb9SKPVCX2d X-Proofpoint-GUID: zmIFCxIjMgyHnTwgcNVRcnb9SKPVCX2d 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 PiBPbiAyLzcvMjAyMiAyOjIwIFBNLCBBa2hpbCBHb3lhbCB3cm90ZToNCj4gPj4gT24gMi80LzIw MjIgMTA6MTMgUE0sIEFraGlsIEdveWFsIHdyb3RlOg0KPiA+Pj4gSGFyZHdhcmUgSVAgcmVhc3Nl bWJseSBtYXkgYmUgaW5jb21wbGV0ZSBmb3IgbXVsdGlwbGUgcmVhc29ucyBsaWtlDQo+ID4+PiBy ZWFzc2VtYmx5IHRpbWVvdXQgcmVhY2hlZCwgZHVwbGljYXRlIGZyYWdtZW50cywgZXRjLg0KPiA+ Pj4gVG8gc2F2ZSBhcHBsaWNhdGlvbiBjeWNsZXMgdG8gcHJvY2VzcyB0aGVzZSBwYWNrZXRzIGFn YWluLCBhIG5ldw0KPiA+Pj4gbWJ1ZiBkeW5mbGFnIGlzIGFkZGVkIHRvIHNob3cgdGhhdCB0aGUg bWJ1ZiByZWNlaXZlZCBpcyBub3QNCj4gPj4+IHJlYXNzZW1ibGVkIHByb3Blcmx5Lg0KPiA+Pj4N Cj4gPj4+IE5vdyBpZiB0aGlzIGR5bmZsYWcgaXMgc2V0LCBhcHBsaWNhdGlvbiBjYW4gcmV0cmll dmUgY29ycmVzcG9uZGluZw0KPiA+Pj4gY2hhaW4gb2YgbWJ1ZnMgdXNpbmcgbWJ1ZiBkeW5maWVs ZCBzZXQgYnkgdGhlIFBNRC4gTm93LCBpdCB3aWxsIGJlDQo+ID4+PiB1cCB0byBhcHBsaWNhdGlv biB0byBlaXRoZXIgZHJvcCB0aG9zZSBmcmFnbWVudHMgb3Igd2FpdCBmb3IgbW9yZSB0aW1lLg0K PiA+Pj4NCj4gPj4+IFNpZ25lZC1vZmYtYnk6IEFraGlsIEdveWFsIDxnYWtoaWxAbWFydmVsbC5j b20+DQo+ID4+PiBDaGFuZ2UtSWQ6IEkxMTg4NDdjZDYyNjlkYTdlNjMxM2FjNGUwZDk3MGQ3OTBk ZmVmMWZmDQo+ID4+PiAtLS0NCj4gPj4+ICAgIGxpYi9ldGhkZXYvZXRoZGV2X2RyaXZlci5oIHwg IDggKysrKysrKysNCj4gPj4+ICAgIGxpYi9ldGhkZXYvcnRlX2V0aGRldi5jICAgIHwgMjggKysr KysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+Pj4gICAgbGliL2V0aGRldi9ydGVfZXRoZGV2 LmggICAgfCAxNyArKysrKysrKysrKysrKysrKw0KPiA+Pj4gICAgbGliL2V0aGRldi92ZXJzaW9u Lm1hcCAgICAgfCAgMSArDQo+ID4+PiAgICBsaWIvbWJ1Zi9ydGVfbWJ1Zl9keW4uaCAgICB8ICA5 ICsrKysrKysrKw0KPiA+Pj4gICAgNSBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspDQo+ ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvZXRoZGV2X2RyaXZlci5oIGIvbGli L2V0aGRldi9ldGhkZXZfZHJpdmVyLmgNCj4gPj4+IGluZGV4IDhmZTc3ZjI4M2YuLjZjZmIyNjZm N2QgMTAwNjQ0DQo+ID4+PiAtLS0gYS9saWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuaA0KPiA+Pj4g KysrIGIvbGliL2V0aGRldi9ldGhkZXZfZHJpdmVyLmgNCj4gPj4+IEBAIC0xNzA3LDYgKzE3MDcs MTQgQEAgaW50DQo+ID4+PiAgICBydGVfZXRoX2hhaXJwaW5fcXVldWVfcGVlcl91bmJpbmQodWlu dDE2X3QgY3VyX3BvcnQsIHVpbnQxNl90DQo+ID4+IGN1cl9xdWV1ZSwNCj4gPj4+ICAgIAkJCQkg IHVpbnQzMl90IGRpcmVjdGlvbik7DQo+ID4+Pg0KPiA+Pj4gKy8qKg0KPiA+Pj4gKyAqIEBpbnRl cm5hbA0KPiA+Pj4gKyAqIFJlZ2lzdGVyIG1idWYgZHluYW1pYyBmaWVsZCBhbmQgZmxhZyBmb3Ig SVAgcmVhc3NlbWJseSBpbmNvbXBsZXRlIGNhc2UuDQo+ID4+PiArICovDQo+ID4+PiArX19ydGVf aW50ZXJuYWwNCj4gPj4+ICtpbnQNCj4gPj4+ICtydGVfZXRoX2lwX3JlYXNzX2R5bmZpZWxkX3Jl Z2lzdGVyKGludCAqZmllbGRfb2Zmc2V0LCBpbnQgKmZsYWcpOw0KPiA+Pj4gKw0KPiA+Pj4NCj4g Pj4+ICAgIC8qDQo+ID4+PiAgICAgKiBMZWdhY3kgZXRoZGV2IEFQSSB1c2VkIGludGVybmFsbHkg YnkgZHJpdmVycy4NCj4gPj4+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuYyBi L2xpYi9ldGhkZXYvcnRlX2V0aGRldi5jDQo+ID4+PiBpbmRleCA4OGNhNGNlODY3Li40ODM2N2Ri ZWMxIDEwMDY0NA0KPiA+Pj4gLS0tIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmMNCj4gPj4+ICsr KyBiL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5jDQo+ID4+PiBAQCAtNjU2Nyw2ICs2NTY3LDM0IEBA IHJ0ZV9ldGhfaXBfcmVhc3NlbWJseV9jb25mX3NldCh1aW50MTZfdA0KPiA+PiBwb3J0X2lkLA0K PiA+Pj4gICAgCQkgICAgICAgKCpkZXYtPmRldl9vcHMtPmlwX3JlYXNzZW1ibHlfY29uZl9zZXQp KGRldiwgY29uZikpOw0KPiA+Pj4gICAgfQ0KPiA+Pj4NCj4gPj4+ICtpbnQNCj4gPj4+ICtydGVf ZXRoX2lwX3JlYXNzX2R5bmZpZWxkX3JlZ2lzdGVyKGludCAqZmllbGRfb2Zmc2V0LCBpbnQgKmZs YWdfb2Zmc2V0KQ0KPiA+Pj4gK3sNCj4gPj4+ICsJc3RhdGljIGNvbnN0IHN0cnVjdCBydGVfbWJ1 Zl9keW5maWVsZCBmaWVsZF9kZXNjID0gew0KPiA+Pj4gKwkJLm5hbWUgPSBSVEVfTUJVRl9EWU5G SUVMRF9JUF9SRUFTU19OQU1FLA0KPiA+Pj4gKwkJLnNpemUgPSBzaXplb2YocnRlX2V0aF9pcF9y ZWFzc19keW5maWVsZF90KSwNCj4gPj4+ICsJCS5hbGlnbiA9IF9fYWxpZ25vZl9fKHJ0ZV9ldGhf aXBfcmVhc3NfZHluZmllbGRfdCksDQo+ID4+PiArCX07DQo+ID4+PiArCXN0YXRpYyBjb25zdCBz dHJ1Y3QgcnRlX21idWZfZHluZmxhZyBpcF9yZWFzc19keW5mbGFnID0gew0KPiA+Pj4gKwkJLm5h bWUgPQ0KPiA+PiBSVEVfTUJVRl9EWU5GTEFHX0lQX1JFQVNTX0lOQ09NUExFVEVfTkFNRSwNCj4g Pj4+ICsJfTsNCj4gPj4+ICsJaW50IG9mZnNldDsNCj4gPj4+ICsNCj4gPj4+ICsJb2Zmc2V0ID0g cnRlX21idWZfZHluZmllbGRfcmVnaXN0ZXIoJmZpZWxkX2Rlc2MpOw0KPiA+Pj4gKwlpZiAob2Zm c2V0IDwgMCkNCj4gPj4+ICsJCXJldHVybiAtMTsNCj4gPj4+ICsJaWYgKGZpZWxkX29mZnNldCAh PSBOVUxMKQ0KPiA+Pj4gKwkJKmZpZWxkX29mZnNldCA9IG9mZnNldDsNCj4gPj4+ICsNCj4gPj4+ ICsJb2Zmc2V0ID0gcnRlX21idWZfZHluZmxhZ19yZWdpc3RlcigmaXBfcmVhc3NfZHluZmxhZyk7 DQo+ID4+PiArCWlmIChvZmZzZXQgPCAwKQ0KPiA+Pj4gKwkJcmV0dXJuIC0xOw0KPiA+Pj4gKwlp ZiAoZmxhZ19vZmZzZXQgIT0gTlVMTCkNCj4gPj4+ICsJCSpmbGFnX29mZnNldCA9IG9mZnNldDsN Cj4gPj4+ICsNCj4gPj4+ICsJcmV0dXJuIDA7DQo+ID4+PiArfQ0KPiA+Pj4gKw0KPiA+Pg0KPiA+ PiBIb3cgbWFuZGF0b3J5IGlzIHRoaXMgZmllbGQgZm9yIHRoZSBmZWF0dXJlPw0KPiA+Pg0KPiA+ PiBJZiAncnRlX2V0aF9pcF9yZWFzc19keW5maWVsZF9yZWdpc3RlcigpJyBmYWlscywgd2hhdCBQ TUQgc2hvdWxkIGRvPw0KPiA+PiBTaG91bGQgdGhpcyBBUEkgY2FsbGVkIGJlZm9yZSAncnRlX2V0 aF9pcF9yZWFzc2VtYmx5X2NhcGFiaWxpdHlfZ2V0KCknIGFuZA0KPiA+PiBpZiByZWdpc3Rlcmlu ZyBkbnlmaWVsZCBmYWlscyBzaG91bGQgUE1EIHJldHVybiBmZWF0dXJlIGFzIG5vdCBzdXBwb3J0 ZWQ/DQo+ID4NCj4gPiBEeW5maWVsZCBpcyBhZGRlZCBmb3IgdGhlIGVycm9yLyBpbmNvbXBsZXRl IHJlYXNzZW1ibHkgY2FzZS4NCj4gPiBJZiB0aGUgZHluZmllbGQgaXMgbm90IHJlZ2lzdGVyZWQs IHRoZSBmZWF0dXJlIGNhbiB3b3JrIHdlbGwgZm9yIHN1Y2Nlc3MNCj4gc2NlbmFyaW9zLg0KPiA+ IER5bmZpZWxkIHJlZ2lzdHJhdGlvbiBpcyByZXNwb25zaWJpbGl0eSBvZiBQTUQgYW5kIGl0IGlz IHVwdG8gdGhlIGRyaXZlciB0byBkZWNpZGUNCj4gPiB3aGVuIHRvIHNldCB0aGUgZHluZmllbGQu IFRoZSByZWdpc3RyYXRpb24gY2FuIGJlIGRvbmUgaW4gY29uZl9zZXQoKSBBUEkuDQo+ID4NCj4g Pj4NCj4gPj4gQ2FuIHlvdSBwbGVhc2UgZGVzY3JpYmUgdGhpcyBkZXBlbmRlbmN5LCBwcmVmZXJh YmxlIGluIHRoZQ0KPiA+PiAncnRlX2V0aF9pcF9yZWFzc2VtYmx5X2NhcGFiaWxpdHlfZ2V0KCkn IGRveHlnZW4gY29tbWVudD8NCj4gPg0KPiA+IENhcGFiaWxpdHkgZ2V0IGlzIG5vdCBhIHBsYWNl IHdoZXJlIHRoZSBmZWF0dXJlIGlzIGVuYWJsZWQuDQo+ID4gRHluZmllbGQgc2hvdWxkIGJlIHJl Z2lzdGVyZWQgb25seSBpbiBjYXNlIHRoZSBmZWF0dXJlIGlzIGVuYWJsZWQuDQo+ID4gSSB3aWxs IGFkZCBmb2xsb3dpbmcgbGluZSBpbiBjb25mX3NldCgpIGRveHlnZW4gY29tbWVudC4NCj4gPg0K PiA+IFRoZSBQTUQgc2hvdWxkIGNhbGwgJ3J0ZV9ldGhfaXBfcmVhc3NfZHluZmllbGRfcmVnaXN0 ZXIoKScgd2hlbg0KPiA+IHRoZSBmZWF0dXJlIGlzIGVuYWJsZWQgYW5kIHJldHVybiBlcnJvciBp ZiBkeW5maWVsZCBpcyBub3QgcmVnaXN0ZXJlZC4NCj4gPiBEeW5maWVsZCBpcyBuZWVkZWQgdG8g Z2l2ZSBwYWNrZXRzIGJhY2sgdG8gdGhlIGFwcGxpY2F0aW9uIGluIGNhc2UgdGhlDQo+ID4gcmVh c3NlbWJseSBpcyBub3QgY29tcGxldGUuDQo+ID4NCj4gDQo+IENhbiB5b3UgYWxzbyBjbGFyaWZ5 IHdoYXQgUE1EIHNob3VsZCBkbyByZWxhdGVkIHRvIHRoZSBpcCByZWFzc2VtYmx5IGZlYXR1cmUN Cj4gd2hlbiByZWdpc3RlcmluZyBkeW5maWVsZCBmYWlscz8gU2hvdWxkIGl0IGtlZXAgdGhlIGZl YXR1cmUgZW5hYmxlZCBvciBkaXNhYmxlZD8NCj4gDQo+IFRoaXMgd2lsbCBhbHNvIGNsYXJpZnkg Zm9yIHRoZSBhcHBsaWNhdGlvbiwgaWYgYXBwbGljYXRpb24gZGV0ZWN0cyB0aGF0DQo+ICdSVEVf TUJVRl9EWU5GSUVMRF9JUF9SRUFTU19OQU1FJyBpcyBub3QgcmVnaXN0ZXJlZCBob3cgaXQgc2hv dWxkDQo+IGJlaGF2ZT8NCj4gSWdub3JlIGl0PyBGYWlsPyBEaXNhYmxlIGlwIHJlYXNzZW1ibHk/ DQoNClRoZSBQTUQgY2FuIHJldHVybiBlcnJvciBpbiB0aGUgY29uZl9zZXQgQVBJLCBpZiBkeW5m aWVsZCBpcyBub3Qgc3VjY2Vzc2Z1bGx5DQpyZWdpc3RlcmVkLiBPciBpbiBjYXNlIG9mIGlubGlu ZSBJUHNlYywgdGhlIFBNRCBjYW4gcmV0dXJuIHRoZSBlcnJvciB3aGlsZQ0KY3JlYXRpbmcgaW5s aW5lIHNlY3VyaXR5IHNlc3Npb24uDQoNCkhlbmNlIHRoZSBhcHBsaWNhdGlvbiB3aWxsIGdldCB0 byBrbm93IGlmIHRoZSBkeW5maWVsZCBpcyBzdWNjZXNzZnVsbHkgY29uZmlndXJlZA0KT3Igbm90 Lg0KSWYgdGhlIGR5bmZpZWxkIGlzIG5vdCBjb25maWd1cmVkLCBQTUQgd2lsbCByZXR1cm4gY29u ZmlndXJhdGlvbiBlcnJvcg0KKGVpdGhlciBpbiBjb25mX3NldCBvciBpbiBzZWN1cml0eV9zZXNz aW9uX2NyZWF0ZSkgYW5kIGZlYXR1cmUNCndpbGwgbm90IGJlIGVuYWJsZWQuDQoNCg==