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 D8559A00C4; Mon, 5 Sep 2022 09:07:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 83F1840697; Mon, 5 Sep 2022 09:07:18 +0200 (CEST) Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2054.outbound.protection.outlook.com [40.107.215.54]) by mails.dpdk.org (Postfix) with ESMTP id 87165400D4 for ; Mon, 5 Sep 2022 09:07:16 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QKvbVOs/d/zCdpt4WEROA/n7L2LPhUv1zlw7kVYGlm12Thj8MmY6auGfuyXz/fkwc0LzPeIGUzcJppk4KTHqGI8hjqLfdjA7g3x6BjhhVM4d/vqVjss5wVwPgoRu7YnC711moYyuPSD1mae2bOHPa11rIVKwnHnI6dyUQVQIJ/AxBecGaarMC9SoFIfogq0sRZmfycr3iBcOB/YJGrZfEw+oOUbo2aiVQC8WL28765HyrCuvrYcLwkNIEos0QS6OO3XKU/qF1JZUm224OZ3KQOsJ5HNGGh8FQkSXZhIeIqdq+LKlVpjbu5HBcMVpIJaCY7vBL6q5+QBXK6j/dn9h0g== 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=nztpbXEnC+aove0M5MzKyTGGKEWtS0m11Loxm45rFQY=; b=GmGyz0nuYEldVE2qOkrjhPvBKFAg2QHllZidufXHs8xzMn5naSeeeEaGYgyN72XYOjyDVnPgW7Ny7ZSf0yzchkl3h9aRSj0IDGXHPWSmS/wHfU8yGb4ZMEadLMF1vJokmKLdbW6205xQq+dkj0uI3a9Le1iBH4ixHakOELYsB7aAtZWPwoPL+f4rNK3gQV399x5BIsDiSa+HVWW0AFLpfQoNyS13O6QEKW4J9EaQifDgwmb4VOxSa2WlXk/UT9O8oklHGnEOShuObjg3cruVLzO22zKoMEJ+FHea5VgmXlPW2OCy1gPFSVjmTiklwE/9f/0tBxnxp1qBdGhxmZUFCw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jaguarmicro.com; dmarc=pass action=none header.from=jaguarmicro.com; dkim=pass header.d=jaguarmicro.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jaguarmicro.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nztpbXEnC+aove0M5MzKyTGGKEWtS0m11Loxm45rFQY=; b=mPRxmVpKYH7USVTV9lgz+EerMK/zT2ZZXXhzn/cuLp6VLM/BWoPUWpWgE55kLqyFtULFAPCZwKAxSycLpeRAFcmMN2D0wGARKg/QBREbXoKt6jM/oExZ7ZCkyg5dcLOcMzsoPyC2QD7ChdHinJoqeXNCdPOU5Sn8Qb8OINfkwnlQF6OIaty7n5mIwgbda2anf38/ZqADQFY3C53ROscTH+rRVgoMHX8CsenH7GUDnfzxXUi48c2/UXCdbzxYqNLEPgDtE0Q4EbAcM2Y0RHuofvoKJD6f3g+jlwowGfd4X0eDlChJdiXeW04mZYSg6SsUoJ4T21he+G4Cay6Ie9PXWw== Received: from TY0PR06MB5683.apcprd06.prod.outlook.com (2603:1096:400:273::6) by TYZPR06MB5276.apcprd06.prod.outlook.com (2603:1096:400:1f4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.13; Mon, 5 Sep 2022 07:07:13 +0000 Received: from TY0PR06MB5683.apcprd06.prod.outlook.com ([fe80::5062:a649:20de:e22d]) by TY0PR06MB5683.apcprd06.prod.outlook.com ([fe80::5062:a649:20de:e22d%9]) with mapi id 15.20.5588.010; Mon, 5 Sep 2022 07:07:13 +0000 From: Jun Qiu To: "Hu, Jiayu" , Thomas Monjalon CC: kumaraparameshwaran rathinavel , "dev@dpdk.org" Subject: RE: [PATCH] gro: fix gro with tcp push flag Thread-Topic: [PATCH] gro: fix gro with tcp push flag Thread-Index: AQHYoLdzwc7SOHq+ikGjq+ryowq21q2QM/cAgAADMwCAAARhgIABrHOwgDP86wCAAXLngIAJH2WAgAArWgA= Date: Mon, 5 Sep 2022 07:07:12 +0000 Message-ID: References: <20220726061741.21021-1-jun.qiu@jaguarmicro.com> <4016468.6PsWsQAL7t@thomas> <8bafa976e0b54e6eaeba03cd490f9d86@intel.com> <927c323f44f64bbc80b0f18828ddd016@intel.com> In-Reply-To: <927c323f44f64bbc80b0f18828ddd016@intel.com> Accept-Language: en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=jaguarmicro.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: af93df28-ad87-4d00-891b-08da8f0d41dc x-ms-traffictypediagnostic: TYZPR06MB5276:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: m35XfT8ryga/lcICH0BMP25Y4+HGnQQqmD0vwSocovteG0AOcSk4VHS9iOzUKy3I9e7qMTml3+vnMTiQb+MUjsAECZRjjipoeDcA4vcc58Yq6sBjXdTrQSWusRDr+dslW4g3C4NCBo0SwS449csdYJ+tRGfeyIbr6gwlFw2Y0AWx9g2wGJiK+/4bVGcf13o4EPS/nH9ij+pIda4uTZPYptgGzWgW0UGY/6vOOz0NwfNNntU/+TBAKLkJAG7rFjnGrCO490cyBdRRDpiSdGhw2q4D2VtKXdwd/ny//OjC/Bzae0RC/1G+ap0ohyB7PBWzDzBhoC8J8dQFBygOZAo0JIoOEGwiRU8AXznUDG9tStEsjYw8qmwPvPWLLNfd7zjjK+HtInOxKyQJre1o5QiXbQwsxggyX0Hs323N+a9zFhAyb0Wb3Bl2I1IeQk2O9wlTxrj1XGNkFbLGIOrBLpYfY7K0xelDWNGulEeiJuYyhJ+A/CU5eKWz+3cv+xN26hpXdaujyYiPuDDFM1+0s6WoINsU/LGqlwx9T6WgnEupDBrVivba4lCM0HDqWrl4LRgtHHbkMSJKs15tHXuPL/UdEroGDYP2TfXkcmlIfqXM5QmcsnnvzJK31Ap8wWXDb60aGpilLGvMoSJA94mhcJcTr2bDH5cNsrQqd72QbBrJnJAfHZc5CzCSK2QrBB4OIBWcGOs2anDjuBhkqiGbMs6gqmHOeo+Di795SXWDpuKCSS4q1w8jK/uIR0tBNnkk+9Jj x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TY0PR06MB5683.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(376002)(136003)(366004)(396003)(346002)(39830400003)(41300700001)(76116006)(64756008)(8936002)(38070700005)(2906002)(71200400001)(8676002)(66476007)(66946007)(66446008)(110136005)(66556008)(54906003)(478600001)(4326008)(7696005)(6506007)(5660300002)(55016003)(44832011)(316002)(53546011)(52536014)(33656002)(26005)(9686003)(83380400001)(122000001)(86362001)(186003)(38100700002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MzNMVTJFM1BEc3Z5MEFDRjU1amNpVG4xMTJUbjQvdTdlb0h2WVRmdnQ1blc1?= =?utf-8?B?ckMxWE9kdnJqYkxTR1l1M25VeiszenRjdDNGQ3lZdjBHK0JaM2lTSVlQT1Fo?= =?utf-8?B?TnhpMlh1WjFIaUJCLzI1Q3dBdjdVcHRoU1NuMVpWMG5NSXB3bndqbkFNR3dB?= =?utf-8?B?c0Z3bTNEQXFEREhEVVpCREtSSXVpaFdhV3Z4RDZWUkE4UHgwdGpuZi9XN3di?= =?utf-8?B?ekkyeXNKRERKQStWODRiN1JNNG5WNis5a0N0ZnZUaUU3a0tXSnBIT2l4NWFu?= =?utf-8?B?aDdpNHhYNVp0VzYyU25McWpXMjlteHNqUnRrNTlic0xyMFhTeWN4VDlZcDdO?= =?utf-8?B?OFUwODl4V05xYjlzMW5PdmVLV2F6TEQ3YmF2NEJTUVE5c3drTzk0dDR2NXBt?= =?utf-8?B?bmVFS3ljQ2tkRzhEYlF4RDlHT2RwdG5yTUUvT0o2Y3paaEYxazlFQWhoMTRS?= =?utf-8?B?RW1yNHBvdFFCbFgva0ZjMi9uTkIyNWhhYlJKV3FoQzI4Zk4xVUgzc0RyNG5I?= =?utf-8?B?Yzl6aEFaWkdNNWMxeG5TNW9nVUhBcW16NFMyd3oxSlM1TlFjTUxnK3ZWcHMy?= =?utf-8?B?WDBqbmxPa2R2ZFN1TENUWVRxdFJhYnYzZGxEOUpTdDB1MWtHc1Vud3R2UmJz?= =?utf-8?B?OXFNK0kzelVEOG9ad05MVnhWeFFsQ0dpbEUzb3hiSURHTnhIRDFzRTFyVmJo?= =?utf-8?B?UGZsZFNmZVk0VEVZdGUwcDZnUFZrM1RMRzhkNlFqV3VwR0toSXNQZTlFeDU3?= =?utf-8?B?NW5iWUJxTEFzWTV5aytva09mL25mL1gvTzZPNXErZlhZVkFLcGxrQlQyM0FL?= =?utf-8?B?dnd6M0t3YllabDZzWjl2dFJOMCtXa2ZvSE5jMGk4QUtCbVFWa1d3UmxXSFUw?= =?utf-8?B?OCtRRWpwOGRwVHNONmsxMHA3WjlManN1QUxUaDZNVE8yM3J0TGdvZUVjZHNK?= =?utf-8?B?bjdVbEpSNlZMTVI2U1NkTDVSeDdFTGQwbDBSbXRRVEdtRG5CZlNmaHkydFNJ?= =?utf-8?B?Zzl0LzJvVFFuTzhRV2p2bWRjb2pPbzZ4RzlUaURMRVdkNnVCdm9ETGNFZ2tT?= =?utf-8?B?enBxTElVczZRVGFUN2Q5RlF4WjNRYUxFRUE1VzM0TVBuNjNaOHRTb1BCU2NG?= =?utf-8?B?WWU3Q1V2VXAzZHl2aW5SZllvSnE1U0ljZVFJMVJvRlozQ2F4eC9hUGt5TVNM?= =?utf-8?B?Z1JaR2dKOFNaMHhFWDFaVktlMjI2Z0RmUWVGdjV2L0l6LzM1UWNzRjJlZ0o2?= =?utf-8?B?ajRVYk81SHZwQjF5VVRsWTZ2S3pNL2VhRmZUa1R0MGxLa3pKRFN3SHBJdVV3?= =?utf-8?B?MUQ4dEd6MzZyeFNSQnVvWCszQ3ducXlwR3RtNElmZGwyUnoyLzJJRCtUMTVO?= =?utf-8?B?c3FBbHlCU2diQnFCb29GdXNqbnhTNnd1OTYrMGVYWEdqOGhqVTh0a1cwNlph?= =?utf-8?B?ekNnelFuTlhMSEx4emxOU3paMXo2TktScWk0bjk1V3k1Nm9jT1l4dWNVME1R?= =?utf-8?B?d09NN1hSUm1jZm1iUDdpSWF1WkJrcVYvdDRkK2ZkNnJYVjYvREVrUmhvZlZR?= =?utf-8?B?VjRsS0FMY293N0ZhUGdnRnJnRUo4VEkxRFdmUTczZzFXcWZDRzZsT05KUnlC?= =?utf-8?B?S090SnQ4RkhCVXFzanZLb2pYSE1qQ0R0eDRSTWUxU005SjFja0FsZnlaUGEy?= =?utf-8?B?MFdNdmErOHJaRGJieUZ2bld5VHJZOXVnanBGcTJ1em1jSTVzdlBTWS9NS2p5?= =?utf-8?B?dEFXUmpSMkI2NUkwK05vdzVZWkJQNFVCZmVFeGFRTVhoeFI1RUVrTnl0VVU0?= =?utf-8?B?ZE1SeHozNk5JRWN1QklGWFhOVnR2N0ZCTWNtWXpmWlFNNHRYcCt3cGsrb1Bu?= =?utf-8?B?a2lrbDZuRnZuVG02UXB4aDFtVmFKeHBZSjlwSXBBanFYa3lvNlUxNHZ3dDBq?= =?utf-8?B?dGpxNldBRGZqbjdyMnpFWlB5aU5zRkZmeTE2eUhqTHBNalM2QzdzcnJtK0sy?= =?utf-8?B?b240THFLWnJ4Z1VGTTdoNGRQaDF6OWRnSldLVHczVldIaUFCcDgwYW5LUUh4?= =?utf-8?B?eFF5NlRDSkZNYjBGN3ZIZ0VLVHRlQjBSNjRLb1hmYWxSWWE5WXpBOHA3QkRK?= =?utf-8?Q?WEYOtk1VYIL2YJblEHB1mDCGk?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: jaguarmicro.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY0PR06MB5683.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: af93df28-ad87-4d00-891b-08da8f0d41dc X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Sep 2022 07:07:12.8353 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 1e45a5c2-d3e1-46b3-a0e6-c5ebf6d8ba7b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nFQHA0H6srVM/E7gS8o4gtiCwFyuerMxC6nV+fbz2EaEMzyMyR+jTzaQ1s2Wz9+5BSI/l0MKlQwpgoy7eSB6VQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR06MB5276 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 T2YgY291cnNlLCB0aGUgbWV0aG9kIHlvdSBtZW50aW9uZWQgY2FuIHNvbHZlIHRoZSBkZWxheSBw cm9ibGVtIHBlcmZlY3RseSwgYnV0IEdSTyBwZXJmb3JtYW5jZSB3aWxsIGJlIGRlZ3JhZGVkLg0K DQpJbiBNZWxsYW5veCdzIExSTyBpbXBsZW1lbnRhdGlvbiwgdGhlcmUgaXMgYW4gbHJvX3BzaF9m bGFnIGZsYWcgdGhhdCwgaWYgc2V0LCBhbGxvd3MgbWVyZ2luZyBwYWNrZXRzIHdpdGggcHVzaCBm bGFncyByZWdhcmRsZXNzIG9mIGxhdGVuY3kuDQoNCk15IHNvbHV0aW9uIGlzIGEgc2ltcGxlIGlt cGxlbWVudGF0aW9uIHdpdGggbHJvX3BzaF9mbGFnIHNldCBieSBkZWZhdWx0Lg0KDQotLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+ IA0KU2VudDogTW9uZGF5LCBTZXB0ZW1iZXIgNSwgMjAyMiAxMjowMyBQTQ0KVG86IFRob21hcyBN b25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCkNjOiBrdW1hcmFwYXJhbWVzaHdhcmFuIHJh dGhpbmF2ZWwgPGt1bWFyYXBhcmFtZXNoOTJAZ21haWwuY29tPjsgZGV2QGRwZGsub3JnOyBKdW4g UWl1IDxqdW4ucWl1QGphZ3Vhcm1pY3JvLmNvbT4NClN1YmplY3Q6IFJFOiBbUEFUQ0hdIGdybzog Zml4IGdybyB3aXRoIHRjcCBwdXNoIGZsYWcNCg0KSGkgUWl1LA0KDQpJIGNhbm5vdCBmaW5kIHRo ZSBvcmlnaW5hbCBtYWlsLCBhbmQgcGxlYXNlIHNlZSByZXBsaWVzIGlubGluZS4NCg0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBIdSwgSmlheXUNCj4gU2VudDogVHVlc2Rh eSwgQXVndXN0IDMwLCAyMDIyIDQ6NDQgUE0NCj4gVG86ICdUaG9tYXMgTW9uamFsb24nIDx0aG9t YXNAbW9uamFsb24ubmV0Pg0KPiBDYzoga3VtYXJhcGFyYW1lc2h3YXJhbiByYXRoaW5hdmVsIDxr dW1hcmFwYXJhbWVzaDkyQGdtYWlsLmNvbT47IA0KPiBkZXZAZHBkay5vcmc7IEp1biBRaXUgPGp1 bi5xaXVAamFndWFybWljcm8uY29tPg0KPiBTdWJqZWN0OiBSRTogW1BBVENIXSBncm86IGZpeCBn cm8gd2l0aCB0Y3AgcHVzaCBmbGFnDQo+IA0KPiBTdXJlLCBJIHdpbGwgcmV2aWV3IGl0Lg0KPiAN Cj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IFRob21hcyBNb25qYWxv biA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCj4gPiBTZW50OiBNb25kYXksIEF1Z3VzdCAyOSwgMjAy MiA2OjM2IFBNDQo+ID4gVG86IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29tPg0KPiA+IENj OiBrdW1hcmFwYXJhbWVzaHdhcmFuIHJhdGhpbmF2ZWwgPGt1bWFyYXBhcmFtZXNoOTJAZ21haWwu Y29tPjsgDQo+ID4gZGV2QGRwZGsub3JnOyBKdW4gUWl1IDxqdW4ucWl1QGphZ3Vhcm1pY3JvLmNv bT4NCj4gPiBTdWJqZWN0OiBSZTogW1BBVENIXSBncm86IGZpeCBncm8gd2l0aCB0Y3AgcHVzaCBm bGFnDQo+ID4NCj4gPiBKaWF5dSwgcGxlYXNlIGNvdWxkIHlvdSBoZWxwIGluIHRoaXMgcmV2aWV3 Pw0KPiA+DQo+ID4NCj4gPiAyNy8wNy8yMDIyIDEwOjQ0LCBKdW4gUWl1Og0KPiA+ID4gSSB0aGlu ayB0aGlzIGRlbGF5IGlzIHRvbGVyYWJsZS4NCj4gPiA+IE1hbnkgVENQIHN0YWNrcyBkbyBub3Qg dGFrZSBzcGVjaWFsIGNhcmUgb2YgUFVTSCBwYWNrZXRzIHdoZW4gDQo+ID4gPiByZWNlaXZpbmcN Cj4gPiB0aGVtLiBBbGwgcmVjZWl2ZWQgcGFja2V0cyB3aXRoIGRhdGEgd2lsbCB0cmlnZ2VyIFBv bGwgZXZlbnRzLg0KPiA+ID4NCj4gPiA+IFRoZSBwYXRjaCBpcyBzaW1wbGUgdG8gaW1wbGVtZW50 IGFuZCBlYXN5IHRvIHVuZGVyc3RhbmQsIHNpbWlsYXIgDQo+ID4gPiB0byBob3cNCj4gPiB0aGUg a2VybmVsIHN0YWNrIGlzIGhhbmRsZWQuDQo+ID4gPg0KPiA+ID4gRnJvbToga3VtYXJhcGFyYW1l c2h3YXJhbiByYXRoaW5hdmVsDQo+IDxrdW1hcmFwYXJhbWVzaDkyQGdtYWlsLmNvbT4NCj4gPiA+ IFNlbnQ6IFR1ZXNkYXksIEp1bHkgMjYsIDIwMjIgMzowOCBQTQ0KPiA+ID4gVG86IEp1biBRaXUg PGp1bi5xaXVAamFndWFybWljcm8uY29tPg0KPiA+ID4gQ2M6IGRldkBkcGRrLm9yZzsgamlheXUu aHVAaW50ZWwuY29tOyBzdGFibGVAZHBkay5vcmcNCj4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0hd IGdybzogZml4IGdybyB3aXRoIHRjcCBwdXNoIGZsYWcNCj4gPiA+DQo+ID4gPiBXZSBzaG91bGQg ZG8gaXQgZm9yIHRoZSBydGVfZ3JvX3JlYXNzZW1ibGUgYXMgd2VsbCwgd2l0aCB0aW1lciANCj4g PiA+IG1vZGUgaXQNCj4gPiBjb3VsZCBsZWFkIHRvIG1vcmUgZHVwbGljYXRlIEFDS3MuIEkgaGFk IGEgcHJvcG9zYWwgZm9yIHRoZSANCj4gPiBlbmhhbmNlbWVudCB3aGljaCB3b3VsZCBoYW5kbGUg Ym90aCAgcnRlX2dyb19yZWFzc2VtYmxlIGFuZCANCj4gPiBydGVfZ3JvX3JlYXNzZW1ibGVfYnVy c3QgYnV0IGhhdmUgbm90IGdvdCBhbnkgcmVzcG9uc2UgeWV0Lg0KPiA+ID4NCj4gPiA+IEkgaGF2 ZSBhIGN1c3RvbSBwYXRjaCB3aGljaCBpcyB3b3JraW5nIGZpbmUgZm9yIHRpbWVyIG1vZGUgd2hl cmUgDQo+ID4gPiB0aGVyZSBpcw0KPiA+IG5vIHBhY2tldCByZW9yZGVyaW5nLCBlYXJsaWVyIHdp dGhvdXQgdGhlIHBhdGNoIHRoZXJlIHdlcmUgRFVQLUFDS3MgDQo+ID4gYW5kIHRoaXMgY291bGQg cG90ZW50aWFsbHkgYWZmZWN0IHRoZSB3aW5kb3cgc2NhbGluZy4NCj4gPiA+DQo+ID4gPiBPbiBU dWUsIEp1bCAyNiwgMjAyMiBhdCAxMjoyNyBQTSBKdW4gUWl1DQo+ID4gPGp1bi5xaXVAamFndWFy bWljcm8uY29tPG1haWx0bzpqdW4ucWl1QGphZ3Vhcm1pY3JvLmNvbT4+IHdyb3RlOg0KPiA+ID4g TWF5IGJlIGluIHJ0ZV9ncm9fcmVhc3NlbWJsZV9idXJzdCwgd2hlcmUgbm8gZGVsYXkgaXMgaW50 cm9kdWNlZCwgDQo+ID4gPiBQVVNIIHBhY2tldHMgY2FuIGJlIG1lcmdlZA0KPiA+ID4NCj4gPiA+ IOWPkeS7tuS6ujoga3VtYXJhcGFyYW1lc2h3YXJhbiByYXRoaW5hdmVsDQo+ID4gPg0KPiA8a3Vt YXJhcGFyYW1lc2g5MkBnbWFpbC5jb208bWFpbHRvOmt1bWFyYXBhcmFtZXNoOTJAZ21haWwuY29t Pj4NCj4gPiA+IOWPkemAgeaXtumXtDogMjAyMuW5tDfmnIgyNuaXpSAxNDo0MQ0KPiA+ID4g5pS2 5Lu25Lq6OiBKdW4gUWl1DQo+ID4gPGp1bi5xaXVAamFndWFybWljcm8uY29tPG1haWx0bzpqdW4u cWl1QGphZ3Vhcm1pY3JvLmNvbT4+DQo+ID4gPiDmioTpgIE6IGRldkBkcGRrLm9yZzxtYWlsdG86 ZGV2QGRwZGsub3JnPjsNCj4gPiA+IGppYXl1Lmh1QGludGVsLmNvbTxtYWlsdG86amlheXUuaHVA aW50ZWwuY29tPjsNCj4gPiA+IHN0YWJsZUBkcGRrLm9yZzxtYWlsdG86c3RhYmxlQGRwZGsub3Jn Pg0KPiA+ID4g5Li76aKYOiBSZTogW1BBVENIXSBncm86IGZpeCBncm8gd2l0aCB0Y3AgcHVzaCBm bGFnDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiBPbiBUdWUsIEp1bCAyNiwgMjAyMiBhdCAx MTo0OCBBTSBKdW4gUWl1DQo+ID4gPGp1bi5xaXVAamFndWFybWljcm8uY29tPG1haWx0bzpqdW4u cWl1QGphZ3Vhcm1pY3JvLmNvbT4+IHdyb3RlOg0KPiA+ID4gVENQIGRhdGEgcGFja2V0cyBzb21l dGltZXMgY2FycnkgYSBQVVNIIGZsYWcuIEN1cnJlbnRseSwgb25seSB0aGUgDQo+ID4gPiBwYWNr ZXRzIHRoYXQgZG8gbm90IGhhdmUgUFVTSCBmbGFnIGNhbiBiZSBHUk9lZC4NCj4gPiA+IFRoZSBw YWNrZXRzIHRoYXQgaGF2ZSBhIFBVU0ggZmxhZyBjYW5ub3QgYmUgR1JPZWQsIHRoZSBwYWNrZXRz IA0KPiA+ID4gdGhhdCBjYW5ub3QgYmUgcHJvY2Vzc2VkIGJ5IEdSTyBhcmUgcGxhY2VkIGxhc3Qu DQo+ID4gPiBJbiB0aGlzIGNhc2UsIHRoZSByZWNlaXZlZCBwYWNrZXRzIG1heSBiZSBvdXQgb2Yg b3JkZXIuDQo+ID4gPiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIHR3byBwYWNrZXRzIG1idWYxIGFu ZCBtYnVmMi4gbWJ1ZjEgY29udGFpbnMgDQo+ID4gPiBQVVNIIGZsYWcsIG1idWYyIGRvZXMgbm90 IGNvbnRhaW4gUFVTSCBmbGFnLg0KPiA+ID4gQWZ0ZXIgR1JPIHByb2Nlc3NpbmcsIG1idWYyIGlz IHNlbnQgZm9yIHByb2Nlc3NpbmcgYmVmb3JlIG1idWYxLg0KPiA+ID4gVGhpcyBvdXQtb2Ytb3Jk ZXIgd2lsbCBhZmZlY3QgVENQIHByb2Nlc3NpbmcgcGVyZm9ybWFuY2UgYW5kIGxlYWQgDQo+ID4g PiB0byB1bm5lY2Vzc2FyeSBkdXAtQUNLLg0KPiA+ID4NCj4gPiA+IFJlZmVycmluZyB0byB0aGUg TGludXgga2VybmVsIGltcGxlbWVudGF0aW9uLCBwYWNrZXRzIHdpdGggUFVTSCANCj4gPiA+IGZs YWcgY2FuIGFsc28gcGVyZm9ybSBHUk8uIEFuZCBpZiBvbmUgb2YgdGhlIHBhY2tldHMgY29udGFp bmluZyANCj4gPiA+IFBVU0ggZmxhZywgdGhlIHBhY2tldHMgYWZ0ZXIgR1JPIHdpbGwgY2Fycnkg UFVTSCBmbGFnLg0KPiA+ID4NCj4gPiA+IEluIGNhc2Ugb2Ygc21hbGxlciB0cmFuc2ZlcnMgaW4g d2hpY2ggdGhlIFRDUCBzZWdtZW50IHNpemUgaXMgbm90IA0KPiA+ID4gbW9yZSB0aGFuDQo+ID4g b25lIE1UVSwgaXQgaXMgYSBzaW5nbGUgVENQIHBhY2tldCB3aXRoIFBTSCBmbGFnIHNldCwgc28g aW4gdGhvc2UgDQo+ID4gY2FzZXMgIHdlIGFyZSBpbnRyb2R1Y2luZyB1bndhbnRlZCBkZWxheS4g IEkgdGhpbmsgdGhlIGJldHRlciANCj4gPiBhcHByb2FjaCB3b3VsZCBiZSBpZiB0aGVyZSBhcmUg cHJldmlvdXMgcGFja2V0cyBpbiB0aGUgZmxvdyBhbmQgdGhlIA0KPiA+IGN1cnJlbnQgcGFja2V0 IHJlY2VpdmVkIGhhcyBQU0ggZmxhZyB0aGVuIGNvYWxlc2NlIHdpdGggdGhlIHByZXZpb3VzIA0K PiA+IHBhY2tldCwgaWYgbG9va3VwIGlzIGZhaWx1cmUgYW5kIHRoZSBjdXJyZW50IHBhY2tldCBo YXMgUFNIIGZsYWcgc2V0IA0KPiA+IHRoZW4gZGVsaXZlciBpdA0KPiBpbW1lZGlhdGVseS4NCg0K SSBhZ3JlZSB3aXRoIEt1bWEuIFRoZSBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgcGF0Y2ggd2lsbCBt YWtlIFBTSCBwYWNrZXQgd2FpdCBpbiB0aGUgZ3JvIHRhYmxlLiBGb3IgYSBQU0ggcGFja2V0LCB3 ZSBuZWVkIHRvIHRyeSB0byBtZXJnZSBpdCB3aXRoIHByZXZpb3VzIHBhY2tldHMgaW4gdGhlIHRh YmxlIGZpcnN0LiBJZiBtZXJnZSBzdWNjZXNzZnVsbHksIHRoZSBtZXJnZWQgcGFja2V0IG5lZWRz IHRvIG1hcmsgd2l0aCBQU0ggZmxhZyBhbmQgZGVsaXZlciBpdCB0byBhcHAgdGhlbjsgSWYgbm90 LCB0aGlzIFBTSCBwYWNrZXQgYWxzbyBuZWVkcyB0byBiZSBkZWxpdmVyZWQgdG8gYXBwIGltbWVk aWF0ZWx5Lg0KDQpUaGFua3MsDQpKaWF5dQ0KDQo+ID4gPg0KPiA+ID4gRml4ZXM6IDBkMmNiZTU5 YjcxOSAoImxpYi9ncm86IHN1cHBvcnQgVENQL0lQdjQiKQ0KPiA+ID4gQ2M6IHN0YWJsZUBkcGRr Lm9yZzxtYWlsdG86c3RhYmxlQGRwZGsub3JnPg0KPiA+ID4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6 IEp1biBRaXUNCj4gPiA+IDxqdW4ucWl1QGphZ3Vhcm1pY3JvLmNvbTxtYWlsdG86anVuLnFpdUBq YWd1YXJtaWNyby5jb20+Pg0KPiA+ID4gLS0tDQo+ID4gPiAgbGliL2dyby9ncm9fdGNwNC5jICAg ICAgIHwgIDQgKystLQ0KPiA+ID4gIGxpYi9ncm8vZ3JvX3RjcDQuaCAgICAgICB8IDE2ICsrKysr KysrKysrKystLS0NCj4gPiA+ICBsaWIvZ3JvL2dyb192eGxhbl90Y3A0LmMgfCAgNCArKy0tDQo+ ID4gPiAgMyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQ0K PiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9saWIvZ3JvL2dyb190Y3A0LmMgYi9saWIvZ3JvL2dy b190Y3A0LmMgaW5kZXggDQo+ID4gPiA3NDk4YzY2MTQxLi43ODQ5YTJiZDFkIDEwMDY0NA0KPiA+ ID4gLS0tIGEvbGliL2dyby9ncm9fdGNwNC5jDQo+ID4gPiArKysgYi9saWIvZ3JvL2dyb190Y3A0 LmMNCj4gPiA+IEBAIC0yMjAsMTAgKzIyMCwxMCBAQCBncm9fdGNwNF9yZWFzc2VtYmxlKHN0cnVj dCBydGVfbWJ1ZiAqcGt0LA0KPiA+ID4gICAgICAgICBoZHJfbGVuID0gcGt0LT5sMl9sZW4gKyBw a3QtPmwzX2xlbiArIHBrdC0+bDRfbGVuOw0KPiA+ID4NCj4gPiA+ICAgICAgICAgLyoNCj4gPiA+ IC0gICAgICAgICogRG9uJ3QgcHJvY2VzcyB0aGUgcGFja2V0IHdoaWNoIGhhcyBGSU4sIFNZTiwg UlNULCBQU0gsIFVSRywgRUNFDQo+ID4gPiArICAgICAgICAqIERvbid0IHByb2Nlc3MgdGhlIHBh Y2tldCB3aGljaCBoYXMgRklOLCBTWU4sIFJTVCwgVVJHLCANCj4gPiA+ICsgRUNFDQo+ID4gPiAg ICAgICAgICAqIG9yIENXUiBzZXQuDQo+ID4gPiAgICAgICAgICAqLw0KPiA+ID4gLSAgICAgICBp ZiAodGNwX2hkci0+dGNwX2ZsYWdzICE9IFJURV9UQ1BfQUNLX0ZMQUcpDQo+ID4gPiArICAgICAg IGlmICh0Y3BfaGRyLT50Y3BfZmxhZ3MgJiAofihSVEVfVENQX0FDS19GTEFHIHwNCj4gPiA+ICsg UlRFX1RDUF9QU0hfRkxBRykpKQ0KPiA+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCj4g PiA+ICAgICAgICAgLyoNCj4gPiA+ICAgICAgICAgICogRG9uJ3QgcHJvY2VzcyB0aGUgcGFja2V0 IHdob3NlIHBheWxvYWQgbGVuZ3RoIGlzIGxlc3MgDQo+ID4gPiB0aGFuIG9yIGRpZmYgLS1naXQg YS9saWIvZ3JvL2dyb190Y3A0LmggYi9saWIvZ3JvL2dyb190Y3A0LmggaW5kZXgNCj4gPiA+IDIx MmY5N2EwNDIuLjI5NzRmYWYyMjggMTAwNjQ0DQo+ID4gPiAtLS0gYS9saWIvZ3JvL2dyb190Y3A0 LmgNCj4gPiA+ICsrKyBiL2xpYi9ncm8vZ3JvX3RjcDQuaA0KPiA+ID4gQEAgLTIxMCw3ICsyMTAs OCBAQCBtZXJnZV90d29fdGNwNF9wYWNrZXRzKHN0cnVjdCBncm9fdGNwNF9pdGVtDQo+ID4gKml0 ZW0sDQo+ID4gPiAgICAgICAgICAgICAgICAgdWludDE2X3QgbDJfb2Zmc2V0KSAgew0KPiA+ID4g ICAgICAgICBzdHJ1Y3QgcnRlX21idWYgKnBrdF9oZWFkLCAqcGt0X3RhaWwsICpsYXN0c2VnOw0K PiA+ID4gLSAgICAgICB1aW50MTZfdCBoZHJfbGVuLCBsMl9sZW47DQo+ID4gPiArICAgICAgIHN0 cnVjdCBydGVfdGNwX2hkciAqaGVhZF90Y3BfaGRyLCAqdGFpbF90Y3BfaGRyOw0KPiA+ID4gKyAg ICAgICB1aW50MTZfdCBoZHJfbGVuLCBsMl9sZW4sIGwzX29mZnNldDsNCj4gPiA+DQo+ID4gPiAg ICAgICAgIGlmIChjbXAgPiAwKSB7DQo+ID4gPiAgICAgICAgICAgICAgICAgcGt0X2hlYWQgPSBp dGVtLT5maXJzdHNlZzsgQEAgLTIyMSwxMyArMjIyLDIyIEBAIA0KPiA+ID4gbWVyZ2VfdHdvX3Rj cDRfcGFja2V0cyhzdHJ1Y3QgZ3JvX3RjcDRfaXRlbSAqaXRlbSwNCj4gPiA+ICAgICAgICAgfQ0K PiA+ID4NCj4gPiA+ICAgICAgICAgLyogY2hlY2sgaWYgdGhlIElQdjQgcGFja2V0IGxlbmd0aCBp cyBncmVhdGVyIHRoYW4gdGhlIG1heCB2YWx1ZSAqLw0KPiA+ID4gLSAgICAgICBoZHJfbGVuID0g bDJfb2Zmc2V0ICsgcGt0X2hlYWQtPmwyX2xlbiArIHBrdF9oZWFkLT5sM19sZW4gKw0KPiA+ID4g LSAgICAgICAgICAgICAgIHBrdF9oZWFkLT5sNF9sZW47DQo+ID4gPiArICAgICAgIGwzX29mZnNl dCA9IGwyX29mZnNldCArIHBrdF9oZWFkLT5sMl9sZW4gKyBwa3RfaGVhZC0+bDNfbGVuOw0KPiA+ ID4gKyAgICAgICBoZHJfbGVuID0gbDNfb2Zmc2V0ICsgcGt0X2hlYWQtPmw0X2xlbjsNCj4gPiA+ ICAgICAgICAgbDJfbGVuID0gbDJfb2Zmc2V0ID4gMCA/IHBrdF9oZWFkLT5vdXRlcl9sMl9sZW4g OiBwa3RfaGVhZC0+bDJfbGVuOw0KPiA+ID4gICAgICAgICBpZiAodW5saWtlbHkocGt0X2hlYWQt PnBrdF9sZW4gLSBsMl9sZW4gKyBwa3RfdGFpbC0+cGt0X2xlbiAtDQo+ID4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhkcl9sZW4gPiBNQVhfSVBWNF9QS1RfTEVOR1RIKSkNCj4g PiA+ICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiA+DQo+ID4gPiArICAgICAgIC8qIG1l cmdlIHB1c2ggZmxhZyB0byBwa3RfaGVhZCAqLw0KPiA+ID4gKyAgICAgICB0YWlsX3RjcF9oZHIg PSBydGVfcGt0bWJ1Zl9tdG9kX29mZnNldChwa3RfdGFpbCwNCj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV90Y3BfaGRyICosIGwzX29mZnNldCk7DQo+ID4g PiArICAgICAgIGlmICh0YWlsX3RjcF9oZHItPnRjcF9mbGFncyAmIFJURV9UQ1BfUFNIX0ZMQUcp IHsNCj4gPiA+ICsgICAgICAgICAgICAgICBoZWFkX3RjcF9oZHIgPSBydGVfcGt0bWJ1Zl9tdG9k X29mZnNldChwa3RfaGVhZCwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgcnRlX3RjcF9oZHIgKiwgbDNfb2Zmc2V0KTsNCj4gPiA+ICsgICAgICAg ICAgICAgICBoZWFkX3RjcF9oZHItPnRjcF9mbGFncyB8PSBSVEVfVENQX1BTSF9GTEFHOw0KPiA+ ID4gKyAgICAgICB9DQo+ID4gPiArDQo+ID4gPiAgICAgICAgIC8qIHJlbW92ZSB0aGUgcGFja2V0 IGhlYWRlciBmb3IgdGhlIHRhaWwgcGFja2V0ICovDQo+ID4gPiAgICAgICAgIHJ0ZV9wa3RtYnVm X2Fkaihwa3RfdGFpbCwgaGRyX2xlbik7DQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9n cm8vZ3JvX3Z4bGFuX3RjcDQuYyBiL2xpYi9ncm8vZ3JvX3Z4bGFuX3RjcDQuYyANCj4gPiA+IGlu ZGV4IDNiZTRkZWI3YzcuLjg4NDgwMmFmMGIgMTAwNjQ0DQo+ID4gPiAtLS0gYS9saWIvZ3JvL2dy b192eGxhbl90Y3A0LmMNCj4gPiA+ICsrKyBiL2xpYi9ncm8vZ3JvX3Z4bGFuX3RjcDQuYw0KPiA+ ID4gQEAgLTMyNiwxMCArMzI2LDEwIEBAIGdyb192eGxhbl90Y3A0X3JlYXNzZW1ibGUoc3RydWN0 IHJ0ZV9tYnVmDQo+ID4gKnBrdCwNCj4gPiA+ICAgICAgICAgdGNwX2hkciA9IChzdHJ1Y3QgcnRl X3RjcF9oZHIgKikoKGNoYXIgKilpcHY0X2hkciArDQo+ID4gPiBwa3QtPmwzX2xlbik7DQo+ID4g Pg0KPiA+ID4gICAgICAgICAvKg0KPiA+ID4gLSAgICAgICAgKiBEb24ndCBwcm9jZXNzIHRoZSBw YWNrZXQgd2hpY2ggaGFzIEZJTiwgU1lOLCBSU1QsIFBTSCwgVVJHLA0KPiA+ID4gKyAgICAgICAg KiBEb24ndCBwcm9jZXNzIHRoZSBwYWNrZXQgd2hpY2ggaGFzIEZJTiwgU1lOLCBSU1QsIFVSRywN Cj4gPiA+ICAgICAgICAgICogRUNFIG9yIENXUiBzZXQuDQo+ID4gPiAgICAgICAgICAqLw0KPiA+ ID4gLSAgICAgICBpZiAodGNwX2hkci0+dGNwX2ZsYWdzICE9IFJURV9UQ1BfQUNLX0ZMQUcpDQo+ ID4gPiArICAgICAgIGlmICh0Y3BfaGRyLT50Y3BfZmxhZ3MgJiAofihSVEVfVENQX0FDS19GTEFH IHwNCj4gPiA+ICsgUlRFX1RDUF9QU0hfRkxBRykpKQ0KPiA+ID4gICAgICAgICAgICAgICAgIHJl dHVybiAtMTsNCj4gPiA+DQo+ID4gPiAgICAgICAgIGhkcl9sZW4gPSBwa3QtPm91dGVyX2wyX2xl biArIHBrdC0+b3V0ZXJfbDNfbGVuICsNCj4gPiA+IHBrdC0+bDJfbGVuDQo+ID4gPiArDQo+ID4g PiAtLQ0KPiA+ID4gMi4yNS4xDQo+ID4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQoNCg==