From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id B59A41B1F9 for ; Wed, 9 Jan 2019 02:30:33 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jan 2019 17:30:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,455,1539673200"; d="scan'208";a="134204664" Received: from pgsmsx104.gar.corp.intel.com ([10.221.44.91]) by fmsmga004.fm.intel.com with ESMTP; 08 Jan 2019 17:30:31 -0800 Received: from pgsmsx103.gar.corp.intel.com ([169.254.2.6]) by PGSMSX104.gar.corp.intel.com ([169.254.3.21]) with mapi id 14.03.0415.000; Wed, 9 Jan 2019 09:30:30 +0800 From: "Zhao1, Wei" To: "Zhang, Qi Z" , "Meunier, Julien (Nokia - FR/Paris-Saclay)" , "Ananyev, Konstantin" , "Lu, Wenzhuo" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] net/ixgbe: add support of loopback for X540/X550 Thread-Index: AQHUorR4t2DMOQjamk2U0ZFglDInCaWi3++AgACWuoCAAbIM0P//qg8AgAFdGlA= Date: Wed, 9 Jan 2019 01:30:30 +0000 Message-ID: References: <20190102160055.30301-1-julien.meunier@nokia.com> <039ED4275CED7440929022BC67E70611533167EC@SHSMSX103.ccr.corp.intel.com> <6b2efbe0-94dc-750d-8a4f-b98d3f909260@nokia.com> <039ED4275CED7440929022BC67E7061153317326@SHSMSX103.ccr.corp.intel.com> In-Reply-To: <039ED4275CED7440929022BC67E7061153317326@SHSMSX103.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [172.30.20.206] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] net/ixgbe: add support of loopback for X540/X550 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: , X-List-Received-Date: Wed, 09 Jan 2019 01:30:34 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWmhhbmcsIFFpIFoNCj4g U2VudDogVHVlc2RheSwgSmFudWFyeSA4LCAyMDE5IDg6MzkgUE0NCj4gVG86IFpoYW8xLCBXZWkg PHdlaS56aGFvMUBpbnRlbC5jb20+OyBNZXVuaWVyLCBKdWxpZW4gKE5va2lhIC0gRlIvUGFyaXMt DQo+IFNhY2xheSkgPGp1bGllbi5tZXVuaWVyQG5va2lhLmNvbT47IEFuYW55ZXYsIEtvbnN0YW50 aW4NCj4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBMdSwgV2Vuemh1byA8d2Vuemh1 by5sdUBpbnRlbC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUkU6IFtkcGRr LWRldl0gW1BBVENIXSBuZXQvaXhnYmU6IGFkZCBzdXBwb3J0IG9mIGxvb3BiYWNrIGZvcg0KPiBY NTQwL1g1NTANCj4gDQo+IA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ IEZyb206IFpoYW8xLCBXZWkNCj4gPiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDgsIDIwMTkgNjox MCBQTQ0KPiA+IFRvOiBNZXVuaWVyLCBKdWxpZW4gKE5va2lhIC0gRlIvUGFyaXMtU2FjbGF5KQ0K PiA+IDxqdWxpZW4ubWV1bmllckBub2tpYS5jb20+OyBaaGFuZywgUWkgWiA8cWkuei56aGFuZ0Bp bnRlbC5jb20+Ow0KPiA+IEFuYW55ZXYsIEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5hbnlldkBp bnRlbC5jb20+OyBMdSwgV2Vuemh1bw0KPiA+IDx3ZW56aHVvLmx1QGludGVsLmNvbT4NCj4gPiBD YzogZGV2QGRwZGsub3JnDQo+ID4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENIXSBuZXQv aXhnYmU6IGFkZCBzdXBwb3J0IG9mIGxvb3BiYWNrIGZvcg0KPiA+IFg1NDAvWDU1MA0KPiA+DQo+ ID4gSGksICBNZXVuaWVyLCBKdWxpZW4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBC ZWhhbGYgT2YgTWV1bmllciwgSnVsaWVuDQo+ID4gPiAoTm9raWEgLSBGUi9QYXJpcy1TYWNsYXkp DQo+ID4gPiBTZW50OiBNb25kYXksIEphbnVhcnkgNywgMjAxOSAxMTo1MyBQTQ0KPiA+ID4gVG86 IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVsLmNvbT47IEFuYW55ZXYsIEtvbnN0YW50aW4N Cj4gPiA+IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsgTHUsIFdlbnpodW8gPHdlbnpo dW8ubHVAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IGRldkBkcGRrLm9yZw0KPiA+ID4gU3ViamVjdDog UmU6IFtkcGRrLWRldl0gW1BBVENIXSBuZXQvaXhnYmU6IGFkZCBzdXBwb3J0IG9mIGxvb3BiYWNr DQo+ID4gPiBmb3INCj4gPiA+IFg1NDAvWDU1MA0KPiA+ID4NCj4gPiA+IEhpLA0KPiA+ID4NCj4g PiA+IE1tbSwgeW91J3JlIHJpZ2h0LiBIb3dldmVyLCBhcyBsaWtlIGZvciB0aGUgODI1OTksIHRo ZSBwbWQgc2tpcHMgdGhlDQo+ID4gPiBsaW5rIGNvbmZpZ3VyYXRpb24sIHNvLCBpdCBzaG91bGQg bm90IGVuYWJsZSB0aGUgYXV0b25lZy4NCj4gPiA+DQo+ID4gPiBEdXJpbmcgbXkgdGVzdHMsIEkg aGFkIGEgMTBHIGNvbm5lY3Rpdml0eSwgYW5kIEkgZGlkbid0IG5vdGljZSBhbnkNCj4gPiA+IHBy b2JsZW0uIEkgdXNlZCB0aGUgRFBESyBhcHBsaWNhdGlvbiAidGVzdCIsIHdpdGggdGhlIHRlc3QN Cj4gcG1kX3BlcmZfYXV0b3Rlc3QuDQo+ID4NCj4gPiBJdCBzZWVtcyB5b3UgYXJlIHJpZ2h0LCBh dXRvbmVnIGlzIGRvbmUgaW4gZnVuY3Rpb24gb2YNCj4gPiBpeGdiZV9zZXR1cF9saW5rKCktPi4u Li4uLi4uICgpIHdoaWNoIGNhbGwgZnVuY3Rpb24NCj4gPiBpeGdiZV9zZXR1cF9waHlfbGlua19z cGVlZF9nZW5lcmljKCktPml4Z2JlX3NldHVwX3BoeV9saW5rICgpLT4NCj4gPiBpeGdiZV9zZXR1 cF9waHlfbGlua19nZW5lcmljICgpLCAgZG8gdGhlIHdvcmsgZm9yIEF1dG8tTmVnb3RpYXRpb24s DQo+ID4gYnV0IHBtZCBjb2RlIHNraXAgaXQuDQo+ID4gQnV0IHRoZSBiaXQgQyBvZiBBZGRyZXNz IDcuMCBpcyBpbml0aWFsaXplZCBhcyAxIGJ5IGRlZmF1bHQgaW4NCj4gPiBkYXRhc2hlZXQsICB3 aGF0IHBtZCBjb2RlIHNraXAgaXMganVzdCB0aGUgUHJvY2VzcyBvZg0KPiA+IEF1dG8tTmVnb3Rp YXRpb24sIGJlY2F1c2Ugd2Ugc2tpcCBjb2RlIG9mIGJlbGxvdyBJbg0KPiBpeGdiZV9zZXR1cF9w aHlfbGlua19nZW5lcmljICgpLCBub3QgZGlzYWJsZSBiaXQgNy4wLmMuDQo+ID4gU28sIHlvdSBo YWQgYmV0dGVyIGRpc2FibGUgNy4wLmMgYml0IHdoZW4gbWFjIGxvb3BiYWNrIGlzIGVuYWJsZS4N Cj4gPg0KPiA+ICINCj4gPiAJLyogUmVzdGFydCBQSFkgYXV0by1uZWdvdGlhdGlvbi4gKi8NCj4g PiAJaHctPnBoeS5vcHMucmVhZF9yZWcoaHcsIElYR0JFX01ESU9fQVVUT19ORUdfQ09OVFJPTCwN Cj4gPiAJCQkgICAgIElYR0JFX01ESU9fQVVUT19ORUdfREVWX1RZUEUsDQo+ICZhdXRvbmVnX3Jl Zyk7DQo+ID4NCj4gPiAJYXV0b25lZ19yZWcgfD0gSVhHQkVfTUlJX1JFU1RBUlQ7DQo+ID4NCj4g PiAJaHctPnBoeS5vcHMud3JpdGVfcmVnKGh3LCBJWEdCRV9NRElPX0FVVE9fTkVHX0NPTlRST0ws DQo+ID4gCQkJICAgICAgSVhHQkVfTURJT19BVVRPX05FR19ERVZfVFlQRSwNCj4gYXV0b25lZ19y ZWcpOyAiDQo+ID4NCj4gPg0KPiANCj4gU28sIGxvb2tzIGxpa2UgUE1EIHdpbGwgbm90IHRvdWNo IGF1dG9uZWcgYml0IGJ5IGRlZmF1bHQgYW5kIHdlIHNob3VsZCBub3QNCj4gZXhwZWN0ZWQgdGhp cyBiaXQgYWx3YXlzIGJlIG9uIG9yIG9mZiwgYmVjYXVzZSBpdCBjYW4gYmUgY2hhbmdlZCBieSBr ZXJuZWwNCj4gZHJpdmVyIGJlZm9yZSBiaW5kIHRvIGRwZGsuDQo+IA0KPiBwcm9iYWJseSBhIGJl dHRlciBzb2x1dGlvbiBjb3VsZCBiZQ0KPiANCj4gZHVyaW5nIGRldl9zdGFydCBpZiBsb29wYmFj ayBpcyByZXF1aXJlZCwgd2UgZGlzYWJsZSB0aGUgYml0IHRvIG1ha2Ugc3VyZQ0KPiBsb29wYmFj ayB3b3JrcyBhbmQgcmVtZW1iZXIgaXRzIG9yaWdpbmFsIHN0YXR1cywgYW5kIGR1cmluZyBkZXZf c3RvcCB3ZSBkbw0KPiByb2xsIGJhY2sgaWYgbmVjZXNzYXJ5DQo+IA0KPiB3aGF0IGRvIHlvdSB0 aGluaz8NCg0KWWVzLCBhZ3JlZSB3aXRoIHlvdS4NCg0KPiANCj4gDQo+ID4gPiBTaG91bGQgSSBu ZWVkIHRvIG1vZGlmeSBteSBjb2RlIHRvIGJlIHN1cmUgdGhhdCBhdXRvbmVnIGlzIGRpc2FibGVk DQo+ID4gPiAoYW5kIGZvcmNlIGl0IHRvIDEwRykgPw0KPiA+ID4NCj4gPiA+IFRoYW5rcywNCj4g PiA+IEJlc3QgcmVnYXJkcywNCj4gPiA+IEp1bGllbiBNZXVuaWVyDQo+ID4gPg0KPiA+ID4gT24g MDcvMDEvMjAxOSAwNzo1MywgWmhhbmcsIFFpIFogd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+DQo+ ID4gPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPj4gRnJvbTogZGV2IFtt YWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBKdWxpZW4NCj4gPiA+ID4+ IE1ldW5pZXINCj4gPiA+ID4+IFNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDMsIDIwMTkgMTI6MDEg QU0NCj4gPiA+ID4+IFRvOiBBbmFueWV2LCBLb25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZA aW50ZWwuY29tPjsgTHUsDQo+ID4gPiA+PiBXZW56aHVvIDx3ZW56aHVvLmx1QGludGVsLmNvbT4N Cj4gPiA+ID4+IENjOiBkZXZAZHBkay5vcmcNCj4gPiA+ID4+IFN1YmplY3Q6IFtkcGRrLWRldl0g W1BBVENIXSBuZXQvaXhnYmU6IGFkZCBzdXBwb3J0IG9mIGxvb3BiYWNrDQo+ID4gPiA+PiBmb3IN Cj4gPiA+ID4+IFg1NDAvWDU1MA0KPiA+ID4gPj4NCj4gPiA+ID4+IExvb3BiYWNrIG1vZGUgaXMg YWxzbyBzdXBwb3J0ZWQgb24gWDU0MCBhbmQgWDU1MCBOSUNzLCBhY2NvcmRpbmcNCj4gPiA+ID4+ IHRvIHRoZWlyIGRhdGFzaGVldCAoc2VjdGlvbiAxNS4yKS4gVGhlIHdheSB0byBzZXQgaXQgdXAg aXMgYQ0KPiA+ID4gPj4gbGl0dGxlIGRpZmZlcmVudCBvZg0KPiA+ID4gdGhlIDgyNTk5Lg0KPiA+ ID4gPg0KPiA+ID4gPiBUaGFua3MgZm9yIGVuYWJsZSB0aGlzLg0KPiA+ID4gPg0KPiA+ID4gPiBv bmUgcXVlc3Rpb24gaXMsIERhdGFzaGVldCBhbHNvIG1lbnRpb25lZCB0aGF0IGF1dG8gbmVnb3Rp YXRpb24NCj4gPiA+ID4gc2hvdWxkIGJlIGRpc2FibGVkIGJ1dCBJIGRpZG4ndCBzZWUgYW55IHJl bGF0ZWQgY2hhbmdlIHdpdGggaXQuDQo+ID4gPiA+DQo+ID4gPiA+IFdvdWxkIHlvdSBzaGFyZSBt b3JlIGluc2lnaHQgb24gdGhpcz8NCj4gPiA+ID4NCj4gPiA+ID4+DQo+ID4gPiA+PiBTaWduZWQt b2ZmLWJ5OiBKdWxpZW4gTWV1bmllciA8anVsaWVuLm1ldW5pZXJAbm9raWEuY29tPg0KPiA+ID4g Pj4gLS0tDQo+ID4gPiA+PiAgIGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jIHwgMTAg KysrKysrLS0tDQo+ID4gPiA+PiBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuaCB8ICA1 ICsrLS0tDQo+ID4gPiA+PiAgIGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYyAgIHwgNDcN Cj4gPiA+ID4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0NCj4gPiA+ ID4+ICAgMyBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkN Cj4gPiA+ID4+DQo+ID4gPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVf ZXRoZGV2LmMNCj4gPiA+ID4+IGIvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMNCj4g PiA+ID4+IGluZGV4IDc0OTMxMTAuLjdlYjMzMDMgMTAwNjQ0DQo+ID4gPiA+PiAtLS0gYS9kcml2 ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0KPiA+ID4gPj4gKysrIGIvZHJpdmVycy9uZXQv aXhnYmUvaXhnYmVfZXRoZGV2LmMNCj4gPiA+ID4+IEBAIC0yNjUyLDkgKzI2NTIsMTMgQEAgaXhn YmVfZGV2X3N0YXJ0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiA+ID4gPj4gICAJCWdvdG8g ZXJyb3I7DQo+ID4gPiA+PiAgIAl9DQo+ID4gPiA+Pg0KPiA+ID4gPj4gLQkvKiBTa2lwIGxpbmsg c2V0dXAgaWYgbG9vcGJhY2sgbW9kZSBpcyBlbmFibGVkIGZvciA4MjU5OS4gKi8NCj4gPiA+ID4+ IC0JaWYgKGh3LT5tYWMudHlwZSA9PSBpeGdiZV9tYWNfODI1OTlFQiAmJg0KPiA+ID4gPj4gLQkJ CWRldi0+ZGF0YS0+ZGV2X2NvbmYubHBia19tb2RlID09DQo+ID4gPiBJWEdCRV9MUEJLXzgyNTk5 X1RYX1JYKQ0KPiA+ID4gPj4gKwkvKiBTa2lwIGxpbmsgc2V0dXAgaWYgbG9vcGJhY2sgbW9kZSBp cyBlbmFibGVkLiAqLw0KPiA+ID4gPj4gKwlpZiAoKGh3LT5tYWMudHlwZSA9PSBpeGdiZV9tYWNf ODI1OTlFQiB8fA0KPiA+ID4gPj4gKwkgICAgIGh3LT5tYWMudHlwZSA9PSBpeGdiZV9tYWNfWDU0 MCB8fA0KPiA+ID4gPj4gKwkgICAgIGh3LT5tYWMudHlwZSA9PSBpeGdiZV9tYWNfWDU1MCB8fA0K PiA+ID4gPj4gKwkgICAgIGh3LT5tYWMudHlwZSA9PSBpeGdiZV9tYWNfWDU1MEVNX3ggfHwNCj4g PiA+ID4+ICsJICAgICBody0+bWFjLnR5cGUgPT0gaXhnYmVfbWFjX1g1NTBFTV9hKSAmJg0KPiA+ ID4gPj4gKwkJCWRldi0+ZGF0YS0+ZGV2X2NvbmYubHBia19tb2RlID09DQo+ID4gPiBJWEdCRV9M UEJLX1RYX1JYKQ0KPiA+ID4gPj4gICAJCWdvdG8gc2tpcF9saW5rX3NldHVwOw0KPiA+ID4gPj4N Cj4gPiA+ID4+ICAgCWlmIChpeGdiZV9pc19zZnAoaHcpICYmIGh3LT5waHkubXVsdGlzcGVlZF9m aWJlcikgeyBkaWZmIC0tDQo+IGdpdA0KPiA+ID4gPj4gYS9kcml2ZXJzL25ldC9peGdiZS9peGdi ZV9ldGhkZXYuaA0KPiA+ID4gYi9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuaA0KPiA+ ID4gPj4gaW5kZXggNTY1YzY5Yy4uYzYwYTY5NyAxMDA2NDQNCj4gPiA+ID4+IC0tLSBhL2RyaXZl cnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5oDQo+ID4gPiA+PiArKysgYi9kcml2ZXJzL25ldC9p eGdiZS9peGdiZV9ldGhkZXYuaA0KPiA+ID4gPj4gQEAgLTY1LDkgKzY1LDggQEANCj4gPiA+ID4+ ICAgI2RlZmluZSBJWEdCRV9RVUVVRV9JVFJfSU5URVJWQUxfREVGQVVMVAk1MDAgLyogNTAwdXMN Cj4gKi8NCj4gPiA+ID4+DQo+ID4gPiA+PiAgIC8qIExvb3BiYWNrIG9wZXJhdGlvbiBtb2RlcyAq Lw0KPiA+ID4gPj4gLS8qIDgyNTk5IHNwZWNpZmljIGxvb3BiYWNrIG9wZXJhdGlvbiB0eXBlcyAq Lw0KPiA+ID4gPj4gLSNkZWZpbmUgSVhHQkVfTFBCS184MjU5OV9OT05FICAgMHgwIC8qIERlZmF1 bHQgdmFsdWUuIExvb3BiYWNrIGlzDQo+ID4gPiBkaXNhYmxlZC4NCj4gPiA+ID4+ICovDQo+ID4g PiA+PiAtI2RlZmluZSBJWEdCRV9MUEJLXzgyNTk5X1RYX1JYICAweDEgLyogVHgtPlJ4IGxvb3Bi YWNrDQo+IG9wZXJhdGlvbg0KPiA+ID4gPj4gaXMgZW5hYmxlZC4gKi8NCj4gPiA+ID4+ICsjZGVm aW5lIElYR0JFX0xQQktfTk9ORSAgIDB4MCAvKiBEZWZhdWx0IHZhbHVlLiBMb29wYmFjayBpcw0K PiBkaXNhYmxlZC4NCj4gPiA+ICovDQo+ID4gPiA+PiArI2RlZmluZSBJWEdCRV9MUEJLX1RYX1JY ICAweDEgLyogVHgtPlJ4IGxvb3BiYWNrIG9wZXJhdGlvbiBpcw0KPiA+ID4gZW5hYmxlZC4NCj4g PiA+ID4+ICsqLw0KPiA+ID4gPj4NCj4gPiA+ID4+ICAgI2RlZmluZSBJWEdCRV9NQVhfSlVNQk9f RlJBTUVfU0laRSAgICAgIDB4MjYwMCAvKiBNYXhpbXVtDQo+ID4gPiBKdW1ibw0KPiA+ID4gPj4g ZnJhbWUgc2l6ZS4gKi8NCj4gPiA+ID4+DQo+ID4gPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4gPiA+PiBiL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2Jl X3J4dHguYyBpbmRleCA5YTc5ZDE4Li4wZWY3ZmRmIDEwMDY0NA0KPiA+ID4gPj4gLS0tIGEvZHJp dmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4gPiA+PiArKysgYi9kcml2ZXJzL25ldC9p eGdiZS9peGdiZV9yeHR4LmMNCj4gPiA+ID4+IEBAIC00ODc5LDEwICs0ODc5LDE0IEBAIGl4Z2Jl X2Rldl9yeF9pbml0KHN0cnVjdCBydGVfZXRoX2Rldg0KPiAqZGV2KQ0KPiA+ID4gPj4gICAJCWhs cmVnMCAmPSB+SVhHQkVfSExSRUcwX0pVTUJPRU47DQo+ID4gPiA+Pg0KPiA+ID4gPj4gICAJLyoN Cj4gPiA+ID4+IC0JICogSWYgbG9vcGJhY2sgbW9kZSBpcyBjb25maWd1cmVkIGZvciA4MjU5OSwg c2V0IExQQksgYml0Lg0KPiA+ID4gPj4gKwkgKiBJZiBsb29wYmFjayBtb2RlIGlzIGNvbmZpZ3Vy ZWQsIHNldCBMUEJLIGJpdC4NCj4gPiA+ID4+ICAgCSAqLw0KPiA+ID4gPj4gLQlpZiAoaHctPm1h Yy50eXBlID09IGl4Z2JlX21hY184MjU5OUVCICYmDQo+ID4gPiA+PiAtCQkJZGV2LT5kYXRhLT5k ZXZfY29uZi5scGJrX21vZGUgPT0NCj4gPiA+IElYR0JFX0xQQktfODI1OTlfVFhfUlgpDQo+ID4g PiA+PiArCWlmICgoaHctPm1hYy50eXBlID09IGl4Z2JlX21hY184MjU5OUVCIHx8DQo+ID4gPiA+ PiArCSAgICAgaHctPm1hYy50eXBlID09IGl4Z2JlX21hY19YNTQwIHx8DQo+ID4gPiA+PiArCSAg ICAgaHctPm1hYy50eXBlID09IGl4Z2JlX21hY19YNTUwIHx8DQo+ID4gPiA+PiArCSAgICAgaHct Pm1hYy50eXBlID09IGl4Z2JlX21hY19YNTUwRU1feCB8fA0KPiA+ID4gPj4gKwkgICAgIGh3LT5t YWMudHlwZSA9PSBpeGdiZV9tYWNfWDU1MEVNX2EpICYmDQo+ID4gPiA+PiArCQkJZGV2LT5kYXRh LT5kZXZfY29uZi5scGJrX21vZGUgPT0NCj4gPiA+IElYR0JFX0xQQktfVFhfUlgpDQo+ID4gPiA+ PiAgIAkJaGxyZWcwIHw9IElYR0JFX0hMUkVHMF9MUEJLOw0KPiA+ID4gPj4gICAJZWxzZQ0KPiA+ ID4gPj4gICAJCWhscmVnMCAmPSB+SVhHQkVfSExSRUcwX0xQQks7IEBAIC01MDg4LDYNCj4gKzUw OTIsMjkgQEANCj4gPiA+ID4+IGl4Z2JlX3NldHVwX2xvb3BiYWNrX2xpbmtfODI1OTkoc3RydWN0 DQo+ID4gPiA+PiBpeGdiZV9odw0KPiA+ID4gPj4gKmh3KQ0KPiA+ID4gPj4gICAJbXNlY19kZWxh eSg1MCk7DQo+ID4gPiA+PiAgIH0NCj4gPiA+ID4+DQo+ID4gPiA+PiArLyoNCj4gPiA+ID4+ICsg KiBTZXQgdXAgbGluayBsb29wYmFjayBmb3IgWDU0MCAvIFg1NTAgbW9kZSBUeC0+UnguDQo+ID4g PiA+PiArICovDQo+ID4gPiA+PiArc3RhdGljIGlubGluZSB2b2lkIF9fYXR0cmlidXRlX18oKGNv bGQpKQ0KPiA+ID4gPj4gK2l4Z2JlX3NldHVwX2xvb3BiYWNrX2xpbmtfeDU0MF94NTUwKHN0cnVj dCBpeGdiZV9odyAqaHcpIHsNCj4gPiA+ID4+ICsJdWludDMyX3QgbWFjYzsNCj4gPiA+ID4+ICsJ UE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KPiA+ID4gPj4gKw0KPiA+ID4gPj4gKwkvKiBkYXRhc2hl ZXQgMTUuMi4xOiBNQUNDLkZMVSA9IDEgKGZvcmNlIGxpbmsgdXApICovDQo+ID4gPiA+PiArCW1h Y2MgPSBJWEdCRV9SRUFEX1JFRyhodywgSVhHQkVfTUFDQyk7DQo+ID4gPiA+PiArCW1hY2MgfD0g SVhHQkVfTUFDQ19GTFU7DQo+ID4gPiA+PiArCUlYR0JFX1dSSVRFX1JFRyhodywgSVhHQkVfTUFD QywgbWFjYyk7DQo+ID4gPiA+PiArDQo+ID4gPiA+PiArCS8qIFJlc3RhcnQgbGluayAqLw0KPiA+ ID4gPj4gKwlJWEdCRV9XUklURV9SRUcoaHcsDQo+ID4gPiA+PiArCQkJSVhHQkVfQVVUT0MsDQo+ ID4gPiA+PiArCQkJSVhHQkVfQVVUT0NfTE1TXzEwR19MSU5LX05PX0FOIHwNCj4gPiA+IElYR0JF X0FVVE9DX0ZMVSk7DQo+ID4gPiA+PiArDQo+ID4gPiA+PiArCWh3LT5tYWMub3BzLnJlbGVhc2Vf c3dmd19zeW5jKGh3LA0KPiBJWEdCRV9HU1NSX01BQ19DU1JfU00pOw0KPiA+ID4gPj4gKwltc2Vj X2RlbGF5KDUwKTsNCj4gPiA+ID4+ICt9DQo+ID4gPiA+PiArDQo+ID4gPiA+Pg0KPiA+ID4gPj4g ICAvKg0KPiA+ID4gPj4gICAgKiBTdGFydCBUcmFuc21pdCBhbmQgUmVjZWl2ZSBVbml0cy4NCj4g PiA+ID4+IEBAIC01MTQ4LDEwICs1MTc1LDE2IEBAIGl4Z2JlX2Rldl9yeHR4X3N0YXJ0KHN0cnVj dCBydGVfZXRoX2Rldg0KPiA+ID4gKmRldikNCj4gPiA+ID4+ICAgCXJ4Y3RybCB8PSBJWEdCRV9S WENUUkxfUlhFTjsNCj4gPiA+ID4+ICAgCWh3LT5tYWMub3BzLmVuYWJsZV9yeF9kbWEoaHcsIHJ4 Y3RybCk7DQo+ID4gPiA+Pg0KPiA+ID4gPj4gLQkvKiBJZiBsb29wYmFjayBtb2RlIGlzIGVuYWJs ZWQgZm9yIDgyNTk5LCBzZXQgdXAgdGhlIGxpbmsgYWNjb3JkaW5nbHkNCj4gPiA+ICovDQo+ID4g PiA+PiAtCWlmIChody0+bWFjLnR5cGUgPT0gaXhnYmVfbWFjXzgyNTk5RUIgJiYNCj4gPiA+ID4+ IC0JCQlkZXYtPmRhdGEtPmRldl9jb25mLmxwYmtfbW9kZSA9PQ0KPiA+ID4gSVhHQkVfTFBCS184 MjU5OV9UWF9SWCkNCj4gPiA+ID4+IC0JCWl4Z2JlX3NldHVwX2xvb3BiYWNrX2xpbmtfODI1OTko aHcpOw0KPiA+ID4gPj4gKwkvKiBJZiBsb29wYmFjayBtb2RlIGlzIGVuYWJsZWQsIHNldCB1cCB0 aGUgbGluayBhY2NvcmRpbmdseSAqLw0KPiA+ID4gPj4gKwlpZiAoZGV2LT5kYXRhLT5kZXZfY29u Zi5scGJrX21vZGUgPT0gSVhHQkVfTFBCS19UWF9SWCkNCj4gew0KPiA+ID4gPj4gKwkJaWYgKGh3 LT5tYWMudHlwZSA9PSBpeGdiZV9tYWNfODI1OTlFQikNCj4gPiA+ID4+ICsJCQlpeGdiZV9zZXR1 cF9sb29wYmFja19saW5rXzgyNTk5KGh3KTsNCj4gPiA+ID4+ICsJCWVsc2UgaWYgKGh3LT5tYWMu dHlwZSA9PSBpeGdiZV9tYWNfWDU0MCB8fA0KPiA+ID4gPj4gKwkJICAgICBody0+bWFjLnR5cGUg PT0gaXhnYmVfbWFjX1g1NTAgfHwNCj4gPiA+ID4+ICsJCSAgICAgaHctPm1hYy50eXBlID09IGl4 Z2JlX21hY19YNTUwRU1feCB8fA0KPiA+ID4gPj4gKwkJICAgICBody0+bWFjLnR5cGUgPT0gaXhn YmVfbWFjX1g1NTBFTV9hKQ0KPiA+ID4gPj4gKwkJCWl4Z2JlX3NldHVwX2xvb3BiYWNrX2xpbmtf eDU0MF94NTUwKGh3KTsNCj4gPiA+ID4+ICsJfQ0KPiA+ID4gPj4NCj4gPiA+ID4+ICAgI2lmZGVm IFJURV9MSUJSVEVfU0VDVVJJVFkNCj4gPiA+ID4+ICAgCWlmICgoZGV2LT5kYXRhLT5kZXZfY29u Zi5yeG1vZGUub2ZmbG9hZHMgJg0KPiA+ID4gPj4gLS0NCj4gPiA+ID4+IDIuMTAuMg0KPiA+ID4g Pg0K