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 2204AA034E; Sun, 30 Jan 2022 12:18:38 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9ECAF4013F; Sun, 30 Jan 2022 12:18:37 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2056.outbound.protection.outlook.com [40.107.237.56]) by mails.dpdk.org (Postfix) with ESMTP id C51BA40041; Sun, 30 Jan 2022 12:18:36 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C/6h5TorQtSphloIZbsXbqzxYpNdWXNFwmj2qehhCjDOHkkosDwRGOQSEUcgehgTLM4uDnpy6FppCRDGHXDWJ6eTCxwmJ8rJZpqjBuGLbsOuhWngaPWf2IzvB0xxrfmVfNnMjZKO/ENIGykAvgQjLodfHyzd0ATQh7EUr3y8DYvJbt01V4RTykAJklTQJfFWyZ0GjhT5RxY2o7Fn2hRvbDZkwnyzF7ypHN/4ZrzVllCts8bYftTRMQBRG0KqxbXEZ/N5tP9Uz/5XMx9G6mCuTYPx4ifNoIQSNFSnZDWW4u2KxCVjlra1gcZkGh7RUnlgZ+qKAFWPIBfkbbrX0FG0JQ== 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=8ec59qFeFJAF0KTZ+aDoFD26RK3l0wsdbKZDfy2tlPc=; b=Awp8SWdVhj+8JW1clzMwkcxyTk6G+fbRCFMIECyIeN8FC31Xuo7uqPFl63EGgiZvbl3Uo76DtDtmTYbjslOykimvlWZr9X0eUI372xgp78uTtdkKcGQ44AihNw3vCnke2P/zKFNMo5rMgqzfvjBqsMAxBOsj2q4kfRO/02ZmCgDsPZEwlcksruqE5Cu3xA6S1LJrykkw/SpyVaMNHFYWRhosNmbtdPKegYPEHisHcAxW7Ej0zdVFhpvMgUvUmGs/wYKrGmDmgJzfYpL/+JNEP4SmVcUJHzyHe6Wl74QTmZmyJjTr5KdLwQrggZB5W9IKEkxgc+ItqI2h3BTrI3dttg== 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=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8ec59qFeFJAF0KTZ+aDoFD26RK3l0wsdbKZDfy2tlPc=; b=hpA/65zRNR+fo8uidjOUPjrRFF4cHXeA12IJ8RwwI01+8+1CNgExbSqocY03HFeVraehyE2iOfKX+yiDCx/PnG7wdW3UJnx0QQPkReNK5idBblbpXjOdIQPaayzhK3pU0J4Eww8KHZSS8u0sLNm8+nsbJahpGA0WJ1KaUpd+uLWKi+iq09lkgWBevUv0SPjgNYNhqqcBNy5dPLkMjdinJmIP9L47Ti8gpFVMW4E9f2P0GrsB6ZN63HMe5uycB6hVZaAYBo+Fpr72/b8UDL/3+klN5i/sSR1xrknSK9AABjM5EjUTdLzOden3CtO+yLEn5mjVUVXXb/qxNWQ32wTwWA== Received: from BYAPR12MB4598.namprd12.prod.outlook.com (2603:10b6:a03:10d::16) by CH0PR12MB5042.namprd12.prod.outlook.com (2603:10b6:610:e1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Sun, 30 Jan 2022 11:18:34 +0000 Received: from BYAPR12MB4598.namprd12.prod.outlook.com ([fe80::757c:a88:b03e:b746]) by BYAPR12MB4598.namprd12.prod.outlook.com ([fe80::757c:a88:b03e:b746%5]) with mapi id 15.20.4930.021; Sun, 30 Jan 2022 11:18:34 +0000 From: Raja Zidane To: "Singh, Aman Deep" , Matan Azrad , Ferruh Yigit , "dev@dpdk.org" CC: "stable@dpdk.org" Subject: RE: [PATCH] app/testpmd: fix GENEVE parsing in csum forward mode Thread-Topic: [PATCH] app/testpmd: fix GENEVE parsing in csum forward mode Thread-Index: AQHYDFEN5m01iG1lI0apn+i2U76jfaxopD+AgAAQy4CAAAeogIAAAieAgAAEdwCAAvoKgIAPvalw Date: Sun, 30 Jan 2022 11:18:33 +0000 Message-ID: References: <20211205034450.7888-1-rzidane@nvidia.com> <4787802c-cefe-6d15-817f-6b906451ded8@intel.com> <6b4a6388-92b7-eeb5-f218-b007199e3ddf@intel.com> <9e8ec1b6-4131-8c26-c814-f46d56e76c28@intel.com> In-Reply-To: <9e8ec1b6-4131-8c26-c814-f46d56e76c28@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 155c00ff-4bf6-404b-a406-08d9e3e24100 x-ms-traffictypediagnostic: CH0PR12MB5042: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: pIwa2kjS+KS6RXQQlljgZsIJmOyX+47Ay4Fux3FPzoTUengY7AWkIdDl9gAlb8Yun64bekyfxaajGDDFBqPjdewfq4SI61UuHdeSJgK2LYlabmSnavoGOE/RrAnuMkkLs7ISVa+SikcUbkSZddTJRbdO1RejZ+uWkeQgVJzCCt/1zaHYg/dx2pu5f/hLqHs/A3cK9Xuwns18MvidO604+/+UirRMos2rN5IrhdPyDtQqNf+fjCLL7qt6Re3rwJBjSgGUbWhR3tYKMyK9QLlhjhSom5WzuBAKTjSphJVgSUyh/zar8Ab9cbyfs/2D6PTwdomORKMYo+qbU1/SEhuG0f4Pb/8p01s5RrycyAdk9dch2Q2PLhUWcwngxXuOcmtwf+jf5O7L9r5CtQRelfFUMH1d2UmXUbNbwYGTfelYBQmfoKFNn7F9eGUowVlqtg9dSd4RpxZsuC2ZLGistRLl7hEpcsKE5hesHVbt3UDKNBPd1wVq0i8HGNJbw6DhhhjZB7JyUYlJkfI+mH13r5fK/LVOAPBp3o58xl003AyREPTHJSKIGt+LCADOxzKJMaV0jcCCifhiKxE/ez55rHV24bSTzbEeWv032JLszSXpU+m47e6KowWVcb+3mZY6CoXAT8sp35mLcCMf2JALX79ELZ4r8UhMPglWP0YEy636+K+tNhCcU7R72Y9oAzrZtYUiaJkgGCoTBGn8j7UDUp75mxojYzFDtDkhuXid4scGl8k2tPpO5aJJHMDMp7wsl8KED9ra2TFUgP8rbsPzScc2HpGifzCTipSdZdOfhB76qbY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB4598.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(33656002)(71200400001)(86362001)(26005)(83380400001)(52536014)(5660300002)(66556008)(76116006)(66946007)(66476007)(66446008)(64756008)(4326008)(38070700005)(122000001)(8676002)(8936002)(508600001)(2906002)(55016003)(966005)(6506007)(7696005)(38100700002)(53546011)(9686003)(110136005)(316002)(20210929001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d050aU9EU3c0Rjl0Zkk3bUp6bG9xTzdDOWNaMGdHMFFENUdCZFJ1ZXkxSUVH?= =?utf-8?B?aityNFJXVjNaZzhFYUNyLzhJSjRMOEJocXZ1Z0ZlZFU4RU9tY24zVjV3SEli?= =?utf-8?B?Q2lHdjU1b0lnTkVuOWFZZmlRS1RhRDdPd21na1NRKzcweEZKTGo1Z2VVOUpC?= =?utf-8?B?d1dsZ01TKzFvOU5CVVRLbnQ5Z1VBbS9KcUVWSHhKOFpud04xb3p1KzhKRWRh?= =?utf-8?B?WjRYbElYeTIxUTlHcVRMOXVRMy9zSnR6RDVKRUp3bVhTcnFvSCtKaEJSOWho?= =?utf-8?B?NUI2ejhvTlg2alllNzZRVWJ2QmoxSXkwWVlsVTBKYnY1WEpPbkNMdzlvQVp0?= =?utf-8?B?WmdVWHRKeDJYK1gvZ1g1c3kxQzN4MDI0VVNBQTBsK3pxRmRsTGg4dlFXbWl3?= =?utf-8?B?VTdzRVNETWhEcmQ0MERIQ1IyZnlMUW5zUGpEdUtlZFUwcHJqTE9lYllKci9V?= =?utf-8?B?ZENQc2NYYWtnenY2UkRZSU9FV3FOeVJMVFB2ak15azg5elhRcWhINHdEcXhK?= =?utf-8?B?NXMxWVZyNEFjZk1MZGpTaE5XZzlOeGFUdm1FN1lKV0Y1WWtWU0dKdEdYUE0y?= =?utf-8?B?aVlSRVNFMEN2YWQvd2luUVFlRVF3WC9Wb0lHR3RsWEtRTlQ0U2xtSyt5Wmt2?= =?utf-8?B?Wk1Zbm9jOEhOUlBYODVhL3FlOUxWcm1aZjBDNGcvTzhLRTYyQmxUTHRkb0l4?= =?utf-8?B?cGFMZmRSLytndWRJNmllQ0l2SmxMM2QvQzVQdEVxRzRnREVYUHB4N1FqQUln?= =?utf-8?B?TEloVUhwOUNWUVl5R0JkUHZYRTR1SHhyLzRzb1YyQ3pNazk2YmRKYmpzUzQ2?= =?utf-8?B?d3NOeTB4TjlpMjRmSUV4OFQ4YzlYVnFxOHdzNmw2Y1JNT29KNFVpdXM4WlBv?= =?utf-8?B?bnQxMS9sVS9lWVpxVlM4Y0xzVm5qcEZZbEFDZ0tGS0d3M2NUSGVjN2hIdHFP?= =?utf-8?B?L1BPVjdQcjcyMkxJSWpNNGZBWEhrZEJGbXpVUG1CRnRYN3dXQlBjQ0VMRTZE?= =?utf-8?B?ZDRpSHFBa0ZSQ25WaWdVcUlqVVVjT2lKQWxGMUJZSVR4TmtIdHViUzVSeXVt?= =?utf-8?B?cGxtTUxEZnA1MlFuUTNZMDdpSS9wenE4MnRJMkpMZFpZempGVUFkN2o2bDJy?= =?utf-8?B?blN5Nk1iYkE0Q2NCUHVRVEpGMTJDRVhVWS9aWi9ZQjR0dnUzQWhSaVQ5VXh3?= =?utf-8?B?SVVjbFhTdjJaeUp6TGdYSWJDOFpuN0ZWSUliWDU2TnBQNmc3cy9JV3RrNys5?= =?utf-8?B?UlZ1N3VDNFZjbnJZalQ2eHV1MFVjVVZUa3BRc2dOZ1kwZDB3eGlaa0dpUWN3?= =?utf-8?B?dHBRMitoUEZ4QzNxME9mK1B3YVloN0VlUDZnQ21mRU45UUt1R1lVcHIvUWFD?= =?utf-8?B?NG9NU3h1S1U4cFpROW5MVnFKYVNEUEZ6MjliSUF1dEF6RGZDSnlpQzk5QUZo?= =?utf-8?B?Vm93cXY4cjVLUER5Wis3NlhpK1czb2JWL3EyTzZwOWtNMlE3enRRNHZMV3Rv?= =?utf-8?B?UHdZRUpvYVMwb3YzZDkva0NKSkl0Y3o1bXNJcEpZVkF1Y3JlYUtxbGFncXR4?= =?utf-8?B?UDFuYnh2d3h5aVZGMWFyMkdPbDBrVzRUdEVrWU1CU1pFSDNJMEpMbitHNGJ3?= =?utf-8?B?SmNkUVpuV3JSMEFlRm1BNGZ4OWxhR3B4K1MzVzduK0ZneVdDUkRxMC9HajE2?= =?utf-8?B?RFNJZHNCS3IxTkNzN2pCdzd0aG82Y1FaU0NzYk5lRXRmdm4wQlJCSnVQQklw?= =?utf-8?B?L3crQkhCWHhqczJlcmh2ek5MK2k4ZlgvRG1xc29zTDF1QXEvMFMrL3RRY1kz?= =?utf-8?B?V2hKSXhBclJtdTRIcVFUQzB2bHUyZGg5ZVpQSjhGaVFBT1JGUklWeU5ScUo1?= =?utf-8?B?WlZHRmQxOFRVZlVxWWJnYlJ5UjhjSk82RTVNSy9ic1pUUFUraEFSTWN6allL?= =?utf-8?B?R1dqYTBVbU9iOHJXeVMvVWxZTUtOdFVSOXB5YTlFdmRlZXNkY1dEUW42QXZR?= =?utf-8?B?V1BWTjRpdWovVHNPU2hGS0pXTWRJb3JXRTFGUCsvcGFhL3JsSXJBZGdodzdm?= =?utf-8?B?WjZuUVdZTDhXRWFWeDlja3VRVzVabEJiSjhpY2tDUUNsVUdjYlVtaGVvbU5E?= =?utf-8?B?WG4xUUt2ZWNXR0ZkY01WVmJkNzVZQmRxK2NIaWdrWmRQbm9jamxKdnFtUnZZ?= =?utf-8?B?bkE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB4598.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 155c00ff-4bf6-404b-a406-08d9e3e24100 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2022 11:18:33.8092 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Qq7yiDdgU8zb3p62t/y2kKNwugnqkaaSEMeSjaftT0zbat8s2RTz2IWyR0Ratfq+Jb3f9QmGH3NsQ1NLpLLojA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5042 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 SSBkaWRuJ3Qgd2FudCB0byByZW1vdmUgdGhlIGRlZmF1bHQgcGFyc2luZyBvZiB0dW5uZWwgYXMg VnhMYW4gYmVjYXVzZSBJIHRob3VnaHQgaXQgbWlnaHQgYmUgdXNlZCwNCkluc3RlYWQgSSBtb3Zl ZCBpdCB0byB0aGUgZW5kLCB3aGljaCBtYWtlcyBpdCBkZXRlY3QgYWxsIHN1cHBvcnRlZCB0dW5u ZWwgdGhyb3VnaCB1ZHBfZHN0X3BvcnQsDQpBbmQgb25seSBpZiBubyB0dW5uZWwgd2FzIG1hdGNo ZWQgaXQgd291bGQgZGVmYXVsdCB0byBWeExhbi4NClRoYXQgd2FzIHRoZSByZWFzb24gZ2VuZXZl IHdlcmVuJ3QgZGV0ZWN0ZWQgYW5kIHBhcnNlZCBhcyB2eGxhbiBpbnN0ZWFkLCB3aGljaCBpcyB0 aGUgYnVnIEkgd2FzIHRyeWluZyB0byBzb2x2ZS4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCkZyb206IFNpbmdoLCBBbWFuIERlZXAgPGFtYW4uZGVlcC5zaW5naEBpbnRlbC5jb20+IA0K U2VudDogVGh1cnNkYXksIEphbnVhcnkgMjAsIDIwMjIgMTI6NDcgUE0NClRvOiBNYXRhbiBBenJh ZCA8bWF0YW5AbnZpZGlhLmNvbT47IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNv bT47IFJhamEgWmlkYW5lIDxyemlkYW5lQG52aWRpYS5jb20+OyBkZXZAZHBkay5vcmcNCkNjOiBz dGFibGVAZHBkay5vcmcNClN1YmplY3Q6IFJlOiBbUEFUQ0hdIGFwcC90ZXN0cG1kOiBmaXggR0VO RVZFIHBhcnNpbmcgaW4gY3N1bSBmb3J3YXJkIG1vZGUNCg0KRXh0ZXJuYWwgZW1haWw6IFVzZSBj YXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCg0KDQpPbiAxLzE4LzIwMjIgNjo0 OSBQTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+DQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPj4gRnJvbTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPj4gU2Vu dDogVHVlc2RheSwgSmFudWFyeSAxOCwgMjAyMiAzOjAzIFBNDQo+PiBUbzogTWF0YW4gQXpyYWQg PG1hdGFuQG52aWRpYS5jb20+OyBSYWphIFppZGFuZSA8cnppZGFuZUBudmlkaWEuY29tPjsgDQo+ PiBkZXZAZHBkay5vcmcNCj4+IENjOiBzdGFibGVAZHBkay5vcmcNCj4+IFN1YmplY3Q6IFJlOiBb UEFUQ0hdIGFwcC90ZXN0cG1kOiBmaXggR0VORVZFIHBhcnNpbmcgaW4gY3N1bSBmb3J3YXJkIA0K Pj4gbW9kZQ0KPj4NCj4+IEV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtz IG9yIGF0dGFjaG1lbnRzDQo+Pg0KPj4NCj4+IE9uIDEvMTgvMjAyMiAxMjo1NSBQTSwgTWF0YW4g QXpyYWQgd3JvdGU6DQo+Pj4NCj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+Pj4g RnJvbTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPj4+PiBTZW50OiBU dWVzZGF5LCBKYW51YXJ5IDE4LCAyMDIyIDI6MjggUE0NCj4+Pj4gVG86IE1hdGFuIEF6cmFkIDxt YXRhbkBudmlkaWEuY29tPjsgUmFqYSBaaWRhbmUgDQo+Pj4+IDxyemlkYW5lQG52aWRpYS5jb20+ OyBkZXZAZHBkay5vcmcNCj4+Pj4gQ2M6IHN0YWJsZUBkcGRrLm9yZw0KPj4+PiBTdWJqZWN0OiBS ZTogW1BBVENIXSBhcHAvdGVzdHBtZDogZml4IEdFTkVWRSBwYXJzaW5nIGluIGNzdW0gDQo+Pj4+ IGZvcndhcmQgbW9kZQ0KPj4+Pg0KPj4+PiBFeHRlcm5hbCBlbWFpbDogVXNlIGNhdXRpb24gb3Bl bmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPj4+Pg0KPj4+Pg0KPj4+PiBPbiAxLzE4LzIwMjIg MTE6MjcgQU0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPj4+Pj4NCj4+Pj4+PiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPj4+Pj4+IEZyb206IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGlu dGVsLmNvbT4NCj4+Pj4+PiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDE4LCAyMDIyIDExOjUyIEFN DQo+Pj4+Pj4gVG86IFJhamEgWmlkYW5lIDxyemlkYW5lQG52aWRpYS5jb20+OyBkZXZAZHBkay5v cmcNCj4+Pj4+PiBDYzogTWF0YW4gQXpyYWQgPG1hdGFuQG52aWRpYS5jb20+OyBzdGFibGVAZHBk ay5vcmcNCj4+Pj4+PiBTdWJqZWN0OiBSZTogW1BBVENIXSBhcHAvdGVzdHBtZDogZml4IEdFTkVW RSBwYXJzaW5nIGluIGNzdW0gDQo+Pj4+Pj4gZm9yd2FyZCBtb2RlDQo+Pj4+Pj4NCj4+Pj4+PiBF eHRlcm5hbCBlbWFpbDogVXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0K Pj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+PiBPbiAxMi81LzIwMjEgMzo0NCBBTSwgUmFqYSBaaWRhbmUg d3JvdGU6DQo+Pj4+Pj4+IFRoZSBjc3VtIEZXRCBtb2RlIHBhcnNlcyBhbnkgcmVjZWl2ZWQgcGFj a2V0IHRvIHNldCBtYnVmIA0KPj4+Pj4+PiBvZmZsb2FkcyBmb3IgdGhlIHRyYW5zbWl0dGluZyBi dXJzdCwgbWFpbmx5IGluIHRoZSBjaGVja3N1bS9UU08gYXJlYXMuDQo+Pj4+Pj4+IEluIHRoZSBj YXNlIG9mIGEgdHVubmVsIGhlYWRlciwgdGhlIGNzdW0gRldEIHRyaWVzIHRvIGRldGVjdCANCj4+ Pj4+Pj4ga25vd24gdHVubmVscyBieSB0aGUgc3RhbmRhcmQgZGVmaW5pdGlvbiB1c2luZyB0aGUg aGVhZGVyJ3NkYXRhIA0KPj4+Pj4+PiBhbmQgZmFsbGJhY2sgdG8gY2hlY2sgdGhlIHBhY2tldCB0 eXBlIGluIHRoZSBtYnVmIHRvIHNlZSBpZiB0aGUgDQo+Pj4+Pj4+IFJ4IHBvcnQgZHJpdmVyIGFs cmVhZHkgc2lnbiB0aGUgcGFja2V0IGFzIGEgdHVubmVsLg0KPj4+Pj4+PiBJbiB0aGUgZmFsbGJh Y2sgY2FzZSwgdGhlIGNzdW0gYXNzdW1lcyB0aGUgdHVubmVsIGlzIFZYTEFOIGFuZCANCj4+Pj4+ Pj4gcGFyc2VzIHRoZSB0dW5uZWwgYXMgVlhMQU4uDQo+Pj4+Pj4gQXMgZmFyIGFzIEkgY2FuIHNl ZSB0aGVyZSBpcyBhIFZYTEFOIHBvcnQgY2hlY2sgaW4gDQo+Pj4+Pj4gJ3BhcnNlX3Z4bGFuKCkn LCB3aHkgaXQgaXMgbm90IGhlbHBpbmc/DQo+Pj4+Pj4NCj4+Pj4+IFRoZSBwcm9ibGVtIGlzIG5v dCB0aGUgdnhsYW4gY2hlY2sgYnV0IHRoZSB0dW5uZWwgdHlwZSBpbiBtYnVmIA0KPj4+Pj4gdGhh dCBjYXVzZWQgdGhlDQo+Pj4+IHBhY2tldCB0byBiZSBkZXRlY3RlZCBhcyB2eGxhbihkZWZhdWx0 KSBiZWZvcmUgY2hlY2tpbmcgR0VORVZFIHR1bm5lbCBjYXNlLg0KPj4+PiBDaGVjayBpcyBhcyBm b2xsb3dpbmc6DQo+Pj4+DQo+Pj4+ICAgICAgICAgICAgaWYgKHVkcF9oZHItPmRzdF9wb3J0ICE9 IF9odG9ucyhSVEVfVlhMQU5fREVGQVVMVF9QT1JUKSAmJg0KPj4+PiAgICAgICAgICAgICAgICAg ICAgUlRFX0VUSF9JU19UVU5ORUxfUEtUKHBrdF90eXBlKSA9PSAwKQ0KPj4+PiAgICAgICAgICAg ICAgICAgICAgcmV0dXJuOw0KPj4+Pg0KPj4+PiBEbyB5b3Ugd2hhdCBpcyB0aGUgaW50ZW50aW9u IGZvciB0aGUgDQo+Pj4+ICJSVEVfRVRIX0lTX1RVTk5FTF9QS1QocGt0X3R5cGUpID09DQo+PiAw Ig0KPj4+PiBjaGVjaz8NCj4+Pj4gV2h5IHZ4bGFuIHBhcnNpbmcgZG9lc24ndCBzdG9wIHdoZW4g aXQgaXMgbm90IGRlZmF1bHQgcG9ydD8NCj4+PiBNYXliZSBzb21lIGRyaXZlcnMgc2V0IHRoZSB0 dW5uZWwgdHlwZSBmb3IgdnhsYW4gcGFja2V0cyBjb21pbmcgDQo+Pj4gYWZ0ZXIgbm9uLQ0KPj4g c3RhbmRhcmQgdnhsYW4gcG9ydC4NCj4+IEJ1dCBjaGVja2luZyB0aGUgdHVubmVsIGZsYWcgdG8g c2F5IHRoYXQgaXQgaXMgdnhsYW4gaXMgdG9vIGJyb2FkLCBpc24ndCBpdD8NCj4+IEFuZCB0aGlz IGlzIHRoZSBwcm9ibGVtIHlvdSBhcmUgaGF2aW5nLg0KPj4NCj4+IENhbiB0aGVyZSBiZSBhbnkg d2F5IHRvIGRldGVjdCBhbmQgY2hlY2sgbm9uLXN0YW5kYXJkIHZ4bGFuIHBvcnQ/DQo+IE1heWJl IHllcywgYnV0IGl0IGlzIHByb2JhYmx5IG1vcmUgY29tcGxleCBzb2x1c2lvbi4NCj4NCj4gU2Vl IHRoaXMgcGF0Y2g6DQo+IGh0dHBzOi8vcGF0Y2hlcy5kcGRrLm9yZy9wcm9qZWN0L2RwZGsvcGF0 Y2gvMTQyMzgxOTM3MS0yNDIyMi0xMy1naXQtc2UNCj4gbmQtZW1haWwtb2xpdmllci5tYXR6QDZ3 aW5kLmNvbS8NCj4NCj4gY29tbWVudHMgdGhlcmU6DQo+IDEuIGNoZWNrIHVkcCBkZXN0aW5hdGlv biBwb3J0LCA0Nzg5IGlzIHRoZSBkZWZhdWx0IHZ4bGFuIHBvcnQgKHJmYzczNDgpLg0KPiAyLiBj dXJyZW50bHksIHRoaXMgZmxhZyBpcyBzZXQgYnkgaTQwZSBvbmx5IGlmIHRoZSBwYWNrZXQgaXMg dnhsYW4NCj4NCj4gQW5kIG1heWJlIGFub3RoZXIgZHJpdmVyIGFzc3VtZXMgbW9yZSBwb3J0cyBo ZXJlLg0KPg0KPiBDb2xsZWN0aW5nIGFsbCB0aGUgbm9uLXN0YW5kYXJkIHBvcnRzIGNhbiBzdGFy dCBmcm9tIGk0MCBtYWludGFpbmVyc/CfmIoNCkkgdGhpbmssIGhlcmUgd2Ugc2hvdWxkIGNoZWNr IGZvciBzdXBwb3J0ZWQgdHVubmVsIHR5cGVzIG9ubHkuICBUaGUgaTQwIGRyaXZlciBzZXR0aW5n IGEgVHVubmVsIGZsYWcsIGRvZXMgbm90IG1lYW5zIHRoYXQgaXQgVnhMYW4gdHlwZSBvbmx5Lg0K QXMgaW4geW91ciBjYXNlIHRob3NlIHdlcmUgR0VORVZFIHBhY2tldHMgZ2V0dGluZyB0cmVhdGVk IGFzIFZ4TGFuLg0KDQpNYWtpbmcgcGFyc2VfdnhsYW4oKSB1ZHBfZHN0X3BvcnQgc3BlY2lmaWMg Y2FuIGF2b2lkIHRoaXMgaXNzdWUuDQoNCj4+Pj4+Pj4gV2hlbiB0aGUgR0VORVZFIHR1bm5lbCB3 YXMgYWRkZWQgdG8gdGhlIGtub3duIHR1bm5lbHMgaW4gY3N1bSwgDQo+Pj4+Pj4+IGl0cyBwYXJz aW5nIHRyaWFsIHdhcyB3cm9uZ2x5IGxvY2F0ZWQgYWZ0ZXIgdGhlIHBrdCB0eXBlIA0KPj4+Pj4+ PiBkZXRlY3Rpb24sIGNhdXNpbmcgdGhlIGNzdW0gdG8gcGFyc2UgdGhlIEdFTkVWRSBoZWFkZXIg YXMgVlhMQU4gDQo+Pj4+Pj4+IHdoZW4gdGhlIFJ4IHBvcnQgc2V0IHRoZSB0dW5uZWwgcGFja2V0 IHR5cGUuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IExvY2F0ZSB0aGUgR0VORVZFIHBhcnNpbmcgdHJpYWwg YmVmb3JlIHRoZSBwYWNrZXQgdHlwZSBkZXRlY3Rpb24uDQo+Pj4+Pj4+DQo+Pj4+Pj4+IEZpeGVz OiBlYTBlNzExYjhhZTAgKCJhcHAvdGVzdHBtZDogYWRkIEdFTkVWRSBwYXJzaW5nIikNCj4+Pj4+ Pj4gQ2M6IHN0YWJsZUBkcGRrLm9yZw0KPj4+Pj4+Pg0KPj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBS YWphIFppZGFuZSA8cnppZGFuZUBudmlkaWEuY29tPg0KPj4+Pj4+PiAtLS0NCj4+Pj4+Pj4gQWNr ZWQtYnk6IE1hdGFuIEF6cmFkIDxtYXRhbkBudmlkaWEuY29tPg0KPj4+Pj4+IEFjayBzaG91bGQg YmUgYmVmb3JlICctLS0nIHRvIGJlIHBhcnQgb2YgdGhlIGNvbW1pdCBsb2csIA0KPj4+Pj4+IG90 aGVyd2lzZSBpdCBpcyBkcm9wcGVkIHdoZW4gYXBwbGllZCBhcyBjb21tZW50Lg0KPj4+Pj4+DQo+ Pj4+Pj4+ICAgICAgYXBwL3Rlc3QtcG1kL2NzdW1vbmx5LmMgfCAxNiArKysrKysrKysrLS0tLS0t DQo+Pj4+Pj4+ICAgICAgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDYgZGVsZXRp b25zKC0pDQo+Pj4+Pj4+DQo+Pj4+Pj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvY3N1bW9u bHkuYyBiL2FwcC90ZXN0LXBtZC9jc3Vtb25seS5jIA0KPj4+Pj4+PiBpbmRleCAyYWVlYTI0M2I2 Li5mZTgxMGZlY2RkIDEwMDY0NA0KPj4+Pj4+PiAtLS0gYS9hcHAvdGVzdC1wbWQvY3N1bW9ubHku Yw0KPj4+Pj4+PiArKysgYi9hcHAvdGVzdC1wbWQvY3N1bW9ubHkuYw0KPj4+Pj4+PiBAQCAtMjU0 LDcgKzI1NCwxMCBAQCBwYXJzZV9ndHAoc3RydWN0IHJ0ZV91ZHBfaGRyICp1ZHBfaGRyLA0KPj4+ Pj4+PiAgICAgICAgICBpbmZvLT5sMl9sZW4gKz0gUlRFX0VUSEVSX0dUUF9ITEVOOw0KPj4+Pj4+ PiAgICAgIH0NCj4+Pj4+Pj4NCj4+Pj4+Pj4gLS8qIFBhcnNlIGEgdnhsYW4gaGVhZGVyICovDQo+ Pj4+Pj4+ICsvKg0KPj4+Pj4+PiArICogUGFyc2UgYSB2eGxhbiBoZWFkZXIuDQo+Pj4+Pj4+ICsg KiBJZiBhIHR1bm5lbCBpcyBkZXRlY3RlZCBpbiAncGt0X3R5cGUnIGl0IHdpbGwgYmUgcGFyc2Vk IGJ5IGRlZmF1bHQgYXMgdnhsYW4uDQo+Pj4+Pj4+ICsgKi8NCj4+Pj4+Pj4gICAgICBzdGF0aWMg dm9pZA0KPj4+Pj4+PiAgICAgIHBhcnNlX3Z4bGFuKHN0cnVjdCBydGVfdWRwX2hkciAqdWRwX2hk ciwNCj4+Pj4+Pj4gICAgICAgICAgICAgIHN0cnVjdCB0ZXN0cG1kX29mZmxvYWRfaW5mbyAqaW5m bywgQEAgLTkxMiwxNyANCj4+Pj4+Pj4gKzkxNSwxOCBAQCBwa3RfYnVyc3RfY2hlY2tzdW1fZm9y d2FyZChzdHJ1Y3QgZndkX3N0cmVhbSAqZnMpDQo+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfTUJVRl9GX1RYX1RVTk5FTF9WWExBTl9H UEU7DQo+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290 byB0dW5uZWxfdXBkYXRlOw0KPj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9DQo+Pj4+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlX3Z4bGFuKHVk cF9oZHIsICZpbmZvLA0KPj4+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtLT5wYWNrZXRfdHlwZSk7DQo+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBhcnNlX2dlbmV2ZSh1ZHBfaGRyLCAmaW5mbyk7DQo+Pj4+Pj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmZvLmlzX3R1bm5lbCkgew0KPj4+Pj4+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR4X29sX2ZsYWdzIHw9DQo+Pj4+ Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfTUJV Rl9GX1RYX1RVTk5FTF9WWExBTjsNCj4+Pj4+Pj4gKw0KPj4+Pj4+PiArIFJURV9NQlVGX0ZfVFhf VFVOTkVMX0dFTkVWRTsNCj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBnb3RvIHR1bm5lbF91cGRhdGU7DQo+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCj4+Pj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy c2VfZ2VuZXZlKHVkcF9oZHIsICZpbmZvKTsNCj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLyogQWx3YXlzIGtlZXAgbGFzdC4gKi8NCj4+Pj4+Pj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFyc2VfdnhsYW4odWRwX2hkciwgJmluZm8sDQo+Pj4+Pj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0tPnBhY2tldF90eXBlKTsNCj4+ Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZm8uaXNfdHVubmVs KSB7DQo+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHhf b2xfZmxhZ3MgfD0NCj4+Pj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJURV9NQlVGX0ZfVFhfVFVOTkVMX0dFTkVWRTsNCj4+Pj4+Pj4gKw0KPj4+Pj4+ PiArIFJURV9NQlVGX0ZfVFhfVFVOTkVMX1ZYTEFOOw0KPj4+Pj4+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gdHVubmVsX3VwZGF0ZTsNCj4+Pj4+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPj4+Pj4+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgfSBlbHNlIGlmIChpbmZvLmw0X3Byb3RvID09IA0KPj4+Pj4+PiBJUFBST1RPX0dS RSkgew0K