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 3DD28A0093; Tue, 19 May 2020 14:41:40 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EBEC41D60D; Tue, 19 May 2020 14:41:39 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id B6C2A1D607 for ; Tue, 19 May 2020 14:41:38 +0200 (CEST) IronPort-SDR: 0RauyJXfqFnMgYAiFj8QYjaq3jE3IgSP2DK7ycv7D+LOcQiqCQVbMhyp529/9TYmnaq1ngzkvA GOwZRAH+vxeA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2020 05:41:37 -0700 IronPort-SDR: H9fvzqDACSTALzh4yg+Rywd2s9ygLOuNowSiS3O0uAHSot4Qwp8fa0/TFxndAaRkZSO4gR4qhF FgdQcpobJhKg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,410,1583222400"; d="scan'208";a="300091767" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga008.jf.intel.com with ESMTP; 19 May 2020 05:41:37 -0700 Received: from fmsmsx125.amr.corp.intel.com (10.18.125.40) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 19 May 2020 05:41:36 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX125.amr.corp.intel.com (10.18.125.40) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 19 May 2020 05:41:36 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.241]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.181]) with mapi id 14.03.0439.000; Tue, 19 May 2020 20:41:33 +0800 From: "Zhang, Qi Z" To: "Yan, Xiaoping (NSB - CN/Hangzhou)" , "Guo, Jia" , "Xing, Beilei" CC: "dev@dpdk.org" , Olivier Matz Thread-Topic: [dpdk-dev] incorrect vlan_tci in rte mbuf Thread-Index: AdYqp2VSjUoJKifNSDyWYgDBzswvoQB+tw6AABL2G2AAHn/cAAASeW0AAAnwpTA= Date: Tue, 19 May 2020 12:41:33 +0000 Message-ID: <039ED4275CED7440929022BC67E70611548229FF@SHSMSX103.ccr.corp.intel.com> References: <301f18faf1184d7fb3b3958f1dbb1675@nokia-sbell.com> <20200518072405.GG1739@platinum> <30f00b616c0049b9b3f5f26b70b4088f@nokia-sbell.com> <34885cc0-edd9-9889-9799-a7c6d6485edd@intel.com> <1d619997740e4d849e1a35c7f87f3058@nokia-sbell.com> In-Reply-To: <1d619997740e4d849e1a35c7f87f3058@nokia-sbell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 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] incorrect vlan_tci in rte mbuf 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" SGkgWGlhb3Bpbmc6DQoNCglBY2NvcmRpbmcgdG8gaTQwZSBkYXRhc2hlZXQsIGZvciBwYWNrZXQg d2l0aCBtdWx0aXBsZSBidWZmZXIsIHRoZSBMMlRBRyBzaG91bGQgb25seSBiZSB2YWxpZCBvbiBs YXN0IFJ4IGRlc2NyaXB0b3IuDQoJU28gaXQgaXMgaWRlbnRpY2FsIHdpdGggd2hhdCB5b3Ugb2Jz ZXJ2ZWQgYW5kIGl0IGxvb2tzIGxpa2UgYSBidWcgaW4gdGhlIHZlY3RvciBwYXRoLg0KCUNvdWxk IHlvdSB0cnkgaWYgYmVsb3cgY2hhbmdlIGNhbiBmaXggdGhlIGlzc3VlPw0KDQotLS0gYS9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfcnh0eF92ZWNfY29tbW9uLmgNCisrKyBiL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9yeHR4X3ZlY19jb21tb24uaA0KQEAgLTM0LDYgKzM0LDcgQEAgcmVhc3NlbWJsZV9w YWNrZXRzKHN0cnVjdCBpNDBlX3J4X3F1ZXVlICpyeHEsIHN0cnVjdCBydGVfbWJ1ZiAqKnJ4X2J1 ZnMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGl0J3MgdGhlIGxhc3QgcGFj a2V0IG9mIHRoZSBzZXQgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQt Pmhhc2ggPSBlbmQtPmhhc2g7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0 LT5vbF9mbGFncyA9IGVuZC0+b2xfZmxhZ3M7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0YXJ0LT52bGFuX3RjaSA9IGVuZC0+dmxhbl90Y2k7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8qIHdlIG5lZWQgdG8gc3RyaXAgY3JjIGZvciB0aGUgd2hvbGUgcGFja2V0 ICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0LT5wa3RfbGVuIC09IHJ4 cS0+Y3JjX2xlbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZC0+ZGF0 YV9sZW4gPiByeHEtPmNyY19sZW4NCg0KVGhhbmtzDQpRaQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBP ZiBZYW4sIFhpYW9waW5nIChOU0IgLQ0KPiBDTi9IYW5nemhvdSkNCj4gU2VudDogVHVlc2RheSwg TWF5IDE5LCAyMDIwIDQ6MzIgUE0NCj4gVG86IEd1bywgSmlhIDxqaWEuZ3VvQGludGVsLmNvbT47 IFhpbmcsIEJlaWxlaSA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3Jn OyBPbGl2aWVyIE1hdHogPG9saXZpZXIubWF0ekA2d2luZC5jb20+DQo+IFN1YmplY3Q6IFJlOiBb ZHBkay1kZXZdIGluY29ycmVjdCB2bGFuX3RjaSBpbiBydGUgbWJ1Zg0KPiANCj4gSGksDQo+IA0K PiBJIHRyaWVkIHRvIHVzZSBnZGIgdG8gcHJpbnQgdGhlIHJ4IGRlc2NyaXB0b3IsIGFuZCBpdCB0 dXJuZWQgb3V0IHRoYXQgb25seSB0aGUNCj4gcnhkIGZvciB0aGUgbGFzdCBzZWdtZW50IGhhcyBj b3JyZWN0IGwydGFnMSB2YWx1ZS4NCj4gVGVzdCBzdGVwOiBwaW5nIHh4Lnh4Lnh4Lnh4IC1zIDI1 MDAsICAgZnJvbSBhIHZsYW4gaW50ZXJmYWNlIHdpdGggdmxhbiBpZCAxOTAxLA0KPiBNVFUgOTAw MC4gKHRoaXMgd2lsbCBzZW5kcyAxIHBhY2tldCwgYW5kIG5lZWRzIHR3byBtYnVmIHNlZ21lbnRz IHRvDQo+IHJlY2VpdmUsIGxlbmd0aCBvZiAxc3QgbWJ1ZiBzZWdtZW50IGlzIDIxNzYobWJ1ZiBz aXplIG9mIG15IGRwZGsNCj4gYXBwbGljYXRpb24pLCBsZW5ndGggb2YgMm5kIG1idWYgc2VnbWVu dCBpcyAzNjYpDQo+IA0KPiBSeCBkZXNjcmlwdG9yIHByaW50ZWQgd2l0aCBnZGI6DQo+IEJyZWFr cG9pbnQgMiBhdCAweDdmZmZmNWVmYTRiYjogZmlsZQ0KPiAvdXNyL3NyYy9kZWJ1Zy9kcGRrLTE4 LjExLjEtMi5ub2s2LndmMzEueDg2XzY0L3BhY2thZ2UvZHBkay9kcGRrLTE4LjENCj4gMS9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfcnh0eF92ZWNfYXZ4Mi5jLCBsaW5lIDQ5Ni4NCj4gKGdkYikgcHJp bnQgKihyeHEtPnJ4X3JpbmcgKyByeHEtPnJ4X3RhaWwrMSkNCj4gJDQgPSB7cmVhZCA9IHtwa3Rf YWRkciA9IDE0ODU4NjE1NTg3MzE5OTA2MzA0LCBoZHJfYWRkciA9DQo+IDU5ODE2NDM5MDI5MzUx NywgcnN2ZDEgPSAwLA0KPiAgICAgcnN2ZDIgPSAwfSwgd2IgPSB7cXdvcmQwID0ge2xvX2R3b3Jk ID0ge21pcnJfZmNvZSA9IHttaXJyb3Jpbmdfc3RhdHVzDQo+ID0gMCwNCj4gICAgICAgICAgIGZj b2VfY3R4X2lkID0gMH0sIGwydGFnMSA9IDczfSwgaGlfZHdvcmQgPSB7cnNzID0gMzQ1OTU0MTAz MSwNCj4gICAgICAgICBmY29lX3BhcmFtID0gMzQ1OTU0MTAzMSwgZmRfaWQgPSAzNDU5NTQxMDMx fX0sIHF3b3JkMSA9IHsNCj4gICAgICAgc3RhdHVzX2Vycm9yX2xlbiA9IDU5ODE2NDM5MDI5MzUx N30sIHF3b3JkMiA9IHtleHRfc3RhdHVzID0gMCwNCj4gcnN2ZCA9IDAsDQo+ICAgICAgIGwydGFn Ml8xID0gMCwgbDJ0YWcyXzIgPSAwfSwgcXdvcmQzID0ge2xvX2R3b3JkID0ge2ZsZXhfYnl0ZXNf bG8gPSAwLA0KPiAgICAgICAgIHBlX3N0YXR1cyA9IDB9LCBoaV9kd29yZCA9IHtmbGV4X2J5dGVz X2hpID0gMCwgZmRfaWQgPSAwfX19fQ0KPiAoZ2RiKSBwcmludCAqKHJ4cS0+cnhfcmluZyArIHJ4 cS0+cnhfdGFpbCsyKQ0KPiAkNSA9IHtyZWFkID0ge3BrdF9hZGRyID0gMTQ4NTg2MTU1ODc0Mzk3 MDYxMTIsIGhkcl9hZGRyID0NCj4gMTAwNjM1Mzc4NzI0ODc5LCByc3ZkMSA9IDAsDQo+ICAgICBy c3ZkMiA9IDB9LCB3YiA9IHtxd29yZDAgPSB7bG9fZHdvcmQgPSB7bWlycl9mY29lID0ge21pcnJv cmluZ19zdGF0dXMNCj4gPSAwLA0KPiAgICAgICAgICAgZmNvZV9jdHhfaWQgPSAwfSwgbDJ0YWcx ID0gMTkwMX0sIGhpX2R3b3JkID0ge3JzcyA9IDM0NTk1NDEwMzEsDQo+ICAgICAgICAgZmNvZV9w YXJhbSA9IDM0NTk1NDEwMzEsIGZkX2lkID0gMzQ1OTU0MTAzMX19LCBxd29yZDEgPSB7DQo+ICAg ICAgIHN0YXR1c19lcnJvcl9sZW4gPSAxMDA2MzUzNzg3MjQ4Nzl9LCBxd29yZDIgPSB7ZXh0X3N0 YXR1cyA9IDAsDQo+IHJzdmQgPSAwLA0KPiAgICAgICBsMnRhZzJfMSA9IDAsIGwydGFnMl8yID0g MH0sIHF3b3JkMyA9IHtsb19kd29yZCA9IHtmbGV4X2J5dGVzX2xvID0gMCwNCj4gICAgICAgICBw ZV9zdGF0dXMgPSAwfSwgaGlfZHdvcmQgPSB7ZmxleF9ieXRlc19oaSA9IDAsIGZkX2lkID0gMH19 fX0NCj4gDQo+IFdpdGggZm9ybXVsYToJCWxlbmd0aCA9IChxd29yZDEgJg0KPiBJNDBFX1JYRF9R VzFfTEVOR1RIX1BCVUZfTUFTSykgPj4NCj4gSTQwRV9SWERfUVcxX0xFTkdUSF9QQlVGX1NISUZU OyAgKHF3b3JkMSBpcyBzdGF0dXNfZXJyb3JfbGVuIGluIGdkYg0KPiBwcmludG91dCkNCj4gSSBj YW4gZ2V0IGxlbmd0aCBvZiBmaXJzdCBzZWdtZW50KHJ4cS0+cnhfcmluZyArIHJ4cS0+cnhfdGFp bCsxKSBpcyAyMTc2LCBhbmQNCj4gbGVuZ3RoIG9mIHNlY29uZCBzZWdtZW50KHJ4cS0+cnhfcmlu ZyArIHJ4cS0+cnhfdGFpbCsyKSBpcyAzNjYsIHdoaWNoIHByb3Zlcw0KPiB0aGV5IGFyZSB0aGUg bWJ1ZiBzZWdtZW50cyB0byByZWNlaXZlLg0KPiBIb3dldmVyIHdlIGNhbiBzZWUgdGhlIGwydGFn MSBvZiBmaXJzdCBzZWdtZW50IGlzIDczKGludmFsaWQpLCBsMnRhZzEgb2YNCj4gc2Vjb25kIHNl Z21lbnQgaXMgMTkwMSh2YWxpZCkuDQo+IA0KPiBJdCBtZWFucyBlaXRoZXIgSFcgc2hvdWxkIGJl IG1vZGlmaWVkIHRvIGZpbGwgbDJ0YWcxIGNvcnJlY3RseSBmb3IgZWFjaCBldmVyeQ0KPiBzZWdt ZW50LCBvciBfcmVjdl9yYXdfcGt0c192ZWNfYXZ4MiBzaG91bGQgYmUgbW9kaWZpZWQgdG8gcmVh ZCBsMnRhZzEgb2YNCj4gbGFzdCBzZWdtZW50Pw0KPiBQUzogaXQgc2VlbXMgaTQwZV9yZWN2X3Nj YXR0ZXJlZF9wa3RzIHVzZSB0aGUgbDJ0YWcxIG9mIGxhc3QgcnhkICh0byBzZXQgdmxhbg0KPiB0 Y2kgb2YgZmlyc3Qgc2VnbWVudCksIGRvbid0IGtub3cgaXQgaXMgYnkgYWNjaWRlbnQoY29udmVu aWVuY2UpIG9yIGJ5IHB1cnBvc2UuDQo+IA0KPiBEbyB5b3UgYWdyZWUgb24gbXkgYW5hbHlzaXM/ DQo+IElmIG15IGFuYWx5c2lzIGlzIGNvcnJlY3QsIGlzIGl0IHBvc3NpYmxlIGZvciB5b3UgdG8g aGVscCBtYWtlIGEgc3cgcGF0Y2gsDQo+IGJlY2F1c2UgSSdtIG5vdCBmYW1pbGlhciB3aXRoIHRo aXMgdmVjIGF2eCBjb2RlLg0KPiANCj4gQmVzdCByZWdhcmRzDQo+IFlhbiBYaWFvcGluZw0KPiAN Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVmZiBHdW8gPGppYS5ndW9A aW50ZWwuY29tPg0KPiBTZW50OiAyMDIw5bm0NeaciDE55pelIDE1OjAwDQo+IFRvOiBZYW4sIFhp YW9waW5nIChOU0IgLSBDTi9IYW5nemhvdSkgPHhpYW9waW5nLnlhbkBub2tpYS1zYmVsbC5jb20+ Ow0KPiBiZWlsZWkueGluZ0BpbnRlbC5jb20NCj4gQ2M6IGRldkBkcGRrLm9yZzsgT2xpdmllciBN YXR6IDxvbGl2aWVyLm1hdHpANndpbmQuY29tPg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBp bmNvcnJlY3Qgdmxhbl90Y2kgaW4gcnRlIG1idWYNCj4gDQo+IGhpLCB4aWFvcGluZw0KPiANCj4g T24gNS8xOC8yMDIwIDQ6MzEgUE0sIFlhbiwgWGlhb3BpbmcgKE5TQiAtIENOL0hhbmd6aG91KSB3 cm90ZToNCj4gPiBIaSBCZWlsZWkgJiBKaWEsDQo+ID4NCj4gPiBJIGdvdCB5b3VyIG5hbWUgZnJv bSB0aGUgTUFJTlRBSU5FUlMgIGZvciBJbnRlbCBpNDBlLg0KPiA+IENvdWxkIHlvdSBoZWxwIHRv IGhhdmUgYSBsb29rIGF0IHRoZSBpc3N1ZSwgZGVzY3JpYmVkIGluIG15IHByZXZpb3VzIG1haWw/ DQo+ID4NCj4gPiBUaGFuayB5b3UuDQo+ID4NCj4gPiBCZXN0IHJlZ2FyZHMNCj4gPiBZYW4gWGlh b3BpbmcNCj4gPg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogT2xp dmllciBNYXR6IDxvbGl2aWVyLm1hdHpANndpbmQuY29tPg0KPiA+IFNlbnQ6IDIwMjDlubQ15pyI MTjml6UgMTU6MjQNCj4gPiBUbzogWWFuLCBYaWFvcGluZyAoTlNCIC0gQ04vSGFuZ3pob3UpIDx4 aWFvcGluZy55YW5Abm9raWEtc2JlbGwuY29tPg0KPiA+IENjOiBkZXZAZHBkay5vcmcNCj4gPiBT dWJqZWN0OiBSZTogW2RwZGstZGV2XSBpbmNvcnJlY3Qgdmxhbl90Y2kgaW4gcnRlIG1idWYNCj4g Pg0KPiA+IEhpLA0KPiA+DQo+ID4gT24gRnJpLCBNYXkgMTUsIDIwMjAgYXQgMTE6MTI6MjdBTSAr MDAwMCwgWWFuLCBYaWFvcGluZyAoTlNCIC0NCj4gQ04vSGFuZ3pob3UpIHdyb3RlOg0KPiA+PiBI aSwNCj4gPj4NCj4gPj4gSSdtIHVzaW5nIGk0MGUgdmYsIGRwZGsgMTguMTEsIHg4Nl82NCBDUFUg KHJ4IGZ1bmN0aW9uIGluIHVzZSBpcw0KPiA+PiBpNDBlX3JlY3Zfc2NhdHRlcmVkX3BrdHNfdmVj X2F2eDIpDQo+ID4+IFdoZW4gZW5hYmxlIGh3IHZsYW4gc3RyaXA6DQo+ID4+DQo+ID4+ICAgICog ICBJZiBwYWNrZXQgZml0IGluIG9uZSBtYnVmIHNlZ21lbnQsIHRoZSB2bGFuX3RjaSBmaWVsZCBp cyBjb3JyZWN0DQo+ID4+ICAgICogICBJZiBwYWNrZXRzIGFyZSBzdG9yZWQgaW4gc2V2ZXJhbCBt YnVmIHNlZ21lbnQsIHRoZSB2bGFuX3RjaSBvZiBsYXN0DQo+IHNlZ21lbnQgaXMgY29ycmVjdCwg dmxhbl90Y2kgb2Ygb3RoZXIgc2VnbWVudHMgYXJlIGludmFsaWQNCj4gPj4NCj4gPj4gSXQgc2Vl bXMgaTQwZV9yZWN2X3NjYXR0ZXJlZF9wa3RzIGhhcyBjb3JyZWN0bHkgc2V0IHRoZSB2bGFuX3Rj aSwgYnkNCj4gPj4gY2FsbGluZyBpNDBlX3J4ZF90b192bGFuX3RjaShmaXJzdF9zZWcsICZyeGQp Ow0KPiA+Pg0KPiA+PiBJcyB0aGlzIGEgYnVnIGluIGk0MGVfcmVjdl9zY2F0dGVyZWRfcGt0c192 ZWNfYXZ4Mj8NCj4gPj4gKEkgZGlkbid0IGZpbmQgc2V0dGluZyB2bGFuX3RjaSBmb3IgZmlyc3Qg c2VnbWVudCwgYnV0IGl0J3MgYSBiaXQNCj4gPj4gZGlmZmljdWx0IGZvciBtZSB0byB1bmRlcnN0 YW5kIGNvZGVzIGluDQo+ID4+IGk0MGVfcmVjdl9zY2F0dGVyZWRfcGt0c192ZWNfYXZ4Miwgc28g SSdtIG5vdCBxdWl0ZSBzdXJlKSBJIGNoZWNrZWQNCj4gPj4gdGhlIGxhdGVzdCBkcGRrIHZlcnNp b24gMjAuMDINCj4gPj4gaHR0cDovL2x4ci5kcGRrLm9yZy9kcGRrL2xhdGVzdC9zb3VyY2UvZHJp dmVycy9uZXQvaTQwZS9pNDBlX3J4dHhfdmVjDQo+ID4+IF8NCj4gPj4gYXZ4Mi5jI0w3OTENCj4g Pj4gQnV0IHNlZW1zIG5vIGNoYW5nZSBmb3IgdGhpcy4NCj4gPj4NCj4gPj4gQW55IGNvbW1lbnQg cGxlYXNlPw0KPiA+PiBbLi4uXQ0KPiA+IEkgZG9uJ3Qga25vdyBhYm91dCB0aGUgaTQwZSBkcml2 ZXIsIGJ1dCBJIGNhbiBjb25maXJtIHRoYXQgdGhlIHZsYW4gdGNpIGZsYWcNCj4gc2hvdWxkIGJl IGluIHRoZSBmaXJzdCBzZWdtZW50LCBhbmQgbm90IGluIHRoZSBuZXh0IG9uZXMuDQo+ID4NCj4g PiBJIHN1Z2dlc3QgdG8gQ0MgaTQwZSBkcml2ZXIgbWFpbnRhaW5lcnMuDQo+ID4NCj4gPiBSZWdh cmRzLA0KPiA+IE9saXZpZXINCj4gDQo+IA0KPiBPbiBvbmUgaGFuZCwgYXMgT2xpdmllciBzYWlk IHRoYXQgdmxhbiB0Y2kgZmxhZyBzaG91bGQgYmUgaW4gdGhlIGZpcnN0IHNlZ21lbnQsDQo+IGFu ZCBvbiB0aGUgb3RoZXIgaGFuZHMsIHZsYW5fdGNpIGRvIHByb2Nlc3MgaW4gIl9yZWN2X3Jhd19w a3RzX3ZlY19hdngyIg0KPiB3aGVuIHVzZSAyNTYgaW5zdGluY3QNCj4gDQo+IHRvIHByb2Nlc3Mg dGhlIGRlc2NyaXB0b3Igd2l0aCBtYnVmLMKgIHlvdSBjb3VsZCBjaGVjayBob3cgdG8gcHJvY2Vz cyB0aGUNCj4gdmxhbl9mbGFnc19zaHVmIGFuZCBibGVuZCBpdCBpbnRvIHRoZSBtYnVmLg0KDQo=