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 E64B82D13 for ; Tue, 13 Nov 2018 20:18:13 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2018 11:18:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,229,1539673200"; d="scan'208";a="249423267" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga004.jf.intel.com with ESMTP; 13 Nov 2018 11:18:12 -0800 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 13 Nov 2018 11:18:12 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 13 Nov 2018 11:18:11 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.161]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.214]) with mapi id 14.03.0415.000; Wed, 14 Nov 2018 03:18:09 +0800 From: "Zhang, Qi Z" To: "Yigit, Ferruh" , Thomas Monjalon CC: "dev@dpdk.org" , "Lin, Xueqin" Thread-Topic: [PATCH v2] net/pcap: enable data path on secondary Thread-Index: AQHUeqfEPDAcaNAvQ0iRKzTsGyWjJKVNaC+AgAAFFYCAAIZP0P//kpuAgACM4bA= Date: Tue, 13 Nov 2018 19:18:09 +0000 Message-ID: <039ED4275CED7440929022BC67E70611532E34AA@SHSMSX103.ccr.corp.intel.com> References: <20181105210823.38757-1-qi.z.zhang@intel.com> <20181112165109.33296-1-qi.z.zhang@intel.com> <861c43b2-a082-fdf8-61b9-2df1f4ed919c@intel.com> <4093831.1gQSVtVNRZ@xps> <039ED4275CED7440929022BC67E70611532E343C@SHSMSX103.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWZiNjdkNjktYjVjMy00MjMwLThmMmUtNWI3ZTA2MmViNzQ0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiaUVlQUlcL0V0ckJ0T28yXC9JR1wvbUJYUFlKR1wvXC90WjNKcEFQZjc4ZWRtRnZLTVBQdUhPK1c4eHpVZXBlM295RlhFIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2] net/pcap: enable data path on secondary 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: Tue, 13 Nov 2018 19:18:14 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWWlnaXQsIEZlcnJ1aA0K PiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAxMywgMjAxOCAxMDo0NCBBTQ0KPiBUbzogWmhhbmcs IFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+IDx0aG9tYXNA bW9uamFsb24ubmV0Pg0KPiBDYzogZGV2QGRwZGsub3JnOyBMaW4sIFh1ZXFpbiA8eHVlcWluLmxp bkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIG5ldC9wY2FwOiBlbmFibGUg ZGF0YSBwYXRoIG9uIHNlY29uZGFyeQ0KPiANCj4gT24gMTEvMTMvMjAxOCA2OjI3IFBNLCBaaGFu ZywgUWkgWiB3cm90ZToNCj4gPiBGaXJzdCwgYXBvbG9naWVzIHRvIG1ha2UgdGhpcyBpbiBydXNo IHNpbmNlIEkgd2FzIHNvbWVob3cgdW5kZXIgcHJlc3N1cmUgdG8NCj4gbWFrZSBwZHVtcCB3b3Jr cyBpbiAxOC4xMS4NCj4gPiBJIGFncmVlIHRoZXJlIGlzIGxvdCBvZiB0aGluZ3MgbmVlZCB0byBp bXByb3ZlLCBidXQgdGhlIHN0cmF0ZWd5IGhlcmUNCj4gPiBpcyB0byBtYWtlIGl0IHdvcmsgcXVp ZXRseSBhbmQgbm90IGJyZWFrIGFueXRoaW5nIGVsc2UgOikgYWRkIHNvbWUNCj4gY29tbWVudHMg aW5saW5lLg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206 IFRob21hcyBNb25qYWxvbiBbbWFpbHRvOnRob21hc0Btb25qYWxvbi5uZXRdDQo+ID4+IFNlbnQ6 IFR1ZXNkYXksIE5vdmVtYmVyIDEzLCAyMDE4IDk6MTUgQU0NCj4gPj4gVG86IFlpZ2l0LCBGZXJy dWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBaaGFuZywgUWkgWg0KPiA+PiA8cWkuei56aGFu Z0BpbnRlbC5jb20+DQo+ID4+IENjOiBkZXZAZHBkay5vcmc7IExpbiwgWHVlcWluIDx4dWVxaW4u bGluQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCB2Ml0gbmV0L3BjYXA6IGVu YWJsZSBkYXRhIHBhdGggb24gc2Vjb25kYXJ5DQo+ID4+DQo+ID4+IEp1c3QgYSBxdWljayBjb21t ZW50Og0KPiA+PiBUaGVyZSBhcmUgcHJvYmFibHkgc29tZSBpZGVhcyB0byB0YWtlIGZyb20gd2hh dCB3YXMgZG9uZSBmb3IgdGFwLg0KPiA+DQo+ID4+DQo+ID4+DQo+ID4+IDEzLzExLzIwMTggMTc6 NTYsIEZlcnJ1aCBZaWdpdDoNCj4gPj4+IE9uIDExLzEyLzIwMTggNDo1MSBQTSwgUWkgWmhhbmcg d3JvdGU6DQo+ID4+Pj4gUHJpdmF0ZSB2ZGV2IG9uIHNlY29uZGFyeSBpcyBuZXZlciBzdXBwb3J0 ZWQgYnkgdGhlIG5ldyBzaGFyZWQNCj4gPj4+PiBkZXZpY2UgbW9kZSBidXQgcGR1bXAgc3RpbGwg cmVsaWVzIG9uIGEgcHJpdmF0ZSBwY2FwIFBNRCBvbg0KPiBzZWNvbmRhcnkuDQo+ID4+Pj4gVGhl IHBhdGNoIGVuYWJsZXMgcGNhcCBQTUQncyBkYXRhIHBhdGggb24gc2Vjb25kYXJ5IHNvIHRoYXQg cGR1bXANCj4gPj4+PiBjYW4gd29yayBhcyB1c3VhbC4NCj4gPj4+DQo+ID4+PiBJdCB3b3VsZCBi ZSBncmVhdCBpZiB5b3UgZGVzY3JpYmVkIHRoZSBwcm9ibGVtIGEgbGl0dGxlIG1vcmUuDQo+ID4+ Pg0KPiA+Pj4gUHJpdmF0ZSB2ZGV2IHdhcyB0aGUgd2F5IHByZXZpb3VzbHksIHdoZW4gcGR1bXAg ZGV2ZWxvcGVkLCBub3cgd2l0aA0KPiA+Pj4gc2hhcmVkIGRldmljZSBtb2RlIG9uIHZpcnR1YWwg ZGV2aWNlcywgcGNhcCBkYXRhIHBhdGggaW4gc2Vjb25kYXJ5DQo+ID4+PiBpcyBub3QNCj4gPj4g d29ya2luZy4NCj4gPj4+DQo+ID4+PiBXaGF0IGV4YWN0bHkgbm90IHdvcmtpbmcgaXMgKHBsZWFz ZSBjb3JyZWN0IG1lIGlmIEkgYW0gd3JvbmcpOg0KPiA+Pj4gV2hlbiBzZWNvbmRhcnkgYWRkcyBh IHZpcnR1YWwgZGV2aWNlLCByZWxhdGVkIGRhdGEgdHJhbnNmZXJyZWQgdG8NCj4gPj4+IHByaW1h cnkgYW5kIHByaW1hcnkgY3JlYXRlcyB0aGUgZGV2aWNlIGFuZCBzaGFyZXMgZGV2aWNlIGJhY2sg d2l0aA0KPiA+PiBzZWNvbmRhcnkuDQo+ID4+PiBXaGVuIHBjYXAgZGV2aWNlIGNyZWF0ZWQgaW4g cHJpbWFyeSwgcGNhcCBoYW5kbGVycyAocG9pbnRlcnMpIGFyZQ0KPiA+Pj4gcHJvY2VzcyBsb2Nh bCBhbmQgdGhleSBhcmUgbm90IHZhbGlkIGZvciBzZWNvbmRhcnkgcHJvY2Vzcy4gVGhpcw0KPiA+ Pj4gYnJlYWtzDQo+ID4+IHNlY29uZGFyeS4NCj4gPj4+DQo+ID4+PiBTbyB3ZSBjYW4ndCBkaXJl Y3RseSBzaGFyZSB0aGUgcGNhcCBoYW5kbGVycywgYnV0IG5lZWQgdG8gY3JlYXRlIGENCj4gPj4+ IG5ldyBzZXQgb2YgaGFuZGxlcnMgZm9yIHNlY29uZGFyeSwgdGhhdCBpcyB3aGF0IHlvdSBhcmUg ZG9pbmcgaW4NCj4gPj4+IHRoaXMgcGF0Y2gsIGFsdGhvdWdoIEkgaGF2ZSBzb21lIGNvbW1lbnRz LCBwbGVhc2UgY2hlY2sgYmVsb3cuDQo+ID4+Pg0KPiA+Pj4gU2luY2UgdGhlcmUgaXMgc2luZ2xl IHN0b3JhZ2UgZm9yIHBjYXAgaGFuZGxlcnMgdGhhdCBwcmltYXJ5IGFuZA0KPiA+Pj4gc2Vjb25k YXJ5IHNoYXJlcyBhbmQgdGhleSBjYW4ndCBzaGFyZSB0aGUgaGFuZGxlcnMsIHlvdSBjYW4ndCBt YWtlDQo+ID4+PiBib3RoIHByaW1hcnkgYW5kIHNlY29uZGFyeSBkYXRhIHBhdGggd29yay4gQWxz byBmcmVlaW5nIGhhbmRsZXJzIGlzDQo+ID4+PiBhbm90aGVyIGNvbmNlcm4uIFdoYXQgaXMgbmVl ZGVkIGlzIGBydGVfZXRoX2Rldi0+cHJvY2Vzc19wcml2YXRlYA0KPiA+Pj4gd2hpY2gNCj4gPj4g aGFzIGJlZW4gYWRkZWQgaW4gdGhpcyByZWxlYXNlLg0KPiA+DQo+ID4gWW91IGFyZSByaWdodCwg d2Ugc2hvdWxkIHByZXZlbnQgaGFuZGxlciBiZSBvcGVuZWQgaW4gcHJpbWFyeSBiZQ0KPiBjb3Jy dXB0ZWQgZHVyaW5nIHByb2JlIGF0IHNlY29uZGFyeS4NCj4gPiBOb3csIEkgc2VlIHRoaXMgcHJv YmxlbSBpbiBwY2FwICwgYXMgYW4gZXhhbXBsZToNCj4gPiBpbnRlcm5hbHMtPnR4X3F1ZXVlW2ld LmR1bXBlci9wY2FwIGlzIHNoYXJlZCBidXQgd2lsbCBiZSBvdmVyd3JpdHRlbg0KPiA+IGF0IHNl Y29uZGFyeSwgd2Ugc2hvdWxkIGZpeCB0aGVtIGJ5IHVzZSBwcm9jZXNzX3ByaXZhdGUsDQo+ID4N Cj4gPj4+DQo+ID4+Pj4NCj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBRaSBaaGFuZyA8cWkuei56aGFu Z0BpbnRlbC5jb20+DQo+ID4+Pj4gVGVzdGVkLWJ5OiBZdWZlbmcgTW8gPHl1ZmVuZ3gubW9AaW50 ZWwuY29tPg0KPiA+Pj4NCj4gPj4+IDwuLi4+DQo+ID4+Pg0KPiA+Pj4+IEBAIC05MzQsNiArOTM1 LDEwIEBAIHBtZF9pbml0X2ludGVybmFscyhzdHJ1Y3QgcnRlX3ZkZXZfZGV2aWNlDQo+ID4+ICp2 ZGV2LA0KPiA+Pj4+ICAJICovDQo+ID4+Pj4gIAkoKmV0aF9kZXYpLT5kZXZfb3BzID0gJm9wczsN Cj4gPj4+Pg0KPiA+Pj4+ICsJLyogc3RvcmUgYSBjb3B5IG9mIGRldmFyZ3MgZm9yIHNlY29uZGFy eSBwcm9jZXNzICovDQo+ID4+Pj4gKwlzdHJsY3B5KGludGVybmFscy0+ZGV2YXJncywgcnRlX3Zk ZXZfZGV2aWNlX2FyZ3ModmRldiksDQo+ID4+Pj4gKwkJCUVUSF9QQ0FQX0FSR19NQVhMRU4pOw0K PiA+Pj4NCj4gPj4+IFdoeSB3ZSBuZWVkIHRvIGNvdmVyIHRoaXMgaW4gUE1EIGxldmVsPw0KPiA+ Pj4NCj4gPj4+IFdoeSBzZWNvbmRhcnkgcHJvYmUgaXNuJ3QgZ2V0dGluZyBkZXZhcmdzPyBDYW4n dCB3ZSBmaXggdGhpcyBpbiBlYWwgbGV2ZWw/DQo+ID4+PiBJdCBjYW4gYmUgT0sgdG8gd29ya2Fy b3VuZCBpbiB0aGUgUE1EIHRha2luZyBhY2NvdW50IG9mIHRoZSB0aW1lIG9mDQo+ID4+PiB0aGUg cmVsZWFzZSwgYnV0IGZvciBsb25nIHRlcm0gSSB0aGluayB0aGlzIHNob3VsZCBiZSBmaXhlZCBp biBlYWwuDQo+ID4NCj4gPiBZZXMgdGhpcyBpcyB0aGUgd29ya2Fyb3VuZCBmb3IgcXVpY2sgZml4 Lg0KPiA+IElkZWFsbHkgc2Vjb25kYXJ5IHByb2Nlc3Mgc2hvdWxkIG5vdCB0YWtlIGNhcmUgb2Yg ZGV2YXJncywgaXQganVzdCBhdHRhY2guDQo+ID4gQW5kIGl0J3MgYmV0dGVyIHRvIG9ubHkgcGFy c2UgZGV2YXJncyBvbiBvbmUgcHJvY2VzcyAoIHByaW1hcnkgcHJvY2VzcyksIHRoZQ0KPiBwYXJz ZWQgcmVzdWx0IGNvdWxkIGJlIHN0b3JlZCB0byBpbnRlcm1lZGlhdGUgcmVzdWx0IGluIHNoYXJl ZA0KPiBtZW1vcnksKGV4YW1wbGVzLCBpbnRlcm5hbC0+bmJfcnhfcXVldWVfcmVxdWlyZWQpIHNv IHNlY29uZGFyeSBwcm9jZXNzDQo+IGRvbid0IG5lZWQgdG8gcGFyc2UgaXQgYWdhaW4uDQo+ID4+ Pg0KPiA+Pj4gPC4uLj4NCj4gPj4+DQo+ID4+Pj4gQEAgLTExMjIsMjMgKzExMjYsMzcgQEAgcG1k X3BjYXBfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZQ0KPiA+PiAqZGV2KQ0KPiA+Pj4+ICAJ c3RhcnRfY3ljbGVzID0gcnRlX2dldF90aW1lcl9jeWNsZXMoKTsNCj4gPj4+PiAgCWh6ID0gcnRl X2dldF90aW1lcl9oeigpOw0KPiA+Pj4+DQo+ID4+Pj4gLQlpZiAocnRlX2VhbF9wcm9jZXNzX3R5 cGUoKSA9PSBSVEVfUFJPQ19TRUNPTkRBUlkpIHsNCj4gPj4+PiArCWlmIChydGVfZWFsX3Byb2Nl c3NfdHlwZSgpID09IFJURV9QUk9DX1BSSU1BUlkpIHsNCj4gPj4+PiArCQlrdmxpc3QgPSBydGVf a3ZhcmdzX3BhcnNlKHJ0ZV92ZGV2X2RldmljZV9hcmdzKGRldiksDQo+ID4+Pj4gKwkJCQl2YWxp ZF9hcmd1bWVudHMpOw0KPiA+Pj4+ICsJCWlmIChrdmxpc3QgPT0gTlVMTCkNCj4gPj4+PiArCQkJ cmV0dXJuIC1FSU5WQUw7DQo+ID4+Pj4gKwkJaWYgKHJ0ZV9rdmFyZ3NfY291bnQoa3ZsaXN0LCBF VEhfUENBUF9JRkFDRV9BUkcpID09IDEpDQo+ID4+Pj4gKwkJCW5iX3J4X3F1ZXVlID0gMTsNCj4g Pj4+PiArCQllbHNlDQo+ID4+Pj4gKwkJCW5iX3J4X3F1ZXVlID0NCj4gPj4+PiArCQkJCXJ0ZV9r dmFyZ3NfY291bnQoa3ZsaXN0LA0KPiA+Pj4+ICsJCQkJCUVUSF9QQ0FQX1JYX1BDQVBfQVJHKSA/ IDEgOiAwOw0KPiA+Pj4+ICsJCW5iX3R4X3F1ZXVlID0gMTsNCj4gPj4+DQo+ID4+PiBUaGlzIHBh cnQgaXMgd3JvbmcuIHBjYXAgcG1kIHN1cHBvcnRzIG11bHRpIHF1ZXVlLCB5b3UgY2FuJ3QNCj4g Pj4+IGhhcmRjb2RlIHRoZSBudW1iZXIgb2YgcXVldWVzLiBBbHNvIGZvciBUeCB3aHkgaXQgaWdu b3JlcyBgcnhfaWZhY2VgDQo+IGFyZ3VtZW50Pw0KPiA+Pj4gVGhpcyBpcyBqdXN0IGhhY2tpbmcg dGhlIGRyaXZlciBmb3IgYSBzcGVjaWZpYyB1c2UgY2FzZSBicmVha2luZyBvdGhlcnMuDQo+ID4N Cj4gPiBQcmV2aW91c2x5IHRoZSBuYl90eF9xdWV1ZSBhbmQgbmJfcnhfcXVldWUgaXMgZGVjaWRl ZCBieQ0KPiBwY2Fwcy5udW1fb2ZfcXVldWUgYW5kIGR1bXBlcnMubnVtX29mX3F1ZXVlcy4NCj4g PiBJIGp1c3QgY2FuJ3QgZmlndXJlIG91dCBhIHdheSB0aGF0IHdlIGNhbiBoYXZlIG1vcmUgdGhh biAxIHF1ZXVlIGR1cmluZw0KPiBwcm9iZSwgbG9vayBhdCBiZWxvdyBjb2RlLg0KPiA+DQo+ID4g SWYgRVRIX1BDQVBfSUZBQ0VfQVJHDQo+ID4NCj4gPiAJcGNhcHMubnVtX29mX3F1ZXVlID0gMTsN Cj4gPiAJZHVtcGVycy5udW1fb2ZfcXVldWUgPSAxOw0KPiA+DQo+ID4gZWxzZQ0KPiA+IAlpc19y eF9wY2FwID0gcnRlX2t2YXJnc19jb3VudChrdmxpc3QsIEVUSF9QQ0FQX1JYX1BDQVBfQVJHKSA/ IDEgOiAwOw0KPiA+ICAgICAgICAgcGNhcHMubnVtX29mX3F1ZXVlID0gMDsNCj4gPiAJaWYgKGlz X3J4X3BjYXApIHsNCj4gPiAgICAgICAgICAgICAgICAgcmV0ID0gcnRlX2t2YXJnc19wcm9jZXNz KGt2bGlzdCwNCj4gRVRIX1BDQVBfUlhfUENBUF9BUkcsDQo+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmb3Blbl9yeF9wY2FwLCAmcGNhcHMpOw0KPiA+DQo+ID4gCQkJCS8vIHBj YXBzLm51bV9vZl9xdWV1ZSA9IDE7DQo+ID4gICAgICAgICB9IGVsc2Ugew0KPiA+ICAgICAgICAg ICAgICAgICByZXQgPSBydGVfa3ZhcmdzX3Byb2Nlc3Moa3ZsaXN0LCBOVUxMLA0KPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJ4X2lmYWNlX2FyZ3NfcHJvY2VzcywgJnBjYXBz KTsNCj4gPiAJCQkJLy8gcGNhcHMubnVtX29mX3F1ZXVlID0gMDsNCj4gPiAgICAgICAgIH0NCj4g Pg0KPiA+IAkJaXNfdHhfcGNhcCA9IHJ0ZV9rdmFyZ3NfY291bnQoa3ZsaXN0LCBFVEhfUENBUF9U WF9QQ0FQX0FSRykgPw0KPiAxIDogMDsNCj4gPiAgICAgICAgIGR1bXBlcnMubnVtX29mX3F1ZXVl ID0gMDsNCj4gPg0KPiA+ICAgICAgICAgaWYgKGlzX3R4X3BjYXApDQo+ID4gICAgICAgICAgICAg ICAgIHJldCA9IHJ0ZV9rdmFyZ3NfcHJvY2Vzcyhrdmxpc3QsDQo+IEVUSF9QQ0FQX1RYX1BDQVBf QVJHLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wZW5fdHhfcGNhcCwg JmR1bXBlcnMpOw0KPiA+IAkJCQkvLyBkdW1wZXJzLm51bV9vZl9xdWV1ZSA9IDENCj4gPiAgICAg ICAgIGVsc2UNCj4gPiAgICAgICAgICAgICAgICAgcmV0ID0gcnRlX2t2YXJnc19wcm9jZXNzKGt2 bGlzdCwNCj4gRVRIX1BDQVBfVFhfSUZBQ0VfQVJHLA0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJm9wZW5fdHhfaWZhY2UsICZkdW1wZXJzKTsNCj4gPiAJCQkJLy8gZHVtcGVy cy5udW1fb2ZfcXVldWUgPSAxDQo+ID4NCj4gPiBUaGF0J3MgdGhlIHNhbWUgbG9naWMgSSBhcHBs aWVkLCBkaWQgSSBtaXNzZWQgc29tZXRoaW5nLCB3b3VsZCB5b3UgZXhwbGFpbg0KPiBtb3JlIGZv ciB0aGlzPw0KPiANCj4gRVRIX1BDQVBfSUZBQ0VfQVJHIGlzICJpZmFjZT14eHgiIHVzYWdlLCBi b3RoIFJ4IGFuZCBUeCB1c2UgdGhlIHNhbWUNCj4gaW50ZXJmYWNlLCBiZWNhdXNlIG9mIGltcGxl bWVudGF0aW9uIGxpbWl0YXRpb24gaXQgb25seSBzdXBwb3J0cyAxIHF1ZXVlLg0KPiANCj4gcnhf cGNhcCwgcnhfaWZhY2UsIHJ4X2lmYWNlX2luIHN1cHBvcnRzIG11bHRpcGxlIHF1ZXVlcywgYnkg cHJvdmlkaW5nIHRoZW0NCj4gbXVsdGlwbGUgdGltZS4gTGlrZSAicnhfcGNhcD1xMS5wY2FwLHJ4 X3BjYXA9cTIucGNhcCxyeF9wY2FwPXEzLnBjYXAiDQo+IHdpbGwgY3JlYXRlIDMgUnggcXVldWVz IGVhY2ggaGF2aW5nIHRoZWlyIG93biAucGNhcCBmaWxlLiBTYW1lIGlzIHZhbGlkIGZvciBUeC4N Cj4gDQo+IHJ0ZV9rdmFyZ3NfcHJvY2VzcygpIGNhbGxzIGNhbGxiYWNrIGZ1bmN0aW9uIHBlciBh cmd1bWVudCBwcm92aWRlZCwgc28gaWYgYW4NCj4gYXJndW1lbnQgcHJvdmlkZWQgbXVsdGlwbGUg dGltZXMsIGl0IHdpbGwgY2FsbCBzYW1lIGNhbGxiYWNrIG11bHRpcGxlIHRpbWVzLA0KPiB0aGF0 IGlzIHdoeSAnbnVtX29mX3F1ZXVlJyBpbmNyZWFzZWQgaW4gY2FsbGJhY2sgZnVuY3Rpb25zLg0K DQpPaywgdGhpcyBpcyB3aGF0IEkgbWlzc2VkLCBJIGRpZG4ndCBub3RpY2UgcGNhcCBkZXZhcmdz IHdpbGwgdGFrZSBhZHZhbnRhZ2UgYnkgdXNpbmcgdGhlIHNhbWUga2V5IGZvciBtdWx0aXBsZSB0 aW1lcy4NCg0KQlRXLCBJIGFsc28gbm90aWNlZCBpdCBtYXkgbm90IG5lY2Vzc2FyeSB0byBlc3Rp bWF0ZSB0aGUgcXVldWUgbnVtYmVyIGFuZCBjYWxsIHBtZF9pbml0X2ludGVybmFscyBiZWZvcmUg b3BlbiBhbnkgcGNhcCBmaWxlIG9yIGlmYWNlIGFzIHlvdSBtZW50aW9uZWQuDQpUaGUgcmVhc29u IEkgaGF2ZSB0aGlzIGlzLCBwcmV2aW91c2x5IEkgd29ycmllZCBhYm91dCBpZiBhIHBjYXAgZmls ZSBjYW4gYmUgbG9ja2VkIGJ5IG9uZSBwcm9jZXNzIGFuZCBwcmV2ZW50IGFub3RoZXIgcHJvY2Vz cyB0byBhY2Nlc3MgaXQsIHNvIEkgdGhpbmsgYWJvdXQgdG8gYWRkICJvd25lciIgdG8gaW4gZGV2 YXJncyB0byBtYWtlIHN1cmUgb25seSBvbmUgcHJvY2VzcyB3aWxsIGFjY2VzcyB0aGUgZmlsZXMs IGJ1dCBhZnRlciBJIGZpZ3VyZSBvdXQgdGhpcyBpcyBub3QgbmVjZXNzYXJ5LCB0aGUgcXVldWUg ZXN0aW1hdGlvbiBwYXJ0IHNob3VsZCBiZSByZW1vdmVkIGFuZCByb2xsYmFjayB0byBhIHNpbXBs ZSBzb2x1dGlvbiBhcyB5b3Ugc3VnZ2VzdGVkLiANCg0KVGhhbmtzIGZvciB0aGUgaGVscCENClFp DQoNCj4gDQo+IEluIGhpZ2gtbGV2ZWwsIHBtZF9wY2FwX3Byb2JlKCkgZmlyc3QgcGFyc2VzIHRo ZSBhcmd1bWVudHMgYW5kIGNyZWF0ZXMgcGNhcA0KPiBoYW5kbGVycyBiYXNlZCBvbiBhcmd1bWVu dHMsIGxhdGVyIGFzIGEgbGFzdCB0aGluZyBjcmVhdGVzIGV0aGRldiB1c2luZyB0aGVzZQ0KPiBp bmZvcm1hdGlvbi4gSSBhbSBmb3Iga2VlcGluZyB0aGlzIGxvZ2ljLCBkb2luZyBzb21ldGhpbmcg ZGlmZmVyZW50IGZvcg0KPiBzZWNvbmRhcnkgY2FuIGNhdXNlIGlzc3VlcyBpbiBlZGdlIGNhc2Vz IG5vdCBvYnZpb3VzIGF0IGZpcnN0IGxvb2suDQo+IA0KPiA+DQo+ID4gVGhhbmtzDQo+ID4gUWkN Cj4gPg0KPiA+Pj4NCj4gPj4+PiArCQlyZXQgPSBwbWRfaW5pdF9pbnRlcm5hbHMoZGV2LCBuYl9y eF9xdWV1ZSwNCj4gPj4+PiArCQkJCW5iX3R4X3F1ZXVlLCAmZXRoX2Rldik7DQo+ID4+Pg0KPiA+ Pj4gSSB0aGluayBpdCBpcyBub3QgcmVxdWlyZWQgdG8gbW92ZSBwbWRfaW5pdF9pbnRlcm5hbHMo KSBoZXJlLg0KPiA+Pj4gVGhpcyBjYW4gYmUgZG9uZSBzaW1wbGVyLCBJIHdpbGwgc2VuZCBhIGRy YWZ0IHBhdGNoIGFzIGEgcmVwbHkgdG8NCj4gPj4+IHRoaXMgbWFpbCBmb3IgcG9zc2libGUgc29s dXRpb24uDQo+ID4+PiBCdXQgYWdhaW4gdGhhdCBjYW4ndCBiZSBmaW5hbCBzb2x1dGlvbiwgd2Ug bmVlZCB0byB1c2UNCj4gPj4+IGBwcm9jZXNzX3ByaXZhdGVgDQo+ID4+Pg0KPiA+Pj4gPC4uLj4N Cj4gPj4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4NCg0K