From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A5BC2A0351; Tue, 12 Nov 2019 19:31:47 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 98DF02BEA; Tue, 12 Nov 2019 19:31:46 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 3E55F2BDB for ; Tue, 12 Nov 2019 19:31:44 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Nov 2019 10:31:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,297,1569308400"; d="scan'208";a="198177862" Received: from irsmsx108.ger.corp.intel.com ([163.33.3.3]) by orsmga008.jf.intel.com with ESMTP; 12 Nov 2019 10:31:39 -0800 Received: from irsmsx104.ger.corp.intel.com ([169.254.5.252]) by IRSMSX108.ger.corp.intel.com ([169.254.11.131]) with mapi id 14.03.0439.000; Tue, 12 Nov 2019 18:31:38 +0000 From: "Ananyev, Konstantin" To: Matan Azrad , "Yigit, Ferruh" , Dekel Peled , "Mcnamara, John" , "Kovacevic, Marko" , "nhorman@tuxdriver.com" , "ajit.khaparde@broadcom.com" , "somnath.kotur@broadcom.com" , "Burakov, Anatoly" , "xuanziyang2@huawei.com" , "cloud.wangxiaoyun@huawei.com" , "zhouguoyang@huawei.com" , "Lu, Wenzhuo" , Shahaf Shuler , Slava Ovsiienko , "rmody@marvell.com" , "shshaikh@marvell.com" , "maxime.coquelin@redhat.com" , "Bie, Tiwei" , "Wang, Zhihong" , "yongwang@vmware.com" , Thomas Monjalon , "arybchenko@solarflare.com" , "Wu, Jingjing" , "Iremonger, Bernard" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v4 1/3] ethdev: support API to set max LRO packet size Thread-Index: AQHVlWfj+cSMUFaqAEuNrdvHXqozZqeAJYGAgACygoCAAChigIAADmUAgAAYRICAAAUrgIAAD4gAgAHuDACAAebkoIAAkNSAgAI8olA= Date: Tue, 12 Nov 2019 18:31:37 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725801A8C8692F@IRSMSX104.ger.corp.intel.com> References: <4c64b7941e1e9416ae7946cb44d50a01888d70c4.1573129825.git.dekelp@mellanox.com> <0523c7d7-bc97-7e30-c024-e578f9548797@intel.com> <0a1708e5-70ba-16f8-29b0-bef8d4f20f80@intel.com> <60dc4ef1-7e9a-5073-c534-e3b7a42a9abf@intel.com> <2601191342CEEE43887BDE71AB97725801A8C857B8@IRSMSX104.ger.corp.intel.com> In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjA4OTQzOWMtNDIxZi00YzM3LWIyNDEtMGI1MTI3ZWEzZjJiIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoibWN5RE5WVFpCaHdxQzk4dWxGQklZd1FYNjBrXC9EYlplcWRrR0FWZWpDdEZqUCtvdkRGN1ZEdHFTODhCYlp1eTcifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v4 1/3] ethdev: support API to set max LRO packet size X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF0YW4gQXpyYWQgPG1h dGFuQG1lbGxhbm94LmNvbT4NCj4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciAxMSwgMjAxOSA4OjAx IEFNDQo+IFRvOiBBbmFueWV2LCBLb25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwu Y29tPjsgWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IERla2VsIFBlbGVk IDxkZWtlbHBAbWVsbGFub3guY29tPjsNCj4gTWNuYW1hcmEsIEpvaG4gPGpvaG4ubWNuYW1hcmFA aW50ZWwuY29tPjsgS292YWNldmljLCBNYXJrbyA8bWFya28ua292YWNldmljQGludGVsLmNvbT47 IG5ob3JtYW5AdHV4ZHJpdmVyLmNvbTsNCj4gYWppdC5raGFwYXJkZUBicm9hZGNvbS5jb207IHNv bW5hdGgua290dXJAYnJvYWRjb20uY29tOyBCdXJha292LCBBbmF0b2x5IDxhbmF0b2x5LmJ1cmFr b3ZAaW50ZWwuY29tPjsNCj4geHVhbnppeWFuZzJAaHVhd2VpLmNvbTsgY2xvdWQud2FuZ3hpYW95 dW5AaHVhd2VpLmNvbTsgemhvdWd1b3lhbmdAaHVhd2VpLmNvbTsgTHUsIFdlbnpodW8gPHdlbnpo dW8ubHVAaW50ZWwuY29tPjsgU2hhaGFmDQo+IFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5jb20+ OyBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG1lbGxhbm94LmNvbT47IHJtb2R5QG1hcnZl bGwuY29tOyBzaHNoYWlraEBtYXJ2ZWxsLmNvbTsNCj4gbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5j b207IEJpZSwgVGl3ZWkgPHRpd2VpLmJpZUBpbnRlbC5jb20+OyBXYW5nLCBaaGlob25nIDx6aGlo b25nLndhbmdAaW50ZWwuY29tPjsgeW9uZ3dhbmdAdm13YXJlLmNvbTsNCj4gVGhvbWFzIE1vbmph bG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgYXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbTsgV3Us IEppbmdqaW5nIDxqaW5namluZy53dUBpbnRlbC5jb20+OyBJcmVtb25nZXIsIEJlcm5hcmQNCj4g PGJlcm5hcmQuaXJlbW9uZ2VyQGludGVsLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJq ZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0ggdjQgMS8zXSBldGhkZXY6IHN1cHBvcnQgQVBJIHRv IHNldCBtYXggTFJPIHBhY2tldCBzaXplDQo+IA0KPiANCj4gDQo+IEZyb206IEFuYW55ZXYsIEtv bnN0YW50aW4NCj4gPiA+DQo+ID4gPiBGcm9tOiBGZXJydWggWWlnaXQNCj4gPiA+ID4gT24gMTEv OC8yMDE5IDExOjU2IEFNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gRnJvbTogRmVycnVoIFlpZ2l0DQo+ID4gPiA+ID4+IE9uIDExLzgvMjAxOSAx MDoxMCBBTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4NCj4g PiA+ID4gPj4+IEZyb206IEZlcnJ1aCBZaWdpdA0KPiA+ID4gPiA+Pj4+IE9uIDExLzgvMjAxOSA2 OjU0IEFNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPiA+ID4gPj4+Pj4gSGkNCj4gPiA+ID4gPj4+ Pj4NCj4gPiA+ID4gPj4+Pj4gRnJvbTogRmVycnVoIFlpZ2l0DQo+ID4gPiA+ID4+Pj4+PiBPbiAx MS83LzIwMTkgMTI6MzUgUE0sIERla2VsIFBlbGVkIHdyb3RlOg0KPiA+ID4gPiA+Pj4+Pj4+IEBA IC0xMjY2LDYgKzEyODYsMTggQEAgc3RydWN0IHJ0ZV9ldGhfZGV2ICoNCj4gPiA+ID4gPj4+Pj4+ Pg0KPiA+ID4gPiA+Pj4+Pj4gCVJURV9FVEhFUl9NQVhfTEVOOw0KPiA+ID4gPiA+Pj4+Pj4+ICAJ fQ0KPiA+ID4gPiA+Pj4+Pj4+DQo+ID4gPiA+ID4+Pj4+Pj4gKwkvKg0KPiA+ID4gPiA+Pj4+Pj4+ ICsJICogSWYgTFJPIGlzIGVuYWJsZWQsIGNoZWNrIHRoYXQgdGhlIG1heGltdW0gYWdncmVnYXRl ZA0KPiA+ID4gPiA+PiBwYWNrZXQNCj4gPiA+ID4gPj4+Pj4+PiArCSAqIHNpemUgaXMgc3VwcG9y dGVkIGJ5IHRoZSBjb25maWd1cmVkIGRldmljZS4NCj4gPiA+ID4gPj4+Pj4+PiArCSAqLw0KPiA+ ID4gPiA+Pj4+Pj4+ICsJaWYgKGRldl9jb25mLT5yeG1vZGUub2ZmbG9hZHMgJg0KPiA+ID4gPiA+ PiBERVZfUlhfT0ZGTE9BRF9UQ1BfTFJPKSB7DQo+ID4gPiA+ID4+Pj4+Pj4gKwkJcmV0ID0gY2hl Y2tfbHJvX3BrdF9zaXplKA0KPiA+ID4gPiA+Pj4+Pj4+ICsJCQkJcG9ydF9pZCwgZGV2X2NvbmYt DQo+ID4gPiA+ID4+Pj4+Pj4gcnhtb2RlLm1heF9scm9fcGt0X3NpemUsDQo+ID4gPiA+ID4+Pj4+ Pj4gKwkJCQlkZXZfaW5mby5tYXhfbHJvX3BrdF9zaXplKTsNCj4gPiA+ID4gPj4+Pj4+PiArCQlp ZiAocmV0ICE9IDApDQo+ID4gPiA+ID4+Pj4+Pj4gKwkJCWdvdG8gcm9sbGJhY2s7DQo+ID4gPiA+ ID4+Pj4+Pj4gKwl9DQo+ID4gPiA+ID4+Pj4+Pj4gKw0KPiA+ID4gPiA+Pj4+Pj4NCj4gPiA+ID4g Pj4+Pj4+IFRoaXMgY2hlY2sgZm9yY2VzIGFwcGxpY2F0aW9ucyB0aGF0IGVuYWJsZSBMUk8gdG8g cHJvdmlkZQ0KPiA+ID4gPiA+Pj4+ICdtYXhfbHJvX3BrdF9zaXplJw0KPiA+ID4gPiA+Pj4+Pj4g Y29uZmlnIHZhbHVlLg0KPiA+ID4gPiA+Pj4+Pg0KPiA+ID4gPiA+Pj4+PiBZZXMuKHdlIGNhbiBi cmVhayBhbiBBUEksIHdlIG5vdGljZWQgaXQpDQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+PiBJ IGFtIG5vdCB0YWxraW5nIGFib3V0IEFQSS9BQkkgYnJlYWthZ2UsIHRoYXQgcGFydCBpcyBPSy4N Cj4gPiA+ID4gPj4+PiBXaXRoIHRoaXMgY2hlY2ssIGlmIHRoZSBhcHBsaWNhdGlvbiByZXF1ZXN0 ZWQgTFJPIG9mZmxvYWQgYnV0DQo+ID4gPiA+ID4+Pj4gbm90IHByb3ZpZGVkICdtYXhfbHJvX3Br dF9zaXplJyB2YWx1ZSwgZGV2aWNlIGNvbmZpZ3VyYXRpb24gd2lsbCBmYWlsLg0KPiA+ID4gPiA+ Pj4+DQo+ID4gPiA+ID4+PiBZZXMNCj4gPiA+ID4gPj4+PiBDYW4gdGhlcmUgYmUgYSBjYXNlIGFw cGxpY2F0aW9uIGlzIGdvb2Qgd2l0aCB3aGF0ZXZlciB0aGUgUE1EDQo+ID4gPiA+ID4+Pj4gY2Fu IHN1cHBvcnQgYXMgbWF4Pw0KPiA+ID4gPiA+Pj4gWWVzIGNhbiBiZSAtIHlvdSBrbm93LCB3ZSBj YW4gZG8gZXZlcnl0aGluZyB3ZSB3YW50IGJ1dCBpdCBpcw0KPiA+ID4gPiA+Pj4gYmV0dGVyIHRv IGJlDQo+ID4gPiA+ID4+IGNvbnNpc3RlbnQ6DQo+ID4gPiA+ID4+PiBEdWUgdG8gdGhlIGZhY3Qg b2YgTWF4IHJ4IHBrdCBsZW4gZmllbGQgaXMgbWFuZGF0b3J5IGZvciBKVU1CTw0KPiA+ID4gPiA+ Pj4gb2ZmbG9hZCwgbWF4DQo+ID4gPiA+ID4+IGxybyBwa3QgbGVuIHNob3VsZCBiZSBtYW5kYXRv cnkgZm9yIExSTyBvZmZsb2FkLg0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+IFNvIHlvdXIgcXVl c3Rpb24gaXMgYWN0dWFsbHkgd2h5IGJvdGgsIG5vbi1scm8gcGFja2V0cyBhbmQgTFJPDQo+ID4g PiA+ID4+PiBwYWNrZXRzIG1heA0KPiA+ID4gPiA+PiBzaXplIGFyZSBtYW5kYXRvcnkuLi4NCj4g PiA+ID4gPj4+DQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4gSSB0aGluayBpdCBzaG91bGQgYmUg aW1wb3J0YW50IHZhbHVlcyBmb3IgbmV0IGFwcGxpY2F0aW9ucw0KPiA+IG1hbmFnZW1lbnQuDQo+ ID4gPiA+ID4+PiBBbHNvIGdvb2QgZm9yIG1idWYgc2l6ZSBtYW5hZ2VtZW50cy4NCj4gPiA+ID4g Pj4+DQo+ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4+Pj4+PiAtIFdoeSBpdCBpcyBtYW5kYXRvcnkg bm93LCBob3cgaXQgd2FzIHdvcmtpbmcgYmVmb3JlIGlmIGl0IGlzDQo+ID4gPiA+ID4+Pj4+PiBt YW5kYXRvcnkgdmFsdWU/DQo+ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4+Pj4+IEl0IGlzIHRoZSBz YW1lIGFzIG1heF9yeF9wa3RfbGVuIHdoaWNoIGlzIG1hbmRhdG9yeSBmb3IganVtYm8NCj4gPiA+ ID4gPj4+Pj4gZnJhbWUNCj4gPiA+ID4gPj4+PiBvZmZsb2FkLg0KPiA+ID4gPiA+Pj4+PiBTbyBu b3csIHdoZW4gdGhlIHVzZXIgY29uZmlndXJlcyBhIExSTyBvZmZsb2FkIGhlIG11c3QgdG8gc2V0 DQo+ID4gPiA+ID4+Pj4+IG1heCBscm8gcGt0DQo+ID4gPiA+ID4+Pj4gbGVuLg0KPiA+ID4gPiA+ Pj4+PiBXZSBkb24ndCB3YW50IHRvIGNvbmZ1c2UgdGhlIHVzZXIgaGVyZSB3aXRoIHRoZSBtYXgg cnggcGt0IGxlbg0KPiA+ID4gPiA+Pj4+IGNvbmZpZ3VyYXRpb25zIGFuZCBiZWhhdmlvcnMsIHRo ZXkgc2hvdWxkIGJlIHdpdGggc2FtZSBsb2dpYy4NCj4gPiA+ID4gPj4+Pj4NCj4gPiA+ID4gPj4+ Pj4gVGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB3ZWxsIHRoZSBMUk8gYmVoYXZpb3IuDQo+ID4gPiA+ ID4+Pj4+IEJlZm9yZSB0aGlzLCBlYWNoIFBNRCB0b29rIGl0cyBvd24gaW50ZXJwcmV0YXRpb24g dG8gd2hhdA0KPiA+ID4gPiA+Pj4+PiBzaG91bGQgYmUgdGhlDQo+ID4gPiA+ID4+Pj4gbWF4aW11 bSBzaXplIGZvciBMUk8gYWdncmVnYXRlZCBwYWNrZXRzLg0KPiA+ID4gPiA+Pj4+PiBOb3csIHRo ZSB1c2VyIG11c3Qgc2F5IHdoYXQgaXMgaGlzIGludGVuc2lvbiwgYW5kIHRoZSBldGhkZXYNCj4g PiA+ID4gPj4+Pj4gY2FuIGxpbWl0IGl0DQo+ID4gPiA+ID4+Pj4gYWNjb3JkaW5nIHRvIHRoZSBk ZXZpY2UgY2FwYWJpbGl0eS4NCj4gPiA+ID4gPj4+Pj4gQnkgdGhpcyB3YXksIGFsc28sIHRoZSBQ TUQgY2FuIG9yZ2FuaXplXG9wdGltaXplIGl0cyBkYXRhLXBhdGgNCj4gPiBtb3JlLg0KPiA+ID4g PiA+Pj4+PiBBbHNvLCB0aGUgYXBwbGljYXRpb24gY2FuIGNyZWF0ZSBkaWZmZXJlbnQgbWVtcG9v bHMgZm9yIExSTw0KPiA+ID4gPiA+Pj4+PiBxdWV1ZXMgdG8NCj4gPiA+ID4gPj4+PiBhbGxvdyBi aWdnZXIgcGFja2V0IHJlY2VpdmluZyBmb3IgTFJPIHRyYWZmaWMuDQo+ID4gPiA+ID4+Pj4+DQo+ ID4gPiA+ID4+Pj4+PiAtIFdoYXQgaGFwcGVucyBpZiBQTUQgZG9lc24ndCBwcm92aWRlICdtYXhf bHJvX3BrdF9zaXplJywgc28NCj4gPiA+ID4gPj4+Pj4+IGl0IGlzDQo+ID4gPiA+ICcwJz8NCj4g PiA+ID4gPj4+Pj4gWWVzLCB5b3UgY2FuIHNlZSB0aGUgZmVhdHVyZSBkZXNjcmlwdGlvbiBEZWtl bCBhZGRlZC4NCj4gPiA+ID4gPj4+Pj4gVGhpcyBwYXRjaCBhbHNvIHVwZGF0ZXMgYWxsIHRoZSBQ TURzIHN1cHBvcnQgYW4gTFJPIGZvciBub24tMA0KPiA+IHZhbHVlLg0KPiA+ID4gPiA+Pj4+DQo+ ID4gPiA+ID4+Pj4gT2YgY291cnNlIEkgY2FuIHNlZSB0aGUgdXBkYXRlcyBNYXRhbiwgbXkgcG9p bnQgaXMgIldoYXQNCj4gPiA+ID4gPj4+PiBoYXBwZW5zIGlmIFBNRCBkb2Vzbid0IHByb3ZpZGUg J21heF9scm9fcGt0X3NpemUnIiwNCj4gPiA+ID4gPj4+PiAxKSBUaGVyZSBpcyBubyBjaGVjayBm b3IgaXQgcmlnaHQsIHNvIGl0IGlzIGFjY2VwdGFibGU/DQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ Pj4gVGhlcmUgaXMgY2hlY2suDQo+ID4gPiA+ID4+PiBJZiB0aGUgY2FwYWJpbGl0eSBpcyAwLCBh bnkgbm9uLXplcm8gY29uZmlndXJhdGlvbiB3aWxsIGZhaWwuDQo+ID4gPiA+ID4+Pg0KPiA+ID4g PiA+Pj4+IDIpIEFyZSB3ZSBtYWtpbmcgdGhpcyBmaWxlZCBtYW5kYXRvcnkgdG8gcHJvdmlkZSBm b3IgUE1EcywgaXQNCj4gPiA+ID4gPj4+PiBpcyBlYXN5IHRvIG1ha2UgbmV3IGZpZWxkcyBtYW5k YXRvcnkgZm9yIFBNRHMgYnV0IGlzIHRoaXMNCj4gPiA+ID4gPj4+PiByZWFsbHkNCj4gPiA+ID4g bmVjZXNzYXJ5Pw0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+IFllcywgZm9yIGNvbnNpc3RlbmNl Lg0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+Pj4NCj4gPiA+ID4gPj4+Pj4gYXMgc2FtZSBhcyBt YXggcnggcGt0IGxlbiwgbm8/DQo+ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4+Pj4+PiAtIFdoYXQg ZG8geW91IHRoaW5rIHNldHRpbmcgJ21heF9scm9fcGt0X3NpemUnIGNvbmZpZyB2YWx1ZQ0KPiA+ ID4gPiA+Pj4+Pj4gdG8gd2hhdCBQTUQgcHJvdmlkZWQgaWYgYXBwbGljYXRpb24gZG9lc24ndCBw cm92aWRlIGl0Pw0KPiA+ID4gPiA+Pj4+PiBTYW1lIGFuc3dlcnMgYXMgYWJvdmUuDQo+ID4gPiA+ ID4+Pj4+DQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+PiBJZiBhcHBsaWNhdGlvbiBkb2Vzbid0 IGNhcmUgdGhlIHZhbHVlLCBhcyBpdCBoYXMgYmVlbiB0aWxsIG5vdywNCj4gPiA+ID4gPj4+PiBh bmQgbm90IHByb3ZpZGVkIGV4cGxpY2l0ICdtYXhfbHJvX3BrdF9zaXplJywgd2h5IG5vdCBldGhk ZXYNCj4gPiA+ID4gPj4+PiBsZXZlbCB1c2UgdGhlIHZhbHVlIHByb3ZpZGVkIGJ5IFBNRCBpbnN0 ZWFkIG9mIGZhaWxpbmc/DQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4gQWdhaW4sIHNhbWUgcXVl c3Rpb24gd2UgY2FuIGFzayBvbiBtYXggcnggcGt0IGxlbi4NCj4gPiA+ID4gPj4+DQo+ID4gPiA+ ID4+PiBMb29rcyBsaWtlIHRoZSBwYWNrZXQgc2l6ZSBpcyB2ZXJ5IGltcG9ydGFudCB2YWx1ZSB3 aGljaCBzaG91bGQNCj4gPiA+ID4gPj4+IGJlIHNldCBieQ0KPiA+ID4gPiA+PiB0aGUgYXBwbGlj YXRpb24uDQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4gUHJldmlvdXMgYXBwbGljYXRpb25zIGhh dmUgbm8gb3B0aW9uIHRvIGNvbmZpZ3VyZSBpdCwgc28gdGhleQ0KPiA+ID4gPiA+Pj4gaGF2ZW4n dA0KPiA+ID4gPiA+PiBjb25maWd1cmUgaXQsIChwcm9iYWJseSBjb3ZlciBpdCBzb21laG93KSBJ IHRoaW5rIGl0IGlzIG91ciBtaXNzDQo+ID4gPiA+ID4+IHRvIHN1cHBseSB0aGlzIGluZm8uDQo+ ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4gTGV0J3MgZG8gaXQgaW4gc2FtZSB3YXkgYXMgd2UgZG8g bWF4IHJ4IHBrdCBsZW4gKGFzIHRoaXMgcGF0Y2ggbWFpbg0KPiA+IGlkZWEpLg0KPiA+ID4gPiA+ Pj4gTGF0ZXIsIHdlIGNhbiBjaGFuZ2UgYm90aCB0byBvdGhlciBtZWFuaW5nLg0KPiA+ID4gPiA+ Pj4NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4gSSB0aGluayBpdCBpcyBub3QgYSBnb29kIHJlYXNv biB0byBpbnRyb2R1Y2UgYSBuZXcgbWFuZGF0b3J5DQo+ID4gPiA+ID4+IGNvbmZpZyBvcHRpb24g Zm9yIGFwcGxpY2F0aW9uIGJlY2F1c2Ugb2YgJ21heF9yeF9wa3RfbGVuJyBkb2VzIGl0Lg0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gSXQgaXMgbWFuZGF0b3J5IG9ubHkgaWYgTFJPIG9mZmxvYWQgaXMg Y29uZmlndXJlZC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+PiBXaWxsIGl0IHdvcmssIGlmOg0KPiA+ ID4gPiA+PiAtIElmIGFwcGxpY2F0aW9uIGRvZXNuJ3QgcHJvdmlkZSB0aGlzIHZhbHVlLCB1c2Ug dGhlIFBNRCBtYXgNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE1heSBjYXVzZSBhIHByb2JsZW0gaWYg dGhlIG1idWYgc2l6ZSBpcyBub3QgZW5vdWdoIGZvciB0aGUgUE1EDQo+ID4gbWF4aW11bS4NCj4g PiA+ID4NCj4gPiA+ID4gT0ssIHRoaXMgaXMgd2hhdCBJIHdhcyBtaXNzaW5nLCBmb3IgdGhpcyBj YXNlIEkgd2FzIHRoaW5raW5nDQo+ID4gPiA+IG1heF9yeF9wa3RfbGVuIHdpbGwgYmUgdXNlZCBi dXQgeW91IGFscmVhZHkgZXhwbGFpbmVkIHRoYXQNCj4gPiA+ID4gYXBwbGljYXRpb24gbWF5IHdh bnQgdG8gdXNlIGRpZmZlcmVudCBtZW1wb29scyBmb3IgTFJPIHF1ZXVlcy4NCj4gPiA+ID4NCj4g PiA+IFNvICwgYXJlIHlvdSBhZ3JlZSB3aXRoIHRoZSBpZGVhPw0KPiA+ID4NCj4gPiA+ID4gRm9y IHRoaXMgY2FzZSBzaG91bGRuJ3QgUE1EcyB0YWtlIHRoZSAncnhtb2RlLm1heF9scm9fcGt0X3Np emUnIGludG8NCj4gPiA+ID4gYWNjb3VudCBhbmQgcHJvZ3JhbSB0aGUgZGV2aWNlIGFjY29yZGlu Z2x5IChvZiBjb3Vyc2UgaW4gTFJPIGVuYWJsZWQNCj4gPiA+ID4gY2FzZSkgPw0KPiA+ID4gPiBU aGlzIHBhcnQgc2VlbXMgbWlzc2luZyBhbmQgc2hvdWxkIGJlIGhpZ2hsaWdodGVkIHRvIG90aGVy IFBNRA0KPiA+IG1haW50YWluZXJzLg0KPiA+ID4NCj4gPiA+DQo+ID4gPiBZZXMsIHlvdSBhcmUg cmlnaHQuDQo+ID4gPiBQTURzIG11c3QgbGltaXQgdGhlIExSTyBhZ2dyZWdhdGVkIHBhY2tldCBh Y2NvcmRpbmcgdG8gdGhlIG5ldyBmaWVsZCwNCj4gPiA+IEFuZCBpdCBwcm9iYWJseSB2ZXJ5IGhh cmQgZm9yIHRoZSBwYXRjaCBpbnRyb2R1Y2VyIHRvIHVuZGVyc3RhbmQgaG93IHRvIGRvDQo+ID4g aXQgZm9yIGVhY2ggUE1ELg0KPiA+ID4NCj4gPiA+IEkgdGhpbmsgZWFjaCBuZXcgY29uZmlndXJh dGlvbiByZXF1aXJlcyBvdGhlciBtYWludGFpbmVyc1xkZXZlbG9wZXJzDQo+ID4gPiB0byBhZGp1 c3QgdGhlaXIgb3duIFBNRCBjb2RlIHRvIHRoZSBuZXcgY29uZmlndXJhdGlvbiBhbmQgaXQgc2hv dWxkIGJlDQo+ID4gZG9uZSBpbiBsaW1pdGVkIHRpbWUuDQo+ID4gPg0KPiA+ID4gTXkgc3VnZ2Vz dGlvbiBoZXJlOg0KPiA+ID4gMS4gVG8gcmVzZXJ2ZSB0aGUgaW5mbyBmaWVsZCBhbmQgdGhlIGNv bmZpZ3VyYXRpb24gZmllbGQgZm9yIHJjMi4oaWYNCj4gPiA+IGl0IGlzIGNyaXRpY2FsIG5vdCB0 byBicmVhayBBQkkgZm9yIHJjMykgMi4gVG8gbWVyZ2UgdGhlIGV0aGRldiBwYXRjaCBpbiB0aGUN Cj4gPiBzdGFydCBvZiByYzMuDQo+ID4gPiAzLiBSZXF1ZXN0IGVhY2ggcmVsZXZhbnQgUE1EIHRv IGFkanVzdCBpdHMgUE1EIHRvIHRoZSBuZXcgY29uZmlndXJhdGlvbg0KPiA+IGZvciB0aGUgZW5k IG9mIHJjMy4NCj4gPiA+IAlOb3RlOiB0aGlzIHNob3VsZCBiZSBzbWFsbCBjaGFuZ2UgYW5kIG9u bHkgZm9yIH41IFBNRHM6DQo+ID4gPiAJCWEuIEludHJvZHVjZSB0aGUgaW5mbyBmaWVsZCBhY2Nv cmRpbmcgdG8gdGhlIGRldmljZSBhYmlsaXR5Lg0KPiA+ID4gCQliLiBGb3IgZWFjaCBMUk8gcXVl dWU6DQo+ID4gPiAJCQlVc2UgdGhlIExSTyBtYXggc2l6ZSBjb25maWd1cmF0aW9uIGluc3RlYWQg b2YgdGhlDQo+ID4gY3VycmVudCBtYXggcnggcGt0IGxlbiBjb25maWd1cmF0aW9uKGxvb2tzIGxp a2Ugc21hbGwgY29uZGl0aW9uKS4NCj4gPg0KPiA+IFRoYXQncyBkZWZpbml0ZWx5IGxvb2tzIGxp a2UgYSBzaWduaWZpY2FudCBiZWhhdmlvciBjaGFuZ2UgZm9yIGV4aXN0aW5nIGFwcHMgYW5kDQo+ ID4gUE1EcywgYW5kIEkgd29uZGVyIHdoYXQgZm9yPw0KPiANCj4gVGhlcmUgd2FzIGEgbWlzcyBp biBjb25maWd1cmF0aW9uOg0KPiANCj4gSXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIGxpbWl0IG5v bi1scm8gcXVldWVzIHdpdGggdGhlIHNhbWUgcGFja2V0cyBsZW5ndGggb2YgbHJvIHF1ZXVlczoN Cj4gCU5hdHVyYWxseSwgTFJPIHBhY2tldHMgYXJlIGJpZ2dlciBzaWduaWZpY2FudGx5KGJlY2F1 c2Ugb2YgdGhlIEhXIGFnZ3JlZ2F0aW9uKSwgaGVuY2UsDQo+IAl0aGUgdXNlciBtYXkgdXNlIGJp Z2dlciBtYnVmcyBmb3IgdGhlIExSTyBwYWNrZXRzLCBzbyBwb3RlbnRpYWxseSwgaXQgaXMgYmV0 dGVyIHRvIHNlcGFyYXRlIG1lbXBvb2wsIG9uZSBmb3IgdGhlIExSTyBxdWV1ZXMgd2l0aA0KPiBi aWcgbWJ1ZnMgYW5kIHRoZSBzZWNvbmQgZm9yIHRoZSBub24tTFJPIHF1ZXVlcyB3aXRoIHNtYWxs ZXIgbWJ1ZnMgKHRvIG9wdGltaXplIHRoZSBtZW1vcnkgdXNhZ2UpLg0KPiAJU2luY2UgdGhlIHVz ZXIgbWF5IHdhbnQgdGFpbC1yb29tIGluIHRoZSBMUk8gbWJ1ZiAgaXQgbWF5IGxpbWl0IHRoZSBM Uk8gcGFja2V0IHNpemUgdG8gc21hbGxlciBudW1iZXIgdGhhbiB0aGUgbWJ1ZiAoLQ0KPiBIRUFE Uk9PTSkgYW5kIGZvciB0aGlzIHJlYXNvbiBhcyBzYW1lIGFzIHRoZSB1c2FnZSBvZiB0aGUgcmVn dWxhciBmaWVsZCAgKG1heF9yeF9wa3RfbGVuKSBhIG5ldyBmaWVsZCBzaG91bGQgYmUgc2V0IGZv ciBMUk8gcXVldWVzLg0KPiANCj4gPiBXaHkgd2UgY2FuJ3Qga2VlcCBtYXhfcnhfcGt0X2xlbiBz ZW1hbnRpY3MgYXMgaXQgaXMgcmlnaHQgbm93LCBhbmQganVzdCBhZGQNCj4gPiBhbiBvcHRpb25h bCBhYmlsaXR5IHRvIGxpbWl0IG1heCBzaXplIG9mIExSTyBhZ2dyZWdhdGlvbnM/DQo+IA0KPiBX aGF0IGlzIHRoZSBzZW1hbnRpYyBvZiBtYXhfcnhfcGt0X2xlbiByZWdhcmRzIExSTyBwYWNrZXRz PyBJdCBpcyBub3QgY2xlYXIgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbi4NCg0KVGhhdCdzIHByb2Jh Ymx5IHdoZXJlIG1pc3VuZGVyc3RhbmRpbmcgc3RhcnRzLg0KRm9yIG1lOg0KbWF4X3J4X3BrdF9s ZW4gaXMgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgZXRoZXJuZXQgcGFja2V0IHRoZSBOSUMNCndp bGwgYWNjZXB0IChkb2Vzbid0IG1hdHRlciBMUk8gZW5hYmxlZCBvciBub3QpLg0KTm93IGlmIExS TyBpcyBlbmFibGVkIE5JQyBjYW4gYWNjdW11bGF0ZSBtdWx0aXBsZSAncGh5c2ljYWwnIHBhY2tl dHMNCmludG8gb25lIGJpZyAndmlydHVhbCcgb25lLg0KU28gd2hlbiBMUk8gaXMgZW5hYmxlZCBt YXhfbHJvX3NpemUgbGltaXRzIGhvdyBiaWcgdGhlc2UNCmFjY3VtdWxhdGVkICd2aXJ0dWFsJyBw YWNrZXRzIGNhbiBiZS4NCldoaWxlIG1heF9yeF9wa3RfbGVuIHN0aWxsIGxpbWl0cyBtYXggZXRo ZXJuZXQgcGFja2V0IHNpemUgTklDIHdpbGwgYWNjZXB0LiANCg0KSW4gd2hhdCB5b3Ugc3VnZ2Vz dCBpdCBpcyBub3QgY2xlYXIgdG8gbWUgd2hhdCB3aWxsIGJlIG1heF9scm9fc2l6ZSBzZW1hbnRp Y3MuDQpXb3VsZCBpdCBiZSBtYXhpbXVtIHNpemUgb2YgdGhlIGV0aGVybmV0IHBhY2tldCB0aGUg TklDIHdpbGwgYWNjZXB0IChlcXVpdmFsZW50IG9mIG1heF9yeF9wa3RfbGVuKQ0Kb3Igd291bGQg aXQgYmUgYWNjdW11bGF0ZWQgJ3ZpcnR1YWwnIHBhY2tldCBzaXplIGxpbWl0PyAgDQpPciBtaWdo dCBiZSBzb21ldGhpbmcgZWxzZT8NCg0KPiANCj4gU28gdGhpcyBwYXRjaCBkZWZpbmVzIGl0IHdl bGw6DQo+IE5vbi1MUk8gcXVldWVzIHNob3VsZCBiZSBsaW1pdGVkIHRvIG1heF9yeF9wa3RfbGVu Lg0KPiBMUk8gcXVldWVzIHNob3VsZCBiZSBsaW1pdGVkIHRvIG1heF9scm9fcGt0X2xlbi4NCj4g DQo+IFRoZSBjb25zaXN0ZW5jZSBpbiB0aGUgd2F5cyBvZiB0aGUgY29uZmlndXJhdGlvbiBmb3Ig UlggcGFja2V0IGxlbmd0aCBzaG91bGQgYmUgdGhlIHNhbWUuDQo+IG1heF9yeF9wa3RfbGVuIGlz IG1hbmRhdG9yeSBmb3IgSlVNQk8gb2ZmbG9hZCA9PiBtYXhfbHJvX3BrdF9sZW4gaXMgbWFuZGF0 b3J5IGZvciBMUk8gb2ZmbG9hZC4NCj4gDQo+IA0KPiBDdXJyZW50IGFwcGxpY2F0aW9ucyB1c2Vz IExSTyBqdXN0IG5lZWQgdG8gY29uZmlndXJlIHRoZSBmaWVsZCBzYW1lIGFzIGN1cnJlbnQgbWF4 X3J4X3BrdF9sZW4gaWYgdGhleSB3YW50IHRvIHN0YXkgd2l0aCB0aGUgc2FtZSBiZWhhdmlvciAt DQo+IHJlYWxseSBub3QgYSBiaWcgY2hhbmdlLg0KPiBJZiB0aGUgYXBwbGljYXRpb24gd2FudCB0 byBpbXByb3ZlIHRoZWlyIG1lbW9yeSB1c2FnZSBhcyBJIHNhaWQgYWJvdmUsIHRoZSBuZXcgZmll bGRzIGFsbG93IGl0IGFzIHdlbGwuDQo+IA0KPiA+ID4gV2hhdCBkbyB5b3UgdGhpbms/DQo=