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 88CAAA034F; Mon, 7 Feb 2022 15:21:04 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 71EC7410F3; Mon, 7 Feb 2022 15:21:04 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 21EED410EA for ; Mon, 7 Feb 2022 15:21:02 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 217E7BdB017916; Mon, 7 Feb 2022 06:20:57 -0800 Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3e30b096h5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Feb 2022 06:20:57 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nY4ix7OW/zWWfD6U2KXDkZrW6rxGXk0+qFlzhr7I0AjAbX/wuzcEvgYRZw8KpcOrxchfFoQ2oBZXOFpq2nfwVwE4QDH1ymj2jmgFa4pPWueFYSaeydrpxLW+UxjdvJlT3jxPbDYwX1fmpsL/XY4PL9Yd6CYDroLXs/Jd+AF9hwOG6wfD1p2WzgnSdnsUOMGcHzkwppTsjQ8rLyHgi2PeduAsStN7bg6wDsIkDrMOs12kWGPBjM+reqeVLjUgvBboN68cPQ4xy6+Ob4oPnkJzI1eKhUyxwz704yI1vedVQO+yRIaq22OnLzHmChiM4tDsHpWNFlrxS1zK92Zk4xV+eQ== 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=+/USfpbacU7VpXLVPbgpll2nXiWFlpZRGu7+/giUr3g=; b=PsrTNSI8zYxGh049+5CWDhfYf3ji3jc647WtTqNMcJ1+l8KNzF8G57oZoNnoDIyqu9lga63uqL2WFXJHOUkXIyw2/uNlAl908E345XDyI9rtUqmrGKj/S/1j3R7fUCABDHagdjmtoekwJP7poFPKHIEP9CIcjFW5hj1KkPAK4lF/YEn4PTOZNl7mOXpVnsvzk7vTcI7j/xDay+CrrQUCXmyZjKbFe/rAmBgNPJyRu9kaiM42/jnGn7Gg6VfgpBxIlIYYVGe6fJaHkOjZMrFpDgy4eW4JDWpK5jyBUWdtTK8gQGFbOB5Vl+nIQwtOFyGRB9zFmrdr9D0REwr/8eiicQ== 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=+/USfpbacU7VpXLVPbgpll2nXiWFlpZRGu7+/giUr3g=; b=r+sCGCY+HixPkf+ByrZP9QosttdmDOTmgwzcmoIfWaQUugN70g+DPL9JKP7v0KXFdua5WUSYcxHE8KaXw7qDef/VEtXLqdQ/qpFBlfec3T9Y+mEKIOJvBCYSo0rFfdG/d8/lZimW85PGq2qo5z+4S0RK2KcbRxzWIsqgKnB6OUQ= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by DM6PR18MB2460.namprd18.prod.outlook.com (2603:10b6:5:186::29) 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 14:20:55 +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 14:20:55 +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/A= Date: Mon, 7 Feb 2022 14:20:55 +0000 Message-ID: References: <20220130175935.1947730-1-gakhil@marvell.com> <20220204221334.3551574-1-gakhil@marvell.com> <20220204221334.3551574-3-gakhil@marvell.com> In-Reply-To: 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: e05df424-905b-490c-c723-08d9ea450dee x-ms-traffictypediagnostic: DM6PR18MB2460:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Lgw0bby3uqqr2qdVwKpYVb0JiAOIH4Usx7E/BWHcCJU+gUr96VnY/+lctYEtZf3/vva0VCzcN4FNoIneqh8NnkTA5ibD4QdTP6rSNljlHdXbfOqHvVNaWCq8hndiclDDZDQa80OiSshdKSMU6yQpXCyM9HljIqijl/NdWInUecL5Q4CRIaWZ8BHTdgcsB0kgU3gK/PR23a4fg1C0NXGdG/rOo2xO5qScxkbUP4TjBQJBQbfCtilcx1aCN2sbjIGjZVeLPfod839fTwiQU9EdGND8h4LjU5KTwshKEVkhqsuV6JxYCDfkpTT0TRT6ajzQHDg2V4Ikzff+lIfGnpYBn+1+2HxebT53clGTolgs5Prq4m8NHZu6p1aBmST4dHwY5THqXpvCNGpva6VY1Dy66/Fm7urVBEK+h7i+yaf4R2Em99Pjeg/GnMEdUsBVdVjtKxN+3kvKf+z1CXuSzJPMMvXqdwb/v/WIl+VqjiRaTHdsW0egihGQG4urREexcII0L1S5OztGQmlu5RX1D7wqj0ljJdVrwQAD6eacqtRRS+Ud7dD/WFleyhmy7jZrHBJ0/pW11jR5Yua7i/GHRr04oZs0hW0JP6/PsykYySPw89c1P3DRhrJ4ef+tyV7Bvtb/uvWoNz+LCJLCFwDLy5f+/0OvZxaTzcFD3mly/zTyplTygtXmoeO6M+XUNtnmi7obvPNMioNVU8Ac3j+usoHUWQ== 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)(66556008)(66476007)(66446008)(64756008)(8936002)(52536014)(53546011)(66946007)(8676002)(76116006)(4326008)(86362001)(508600001)(316002)(9686003)(7696005)(55236004)(38070700005)(110136005)(54906003)(6506007)(71200400001)(2906002)(7416002)(5660300002)(38100700002)(122000001)(26005)(186003)(55016003)(33656002)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aUVNTDNVcU40bytkcEgrOVRjeGk0UFl2ZEM2L3kvZEpEZHdlSENvRXoxTW1l?= =?utf-8?B?SUM2MzFsQVNpQmVVVlNlRkJvbVhiaXo4NkZMK0labW9PYUlMM01nTWFmSi9v?= =?utf-8?B?OVQ3MER2MG5GN3FPYzdvSGFhMHJSMzV2a2R0VjN3NE05bGdPb0w2YWVoTGtN?= =?utf-8?B?YlVJaVF5YUM1TGNLMGp3eFdLczMxM2wxdDN1dXNnVFFUSGVQYnZGeitZaFQ5?= =?utf-8?B?TWUrMEw3akxDbmtHOXAvK1BZRjdHSlhJTEhIVUJUVG5vOHNmdTZaeWlIYlVj?= =?utf-8?B?U0gvOVN4WnlicG1Ta05QZ3R5b215cGw3czFYbVVlZThRTmNkMnBXNUlUVlJW?= =?utf-8?B?eTU5RkpOeHFZWW0wUzdZNElJTlY2RnliRTN6OU5HL09IZko3SElEM0FoZkwr?= =?utf-8?B?S1J4dmNrL1ZaOGFBSk15bFIxMlM2ajZXTjB5SFUrdHFVSlVYNE9aTXBKVCtU?= =?utf-8?B?Vjc5aHVQMFhIK3JVWjR4UHZHc012YlhjeEtiSXo0cmR1WDR5YTh3UnNaV0ww?= =?utf-8?B?VmlzeldQTS9BcGF6Uzl1V3U5dmFBaWpHZXF3K280eVJvVmhTSEZoYWpwdG5i?= =?utf-8?B?UmxEL1NkWk1lMm1XcHk5dE5NcXQ4Z2hOU0l1NGxIbGw3T2xmQUNIOUgydTZI?= =?utf-8?B?dXdqVjZQelJrbHpUajEzVVFBbkdMYldvZnVjZWQzRlNqaDdGZDdNUlJ0VGp6?= =?utf-8?B?Si9qRHRPNGdoUzlzMnF0SnNGejViT0l4aUZRVmt1RU0vY3JsY3RwZ2JWV1lo?= =?utf-8?B?OHVMRVhyeCsxQmczMHoyT0JrZWxmcFNYb09DYkxRQ0JRelNBbnM4aEEzZGxU?= =?utf-8?B?dHNYSzRvYmNXeERrNXFCamhyYXM5VVlEWEJJc3lGNUplWWpDTVc2V21CMXNO?= =?utf-8?B?c05ZSG51VUhUaVJvNCtGcHRjYjhza1YwTG1VQ0d2a3dueThuNGs5Z3N6b2lx?= =?utf-8?B?M3JWTHFlNkNsSXJQNkM3cEw5VEpCVzQ0d29kS1NGSUtnak0vVnFDSzZnWW9V?= =?utf-8?B?Uk9aMm9ScC9Rd1g2NUUxTUx2eDcwNXNvVlNaN05HUWlTY1hPZlp0b1A0Qmda?= =?utf-8?B?OFNEZGZObWRPblRvSTNxaS9hZUNTNCtiSzFmYkExSXZvRXZxME1WTDhKMGV3?= =?utf-8?B?Tk5sSFk4Yzh2SDZEUFB1VWhRY0p5bUk1Qmwxc3NNNzJHY1lQa0dHaTFFV3hC?= =?utf-8?B?UmhxaUQ1ZTlqZk4zcGYzRjgxYkphT2pwL0ZlRnF1bXVkakJNOTVsNjZ3T1VS?= =?utf-8?B?Y2xPOW5FVVdqcTZCZ0hhY1B1Z2U0ekJJckNhMHlLUTBYOUZDbkhQeFFiZ01m?= =?utf-8?B?ODVieW03MkZZN1liV0R6alI2cVVnYkNKOUpiT0dxYjU1cGFHOEc2dmxXSUlM?= =?utf-8?B?Uk1sSUdNVkZxYWEvb0d1OVd1QXB4VUswSGFkK1FFNkRMS0xZdmtNTythNXlX?= =?utf-8?B?UFMydkkzbUJaQ3RDaUJZVEJiYUkyWWcvNkxRTUxKYndoY1NmcWtwTktqcUhj?= =?utf-8?B?UnluNzBFeVVmUG11dHh2WmNFdGVyeUNkcWdrazlYb0FvK2FnbzYzSGVES3Ez?= =?utf-8?B?QWRaejBwdWV4MEZoOEdTeDhxNm1qYnBMcGErU21vU0V4SXVJUmNRZzFtTWd5?= =?utf-8?B?czZCTWVOblFNQVlmdUtXWTJrcHQyTDM5UVdiZEJmVXR0eG5qRlNuUHFtNDVV?= =?utf-8?B?T3YxaFdGcHk2cXlnZGpnekQ4NUh2aGUzM0FDT3Q5STV4ZjNtVHo4QWZONzM2?= =?utf-8?B?dndOaGxmdDIxTVhQRUJpbFpLRm9KVC9RL0VpNlJQZHJxeXY3czA1RkRsSFky?= =?utf-8?B?bFZQMm01Yjd5a0ZrRDVYc3p4V0RmMllhcXViN3NDbXJFTHdjZmlHR0FVbWQ2?= =?utf-8?B?S3hBcjdvS2I3ZThXSUVGRk1abzNFTFNJd0FkVW9IK1BNcE5Rd1lUR1NBU3Q4?= =?utf-8?B?S3JsVmRpQVU4RUJ6ZnJmNUpIWHp6NVgrUStTWlNwZy9WaklkeDhPSnRBRW9K?= =?utf-8?B?K3htRVFCU1ZuY3lybkJUUGtCdDVzUllxRVJST2lpOFpweHJwNXY5aVcwZEMw?= =?utf-8?B?OTRaTnVBek82cHhzb0c4TXE2Uk9PdXNzQW5rNmNiM0JjbENxdndCUGViV3Yx?= =?utf-8?B?SnA0YUplU2hocEZvUDMzT1VtZ2RLZERVSW4rOEFxQWlmdGxuQ1JtTitCQkZ3?= =?utf-8?Q?3BLZ4hfeEnIPKGOKAN688C8=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: e05df424-905b-490c-c723-08d9ea450dee X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Feb 2022 14:20:55.5456 (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: fXT2S5KeofDNTcMsuYbiSK8+hvqJvIi2PL/698QCZ4bwsXcw949LVdsZldDrLSXc+mDzF53aOTs3dGv0tibIXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB2460 X-Proofpoint-GUID: Db5ReMn6OxS0nIJymMz5LpaseHLYwu-3 X-Proofpoint-ORIG-GUID: Db5ReMn6OxS0nIJymMz5LpaseHLYwu-3 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_05,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 PiBPbiAyLzQvMjAyMiAxMDoxMyBQTSwgQWtoaWwgR295YWwgd3JvdGU6DQo+ID4gSGFyZHdhcmUg SVAgcmVhc3NlbWJseSBtYXkgYmUgaW5jb21wbGV0ZSBmb3IgbXVsdGlwbGUgcmVhc29ucyBsaWtl DQo+ID4gcmVhc3NlbWJseSB0aW1lb3V0IHJlYWNoZWQsIGR1cGxpY2F0ZSBmcmFnbWVudHMsIGV0 Yy4NCj4gPiBUbyBzYXZlIGFwcGxpY2F0aW9uIGN5Y2xlcyB0byBwcm9jZXNzIHRoZXNlIHBhY2tl dHMgYWdhaW4sIGEgbmV3DQo+ID4gbWJ1ZiBkeW5mbGFnIGlzIGFkZGVkIHRvIHNob3cgdGhhdCB0 aGUgbWJ1ZiByZWNlaXZlZCBpcyBub3QNCj4gPiByZWFzc2VtYmxlZCBwcm9wZXJseS4NCj4gPg0K PiA+IE5vdyBpZiB0aGlzIGR5bmZsYWcgaXMgc2V0LCBhcHBsaWNhdGlvbiBjYW4gcmV0cmlldmUg Y29ycmVzcG9uZGluZw0KPiA+IGNoYWluIG9mIG1idWZzIHVzaW5nIG1idWYgZHluZmllbGQgc2V0 IGJ5IHRoZSBQTUQuIE5vdywgaXQgd2lsbCBiZQ0KPiA+IHVwIHRvIGFwcGxpY2F0aW9uIHRvIGVp dGhlciBkcm9wIHRob3NlIGZyYWdtZW50cyBvciB3YWl0IGZvciBtb3JlIHRpbWUuDQo+ID4NCj4g PiBTaWduZWQtb2ZmLWJ5OiBBa2hpbCBHb3lhbCA8Z2FraGlsQG1hcnZlbGwuY29tPg0KPiA+IENo YW5nZS1JZDogSTExODg0N2NkNjI2OWRhN2U2MzEzYWM0ZTBkOTcwZDc5MGRmZWYxZmYNCj4gPiAt LS0NCj4gPiAgIGxpYi9ldGhkZXYvZXRoZGV2X2RyaXZlci5oIHwgIDggKysrKysrKysNCj4gPiAg IGxpYi9ldGhkZXYvcnRlX2V0aGRldi5jICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysr KysrKw0KPiA+ICAgbGliL2V0aGRldi9ydGVfZXRoZGV2LmggICAgfCAxNyArKysrKysrKysrKysr KysrKw0KPiA+ICAgbGliL2V0aGRldi92ZXJzaW9uLm1hcCAgICAgfCAgMSArDQo+ID4gICBsaWIv bWJ1Zi9ydGVfbWJ1Zl9keW4uaCAgICB8ICA5ICsrKysrKysrKw0KPiA+ICAgNSBmaWxlcyBjaGFu Z2VkLCA2MyBpbnNlcnRpb25zKCspDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9l dGhkZXZfZHJpdmVyLmggYi9saWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuaA0KPiA+IGluZGV4IDhm ZTc3ZjI4M2YuLjZjZmIyNjZmN2QgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRldi9ldGhkZXZf ZHJpdmVyLmgNCj4gPiArKysgYi9saWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuaA0KPiA+IEBAIC0x NzA3LDYgKzE3MDcsMTQgQEAgaW50DQo+ID4gICBydGVfZXRoX2hhaXJwaW5fcXVldWVfcGVlcl91 bmJpbmQodWludDE2X3QgY3VyX3BvcnQsIHVpbnQxNl90DQo+IGN1cl9xdWV1ZSwNCj4gPiAgIAkJ CQkgIHVpbnQzMl90IGRpcmVjdGlvbik7DQo+ID4NCj4gPiArLyoqDQo+ID4gKyAqIEBpbnRlcm5h bA0KPiA+ICsgKiBSZWdpc3RlciBtYnVmIGR5bmFtaWMgZmllbGQgYW5kIGZsYWcgZm9yIElQIHJl YXNzZW1ibHkgaW5jb21wbGV0ZSBjYXNlLg0KPiA+ICsgKi8NCj4gPiArX19ydGVfaW50ZXJuYWwN Cj4gPiAraW50DQo+ID4gK3J0ZV9ldGhfaXBfcmVhc3NfZHluZmllbGRfcmVnaXN0ZXIoaW50ICpm aWVsZF9vZmZzZXQsIGludCAqZmxhZyk7DQo+ID4gKw0KPiA+DQo+ID4gICAvKg0KPiA+ICAgICog TGVnYWN5IGV0aGRldiBBUEkgdXNlZCBpbnRlcm5hbGx5IGJ5IGRyaXZlcnMuDQo+ID4gZGlmZiAt LWdpdCBhL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5jIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2LmMN Cj4gPiBpbmRleCA4OGNhNGNlODY3Li40ODM2N2RiZWMxIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9l dGhkZXYvcnRlX2V0aGRldi5jDQo+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2LmMNCj4g PiBAQCAtNjU2Nyw2ICs2NTY3LDM0IEBAIHJ0ZV9ldGhfaXBfcmVhc3NlbWJseV9jb25mX3NldCh1 aW50MTZfdA0KPiBwb3J0X2lkLA0KPiA+ICAgCQkgICAgICAgKCpkZXYtPmRldl9vcHMtPmlwX3Jl YXNzZW1ibHlfY29uZl9zZXQpKGRldiwgY29uZikpOw0KPiA+ICAgfQ0KPiA+DQo+ID4gK2ludA0K PiA+ICtydGVfZXRoX2lwX3JlYXNzX2R5bmZpZWxkX3JlZ2lzdGVyKGludCAqZmllbGRfb2Zmc2V0 LCBpbnQgKmZsYWdfb2Zmc2V0KQ0KPiA+ICt7DQo+ID4gKwlzdGF0aWMgY29uc3Qgc3RydWN0IHJ0 ZV9tYnVmX2R5bmZpZWxkIGZpZWxkX2Rlc2MgPSB7DQo+ID4gKwkJLm5hbWUgPSBSVEVfTUJVRl9E WU5GSUVMRF9JUF9SRUFTU19OQU1FLA0KPiA+ICsJCS5zaXplID0gc2l6ZW9mKHJ0ZV9ldGhfaXBf cmVhc3NfZHluZmllbGRfdCksDQo+ID4gKwkJLmFsaWduID0gX19hbGlnbm9mX18ocnRlX2V0aF9p cF9yZWFzc19keW5maWVsZF90KSwNCj4gPiArCX07DQo+ID4gKwlzdGF0aWMgY29uc3Qgc3RydWN0 IHJ0ZV9tYnVmX2R5bmZsYWcgaXBfcmVhc3NfZHluZmxhZyA9IHsNCj4gPiArCQkubmFtZSA9DQo+ IFJURV9NQlVGX0RZTkZMQUdfSVBfUkVBU1NfSU5DT01QTEVURV9OQU1FLA0KPiA+ICsJfTsNCj4g PiArCWludCBvZmZzZXQ7DQo+ID4gKw0KPiA+ICsJb2Zmc2V0ID0gcnRlX21idWZfZHluZmllbGRf cmVnaXN0ZXIoJmZpZWxkX2Rlc2MpOw0KPiA+ICsJaWYgKG9mZnNldCA8IDApDQo+ID4gKwkJcmV0 dXJuIC0xOw0KPiA+ICsJaWYgKGZpZWxkX29mZnNldCAhPSBOVUxMKQ0KPiA+ICsJCSpmaWVsZF9v ZmZzZXQgPSBvZmZzZXQ7DQo+ID4gKw0KPiA+ICsJb2Zmc2V0ID0gcnRlX21idWZfZHluZmxhZ19y ZWdpc3RlcigmaXBfcmVhc3NfZHluZmxhZyk7DQo+ID4gKwlpZiAob2Zmc2V0IDwgMCkNCj4gPiAr CQlyZXR1cm4gLTE7DQo+ID4gKwlpZiAoZmxhZ19vZmZzZXQgIT0gTlVMTCkNCj4gPiArCQkqZmxh Z19vZmZzZXQgPSBvZmZzZXQ7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiAr DQo+IA0KPiBIb3cgbWFuZGF0b3J5IGlzIHRoaXMgZmllbGQgZm9yIHRoZSBmZWF0dXJlPw0KPiAN Cj4gSWYgJ3J0ZV9ldGhfaXBfcmVhc3NfZHluZmllbGRfcmVnaXN0ZXIoKScgZmFpbHMsIHdoYXQg UE1EIHNob3VsZCBkbz8NCj4gU2hvdWxkIHRoaXMgQVBJIGNhbGxlZCBiZWZvcmUgJ3J0ZV9ldGhf aXBfcmVhc3NlbWJseV9jYXBhYmlsaXR5X2dldCgpJyBhbmQNCj4gaWYgcmVnaXN0ZXJpbmcgZG55 ZmllbGQgZmFpbHMgc2hvdWxkIFBNRCByZXR1cm4gZmVhdHVyZSBhcyBub3Qgc3VwcG9ydGVkPw0K DQpEeW5maWVsZCBpcyBhZGRlZCBmb3IgdGhlIGVycm9yLyBpbmNvbXBsZXRlIHJlYXNzZW1ibHkg Y2FzZS4NCklmIHRoZSBkeW5maWVsZCBpcyBub3QgcmVnaXN0ZXJlZCwgdGhlIGZlYXR1cmUgY2Fu IHdvcmsgd2VsbCBmb3Igc3VjY2VzcyBzY2VuYXJpb3MuDQpEeW5maWVsZCByZWdpc3RyYXRpb24g aXMgcmVzcG9uc2liaWxpdHkgb2YgUE1EIGFuZCBpdCBpcyB1cHRvIHRoZSBkcml2ZXIgdG8gZGVj aWRlDQp3aGVuIHRvIHNldCB0aGUgZHluZmllbGQuIFRoZSByZWdpc3RyYXRpb24gY2FuIGJlIGRv bmUgaW4gY29uZl9zZXQoKSBBUEkuDQoNCj4gDQo+IENhbiB5b3UgcGxlYXNlIGRlc2NyaWJlIHRo aXMgZGVwZW5kZW5jeSwgcHJlZmVyYWJsZSBpbiB0aGUNCj4gJ3J0ZV9ldGhfaXBfcmVhc3NlbWJs eV9jYXBhYmlsaXR5X2dldCgpJyBkb3h5Z2VuIGNvbW1lbnQ/DQoNCkNhcGFiaWxpdHkgZ2V0IGlz IG5vdCBhIHBsYWNlIHdoZXJlIHRoZSBmZWF0dXJlIGlzIGVuYWJsZWQuDQpEeW5maWVsZCBzaG91 bGQgYmUgcmVnaXN0ZXJlZCBvbmx5IGluIGNhc2UgdGhlIGZlYXR1cmUgaXMgZW5hYmxlZC4NCkkg d2lsbCBhZGQgZm9sbG93aW5nIGxpbmUgaW4gY29uZl9zZXQoKSBkb3h5Z2VuIGNvbW1lbnQuDQoN ClRoZSBQTUQgc2hvdWxkIGNhbGwgJ3J0ZV9ldGhfaXBfcmVhc3NfZHluZmllbGRfcmVnaXN0ZXIo KScgd2hlbg0KdGhlIGZlYXR1cmUgaXMgZW5hYmxlZCBhbmQgcmV0dXJuIGVycm9yIGlmIGR5bmZp ZWxkIGlzIG5vdCByZWdpc3RlcmVkLg0KRHluZmllbGQgaXMgbmVlZGVkIHRvIGdpdmUgcGFja2V0 cyBiYWNrIHRvIHRoZSBhcHBsaWNhdGlvbiBpbiBjYXNlIHRoZQ0KcmVhc3NlbWJseSBpcyBub3Qg Y29tcGxldGUuDQoNCj4gDQo+ID4gICBSVEVfTE9HX1JFR0lTVEVSX0RFRkFVTFQocnRlX2V0aF9k ZXZfbG9ndHlwZSwgSU5GTyk7DQo+ID4NCj4gPiAgIFJURV9JTklUKGV0aGRldl9pbml0X3RlbGVt ZXRyeSkNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmggYi9saWIvZXRo ZGV2L3J0ZV9ldGhkZXYuaA0KPiA+IGluZGV4IGVjYzVjZDUwYjkuLmNlMzUwMjNjNDAgMTAwNjQ0 DQo+ID4gLS0tIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gPiArKysgYi9saWIvZXRoZGV2 L3J0ZV9ldGhkZXYuaA0KPiA+IEBAIC01MjkyLDYgKzUyOTIsMjMgQEAgX19ydGVfZXhwZXJpbWVu dGFsDQo+ID4gICBpbnQgcnRlX2V0aF9pcF9yZWFzc2VtYmx5X2NvbmZfc2V0KHVpbnQxNl90IHBv cnRfaWQsDQo+ID4gICAJCQkJICAgY29uc3Qgc3RydWN0IHJ0ZV9ldGhfaXBfcmVhc3NfcGFyYW1z DQo+ICpjb25mKTsNCj4gPg0KPiA+ICsvKioNCj4gPiArICogSW4gY2FzZSBvZiBJUCByZWFzc2Vt Ymx5IG9mZmxvYWQgZmFpbHVyZSwgb2xfZmxhZ3MgaW4gbWJ1ZiB3aWxsIGJlDQo+ID4gKyAqIHVw ZGF0ZWQgd2l0aCBkeW5hbWljIGZsYWcgYW5kIHBhY2tldHMgd2lsbCBiZSByZXR1cm5lZCB3aXRo b3V0DQo+IGFsdGVyYXRpb24uDQo+ID4gKyAqIFRoZSBhcHBsaWNhdGlvbiBjYW4gcmV0cmlldmUg dGhlIGF0dGFjaGVkIGZyYWdtZW50cyB1c2luZyBtYnVmDQo+IGR5bmFtaWMgZmllbGQuDQo+ID4g KyAqLw0KPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gKwkvKioNCj4gPiArCSAqIE5leHQgZnJh Z21lbnQgcGFja2V0LiBBcHBsaWNhdGlvbiBzaG91bGQgZmV0Y2ggZHluYW1pYyBmaWVsZCBvZg0K PiA+ICsJICogZWFjaCBmcmFnbWVudCB1bnRpbCBhIE5VTEwgaXMgcmVjZWl2ZWQgYW5kIG5iX2Zy YWdzIGlzIDAuDQo+ID4gKwkgKi8NCj4gPiArCXN0cnVjdCBydGVfbWJ1ZiAqbmV4dF9mcmFnOw0K PiA+ICsJLyoqIFRpbWUgc3BlbnQoaW4gbXMpIGJ5IEhXIGluIHdhaXRpbmcgZm9yIGZ1cnRoZXIg ZnJhZ21lbnRzLiAqLw0KPiA+ICsJdWludDE2X3QgdGltZV9zcGVudDsNCj4gPiArCS8qKiBOdW1i ZXIgb2YgbW9yZSBmcmFnbWVudHMgYXR0YWNoZWQgaW4gbWJ1ZiBkeW5hbWljIGZpZWxkcy4gKi8N Cj4gPiArCXVpbnQxNl90IG5iX2ZyYWdzOw0KPiA+ICt9IHJ0ZV9ldGhfaXBfcmVhc3NfZHluZmll bGRfdDsNCj4gPiArDQo+ID4NCj4gPiAgICNpbmNsdWRlIDxydGVfZXRoZGV2X2NvcmUuaD4NCj4g Pg0KPiA+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3ZlcnNpb24ubWFwIGIvbGliL2V0aGRldi92 ZXJzaW9uLm1hcA0KPiA+IGluZGV4IGUyMmMxMDI4MTguLmQ2ZGU4ZDQwMmUgMTAwNjQ0DQo+ID4g LS0tIGEvbGliL2V0aGRldi92ZXJzaW9uLm1hcA0KPiA+ICsrKyBiL2xpYi9ldGhkZXYvdmVyc2lv bi5tYXANCj4gPiBAQCAtMjg0LDYgKzI4NCw3IEBAIElOVEVSTkFMIHsNCj4gPiAgIAlydGVfZXRo X2hhaXJwaW5fcXVldWVfcGVlcl9iaW5kOw0KPiA+ICAgCXJ0ZV9ldGhfaGFpcnBpbl9xdWV1ZV9w ZWVyX3VuYmluZDsNCj4gPiAgIAlydGVfZXRoX2hhaXJwaW5fcXVldWVfcGVlcl91cGRhdGU7DQo+ ID4gKwlydGVfZXRoX2lwX3JlYXNzX2R5bmZpZWxkX3JlZ2lzdGVyOw0KPiA+ICAgCXJ0ZV9ldGhf cmVwcmVzZW50b3JfaWRfZ2V0Ow0KPiA+ICAgCXJ0ZV9ldGhfc3dpdGNoX2RvbWFpbl9hbGxvYzsN Cj4gPiAgIAlydGVfZXRoX3N3aXRjaF9kb21haW5fZnJlZTsNCj4gPiBkaWZmIC0tZ2l0IGEvbGli L21idWYvcnRlX21idWZfZHluLmggYi9saWIvbWJ1Zi9ydGVfbWJ1Zl9keW4uaA0KPiA+IGluZGV4 IDI5YWJlOGRhNTMuLjI5OTYzODUxM2IgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL21idWYvcnRlX21i dWZfZHluLmgNCj4gPiArKysgYi9saWIvbWJ1Zi9ydGVfbWJ1Zl9keW4uaA0KPiA+IEBAIC0zMjAs NiArMzIwLDE1IEBAIGludCBydGVfbWJ1Zl9keW5fcnhfdGltZXN0YW1wX3JlZ2lzdGVyKGludA0K PiAqZmllbGRfb2Zmc2V0LCB1aW50NjRfdCAqcnhfZmxhZyk7DQo+ID4gICAgKi8NCj4gPiAgIGlu dCBydGVfbWJ1Zl9keW5fdHhfdGltZXN0YW1wX3JlZ2lzdGVyKGludCAqZmllbGRfb2Zmc2V0LCB1 aW50NjRfdA0KPiAqdHhfZmxhZyk7DQo+ID4NCj4gPiArLyoqDQo+ID4gKyAqIEZvciB0aGUgUE1E cyB3aGljaCBzdXBwb3J0IElQIHJlYXNzZW1ibHkgb2YgcGFja2V0cywgUE1EIHdpbGwNCj4gdXBk YXRlZCB0aGUNCj4gPiArICogcGFja2V0IHdpdGggUlRFX01CVUZfRFlORkxBR19JUF9SRUFTU19J TkNPTVBMRVRFX05BTUUgdG8NCj4gZGVub3RlIHRoYXQNCj4gPiArICogSVAgcmVhc3NlbWJseSBp cyBpbmNvbXBsZXRlIGFuZCBhcHBsaWNhdGlvbiBjYW4gcmV0cmlldmUgdGhlIHBhY2tldHMNCj4g YmFjaw0KPiA+ICsgKiB1c2luZyBSVEVfTUJVRl9EWU5GSUVMRF9JUF9SRUFTU19OQU1FLg0KPiA+ ICsgKi8NCj4gPiArI2RlZmluZSBSVEVfTUJVRl9EWU5GSUVMRF9JUF9SRUFTU19OQU1FDQo+ICJy dGVfZXRoX2lwX3JlYXNzX2R5bmZpZWxkIg0KPiA+ICsjZGVmaW5lIFJURV9NQlVGX0RZTkZMQUdf SVBfUkVBU1NfSU5DT01QTEVURV9OQU1FDQo+ICJydGVfZXRoX2lwX3JlYXNzX2luY29tcGxldGVf ZHluZmxhZyINCj4gPiArDQo+IA0KPiBOZWVkcyBPbGl2aWVyJ3MgY29tbWVudC9hY2suDQpAT2xp dmllcjogY291bGQgeW91IHBsZWFzZSBjb21tZW50IG9uIHRoaXM/DQo=