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 7605BA04A5; Sun, 30 Jan 2022 17:53:28 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 15BBA41143; Sun, 30 Jan 2022 17:53:28 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 5B75D410EC for ; Sun, 30 Jan 2022 17:53:27 +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 20UAtfRS029631; Sun, 30 Jan 2022 08:53:25 -0800 Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2168.outbound.protection.outlook.com [104.47.56.168]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3dw5yqjcfj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 30 Jan 2022 08:53:25 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lQQBI52A000LQH6dGb2hkcGjJQmiwMJjOxs2nwh7FjdsR2ZJgqKdrGaZr8/kf8a9BnntV/So9FAG8Pn9fKbSR8l4jtOWkBndYfENyXmfroHx7gRim6ypfy2KP1fJy67ZyReEmcjfq5R1dJnawW1hn8u4VjrIGUb6FL0CuVRFNdYDdYk9LYFyZJ3VexMQo8fVsaq6Al8CLfIXNpHq/MNVQl0ZWCNwmu5zbBvvo5mZHm++yEIOVdSps/bLb0+gA5u3EM6iGOOM3rv275mQcp3Wca5YO8iqJui76Obxz/J2mSltFXWK2IuCHp5BbcoFYOQZ0UYioLs99zKymTF2bjz2dw== 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=qax3RVsfP5scypBRHu8bIAOXpLtRjZmg0POOUrY0Q1g=; b=BPTefkw5/REYFZfAwVAZ2pEBwlpf8arehL58D/WYY6MBKIrVFoFVFLicb0WS4AUEMSCib/8NJy4rdKgo9RqdUjTcykyExDjG9023z0htT0Ox1VmJ9NWUP3D8z+jwXYq1Q4+AY19l/DGLHtTmxIvQfAdIstSpSyzeVNYAAvKqoeP03K3sRgg/305cxhe4l34LSHHcQSy6pXDK5rKeKplZPBlRlzAv0sz3uz0O7gNFyec2cX9UIxuAnn0UEmOvLtkK2fw+L8L/7nF+iwiMR2KmDhOoUBhvvR27CUAYkPh62oVIuYXtLMW5g2OmO2RzTklmqp5FU0TIZN2ouCDhEfI1xw== 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=qax3RVsfP5scypBRHu8bIAOXpLtRjZmg0POOUrY0Q1g=; b=PxcdgQX6S7cGXIxSIYntaaFBXilKBFlKuZhMvhG+9Si443tSP4KpdMPThb0UmB7870a6cFMNT4GJt70pMXxTx8q5xOOYzCCIeYJVEVaVhFtYfaKJvALL6r8rifkD+QDpG8s30kLZud5S/5KTf/bW8lros1fp4ANicRbbpuYyPPk= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by BL1PR18MB4296.namprd18.prod.outlook.com (2603:10b6:208:30b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Sun, 30 Jan 2022 16:53:23 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::ecd1:2b8:57bd:7780]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::ecd1:2b8:57bd:7780%7]) with mapi id 15.20.4930.021; Sun, 30 Jan 2022 16:53:23 +0000 From: Akhil Goyal To: Andrew Rybchenko , "dev@dpdk.org" CC: Anoob Joseph , "radu.nicolau@intel.com" , "declan.doherty@intel.com" , "hemant.agrawal@nxp.com" , "matan@nvidia.com" , "konstantin.ananyev@intel.com" , "thomas@monjalon.net" , "ferruh.yigit@intel.com" , "olivier.matz@6wind.com" , "rosen.xu@intel.com" Subject: RE: [EXT] Re: [PATCH 1/8] ethdev: introduce IP reassembly offload Thread-Topic: [EXT] Re: [PATCH 1/8] ethdev: introduce IP reassembly offload Thread-Index: AQHYALPLJ8MuRapFTE+B92JfnOiriKxuxMAAgA0ow9A= Date: Sun, 30 Jan 2022 16:53:22 +0000 Message-ID: References: <20210823100259.1619886-1-gakhil@marvell.com> <20220103150813.1694888-1-gakhil@marvell.com> <20220103150813.1694888-2-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: 63fe2918-e8b6-4cd2-3cb3-08d9e41106d8 x-ms-traffictypediagnostic: BL1PR18MB4296: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: m+n94auULKWB8BCtp4j2LuG3W+R15XgptZLWnXIg1gXJvErL6XmcTkI+0a1uWhpqcWgU3QbrWcchtTOnt7MuTKVh4F9HIK6FniTDNBDiGYDNbgMSMIDSxK4EHKVn8k/YItF1lXObPv/K1LXK0rCvY0fcmibPaxnGKZwqpGp/DdMtOrgWgYv+9cS5q0+pXbAGQkueN6ag2Cczbc1YrEKr6KLINTfRd0EaXUf2UBogkNoISCvS5ST3YO3xQc7tsIo3RCofgoVo6mlFxTnbPR7naorfHtfiLvmVLtWC5EgIQXc7hOTxl95U7H05Hqd3WCFKtX2bfx8JN4SbinNx2bvBGqM85y749zerhO5BGyDXWWkov/3BXWIdRFg09yA/TJQP/BIdvmISIvifunfZ7e3PoOZKmKAC5KlZcv9UEQo1QrALeH4cPrMn/ZskU0gqQJrLg/rcPvEFkMmExPPYR6kR3QrWYU8L0GAin5B8T7+E1xpJZcISuVcFsalDejT1XoiUmAzkhc4VCSnkSBM+ZCNgGxRgIwiGq3azUcKw4tc6jwWpVGOb+YP4MRJ1MHIQNGtKYMb4guj7WBUTEm5vEHmifrpJI2B5sAJH+x7OfN+TnAfsiqnwyd9QcRKC8w9ssl3dPT1Sm4dcdFGc62cxIBN6KIHiUotOCrhqukgkM+XuAEQiVEZf9clmJ/IjpH/4DWcTS2B1L+64vF12pLohQ7pYbTADgHZwNKnKYFpmIeL7CVQ= 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)(8936002)(186003)(26005)(66556008)(76116006)(66946007)(66446008)(66476007)(4326008)(8676002)(110136005)(54906003)(508600001)(86362001)(64756008)(71200400001)(53546011)(55236004)(9686003)(38070700005)(316002)(6506007)(7696005)(7416002)(52536014)(33656002)(5660300002)(83380400001)(122000001)(55016003)(2906002)(38100700002)(21314003)(20210929001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZXdidmR0c1JlTm9FT3lpRldNTzFyaWY2dkhscHVJQlZTVVJveXdOZkJ0VmV1?= =?utf-8?B?eUhHMjVuL2pmaHI5ZDBNWXMreEJtUk4zZkpvb21Zb1ZkUzNPbXZPUm9qazM0?= =?utf-8?B?OGlHY21yYlViVklucm5sQnZvKzhqbXRyODhkUi9aVVY2WUVWckc1Q01qZ3ps?= =?utf-8?B?V2ZhODlBUGxGLzQ5WnNqb1hXYWd1TGJOZjZwek9EelNMYlNNKzJNVDhTQmpW?= =?utf-8?B?MG1qdUE5KzEyVzJPUlUyZE91OWNpeUVLMDRpUFk5aDZ0NVp1L1JCMTYvMGJZ?= =?utf-8?B?TnFwQ08ycGd4WjFvSnJvOU5BMWNzNGxWME55K084Yk5LOXhrZ3h5ZUNMaE5F?= =?utf-8?B?Z3loOXI4NDdEdlMyZzhVTnJ4UkwvcGY3SHkvbTZqNlF0MVBzOUwybjdJeWlq?= =?utf-8?B?NGttRDVubkU2TnNibVdlSk5PdFZZZE9zd25UTE5rYVhrbW82RVo0K3dxNVNq?= =?utf-8?B?SWlucVMzZ0k2NjlkT2JNemc3TkxDMkJuRFJaaWhJTWV6RnRYOGNRdCt3c295?= =?utf-8?B?K3ZseDBpWU13OE03bDFEY3pSTnB4bkducThpNDBBWHdxUmlBdHhxeGl1Wisz?= =?utf-8?B?bUVlVWRIUW5KOWVrbDk5TkgxanpFRnM1T0x3RVozb3d3ZS9acjJTOVBJTzVH?= =?utf-8?B?VTQvN3hYT3J3L3FRTlp4Yzl1aUNURmVmSCtwY0ViMWVVOHc1ckcvMUJxUUla?= =?utf-8?B?eW1kMFZPUGttQ0xmcDVzdURBS201WnVHWXcrakpYQkVkTkZ3Vktoa0I2SDRj?= =?utf-8?B?RCt4NUFxakFqRzUva0ZSdUc3a0tzU25vTFFQZ09NZkhDeHNqR2psTTZUZ05Z?= =?utf-8?B?ZDgzcEVOUTR4Nnc0VDFocGR2cloxQVZiZ2NiR0lraTJBeGZSTlgzbjI5REtD?= =?utf-8?B?NU5LSGRXa29VTFFXR2h0ajg4eEdldGdHMDRpR1ljL1lGcENDMXVlQ0dzdXNp?= =?utf-8?B?QUQ3RjlNczV2dFlXV2FzWE5mVEpKZU52amZUY09QbUVNVWNOdnAwbnZDcWov?= =?utf-8?B?bjRURlNYNnVFRGJ2d3h3UjdiMGFld3ZPMFhCS0w5VXY3K01hK2hkN3o2Q1BG?= =?utf-8?B?VTlZeVZSbWpZQkxyUGYrc1BRTlZQdHY4a25LbXRvbWdQY0R3bHZrTGlsOTNT?= =?utf-8?B?bE1iYjFnaUFnaDJrT2QrL3c3MDlhN1lRQTNrOG1SalVyUUY4bG5VcTBxT254?= =?utf-8?B?QUZ6L0I5WktKUVVmK001UG55RU1SRm92c2NlTDJsbzUzV3RzUWVEZ2xFS2V3?= =?utf-8?B?Z2hoTlBnTWFTR2pUdWxIYVJldTY0dFlLbFZ3WXN6bWgyZzZEUjhXcDN5NGM3?= =?utf-8?B?cEttTEExRHRXSDFObmlOOWNZTXhINDgvQTNwSGNVYyswdW1yalpMMGlPeGI2?= =?utf-8?B?RzhObGtiUXVZNGx3b3ZLaTVZQ2lzUE0yczlkdFk5eVVqN20wUDI0cndMcktZ?= =?utf-8?B?K1dkSi9sdFdTQ0MyaGljT1E1cXBrREcwSG9DbEhFSGI2NmlqUEl3RnNjRVZv?= =?utf-8?B?bkwySUgvbE9ldUwzcnFoMXplNWs1WUt2V1pncEszOTBaRURoOWFzZ2psWWNS?= =?utf-8?B?cjJ1ZUw4cDVrVTJQdDJmRzNiNDdCUzdRUWVEdDF3dDcyMlJYdEpoK1ZWWXph?= =?utf-8?B?NzJwZDk0L0FHZXcxSWRCZmpoYU9RektMRW5ZUndpajdSVzdkVWpDeXpBNmdn?= =?utf-8?B?cWduR1YyQ2dMbHA3WHVJQ3F2ODdFejJHNTZSa1luc0xETHVIcStlL1BMRDE4?= =?utf-8?B?QVRyWm1DZCtQWDU0ZEs2Z0NFdDFLNW95ajg1a3pFQ2VPS015cVA1TkhqRUF1?= =?utf-8?B?ZEo3KzZqVTRrR0tURXlQV2daUmEwaC85bDlIejcwRjVkWCtvNWNvd1RHY2FI?= =?utf-8?B?NUllWXlPYmVHR1g3b1dpcS8vT0xIaWJNK1o0K0NHY0VZL0tUcTcxcktOR0Iv?= =?utf-8?B?ck45cnN4bThTbStOYk5rUXQ1clZodEFjYjNLcGF3cjJpQ2dFVllpamR0M2M4?= =?utf-8?B?OHY5YnpzZVQ5V0tWT3hRQ3EyUzd0MllvcGpsRWE5V0pDYzlla1g5a3NLenc0?= =?utf-8?B?Y1lGeGRlRVNVMFRTTjJ6U1RremlqSHJBT2J5QWwzSzUwUnY0YStVbFFnOExh?= =?utf-8?B?MzlhRVhYSzVub2tIWkQ4Tlo2V0dRQWpzdUJoRndkRkFoNTVSSllCR0I1MEJ4?= =?utf-8?Q?MYBf1WaqjK/CcxB3p93jKSM=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: 63fe2918-e8b6-4cd2-3cb3-08d9e41106d8 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2022 16:53:22.8954 (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: /suGNKI5g8NEFbfVuIELo+nrcVwRmdfl/8NddBQtY2EIgbK1/ptgnM6bAgTimqy8mrcyURjtAsSY5gjgEqfssg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR18MB4296 X-Proofpoint-ORIG-GUID: E0sskb2n5Iom6nk8zjvGaS0k28kB1SzY X-Proofpoint-GUID: E0sskb2n5Iom6nk8zjvGaS0k28kB1SzY 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-01-30_05,2022-01-28_01,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 SGkgQW5kcmV3LA0KVGhhbmtzIGZvciB0aGUgcmV2aWV3Lg0KPiBPbiAxLzMvMjIgMTg6MDgsIEFr aGlsIEdveWFsIHdyb3RlOg0KPiA+IElQIFJlYXNzZW1ibHkgaXMgYSBjb3N0bHkgb3BlcmF0aW9u IGlmIGl0IGlzIGRvbmUgaW4gc29mdHdhcmUuDQo+ID4gVGhlIG9wZXJhdGlvbiBiZWNvbWVzIGV2 ZW4gbW9yZSBjb3N0bGllciBpZiBJUCBmcmFnbWFudHMgYXJlIGVuY3J5cHRlZC4NCj4gPiBIb3dl dmVyLCBpZiBpdCBpcyBvZmZsb2FkZWQgdG8gSFcsIGl0IGNhbiBjb25zaWRlcmFibHkgc2F2ZSBh cHBsaWNhdGlvbiBjeWNsZXMuDQo+ID4NCj4gPiBIZW5jZSwgYSBuZXcgb2ZmbG9hZCBSVEVfRVRI X1JYX09GRkxPQURfSVBfUkVBU1NFTUJMWSBpcyBpbnRyb2R1Y2VkDQo+IGluDQo+ID4gZXRoZGV2 IGZvciBkZXZpY2VzIHdoaWNoIGNhbiBhdHRlbXB0IHJlYXNzZW1ibHkgb2YgcGFja2V0cyBpbiBo YXJkd2FyZS4NCj4gPiBydGVfZXRoX2Rldl9pbmZvIGlzIHVwZGF0ZWQgd2l0aCB0aGUgcmVhc3Nl bWJseSBjYXBhYmlsaXRpZXMgd2hpY2ggYSBkZXZpY2UNCj4gPiBjYW4gc3VwcG9ydC4NCj4gDQo+ IFllcywgcmVhc3NlbWJseSBpcyByZWFsbHkgY29tcGxpY2F0ZWQgcHJvY2VzcyB0YWtpbmcgcG9z c2liaWxpdHkgdG8gaGF2ZQ0KPiBvdmVybGFwcGluZyBmcmFnbWVudHMsIG91dC1vZi1vcmRlciBl dGMuDQo+IFRoZXJlIGFyZSBuZXR3b3JrIGF0dGFja3MgYmFzZWQgb24gSVAgcmVhc3NlbWJseS4N Cj4gV2lsbCBpdCBzaW1wbHkgcmVzdWx0IGluIElQIHJlYXNzZW1ibHkgZmFpbHVyZSBpZiBubyBi dWZmZXJzIGFyZSBsZWZ0DQo+IGZvciBJUCBmcmFnbWVudHM/IFdoYXQgd2lsbCBiZSByZXBvcnRl ZCBpbiBtYnVmIGlmIHNvbWUgcGFja2V0cyBvdmVybGFwPw0KPiBKdXN0IHJhdyBwYWNrZXRzIGFz IGlzIG9yIHJlYXNzZW1ibHkgcmVzdWx0IHdpdGggaG9sZXM/DQo+IEkgdGhpbmsgYmVoYXZvdXIg c2hvdWxkIGJlIHNwZWNpZmllZC8NCg0KVGhlIFBNRCB3aWxsIHNldCB0aGUgcmVhc3NlbWJseSBp bmNvbXBsZXRlIGR5bmZsYWcgYW5kIHRoZSB1c2VyIGNhbiByZXRyaWV2ZSB0aGUNCk1idWZzIHVz aW5nIGR5bmZpZWxkcy4gVGhpcyBpcyBzaG93biBpbiB2MiBvZiB0aGUgcGF0Y2hzZXQgYW5kIGEg dGVzdCBhcHAgaXMgYWxzbyBhZGRlZA0KVG8gY292ZXIgdGhpcyBuZWdhdGl2ZSBjYXNlLg0KDQo+ IA0KPiA+IFRoZSByZXN1bHRpbmcgcmVhc3NlbWJsZWQgcGFja2V0IHdvdWxkIGJlIGEgdHlwaWNh bCBzZWdtZW50ZWQgbWJ1ZiBpbg0KPiA+IGNhc2Ugb2Ygc3VjY2Vzcy4NCj4gPg0KPiA+IEFuZCBp ZiByZWFzc2VtYmx5IG9mIGZyYWdtZW50cyBpcyBmYWlsZWQgb3IgaXMgaW5jb21wbGV0ZSAoaWYg ZnJhZ21lbnRzIGRvDQo+ID4gbm90IGNvbWUgYmVmb3JlIHRoZSByZWFzc190aW1lb3V0KSwgdGhl IG1idWYgb2xfZmxhZ3MgY2FuIGJlIHVwZGF0ZWQuDQo+ID4gVGhpcyBpcyB1cGRhdGVkIGluIGEg c3Vic2VxdWVudCBwYXRjaC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEFraGlsIEdveWFsIDxn YWtoaWxAbWFydmVsbC5jb20+DQo+ID4gLS0tDQo+ID4gICBkb2MvZ3VpZGVzL25pY3MvZmVhdHVy ZXMucnN0IHwgMTIgKysrKysrKysrKysrDQo+ID4gICBsaWIvZXRoZGV2L3J0ZV9ldGhkZXYuYyAg ICAgIHwgIDEgKw0KPiA+ICAgbGliL2V0aGRldi9ydGVfZXRoZGV2LmggICAgICB8IDMyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystDQo+ID4gICAzIGZpbGVzIGNoYW5nZWQsIDQ0IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3Vp ZGVzL25pY3MvZmVhdHVyZXMucnN0IGIvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzLnJzdA0KPiA+ IGluZGV4IDI3YmUyZDI1NzYuLjFkZmRlZTk2MDIgMTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRl cy9uaWNzL2ZlYXR1cmVzLnJzdA0KPiA+ICsrKyBiL2RvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy5y c3QNCj4gPiBAQCAtNjAyLDYgKzYwMiwxOCBAQCBTdXBwb3J0cyBpbm5lciBwYWNrZXQgTDQgY2hl Y2tzdW0uDQo+ID4NCj4gYGB0eF9vZmZsb2FkX2NhcGEsdHhfcXVldWVfb2ZmbG9hZF9jYXBhOlJU RV9FVEhfVFhfT0ZGTE9BRF9PVVRFUl9VRA0KPiBQX0NLU1VNYGAuDQo+ID4NCj4gPg0KPiA+ICsu LiBfbmljX2ZlYXR1cmVzX2lwX3JlYXNzZW1ibHk6DQo+ID4gKw0KPiA+ICtJUCByZWFzc2VtYmx5 DQo+ID4gKy0tLS0tLS0tLS0tLS0NCj4gPiArDQo+ID4gK1N1cHBvcnRzIElQIHJlYXNzZW1ibHkg aW4gaGFyZHdhcmUuDQo+ID4gKw0KPiA+ICsqICoqW3VzZXNdICAgICBydGVfZXRoX3J4Y29uZixy dGVfZXRoX3J4bW9kZSoqOg0KPiBgYG9mZmxvYWRzOlJURV9FVEhfUlhfT0ZGTE9BRF9JUF9SRUFT U0VNQkxZYGAuDQo+IA0KPiBMb29raW5nIGF0IHRoZSBwYXRjaCBJIHNlZSBubyBjaGFuZ2VzIGFu ZCB1c2FnZSBvZiBydGVfZXRoX3J4Y29uZiBhbmQNCj4gcnRlX2V0aF9yeG1vZGUuIEl0IHNob3Vs ZCBiZSBhZGRlZCBoZXJlIGxhdGVyIGlmIGNvcnJlc3BvbmRpbmcgY2hhbmdlcw0KPiBjb21lIGlu IHN1YnNlcXVlbnQgcGF0Y2hlcy4NCj4gDQo+ID4gKyogKipbcHJvdmlkZXNdIG1idWYqKjoNCj4g YGBtYnVmLm9sX2ZsYWdzOlJURV9NQlVGX0ZfUlhfSVBfUkVBU1NFTUJMWV9JTkNPTVBMRVRFYGAN Cj4gDQo+IFNhbWUgaGVyZS4gVGhlIGZsYWcgaXMgbm90IGRlZmluZWQgeWV0LiBTbywgaXQgbXVz dCBub3QgYmUgbWVudGlvbmVkIGluDQo+IHRoZSBwYXRjaC4NCj4gLg0KT2sNCg0KPiA+ICsqICoq W3Byb3ZpZGVzXSBydGVfZXRoX2Rldl9pbmZvKio6IGBgcmVhc3NfY2FwYWBgLg0KPiA+ICsNCj4g PiArDQo+ID4gICAuLiBfbmljX2ZlYXR1cmVzX3NoYXJlZF9yeF9xdWV1ZToNCj4gPg0KPiA+ICAg U2hhcmVkIFJ4IHF1ZXVlDQo+IA0KPiANCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVf ZXRoZGV2LmggYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiA+IGluZGV4IGZhMjk5YzhhZDcu LjExNDI3YjJlNGQgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmgNCj4g PiArKysgYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiANCj4gW3NuaXBdDQo+IA0KPiA+IEBA IC0xNzgxLDYgKzE3ODIsMzMgQEAgZW51bSBydGVfZXRoX3JlcHJlc2VudG9yX3R5cGUgew0KPiA+ ICAgCVJURV9FVEhfUkVQUkVTRU5UT1JfUEYsICAgLyoqPCByZXByZXNlbnRvciBvZiBQaHlzaWNh bCBGdW5jdGlvbi4gKi8NCj4gPiAgIH07DQo+ID4NCj4gPiArLyogRmxhZyB0byBvZmZsb2FkIElQ IHJlYXNzZW1ibHkgZm9yIElQdjQgcGFja2V0cy4gKi8NCj4gPiArI2RlZmluZSBSVEVfRVRIX0RF Vl9SRUFTU0VNQkxZX0ZfSVBWNCAoUlRFX0JJVDMyKDApKQ0KPiA+ICsvKiBGbGFnIHRvIG9mZmxv YWQgSVAgcmVhc3NlbWJseSBmb3IgSVB2NiBwYWNrZXRzLiAqLw0KPiA+ICsjZGVmaW5lIFJURV9F VEhfREVWX1JFQVNTRU1CTFlfRl9JUFY2IChSVEVfQklUMzIoMSkpDQo+ID4gKy8qKg0KPiA+ICsg KiBAd2FybmluZw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgc3RydWN0dXJlIG1heSBj aGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+ID4gKyAqDQo+ID4gKyAqIEEgc3RydWN0dXJl IHVzZWQgdG8gc2V0IElQIHJlYXNzZW1ibHkgY29uZmlndXJhdGlvbi4NCj4gDQo+IEluIHRoZSBw YXRjaCB0aGUgc3RydWN0dXJlIGlzIHVzZWQgdG8gcHJvdmlkZSBjYXBhYmlsaXRpZXMsDQo+IG5v dCB0byBzZXQgY29uZmlndXJhdGlvbi4NCj4gDQo+IElmIHlvdSBhcmUgZ29pbmcgdG8gdXNlIHRo ZSBzYW1lIHN0cnVjdHVyZSBpbiBjYXBhYmlsaXRpZXMgYW5kDQo+IGNvbmZpZ3VyYXRpb24sIGl0 IGNvdWxkIGJlIGhhbmR5LCBidXQgcmVhbGx5IGNvbmZ1c2luZyBzaW5jZQ0KPiBpbnRlcnByZXRh dGlvbiBvZiBmaWVsZHMgc2hvdWxkIGJlIGRpZmZlcmVudC4NCj4gQXMgYSBiYXJlIG1pbmltdW0g dGhlIGRpZmZlcmVuY2UgbXVzdCBiZSBzcGVjaWZpZWQgaW4gY29tbWVudHMuDQo+IFJpZ2h0IG5v dyBhbGwgZmllbGRzIG1ha2VzIHNlbnNlIGluIGNhcGFiaWxpdGllcyBhbmQgY29uZmlndXJhdGlv bjoNCj4gbWF4aW11bSBwb3NzaWJsZSB2cyBhY3R1YWwgdmFsdWUsIGhvd2V2ZXIsIG5vdCBldmVy eXRoaW5nIGNvdWxkIGJlDQo+IHJlYWxseSBjb25maWd1cmFibGUgYW5kIGl0IHdpbGwgYmVjb21l IGNvbmZ1c2luZy4gSXQgaXMgcmVhbGx5IGhhcmQNCj4gdG8gZGlzY3VzcyByaWdodCBub3cgc2lu Y2UgdGhlIHBhdGNoIGRvZXMgbm90IHByb3ZpZGUgdXNhZ2Ugb2YgdGhlDQo+IHN0cnVjdHVyZSBm b3IgdGhlIGNvbmZpZ3VyYXRpb24uDQoNClRoZSBpZGVhIGlzIHRvIHVzZSBpdCBib3RoIGZvciBj YXBhYmlsaXRpZXMgYXMgd2VsbCBhcyBjb25maWd1cmF0aW9uIG9mIHRob3NlIHZhbHVlcy4NCkFu ZCBmcm9tIGxpYnJhcnkgcGVyc3BlY3RpdmUgbm90IGNyZWF0aW5nIGFueSBsaW1pdGF0aW9uIGFi b3V0IHdoaWNoIHBhcmFtIGNhbg0KQmUgY29uZmlndXJlZCB3aGljaCBjYW5ub3QgYmUgY29uZmln dXJlZC4NCkhvd2V2ZXIgd2lsbCBhZGQgYSBjb21tZW50IHRvIHNwZWNpZnkgYm90aCB1c2FnZS4N CkNvdWxkIHlvdSBwbGVhc2UgY2hlY2sgdjIgYW5kIHRlc3QgYXBwIGZvciB0aGUgdXNhZ2U/DQoN Cj4gDQo+ID4gKyAqDQo+ID4gKyAqIElmIFJURV9FVEhfUlhfT0ZGTE9BRF9JUF9SRUFTU0VNQkxZ IGZsYWcgaXMgc2V0IGluIG9mZmxvYWRzIGZpZWxkLA0KPiA+ICsgKiB0aGUgUE1EIHdpbGwgYXR0 ZW1wdCBJUCByZWFzc2VtYmx5IGZvciB0aGUgcmVjZWl2ZWQgcGFja2V0cyBhcyBwZXINCj4gPiAr ICogcHJvcGVydGllcyBkZWZpbmVkIGluIHRoaXMgc3RydWN0dXJlOg0KPiA+ICsgKg0KPiA+ICsg Ki8NCj4gPiArc3RydWN0IHJ0ZV9ldGhfaXBfcmVhc3NfcGFyYW1zIHsNCj4gPiArCS8qKiBNYXhp bXVtIHRpbWUgaW4gbXMgd2hpY2ggUE1EIGNhbiB3YWl0IGZvciBvdGhlciBmcmFnbWVudHMuICov DQo+ID4gKwl1aW50MzJfdCByZWFzc190aW1lb3V0Ow0KPiANCj4gUGxlYXNlLCBzcGVjaWZ5IHVu aXRzLiBNYXkgYmUgZXZlbiBpbiBmaWVsZCBuYW1lLiBFLmcuIHJlYXNzX3RpbWVvdXRfbXMuDQpP aw0KDQoNCj4gDQo+ID4gKwkvKiogTWF4aW11bSBudW1iZXIgb2YgZnJhZ21lbnRzIHRoYXQgY2Fu IGJlIHJlYXNzZW1ibGVkLiAqLw0KPiA+ICsJdWludDE2X3QgbWF4X2ZyYWdzOw0KPiA+ICsJLyoq DQo+ID4gKwkgKiBGbGFncyB0byBlbmFibGUgcmVhc3NlbWJseSBvZiBwYWNrZXQgdHlwZXMgLQ0K PiA+ICsJICogUlRFX0VUSF9ERVZfUkVBU1NFTUJMWV9GX3h4eC4NCj4gPiArCSAqLw0KPiA+ICsJ dWludDE2X3QgZmxhZ3M7DQo+IA0KPiBJZiBpdCBpcyBqdXN0IGZvciBwYWNrZXQgdHlwZXMsIEkn ZCBzdWdnZXN0IHRvIG5hbWUgdGhlIGZpZWxkIG1vcmUNCj4gcHJlY2lzZS4gQWxzbyBpdCB3aWxs IGF2b2lkIGZsYWdzIHZzIGZyYWdzIG1pc3JlYWRpbmcuDQo+IEp1c3QgYW4gaWRlYS4gVXAgdG8g eW91Lg0KDQpDdXJyZW50bHkgaXQgaXMgZm9yIHBhY2tldCB0eXBlLCBidXQgaXQgY2FuIGJlIGV4 dGVuZGVkIGZvciBmdXJ0aGVyIHVzYWdlIGluIGZ1dHVyZS4NCkhlbmNlIHRob3VnaHQgb2YgbWFr aW5nIGl0IGdlbmVyaWMgLSBmbGFncy4NCldoYXQgZG8geW91IHN1Z2dlc3Q/IEhvdyBhYm91dCBy ZW5hbWluZyBpdCB0byAnb3B0aW9ucyc/DQoNClJlZ2FyZHMsDQpBa2hpbA0K