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 15364A0579; Thu, 8 Apr 2021 13:39:52 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B3C7340698; Thu, 8 Apr 2021 13:39:51 +0200 (CEST) Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-eopbgr700052.outbound.protection.outlook.com [40.107.70.52]) by mails.dpdk.org (Postfix) with ESMTP id A0D7140138 for ; Thu, 8 Apr 2021 13:39:49 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IFPPJ9wUwzRQGFc49dCDZ/vtvbxNgmIEGc/k2l7PrTaYcihT6u2qRL74IC9a/fHRAR79oUyYgOm4j+aU7AMGC3wx1jHosTrjMIqWpzGG3EvSogMXo4sAlpFrZmnZmGG3lZxPCbr1cYfmn9cEsJn5EZ0Do0dCX2N3izVlovC+I7vGPWsuWbx9aepRRG1WwNBbhs6WyA/P1PHpMcdC7Sb3YHaGSabt3FqZhXtchigIcWCNYrVCsaKmRO88wSLnDmAnIOePqUDMvLoesfzh8JhYGrTU5XRYriBeU4ygVnYH/MVb78g3dXDbOqGKZFTnV/1z0aB4PPdJakLUKuJmrzwfsA== 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-SenderADCheck; bh=a6ERWdL2mgaHryZZoO8SomDickYRalELrp/Qonr/FcQ=; b=Y1fnBiMGP9ZBBloMpYcT+GREGljvOVhyailFvF345k8dj0bhfp5xs8reBvJMaEE2lL7JRmBtx+nRGrmF0PUSNWwmlgEPVKb141vjTtKuzAnVzvORua0UsubEUDJBZwo2s/Qyfi0QJ1iqfbFmO1XfDlZoXQRNiC++CN5OsRs+hx8C68VAuU5m16KSitCYJbAAVPKEktiym/i305Zj9OmJeTQ7N0F/MYW2gGbOmU9sq+q+IMl56D2KUiK4RyAwRjtwIURVIzfQYBeDr3/o02C5NWqM6uwY73gmyKOpBS/epgTi8ArnCIs7i7qx6I2VPM7QlrtWAADjEVivGDw/3z+gHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; 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=a6ERWdL2mgaHryZZoO8SomDickYRalELrp/Qonr/FcQ=; b=Rs2ilsFWrCtm5xVI6GTMxUpIff5w2+TBGBMzu8lPE1lRbAemgkhbQnjz//hBOiTr4x0b4fwwgrLjquJevBZSKL4Ejz29Rt69+m4fU7mjlZRKpArxDLadoFgPnTs1EnxFe0Y1Kq/airZWl+6ZAl7AV4Wk3PUCZvTe0aXsUAgFbVKQPmLnlvzDX8s016ol2kKSRnE+IX60HI1J66vYOOAV2VFINUK76M4fzjH1L++s0FwDcntmN/Wvv3JGjmVfh+wr24Eo9uN1yQxjbdZBF3m3skfgbtx/wKpILuQNWd0L+iPLbOndPAb1E+W6MQkj9IZMDqjbGoi7QAVfgJE/07yCEw== Received: from DM6PR12MB4987.namprd12.prod.outlook.com (2603:10b6:5:163::31) by DM5PR12MB1162.namprd12.prod.outlook.com (2603:10b6:3:72::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.28; Thu, 8 Apr 2021 11:39:47 +0000 Received: from DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::f5ce:c5a8:6aec:e308]) by DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::f5ce:c5a8:6aec:e308%7]) with mapi id 15.20.4020.018; Thu, 8 Apr 2021 11:39:47 +0000 From: Ori Kam To: Andrew Rybchenko , "ajit.khaparde@broadcom.com" , "ferruh.yigit@intel.com" , NBU-Contact-Thomas Monjalon CC: "dev@dpdk.org" , "jerinj@marvell.com" , "olivier.matz@6wind.com" , Slava Ovsiienko Thread-Topic: [PATCH] ethdev: add packet integrity checks Thread-Index: AQHXKkY8W6wGVWqEykm5+doDoWpA/qqqRy6AgAAzxBA= Date: Thu, 8 Apr 2021 11:39:47 +0000 Message-ID: References: <1617645874-105139-1-git-send-email-orika@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [147.236.145.126] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 95b3dc2e-0e2c-41b2-b9bc-08d8fa830335 x-ms-traffictypediagnostic: DM5PR12MB1162: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8qsq82X294OIZUWtceDNdu8hemwJYOZiJYBworKuVw4NN5IKMsniZSY2aFYjbYQUh49IAUA+/hf6TWNz3/yQ3DfuJ8F9UltSzp8Ul9bwaIbv4EGvBgXN6qOM+rf9V68b4sYGI4/whCSzAC72gTeNGsx7jm6em+u5oOlBcTFcqd2Nj9W9us1pjcoW/B6DgVPhzBB5spcTaMnqgj2zECp+GjHIRNBDGu+lLzNKpcCuTkKtq8aOEaESxdM/V3uR0EIR8CLIiVR/QyXn6X36/lE++Jtgqo9Lv7t/h4r0AZCYVYGogeqmUGWQjtWWpkG4OhFNHNasRn5/k99FUaDgQQSHYWZUi3KOcGIyj27aGbehNdYwoFPTXIxafmq/uzzwvoHU1Mn+hwWbFpVWwFYDwB09jMt7L9920iHHC259Mq/iJK4vj5UEtlQZqqJWmVAGJeFX84mbJs2YpU8Vmxl318R6ToJoTFpUKUw2N3x2lD4hZ78g2jCeUKJkl/GwfonQSBNvC362HEu7etZVmNxv4UZvY8Teq5OCkOrzi7nsSdZ7XmhdJtF8NysKzjocpT0CyackuENcxED3VE+H3NsVIhWzoXUs2cNtQDiKw8PDFvSqijSKvUmmWH8Kkg+a4/lyMow0uCE/zKM0tClsgBRIZmjNPnPQ89e+0NQHV1Dz7f0cNTQ= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4987.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(376002)(366004)(396003)(136003)(346002)(316002)(54906003)(8936002)(83380400001)(4326008)(38100700001)(53546011)(52536014)(7696005)(5660300002)(55016002)(8676002)(107886003)(110136005)(71200400001)(9686003)(33656002)(76116006)(66556008)(66446008)(186003)(64756008)(26005)(86362001)(66476007)(2906002)(66946007)(478600001)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?K3Bjd2JZbUE1ZVBKa0F1bTRaa09KMFdORVlydEF1eUQ1TnZ2SjRzTWgrcWdm?= =?utf-8?B?bThYSTRhd3VTdlR1bWRoMk9YciszN0hiU3FLc0IwQStjR2ovTGhWVVROa3Vi?= =?utf-8?B?OFhVKy85QTEzSGg5dWJub2hnSFd1Z2N6aTZoQ0xSbzNIajI3ZStSMHh4SDY4?= =?utf-8?B?c0hGb0ZXd0dQcnRRUUZCaGYyOTU0a3FGUERCc3UyRGNLOVRSSGJXTmJENU1I?= =?utf-8?B?SUhtRE1pcXc4MEdyTUZrYkJUVUh1UUtJUVVxWTRmQlVzaTQyYVNDUTYzUENo?= =?utf-8?B?aFIxNURoVGpaaWNtbGlUeVR6ZFprakd3bldsMGJMMUNCc3c4dnRHQTVVV2E0?= =?utf-8?B?MDR6bEpVU0FWdi92VDY2QVN6T2pMOUVNQlFJNk15MEU3b3FuZlJMU1hWZUx0?= =?utf-8?B?M2l0TTNjNnR3MGx6YW9XSWErWXpMeml2Q0ZmYTZxZkJkNFppa2NQUmVuWWhE?= =?utf-8?B?Z3ZxRFRnVHRvdE54N1doMExGcm9ack5lK2pYYnFaVmFsNEEvVkFIL0kxdlRy?= =?utf-8?B?SEpCTWxQM1gzQUlCaFVKbDdhV2x5emJERWdaUTlQZTIwT3kyZG1wbGNPbDhv?= =?utf-8?B?czlMYW9YNjA0T0dBZVMzMG5Ya1VPbCtDWEpQdjFtbHFDWHVDK1R0bHZDVGIx?= =?utf-8?B?d3NBS0hkV3dKbVowVlovV1lWWU4xaVlzRUZnK0JRMTBCcFljSjRSdUVuaTd3?= =?utf-8?B?dm02Z1QzdU9XelM2NW93NWRPaGkvOWZJb0svN3AzT2dZMkJHdzV0TWdQNWVp?= =?utf-8?B?UFBHdkk0QTlFQzk4a042cGttSWtRSllpSDdTWmlnY2xWV1lhQ3ljOUc2czdF?= =?utf-8?B?UVRQVVNCVzRTZ05rQ0YvSy9ERXNJVXRBUlU4Snd3QWJzQ2hYTURBYnUxcHVh?= =?utf-8?B?SHZpWFlUZnNqdzRicUNNeG93ME1QQ3JHTFNvTjQzb3dPVW0rWnlpdWpJYzJt?= =?utf-8?B?MDMwM3B2d3FKUmVVL1J6K1JBZHVRT01IOXNITUxkYVpRU3UrbzJsYTdHSnBM?= =?utf-8?B?QWV1MzVEOXoxc2piVjZUZnZrK082RTI4WEtZK3FCZXJJUHdVdENBaDZ5aDdX?= =?utf-8?B?aGRsU0EvRVJHSitlTkV5TndEOFNzTDdEOG94dVA2RTh5U1FJOEtwOTRpMnQw?= =?utf-8?B?a280ZkdpczNlZWlhcmRNenRpQzFJdXVkSThWQlJjbFdsUk91N05UN3F3L1J0?= =?utf-8?B?Qm9jUThqMGFOMWhJd2FLVml3T0JIS0hEcUZ4MStKSmxCQmVxdzFMMDVZV3ov?= =?utf-8?B?aCtvcEhJZUFibEN6SjNFai9QNWJ0bDBPblZUb1BXdGt1Q0dYVFJ4YXlMczJU?= =?utf-8?B?cTBFRCtLR0R4bS9zeUxCNFZFK3phV3ZtRVJTUWx1SE5yWnRWd2FYb0tSRm1I?= =?utf-8?B?Y1VpVlBqbG9ueXQ1WnVMQnBrWGNoc1FCanJHREJKdjFWVFg3cUE4NEpqMHlK?= =?utf-8?B?SkREVGxtTEwwRFlDWlBZaXhLTHcwNm5tNUY1RmxlcWNRaEZ0Zk9HQlR3TkEv?= =?utf-8?B?eUgvR2NHdHgvL2hTUlVUenNXdTdwckZnRTIvSC84TnEybmYyekRZdWJvL2p5?= =?utf-8?B?eWt0allieFBaYjRkRnRLU09RRjB4RWN5WWR6NGIva0ltUkpoNkJFaGFvb3pn?= =?utf-8?B?NjM1aGpiUndTQWhMc2hHTVNmQ09ndElad0ZvU0lMMkhKaS8vS0VZNi9jTmZ0?= =?utf-8?B?cndMcVdqN1djcWNTSFp1ck8vZVdteHVoc2tXSG8xS25kWHBXWmk0THJFcHVw?= =?utf-8?Q?jbuR74W4+BJYGIGGKXtN4M9UJClW9vUXYsOEdHK?= 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: DM6PR12MB4987.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 95b3dc2e-0e2c-41b2-b9bc-08d8fa830335 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2021 11:39:47.3128 (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: VGAL1VPTvtROctcD8kKxunkIHfMlHEvsqo25UUg7t+WrHQO6pDM3q7dIJQjvAit+l7wAvqryx1R5Ypr1x6s+Aw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1162 Subject: Re: [dpdk-dev] [PATCH] ethdev: add packet integrity checks 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 Sender: "dev" SGkgQW5kcmV3LA0KDQpUaGFua3MgZm9yIHlvdXIgY29tbWVudHMuDQoNClBTQiwNCg0KQmVzdCwN Ck9yaQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJldyBSeWJj aGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBUaHVyc2RheSwg QXByaWwgOCwgMjAyMSAxMTowNSBBTQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSBldGhkZXY6IGFk ZCBwYWNrZXQgaW50ZWdyaXR5IGNoZWNrcw0KPiANCj4gT24gNC81LzIxIDk6MDQgUE0sIE9yaSBL YW0gd3JvdGU6DQo+ID4gQ3VycmVudGx5LCBEUERLIGFwcGxpY2F0aW9uIGNhbiBvZmZsb2FkIHRo ZSBjaGVja3N1bSBjaGVjaywNCj4gPiBhbmQgcmVwb3J0IGl0IGluIHRoZSBtYnVmLg0KPiA+DQo+ ID4gSG93ZXZlciwgYXMgbW9yZSBhbmQgbW9yZSBhcHBsaWNhdGlvbnMgYXJlIG9mZmxvYWRpbmcg c29tZSBvciBhbGwNCj4gPiBsb2dpYyBhbmQgYWN0aW9uIHRvIHRoZSBIVywgdGhlcmUgaXMgYSBu ZWVkIHRvIGNoZWNrIHRoZSBwYWNrZXQNCj4gPiBpbnRlZ3JpdHkgc28gdGhlIHJpZ2h0IGRlY2lz aW9uIGNhbiBiZSB0YWtlbi4NCj4gPg0KPiA+IFRoZSBhcHBsaWNhdGlvbiBsb2dpYyBjYW4gYmUg cG9zaXRpdmUgbWVhbmluZyBpZiB0aGUgcGFja2V0IGlzDQo+ID4gdmFsaWQganVtcCAvIGRvICBh Y3Rpb25zLCBvciBuZWdhdGl2ZSBpZiBwYWNrZXQgaXMgbm90IHZhbGlkDQo+ID4ganVtcCB0byBT VyAvIGRvIGFjdGlvbnMgKGxpa2UgZHJvcCkgIGEsIGFuZCBhZGQgZGVmYXVsdCBmbG93DQo+ID4g KG1hdGNoIGFsbCBpbiBsb3cgcHJpb3JpdHkpIHRoYXQgd2lsbCBkaXJlY3QgdGhlIG1pc3MgcGFj a2V0DQo+ID4gdG8gdGhlIG1pc3MgcGF0aC4NCj4gPg0KPiA+IFNpbmNlIGN1cnJlbmx0eSBydGVf ZmxvdyB3b3JrcyBpbiBwb3NpdGl2ZSB3YXkgdGhlIGFzc3VtdGlvbiBpcw0KPiA+IHRoYXQgdGhl IHBvc3RpdmUgd2F5IHdpbGwgYmUgdGhlIGNvbW1vbiB3YXkgaW4gdGhpcyBjYXNlIGFsc28uDQo+ ID4NCj4gPiBXaGVuIHRoaW5raW5nIHdoYXQgaXMgdGhlIGJlc3QgQVBJIHRvIGltcGxlbWVudCBz dWNoIGZlYXR1cmUsDQo+ID4gd2UgbmVlZCB0byBjb25zaWR1cmUgdGhlIGZvbGxvd2luZyAoaW4g bm8gc3BlY2lmaWMgb3JkZXIpOg0KPiA+IDEuIEFQSSBicmVha2FnZS4NCj4gDQo+IEZpcnN0IG9m IGFsbCBJIGRpc2FncmVlIHRoYXQgIkFQSSBicmVha2FnZSIgaXMgcHV0IGFzIGEgdG9wDQo+IHBy aW9yaXR5LiBEZXNpZ24gaXMgYSB0b3AgcHJpb3JpdHksIHNpbmNlIGl0IGlzIGEgbG9uZyB0ZXJt Lg0KPiBhUEkgYnJlYWthZ2UgaXMganVzdCBhIHNob3J0IHRlcm0gaW5jb252ZW5pZW50LiBPZiBj b3Vyc2UsDQo+IG90aGVycyBtYXkgZGlzYWdyZWUsIGJ1dCB0aGF0J3MgbXkgcG9pbnQgb2Ygdmll dy4NCj4gDQpJIGFncmVlIHdpdGggeW91LCBhbmQgbGlrZSBJIHNhaWQgdGhlIG9yZGVyIG9mIHRo ZSBsaXN0IGlzIG5vdA0KYWNjb3JkaW5nIHRvIHByaW9yaXRpZXMuDQpJIHRydWx5IGJlbGlldmUg dGhhdCB3aGF0IEknbSBzdWdnZXN0aW5nIGlzIHRoZSBiZXN0IGRlc2lnbi4NCg0KDQo+ID4gMi4g U2ltcGxpY2l0eS4NCj4gPiAzLiBQZXJmb3JtYW5jZS4NCj4gPiA0LiBIVyBjYXBhYmlsaXRpZXMu DQo+ID4gNS4gcnRlX2Zsb3cgbGltaXRhdGlvbi4NCj4gPiA2LiBGbGV4YWJpbGl0eS4NCj4gPg0K PiA+IEZpcnN0IG9wdGlvbjogQWRkIGludGVncml0eSBmbGFncyB0byBlYWNoIG9mIHRoZSBpdGVt cy4NCj4gPiBGb3IgZXhhbXBsZSBhZGQgY2hlY2tzdW1fb2sgdG8gaXB2NCBpdGVtLg0KPiA+DQo+ ID4gUHJvczoNCj4gPiAxLiBObyBuZXcgcnRlX2Zsb3cgaXRlbS4NCj4gPiAyLiBTaW1wbGUgaW4g dGhlIHdheSB0aGF0IG9uIGVhY2ggaXRlbSB0aGUgYXBwIGNhbiBzZWUNCj4gPiB3aGF0IGNoZWNr cyBhcmUgYXZhaWxhYmxlLg0KPiANCj4gMy4gTmF0aXZlbHkgc3VwcG9ydHMgdmFyaW91cyB0dW5u ZWxzIHdpdGhvdXQgYW55IGV4dHJhDQo+ICAgIGNoYW5nZXMgaW4gYSBzaGFyZWQgaXRlbSBmb3Ig YWxsIGxheWVycy4NCj4gDQpBbHNvIGluIHRoZSBjdXJyZW50IHN1Z2dlc3RlZCBhcHByb2FjaCwg d2UgaGF2ZSB0aGUgbGV2ZWwgbWVtYmVyLA0KU28gdHVubmVscyBhcmUgc3VwcG9ydGVkIGJ5IGRl ZmF1bHQuIElmIHNvbWVvbmUgd2FudHMgdG8gY2hlY2sgYWxzbyB0dW5uZWwNCmhlIGp1c3QgbmVl ZCB0byBhZGQgdGhpcyBpdGVtIGFnYWluIHdpdGggdGhlIHJpZ2h0IGxldmVsLiAoanVzdCBsaWtl IHdpdGggb3RoZXINCml0ZW1zKQ0KDQo+ID4NCj4gPiBDb25zOg0KPiA+IDEuIEFQSSBicmVha2Fn ZS4NCj4gPiAyLiBpbmNyZWFzZSBudW1iZXIgb2YgZmxvd3MsIHNpbmNlIGFwcCBjYW4ndCBhZGQg Z2xvYmFsIHJ1bGUgYW5kDQo+ID4gICAgbXVzdCBoYXZlIGRlZGljYXRlZCBmbG93IGZvciBlYWNo IG9mIHRoZSBmbG93IGNvbWJpbmF0aW9ucywgZm9yIGV4YW1wbGUNCj4gPiAgICBtYXRjaGluZyBv biBpY21wIHRyYWZmaWMgb3IgVURQL1RDUCAgdHJhZmZpYyB3aXRoIElQdjQgLyBJUHY2IHdpbGwN Cj4gPiAgICByZXN1bHQgaW4gNSBmbG93cy4NCj4gDQo+IENvdWxkIHlvdSBleHBhbmQgaXQ/IFNo b3VsZG4ndCBIVyBvZmZsb2FkZWQgZmxvd3Mgd2l0aCBnb29kDQo+IGNoZWNrc3VtcyBnbyBpbnRv IGRlZGljYXRlZCBxdWV1ZXMgd2hlcmUgYXMgYmFkIHBhY2tldHMgZ28NCj4gdmlhIGRlZmF1bHQg cGF0aCAoaS5lLiBubyBleHRyYSBydWxlcyk/DQo+IA0KSSdtIG5vdCBzdXJlIHdoYXQgZG8geW91 IG1lYW4sIGluIGEgbG90IG9mIHRoZSBjYXNlcw0KQXBwbGljYXRpb24gd2lsbCB1c2UgdGhhdCB0 byBkZXRlY3QgdmFsaWQgcGFja2V0cyBhbmQgdGhlbg0KZm9yd2FyZCBvbmx5IHZhbGlkIHBhY2tl dHMgZG93biB0aGUgZmxvdy4gKGNoZWNrIHZhbGlkIGp1bXANCi0tPiBvbiBuZXh0IGdyb3VwIGRl Y2FwIC4uLi4pDQpJbiBvdGhlciBjYXNlcyB0aGUgYXBwIG1heSBjaG9vc2UgdG8gZHJvcCB0aGUg YmFkIHBhY2tldHMgb3IgY291bnQNCmFuZCB0aGVuIGRyb3AsIG1heWJlIHNhbXBsZSB0aGVtIHRv IGNoZWNrIHRoaXMgaXMgbm90IHBhcnQgb2YgYW4gYXR0YWNrLg0KDQpUaGlzIGlzIHdoYXQgaXMg Z3JlYXQgYWJvdXQgdGhpcyBmZWF0dXJlIHdlIGp1c3QgZ2l2ZSB0aGUgYXBwDQp0aGUgYWJpbGl0 eSB0byBvZmZsb2FkIHRoZSBzYW5pdHkgY2hlY2tzIGFuZCBiZSB0aGF0IGVuYWJsZXMgaXQNCnRv IG9mZmxvYWQgdGhlIHRyYWZmaWMgaXRzZWxmDQoNCj4gPg0KPiA+IFNlY29uZCBvcHRpb246IGRl ZGljYXRlZCBpdGVtDQo+ID4NCj4gPiBQcm9zOg0KPiA+IDEuIE5vIEFQSSBicmVha2FnZSwgYW5k IHRoZXJlIHdpbGwgYmUgbm8gZm9yIHNvbWUgdGltZSBkdWUgdG8gaGF2aW5nDQo+ID4gICAgZXh0 cmEgc3BhY2UuIChieSB1c2luZyBiaXRzKQ0KPiA+IDIuIEp1c3Qgb25lIGZsb3cgdG8gc3VwcG9y dCB0aGUgaWNtcCBvciBVRFAvVENQIHRyYWZmaWMgd2l0aCBJUHY0IC8NCj4gPiAgICBJUHY2Lg0K PiANCj4gSXQgZGVwZW5kcyBvbiBob3cgYmFkIChvciBnb29kMCBwYWNrZXRzIGFyZSBoYW5kbGVk Lg0KPiANCk5vdCBzdXJlIHdoYXQgZG8geW91IG1lYW4sDQoNCj4gPiAzLiBTaW1wbGljaXR5IGFw cGxpY2F0aW9uIGNhbiBqdXN0IGxvb2sgYXQgb25lIHBsYWNlIHRvIHNlZSBhbGwgcG9zc2libGUN Cj4gPiAgICBjaGVja3MuDQo+IA0KPiBJdCBpcyBhIGRyYXdiYWNrIGZyb20gbXkgcG9pbnQgb2Yg dmlldywgc2luY2UgSVB2NCBjaGVja3N1bQ0KPiBjaGVjayBpcyBvdXQgb2YgSVB2NCBtYXRjaCBp dGVtLiBJLmUuIGFuYWx5emluZyBJUHY0IHlvdSBzaG91bGQNCj4gdGFrZSBhIGxvb2sgYXQgMiBk aWZmZXJlbnQgZmxvdyBpdGVtcy4NCj4gDQpBcmUgeW91IHRhbGtpbmcgZnJvbSBhcHBsaWNhdGlv biB2aWV3IHBvaW50LCBQTUQgIG9yIEhXPw0KRnJvbSBhcHBsaWNhdGlvbiB5ZXMgaXQgaXMgdHJ1 ZSBoZSBuZWVkcyB0byBhZGQgb25lIG1vcmUgaXRlbQ0KdG8gdGhlIGxpc3QsIChkZXBlbmRpbmcg b24gaGlzIGZsb3dzLCBzaW5jZSBoZSBjYW4gaGF2ZSBqdXN0DQpvbmUgZmxvdyB0aGF0IGNoZWNr cyBhbGwgcGFja2V0IGxpa2UgSSBzYWlkIGFuZCBtb3ZlIHRoZSBnb29kDQpvbmVzIHRvIGEgZGlm ZmVyZW50IGdyb3VwIGFuZCBpbiB0aGF0IGdyb3VwIGhlIHdpbGwgbWF0Y2ggdGhlDQppcHY0IGl0 ZW0uDQpGb3IgZXhhbXBsZToNCi4uLiBwYXR0ZXJuIGludGVncml0eSA9IHZhbGlkIGFjdGlvbiBq dW1wIGdyb3VwIDMNCkdyb3VwIDMgcGF0dGVybiAuLi4uIGlwdjQgLi4uIGFjdGlvbnMgLi4uLi4N Ckdyb3VwIDMgcGF0dGVybiAuLi4uaXB2NiAuLi4uIGFjdGlvbnMgLi4uDQoNCkluIGFueSBjYXNl IGF0IHdvcnNlIGNhc2UgaXQgaXMganVzdCBhZGRpbmcgb25lIG1vcmUgaXRlbQ0KdG8gdGhlIGZs b3cuDQoNCkZyb20gUE1EL0hXIGV4dHJhIGl0ZW1zIGRvZXNuJ3QgbWVhbiBleHRyYSBhY3Rpb24g aW4gSFcNCnRoZXkgY2FuIGJlIGNvbWJpbmVkLCBqdXN0IGxpa2UgdGhleSB3b3VsZCBoYXZlIGl0 IHRoZQ0KY29uZGl0aW9uIHdhcyBpbiB0aGUgaXRlbSBpdHNlbGYuDQoNCj4gPiA0LiBBbGxvdyBm dXR1cmUgc3VwcG9ydCBmb3IgbW9yZSB0ZXN0cy4NCj4gDQo+IEl0IGlzIHRoZSBzYW1lIGZvciBi b3RoIHNvbHV0aW9uIHNpbmNlIHBlci1pdGVtIHNvbHV0aW9uDQo+IGNhbiBrZWVwIHJlc2VydmVk IGJpdHMgd2hpY2ggbWF5IGJlIHVzZWQgaW4gdGhlIGZ1dHVyZS4NCj4gDQpZZXMgSSBhZ3JlZSwg DQoNCj4gPg0KPiA+IENvbnM6DQo+ID4gMS4gTmV3IGl0ZW0sIHRoYXQgaG9sZHMgbnVtYmVyIG9m IGZpZWxkcyBmcm9tIGRpZmZlcmVudCBpdGVtcy4NCj4gDQo+IDIuIE5vdCB0aGF0IG5pY2UgZm9y IHR1bm5lbHMuDQoNClBsZWFzZSBsb29rIGF0IGFib3ZlIChub3QgZGlyZWN0ICkgcmVzcG9uc2Ug c2luY2Ugd2UgaGF2ZSB0aGUgbGV2ZWwgbWVtYmVyDQp0dW5uZWxzIGFyZSBoYW5kbGVkIHZlcnkg bmljZWx5Lg0KDQo+IA0KPiA+DQo+ID4gRm9yIHN0YXJ0ZXIgdGhlIGZvbGxvd2luZyBiaXRzIGFy ZSBzdWdnZXN0ZWQ6DQo+ID4gMS4gcGFja2V0X29rIC0gbWVhbnMgdGhhdCBhbGwgSFcgY2hlY2tz IGRlcGVuZGluZyBvbiBwYWNrZXQgbGF5ZXIgaGF2ZQ0KPiA+ICAgIHBhc3NlZC4gVGhpcyBtYXkg bWVhbiB0aGF0IGluIHNvbWUgSFcgc3VjaCBmbG93IHNob3VsZCBiZSBzcGxpdGVkIHRvDQo+ID4g ICAgbnVtYmVyIG9mIGZsb3dzIG9yIGZhaWwuDQo+ID4gMi4gbDJfb2sgLSBhbGwgY2hlY2sgZmxv ciBsYXllciAyIGhhdmUgcGFzc2VkLg0KPiA+IDMuIGwzX29rIC0gYWxsIGNoZWNrIGZsb3IgbGF5 ZXIgMiBoYXZlIHBhc3NlZC4gSWYgcGFja2V0IGRvZW5zJ3QgaGF2ZQ0KPiA+ICAgIGwzIGxheWVy IHRoaXMgY2hlY2sgc2hvdWRsIGZhaWwuDQo+ID4gNC4gbDRfb2sgLSBhbGwgY2hlY2sgZmxvciBs YXllciAyIGhhdmUgcGFzc2VkLiBJZiBwYWNrZXQgZG9lc24ndA0KPiA+ICAgIGhhdmUgbDQgbGF5 ZXIgdGhpcyBjaGVjayBzaG91bGQgZmFpbC4NCj4gPiA1LiBsMl9jcmNfb2sgLSB0aGUgbGF5ZXIg MiBjcmMgaXMgTy5LLiBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBjcmMgd2lsbA0KPiA+ICAgIGJl IE8uSy4gYnV0IHRoZSBsM19vayB3aWxsIGJlIDAuIGl0IGlzIG5vdCBwb3NzaWJsZSB0aGF0IGwy X2NyY19vayB3aWxsDQo+ID4gICAgYmUgMCBhbmQgdGhlIGwzX29rIHdpbGwgYmUgMC4NCj4gPiA2 LiBpcHY0X2NzdW1fb2sgLSBJUHY0IGNoZWNrc3VtIGlzIE8uSy4NCj4gPiA3LiBsNF9jc3VtX29r IC0gbGF5ZXIgNCBjaGVja3N1bSBpcyBPLksuDQo+ID4gOC4gbDNfbGVuX09LIC0gY2hlY2sgdGhh dCB0aGUgcmVwb3J0ZWQgbGF5ZXIgMyBsZW4gaXMgc21hbGxlciB0aGFuIHRoZQ0KPiA+ICAgIHBh Y2tldCBsZW4uDQo+ID4NCj4gPiBFeGFtcGxlIG9mIHVzYWdlOg0KPiA+IDEuIGNoZWNrIHBhY2tl dHMgZnJvbSBhbGwgcG9zc2libGUgbGF5ZXJzIGZvciBpbnRlZ3JpdHkuDQo+ID4gICAgZmxvdyBj cmVhdGUgaW50ZWdyaXR5IHNwZWMgcGFja2V0X29rID0gMSBtYXNrIHBhY2tldF9vayA9IDEgLi4u Li4NCj4gPg0KPiA+IDIuIENoZWNrIG9ubHkgcGFja2V0IHdpdGggbGF5ZXIgNCAoVURQIC8gVENQ KQ0KPiA+ICAgIGZsb3cgY3JlYXRlIGludGVncml0eSBzcGVjIGwzX29rID0gMSwgbDRfb2sgPSAx IG1hc2sgbDNfb2sgPSAxIGw0X29rID0gMQ0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogT3JpIEth bSA8b3Jpa2FAbnZpZGlhLmNvbT4NCj4gPiAtLS0NCj4gPiAgZG9jL2d1aWRlcy9wcm9nX2d1aWRl L3J0ZV9mbG93LnJzdCB8IDE5ICsrKysrKysrKysrKysrKysNCj4gPiAgbGliL2xpYnJ0ZV9ldGhk ZXYvcnRlX2Zsb3cuaCAgICAgICB8IDQ2DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrDQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKQ0KPiA+DQo+ ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4gYi9k b2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4gaW5kZXggYWVjMmJhMS4uNThi MTE2ZSAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0 DQo+ID4gKysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiA+IEBAIC0x Mzk4LDYgKzEzOTgsMjUgQEAgTWF0Y2hlcyBhIGVDUFJJIGhlYWRlci4NCj4gPiAgLSBgYGhkcmBg OiBlQ1BSSSBoZWFkZXIgZGVmaW5pdGlvbiAoYGBydGVfZWNwcmkuaGBgKS4NCj4gPiAgLSBEZWZh dWx0IGBgbWFza2BgIG1hdGNoZXMgbm90aGluZywgZm9yIGFsbCBlQ1BSSSBtZXNzYWdlcy4NCj4g Pg0KPiA+ICtJdGVtOiBgYFBBQ0tFVF9JTlRFR1JJVFlfQ0hFQ0tTYGANCj4gPiArXl5eXl5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQo+ID4gKw0KPiA+ICtNYXRjaGVzIHBhY2tldCBpbnRl Z3JpdHkuDQo+ID4gKw0KPiA+ICstIGBgbGV2ZWxgYDogdGhlIGVuY2Fwc3VsYXRpb24gbGV2ZWwg dGhhdCBzaG91bGQgYmUgY2hlY2tlZC4gbGV2ZWwgMCBtZWFucyB0aGUNCj4gPiArICBkZWZhdWx0 IFBNRCBtb2RlIChDYW4gYmUgaW5uZXIgbW9zdCAvIG91dGVybW9zdCkuIHZhbHVlIG9mIDEgbWVh bnMNCj4gb3V0ZXJtb3N0DQo+ID4gKyAgYW5kIGhpZ2hlciB2YWx1ZSBtZWFucyBpbm5lciBoZWFk ZXIuIFNlZSBhbHNvIFJTUyBsZXZlbC4NCj4gPiArLSBgYHBhY2tldF9va2BgOiBBbGwgSFcgcGFj a2V0IGludGVncml0eSBjaGVja3MgaGF2ZSBwYXNzZWQgYmFzZWQgb24gdGhlDQo+IG1heA0KPiA+ ICsgIGxheWVyIG9mIHRoZSBwYWNrZXQuDQo+ID4gKyAgbGF5ZXIgb2YgdGhlIHBhY2tldC4NCj4g PiArLSBgYGwyX29rYGA6IGFsbCBsYXllciAyIEhXIGludGVncml0eSBjaGVja3MgcGFzc2VkLg0K PiA+ICstIGBgbDNfb2tgYDogYWxsIGxheWVyIDMgSFcgaW50ZWdyaXR5IGNoZWNrcyBwYXNzZWQu DQo+ID4gKy0gYGBsNF9va2BgOiBhbGwgbGF5ZXIgMyBIVyBpbnRlZ3JpdHkgY2hlY2tzIHBhc3Nl ZC4NCj4gPiArLSBgYGwyX2NyY19va2BgOiBsYXllciAyIGNyYyBjaGVjayBwYXNzZWQuDQo+ID4g Ky0gYGBpcHY0X2NzdW1fb2tgYDogaXB2NCBjaGVja3N1bSBjaGVjayBwYXNzZWQuDQo+ID4gKy0g YGBsNF9jc3VtX29rYGA6IGxheWVyIDQgY2hlY2tzdW0gY2hlY2sgcGFzc2VkLg0KPiA+ICstIGBg bDNfbGVuX29rYGA6IHRoZSBsYXllciAzIGxlbiBpcyBzbWFsbGVyIHRoYW4gdGhlIHBhY2tldCBs ZW4uDQo+ID4gKw0KPiA+ICBBY3Rpb25zDQo+ID4gIH5+fn5+fn4NCj4gPg0KPiA+IGRpZmYgLS1n aXQgYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oIGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRl X2Zsb3cuaA0KPiA+IGluZGV4IDZjYzU3MTMuLmY2ODg4YTEgMTAwNjQ0DQo+ID4gLS0tIGEvbGli L2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0 ZV9mbG93LmgNCj4gPiBAQCAtNTUxLDYgKzU1MSwxNSBAQCBlbnVtIHJ0ZV9mbG93X2l0ZW1fdHlw ZSB7DQo+ID4gIAkgKiBTZWUgc3RydWN0IHJ0ZV9mbG93X2l0ZW1fZ2VuZXZlX29wdA0KPiA+ICAJ ICovDQo+ID4gIAlSVEVfRkxPV19JVEVNX1RZUEVfR0VORVZFX09QVCwNCj4gPiArDQo+ID4gKwkv KioNCj4gPiArCSAqIFtNRVRBXQ0KPiA+ICsJICoNCj4gPiArCSAqIE1hdGNoZXMgb24gcGFja2V0 IGludGVncml0eS4NCj4gPiArCSAqDQo+ID4gKwkgKiBTZWUgc3RydWN0IHJ0ZV9mbG93X2l0ZW1f cGFja2V0X2ludGVncml0eV9jaGVja3MuDQo+ID4gKwkgKi8NCj4gPiArCVJURV9GTE9XX0lURU1f VFlQRV9QQUNLRVRfSU5URUdSSVRZX0NIRUNLUywNCj4gPiAgfTsNCj4gPg0KPiA+ICAvKioNCj4g PiBAQCAtMTY4NSw2ICsxNjk0LDQzIEBAIHN0cnVjdCBydGVfZmxvd19pdGVtX2dlbmV2ZV9vcHQg ew0KPiA+ICB9Ow0KPiA+ICAjZW5kaWYNCj4gPg0KPiA+ICtzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9w YWNrZXRfaW50ZWdyaXR5X2NoZWNrcyB7DQo+ID4gKwl1aW50MzJfdCBsZXZlbDsNCj4gPiArCS8q KjwgUGFja2V0IGVuY2Fwc3VsYXRpb24gbGV2ZWwgdGhlIGl0ZW0gc2hvdWxkIGFwcGx5IHRvLg0K PiA+ICsJICogQHNlZSBydGVfZmxvd19hY3Rpb25fcnNzDQo+ID4gKwkgKi8NCj4gPiArUlRFX1NU RF9DMTENCj4gPiArCXVuaW9uIHsNCj4gPiArCQlzdHJ1Y3Qgew0KPiA+ICsJCQl1aW50NjRfdCBw YWNrZXRfb2s6MTsNCj4gPiArCQkJLyoqIFRoZSBwYWNrZXQgaXMgdmFsaWQgYWZ0ZXIgcGFzc2lu ZyBhbGwgSFcgY2hlY2tzLiAqLw0KPiA+ICsJCQl1aW50NjRfdCBsMl9vazoxOw0KPiA+ICsJCQkv Kio8IEwyIGxheWVyIGlzIHZhbGlkIGFmdGVyIHBhc3NpbmcgYWxsIEhXIGNoZWNrcy4gKi8NCj4g PiArCQkJdWludDY0X3QgbDNfb2s6MTsNCj4gPiArCQkJLyoqPCBMMyBsYXllciBpcyB2YWxpZCBh ZnRlciBwYXNzaW5nIGFsbCBIVyBjaGVja3MuICovDQo+ID4gKwkJCXVpbnQ2NF90IGw0X29rOjE7 DQo+ID4gKwkJCS8qKjwgTDQgbGF5ZXIgaXMgdmFsaWQgYWZ0ZXIgcGFzc2luZyBhbGwgSFcgY2hl Y2tzLiAqLw0KPiA+ICsJCQl1aW50NjRfdCBsMl9jcmNfb2s6MTsNCj4gPiArCQkJLyoqPCBMMiBs YXllciBjaGVja3N1bSBpcyB2YWxpZC4gKi8NCj4gPiArCQkJdWludDY0X3QgaXB2NF9jc3VtX29r OjE7DQo+ID4gKwkJCS8qKjwgTDMgbGF5ZXIgY2hlY2tzdW0gaXMgdmFsaWQuICovDQo+ID4gKwkJ CXVpbnQ2NF90IGw0X2NzdW1fb2s6MTsNCj4gPiArCQkJLyoqPCBMNCBsYXllciBjaGVja3N1bSBp cyB2YWxpZC4gKi8NCj4gPiArCQkJdWludDY0X3QgbDNfbGVuX29rOjE7DQo+ID4gKwkJCS8qKjwg VGhlIGwzIGxlbiBpcyBzbWFsbGVyIHRoYW4gdGhlIHBhY2tldCBsZW4uICovDQo+ID4gKwkJCXVp bnQ2NF90IHJlc2VydmVkOjU2Ow0KPiA+ICsJCX07DQo+ID4gKwkJdWludDY0X3QgIHZhbHVlOw0K PiA+ICsJfTsNCj4gPiArfTsNCj4gPiArDQo+ID4gKyNpZm5kZWYgX19jcGx1c3BsdXMNCj4gPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBydGVfZmxvd19pdGVtX3Nhbml0eV9jaGVja3MNCj4gPiArCXJ0 ZV9mbG93X2l0ZW1fc2FuaXR5X2NoZWNrc19tYXNrID0gew0KPiA+ICsJCS52YWx1ZSA9IDAsDQo+ ID4gK307DQo+ID4gKyNlbmRpZg0KPiA+ICsNCj4gPiAgLyoqDQo+ID4gICAqIE1hdGNoaW5nIHBh dHRlcm4gaXRlbSBkZWZpbml0aW9uLg0KPiA+ICAgKg0KPiA+DQoNCg==