From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) by dpdk.org (Postfix) with ESMTP id E852F71B3 for ; Thu, 11 Jan 2018 22:45:09 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=12342; q=dns/txt; s=iport; t=1515707110; x=1516916710; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=5XFPQIUIdLjSQUZR6gELgfHc7qcMDd04fitsR7X9CZw=; b=ACCH6hqkSjjvjJN62ZWlKK0V8qc4TXh1DMFI11cYv2+OR5+0UblkNmQv XK20E2EVEyS9rSv+WHWdxlpW1dKdgUEDcjDLJHuTXjZLdP9i5vIPekXSe fjrhU/gbJTvbCydz4cEpTppjWuZe//VGP2K3pFoRdvh9HpSc8XIBKCFLm k=; X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AEAQCp2Vda/40NJK1TChkBAQEBAQEBA?= =?us-ascii?q?QEBAQEHAQEBAQGDQYFaJweEAIokjmCCApcwghYKhTsCGoQkPxgBAQEBAQEBAQF?= =?us-ascii?q?rKIUjAQEBAQIBIxFKBwQCAQgRBAEBAQICIwMCAgIwFAEICAEBBAESCIojCK4Ug?= =?us-ascii?q?ieKOgEBAQEBAQEBAQEBAQEBAQEBAQEBAR2BD4McghWBV4Fpgy6DLwSBREKDAIJ?= =?us-ascii?q?lBaNkAoszigmUF5Z3AhEZAYE7AR85gVBvFYJnglMBHIFneIl0LIEGgRcBAQE?= X-IronPort-AV: E=Sophos;i="5.46,346,1511827200"; d="scan'208";a="342072742" Received: from alln-core-8.cisco.com ([173.36.13.141]) by rcdn-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Jan 2018 21:45:08 +0000 Received: from XCH-RCD-006.cisco.com (xch-rcd-006.cisco.com [173.37.102.16]) by alln-core-8.cisco.com (8.14.5/8.14.5) with ESMTP id w0BLj8Kn003341 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 11 Jan 2018 21:45:08 GMT Received: from xch-rcd-007.cisco.com (173.37.102.17) by XCH-RCD-006.cisco.com (173.37.102.16) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Thu, 11 Jan 2018 15:45:07 -0600 Received: from xch-rcd-007.cisco.com ([173.37.102.17]) by XCH-RCD-007.cisco.com ([173.37.102.17]) with mapi id 15.00.1320.000; Thu, 11 Jan 2018 15:45:07 -0600 From: "John Daley (johndale)" To: "Doherty, Declan" , Shahaf Shuler , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [RFC] tunnel endpoint hw acceleration enablement Thread-Index: AdN6qTnlxEdgGpD8Qpa520sLsCebsACC5V+AAztEYgAAOEahMA== Date: Thu, 11 Jan 2018 21:45:07 +0000 Message-ID: <6d26f10919d74934a569c7546bb6836b@XCH-RCD-007.cisco.com> References: <345C63BAECC1AD42A2EC8C63AFFC3ADCC488E501@IRSMSX102.ger.corp.intel.com> <8580655d-a481-4a4a-2c9b-bba725c39485@intel.com> In-Reply-To: <8580655d-a481-4a4a-2c9b-bba725c39485@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.19.145.149] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC] tunnel endpoint hw acceleration enablement 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: Thu, 11 Jan 2018 21:45:10 -0000 SGkgRGVjbGFuIGFuZCBTaGFoYWYsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g RnJvbTogZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBEb2hl cnR5LCBEZWNsYW4NCj4gU2VudDogVHVlc2RheSwgSmFudWFyeSAwOSwgMjAxOCA5OjMxIEFNDQo+ IFRvOiBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNvbT47IGRldkBkcGRrLm9yZw0K PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUkZDXSB0dW5uZWwgZW5kcG9pbnQgaHcgYWNjZWxl cmF0aW9uIGVuYWJsZW1lbnQNCj4gDQo+IE9uIDI0LzEyLzIwMTcgNTozMCBQTSwgU2hhaGFmIFNo dWxlciB3cm90ZToNCj4gPiBIaSBEZWNsYW4sDQo+ID4NCj4gDQo+IEhleSBTaGFoYWYsIGFwb2xv Z2llcyBmb3IgdGhlIGRlbGF5IGluIHJlc3BvbmRpbmcsIEkgaGF2ZSBiZWVuIG91dCBvZiBvZmZp Y2UNCj4gZm9yIHRoZSBsYXN0IDIgd2Vla3MuDQo+IA0KPiA+IEZyaWRheSwgRGVjZW1iZXIgMjIs IDIwMTcgMTI6MjEgQU0sIERvaGVydHksIERlY2xhbjoNCj4gPj4gVGhpcyBSRkMgY29udGFpbnMg YSBwcm9wb3NhbCB0byBhZGQgYSBuZXcgdHVubmVsIGVuZHBvaW50IEFQSSB0byBEUERLDQo+ID4+ IHRoYXQgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggcnRlX2Zsb3cgZW5hYmxlcyB0aGUg Y29uZmlndXJhdGlvbg0KPiA+PiBvZiBpbmxpbmUgZGF0YSBwYXRoIGVuY2Fwc3VsYXRpb24gYW5k IGRlY2Fwc3VsYXRpb24gb2YgdHVubmVsDQo+ID4+IGVuZHBvaW50IG5ldHdvcmsgb3ZlcmxheXMg b24gYWNjZWxlcmF0ZWQgSU8gZGV2aWNlcy4NCj4gPj4NCj4gPj4gVGhlIHByb3Bvc2VkIG5ldyBB UEkgd291bGQgcHJvdmlkZSBmb3IgdGhlIGNyZWF0aW9uLCBkZXN0cnVjdGlvbiwgYW5kDQo+ID4+ IG1vbml0b3Jpbmcgb2YgYSB0dW5uZWwgZW5kcG9pbnQgaW4gc3VwcG9ydGluZyBodywgYXMgd2Vs bCBhcw0KPiA+PiBjYXBhYmlsaXRpZXMgQVBJcyB0byBhbGxvdyB0aGUgYWNjZWxlcmF0aW9uIGZl YXR1cmVzIHRvIGJlIGRpc2NvdmVyZWQgYnkNCj4gYXBwbGljYXRpb25zLg0KPiA+Pg0KPiAuLi4u DQo+ID4NCj4gPg0KPiA+IEFtIG5vdCBzdXJlIEkgdW5kZXJzdGFuZCB3aHkgdGhlcmUgaXMgYSBu ZWVkIGZvciB0aGUgYWJvdmUgY29udHJvbA0KPiBtZXRob2RzLg0KPiA+IEFyZSB5b3UgaW50cm9k dWNpbmcgYSBuZXcgInRlcCBkZXZpY2UiID8gPiBBcyB0aGUgdHVubmVsIGVuZHBvaW50IGlzDQo+ ID4gc2VuZGluZyBhbmQgcmVjZWl2aW5nIEV0aGVybmV0IHBhY2tldHMgZnJvbQ0KPiB0aGUgbmV0 d29yayBJIHRoaW5rIGl0IHNob3VsZCBzdGlsbCBiZSBjb3VudGVkIGFzIEV0aGVybmV0IGRldmlj ZSBidXQgd2l0aA0KPiBtb3JlIGNhcGFiaWxpdGllcyAoZm9yIGV4YW1wbGUgaXQgc3VwcG9ydGVk IGVuY2FwL2RlY2FwIGV0Yy4uKSwgdGhlcmVmb3JlIGl0DQo+IHNob3VsZCB1c2UgdGhlIEV0aGRl diBsYXllciBBUEkgdG8gcXVlcnkgc3RhdGlzdGljcyAoZm9yIGV4YW1wbGUpLg0KPiANCj4gTm8s IHRoZSBuZXcgQVBJcyBhcmUgb25seSBpbnRlbmRlZCB0byBiZSBhIG1ldGhvZCBvZiBjcmVhdGlu ZywgbW9uaXRvcmluZw0KPiBhbmQgZGVsZXRpbmcgdHVubmVsLWVuZHBvaW50cyBvbiBhbiBleGlz dGluZyBldGhkZXYuIFRoZSByYXRpb25hbGUgZm9yIEFQSXMNCj4gc2VwYXJhdGUgdG8gcnRlX2Zs b3cgYXJlIHRoZSBzYW1lIGFzIHRoYXQgaW4gdGhlIHJ0ZV9zZWN1cml0eSwgdGhlcmUgaXMgbm90 IGENCj4gMToxIG1hcHBpbmcgb2YgVEVQcyB0byBmbG93cy4gTWFueSBmbG93cyAoVk5JJ3MgaW4g VnhMQU4gZm9yIGV4YW1wbGUpIGNhbg0KPiBiZSBvcmlnaW5hdGUvdGVybWluYXRlIG9uIHRoZSBz YW1lIFRFUCwgdGhlcmVmb3JlIG1hbmFnaW5nIHRoZSBURVANCj4gaW5kZXBlbmRlbnRseSBvZiB0 aGUgZmxvd3MgYmVpbmcgdHJhbnNtaXR0ZWQgb24gaXQgaXMgaW1wb3J0YW50IHRvIGFsbG93DQo+ IHZpc2liaWxpdHkgb2YgdGhhdCBlbmRwb2ludCBzdGF0cyBmb3IgZXhhbXBsZS4NCg0KSSBkb24n dCBxdWl0ZSB1bmRlcnN0YW5kIHdoYXQgeW91IG1lYW4gYnkgdHVubmVsIGFuZCBmbG93IGhlcmUu IENhbiB5b3UgZGVmaW5lIGV4YWN0bHkgd2hhdCB5b3UgbWVhbj8gRmxvdyBpcyBhbiBvdmVybG9h ZGVkIHdvcmQgaW4gb3VyIHdvcmxkLiBJIHRoaW5rIHRoYXQgZGVmaW5pbmcgaXQgd2lsbCBtYWtl IHVuZGVyc3RhbmRpbmcgdGhlIFJGQyBhIGxpdHRsZSBlYXNpZXIuDQoNClRha2luZyBWeExBTiwg SSB0aGluayBvZiB0aGUgdHVubmVsIGFzIGluY2x1ZGluZyB1cCB0aHJvdWdoIHRoZSBWeExBTiBo ZWFkZXIsIGluY2x1ZGluZyB0aGUgVk5JLiBJZiB5b3UgZ28gYnkgdGhpcyBkZWZpbml0aW9uLCBJ IHdvdWxkIGNvbnNpZGVyIGEgZmxvdyB0byBiZSBhbGwgcGFja2V0cyB3aXRoIHRoZSBzYW1lIFZO SSBhbmQgdGhlIHNhbWUgNS10dXBsZSBoYXNoIG9mIHRoZSBpbm5lciBwYWNrZXQuIElzIHRoaXMg d2hhdCB5b3UgbWVhbiBieSB0dW5uZWwgKG9yIFRFUCkgYW5kIGZsb3cgaGVyZT8NCg0KV2l0aCB0 aGVzZSBkZWZpbml0aW9ucywgVlBQIGZvciBleGFtcGxlIG1pZ2h0IG5lZWQgdXAgdG8gYSBjb3Vw bGUgdGhvdXNhbmQgVEVQcyBvbiBhbiBpbnRlcmZhY2UgYW5kIGVhY2ggVEVQIGNvdWxkIGhhdmUg aHVuZHJlZHMgb3IgdGhvdXNhbmRzIG9mIGZsb3dzLiBJdCB3b3VsZCBiZSBxdWl0ZSBwb3NzaWJs ZSB0byBoYXZlIDEgcnRlIGZsb3cgcnVsZSBwZXIgVEVQIChvciAyLSBpbmdyZXNzL2RlY2FwIGFu ZCBlZ3Jlc3MvZW5jYXApLiBUaGUgQ09VTlQgYWN0aW9uIGNvdWxkIGJlIHVzZWQgdG8gY291bnQg dGhlIG51bWJlciBvZiBwYWNrZXRzIHRocm91Z2ggZWFjaCBURVAuIElzIHRoaXMgYWRlcXVhdGUs IG9yIGFyZSB5b3UgcHJvcG9zaW5nIHRoYXQgd2UgbmVlZCBhIG1lY2hhbmlzbSB0byBnZXQgc3Rh dHMgb2YgZmxvd3Mgd2l0aGluIGVhY2ggVEVQPyBJcyB0aGF0IHRoZSBtYWluIHBvaW50IG9mIHRo ZSBBUEk/IEFzc3VtaW5nIG5vIG5lZWQgZm9yIHN0YXRzIG9uIGEgcGVyIFRFUC9mbG93IGJhc2lz IGlzIHRoZXJlIGFueXRoaW5nIGVsc2UgdGhlIEFQSSBhZGRzPw0KDQo+IEkgY2FuJ3Qgc2VlIGhv dyB0aGUgZXhpc3RpbmcNCj4gZXRoZGV2IEFQSSBjb3VsZCBiZSB1c2VkIGZvciBzdGF0aXN0aWNz IGFzIGEgc2luZ2xlIGV0aGRldiBjb3VsZCBiZSBzdXBwb3J0aW5nDQo+IG1heSBjb25jdXJyZW50 IFRFUHMsIHRoZXJlZm9yZSB3ZSB3b3VsZCBlaXRoZXIgbmVlZCB0byB1c2UgdGhlIGV4dGVuZGVk DQo+IHN0YXRzIHdpdGggbWFueSBlbnRyaWVzLCBvbmUgZm9yIGVhY2ggVEVQLCBvciBpZiB3ZSB0 cmVhdCBhIFRFUCBhcyBhbiBhdHRyaWJ1dGUNCj4gb2YgYSBwb3J0IGluIGEgc2ltaWxhciBtYW5u ZXIgdG8gdGhlIHdheSBydGVfc2VjdXJpdHkgbWFuYWdlcyBhbiBJUHNlYyBTQSwNCj4gdGhlIHN0 YXRlIG9mIGVhY2ggVEVQIGNhbiBiZSBtb25pdG9yZWQgYW5kIG1hbmFnZWQgaW5kZXBlbmRlbnRs eSBvZiBib3RoDQo+IHRoZSBvdmVyYWxsIHBvcnQgb3IgdGhlIGZsb3dzIGJlaW5nIHRyYW5zcG9y dGVkIG9uIHRoYXQgZW5kcG9pbnQuDQoNCkFzc3VtaW5nIHdlIGNhbiBkZWZpbmUgb25lIHJ0ZV9m bG93IHJ1bGUgcGVyIFRFUCwgZG9lcyB3aGF0IHlvdSBwcm9wb3NlIGdpdmUgdXMgYW55dGhpbmcg bW9yZSB0aGFuIGp1c3QgdXNpbmcgdGhlIENPVU5UIGFjdGlvbj8NCj4gDQo+ID4gQXMgZm9yIHRo ZSBjYXBhYmlsaXRpZXMgLSB3aGF0IHNwZWNpZmljYWxseSB5b3UgaGFkIGluIG1pbmQ/IFRoZSBj dXJyZW50DQo+IHVzYWdlIHlvdSBzaG93IHdpdGggdGVwIGlzIHdpdGggcnRlX2Zsb3cgcnVsZXMu IFRoZXJlIGFyZSBubyBjYXBhYmlsaXRpZXMNCj4gY3VycmVudGx5IGZvciBydGVfZmxvdyBzdXBw b3J0ZWQgYWN0aW9ucy9wYXR0ZXJuLiBUbyBjaGVjayBzdWNoIGNhcGFiaWxpdGllcw0KPiBhcHBs aWNhdGlvbiB1c2VzIHJ0ZV9mbG93X3ZhbGlkYXRlLg0KPiANCj4gSSBlbnZpc2FnZWQgdGhhdCB0 aGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gc2VlIGlmIGFuIGV0aGRldiBjYW4NCj4g c3VwcG9ydCBURVAgaW4gdGhlIHJ4L3R4IG9mZmxvYWRzLCBhbmQgdGhlbiB0aGUgcnRlX3RlcF9j YXBhYmlsaXRpZXMgd291bGQNCj4gYWxsb3cgYXBwbGljYXRpb25zIHRvIHF1ZXJ5IHdoYXQgdHVu bmVsIGVuZHBvaW50IHByb3RvY29scyBhcmUgc3VwcG9ydGVkDQo+IGV0Yy4gSSB3b3VsZCBsaWtl IGEgc2ltcGxlIG1lY2hhbmlzbSB0byBhbGxvdyB1c2VycyB0byBzZWUgaWYgYSBwYXJ0aWN1bGFy DQo+IHR1bm5lbCBlbmRwb2ludCB0eXBlIGlzIHN1cHBvcnRlZCB3aXRob3V0IGhhdmluZyB0byBi dWlsZCBhY3R1YWwgZmxvd3MgdG8NCj4gdmFsaWRhdGUuDQoNCkkgY2FuIHNlZSB0aGUgdmFsdWUg b2YgdGhhdCwgYnV0IGluIHRoZSBlbmQgd291bGRuJ3QgdGhlIEFQSSBjYWxsIHJ0ZV9mbG93X3Zh bGlkYXRlIGFueXdheXM/IE1heWJlIHdlIGRvbid0IGFkZCB0aGUgbGF5ZXIgbm93IG9yIG1heWJl IGl0IGRvZXNuJ3QgcmVhbGx5IGJlbG9uZyBpbiBEUERLPyBJJ20gaW4gZmF2b3Igb2YgZGVmZXJy aW5nIHRoZSBjYXBhYmlsaXRpZXMgQVBJIHVudGlsIHdlIGtub3cgaXQncyByZWFsbHkgbmVlZGVk LiAgSSBoYXRlIHRvIHNlZSBzcGVjaWFsIGNhcGFiaWxpdGllcyBBUElzIHN0YXJ0IHNuZWFraW5n IGluIGFmdGVyIHdlIGRlY2lkZWQgdG8gZ28gdGhlIHJ0ZV9mbG93X3ZhbGlkYXRlIHJvdXRlIGFu ZCB1c2VycyBhcmUgc3RhcnRpbmcgdG8gZ2V0IHVzZWQgdG8gaXQuDQo+IA0KPiA+IFJlZ2FyZGlu ZyB0aGUgY3JlYXRpb24vZGVzdHJveSBvZiB0ZXAuIFdoeSBub3Qgc2ltcGx5IHVzZSBydGVfZmxv dyBBUEkNCj4gYW5kIGF2b2lkIHRoaXMgZXh0cmEgY29udHJvbD8NCj4gPiBGb3IgZXhhbXBsZSAt IHdpdGggMTcuMTEgQVBJcywgYXBwbGljYXRpb24gY2FuIHB1dCB0aGUgcG9ydCBpbiBpc29sYXRl IG1vZGUsDQo+IGFuZCBpbnNlcnQgYSBmbG93X3J1bGUgdG8gY2F0Y2ggb25seSBJUHY0IFZYTEFO IHRyYWZmaWMgYW5kIGRpcmVjdCB0byBzb21lDQo+IHF1ZXVlL2RvIFJTUy4gU3VjaCBvcGVyYXRp b24sIHBlciBteSB1bmRlcnN0YW5kaW5nLCB3aWxsIGNyZWF0ZSBhIHR1bm5lbA0KPiBlbmRwb2lu dC4gV2hhdCBhcmUgdGhlIGRvd24gc2lkZXMgb2YgZG9pbmcgaXQgd2l0aCB0aGUgY3VycmVudCBB UElzPw0KPiANCj4gVGhhdCBkb2Vzbid0IGVuYWJsZSBlbmNhcHN1bGF0aW9uIGFuZCBkZWNhcHN1 bGF0aW9uIG9mIHRoZSBvdXRlciB0dW5uZWwNCj4gZW5kcG9pbnQgaW4gdGhlIGh3IGFzIGZhciBh cyBJIGtub3cuIEFwYXJ0IGZyb20gdGhlIGluYWJpbGl0eSB0byBtb25pdG9yIHRoZQ0KPiBlbmRw b2ludCBzdGF0aXN0aWNzIEkgbWVudGlvbmVkIGFib3ZlLiBJdCB3b3VsZCBhbHNvIHJlcXVpcmUg dGhhdCB5b3UNCj4gcmVkZWZpbmUgdGhlIGVuZHBvaW50cyBwYXJhbWV0ZXJzIGV2ZXIgdGltZSB0 byB5b3Ugd2lzaCB0byBhZGQgYSBuZXcgZmxvdw0KPiB0byBpdC4gSSB0aGluayB0aGUgaGF2aW5n IHRoZSBydGVfdGVwIG9iamVjdCBzZW1hbnRpY3Mgc2hvdWxkIGFsc28gc2ltcGxpZnkgdGhlDQo+ IGFiaWxpdHkgdG8gZW5hYmxlIGEgZnVsbCB2c3dpdGNoIG9mZmxvYWQgb2YgVEVQIHdoZXJlIHRo ZSBodyBpcyBoYW5kbGluZyBib3RoDQo+IGVuY2FwL2RlY2FwIGFuZCBzd2l0Y2hpbmcgdG8gYSBw YXJ0aWN1bGFyIHBvcnQuDQoNCklmIHdlIGhhdmUgdGhlIGluZ3Jlc3MvZGVjYXAgYW5kIGVncmVz cy9lbmNhcCBhY3Rpb25zIGFuZCAxIHJ0ZV9mbG93IHJ1bGUgcGVyIFRFUCBhbmQgdXNlIHRoZSBD T1VOVCBhY3Rpb24sIEkgdGhpbmsgd2UgZ2V0IGFsbCBidXQgdGhlIGxhc3QgYml0LiBGb3IgdGhh dCwgcGVyaGFwcyB0aGUgYXBwbGljYXRpb24gY291bGQga2VlcCAgaW5ncmVzcyBhbmQgZWdyZXNz IHJ0ZV9mbG93IHRlbXBsYXRlIGZvciBlYWNoIHR1bm5lbCB0eXBlIChWeExBTiwgR1JFLCAuLiku IFRoZW4gY29weWluZyB0aGUgdGVtcGxhdGUgYW5kIGZpbGxpbmcgaW4gdGhlIG91dGVyIHBhY2tl dCBpbmZvIGFuZCB0dW5uZWwgSWQgaXMgYWxsIHRoYXQgd291bGQgYmUgcmVxdWlyZWQuIFdlIGNv dWxkIGFsc28gZGVmaW5lIHRoZXNlIGluIHJ0ZV9mbG93Lmg/DQoNCj4gDQo+ID4NCj4gPj4NCj4g Pj4NCj4gPj4gVG8gZGlyZWN0IHRyYWZmaWMgZmxvd3MgdG8gaHcgdGVybWluYXRlZCB0dW5uZWwg ZW5kcG9pbnQgdGhlIHJ0ZV9mbG93DQo+ID4+IEFQSSBpcyBlbmhhbmNlZCB0byBhZGQgYSBuZXcg ZmxvdyBpdGVtIHR5cGUuIFRoaXMgY29udGFpbnMgYSBwb2ludGVyDQo+ID4+IHRvIHRoZSBURVAg Y29udGV4dCBhcyB3ZWxsIGFzIHRoZSBvdmVybGF5IGZsb3cgaWQgdG8gd2hpY2ggdGhlIHRyYWZm aWMgZmxvdyBpcw0KPiBhc3NvY2lhdGVkLg0KPiA+Pg0KPiA+PiBzdHJ1Y3QgcnRlX2Zsb3dfaXRl bV90ZXAgew0KPiA+PiAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV90ZXAgKnRlcDsNCj4gPj4g ICAgICAgICAgICAgICAgIHVpbnQzMl90IGZsb3dfaWQ7DQo+ID4+IH0NCj4gPg0KPiA+IENhbiB5 b3UgcHJvdmlkZSBtb3JlIGRldGFpbGVkIGRlZmluaXRpb24gYWJvdXQgdGhlIGZsb3cgaWQgPyB0 byB3aGljaCBmaWVsZA0KPiBmcm9tIHRoZSBwYWNrZXQgaGVhZGVycyBpdCByZWZlcnMgdG8/DQo+ ID4gT24geW91ciBiZWxvdyBleGFtcGxlcyBpdCBsb29rcyBsaWtlIGl0IGlzIHRvIG1hdGNoIHRo ZSBWWExBTiB2bmkgaW4gY2FzZSBvZg0KPiBWWExBTiwgd2hhdCBhYm91dCB0aGUgb3RoZXIgcHJv dG9jb2xzPyBBbmQgYWxzbywgd2h5IG5vdCB1c2luZyB0aGUgYWxyZWFkeQ0KPiBleGlzdHMgVlhM QU4gaXRlbT8NCj4gDQo+IEkgaGF2ZSBvbmx5IGJlZW4gbG9va2luZyBpbml0aWFsbHkgYXQgY291 cGxlIG9mIHRoZSB0dW5uZWwgZW5kcG9pbnQgcHJvY290b2xzLA0KPiBuYW1lbHkgR2VuZXZlLCBO dkdSRSwgYW5kIFZ4TEFOLCBidXQgdGhlIGlkZWEgaGVyZSBpcyB0byBhbGxvdyB0aGUgdXNlciB0 bw0KPiBkZWZpbmUgdGhlIFZOSSBpbiB0aGUgY2FzZSBvZiBHZW5ldmUgYW5kIFZ4TEFOIGFuZCB0 aGUgVlNJRCBpbiB0aGUgY2FzZSBvZg0KPiBOdkdSRSBvbiBhIHBlciBmbG93IGJhc2lzLCBhcyBw ZXIgbXkgdW5kZXJzdGFuZGluZyB0aGVzZSBhcmUgdXNlZCB0bw0KPiBpZGVudGlmeSB0aGUgc291 cmNlL2Rlc3RpbmF0aW9uIGhvc3RzIG9uIHRoZSBvdmVybGF5IG5ldHdvcmsgaW5kZXBlbmRlbnRs eQ0KPiBmcm9tIHRoZSBlbmRwb2ludCB0aGVyZSBhcmUgdHJhbnNwb3J0ZWQgYWNyb3NzLg0KPiAN Cj4gVGhlIFZ4TEFOIGl0ZW0gaXMgdXNlZCBpbiB0aGUgY3JlYXRpb24gb2YgdGhlIFRFUCBvYmpl Y3QsIHVzaW5nIHRoZSBURVANCj4gb2JqZWN0IGp1c3QgcmVtb3ZlcyB0aGUgbmVlZCBmb3IgdGhl IHVzZXIgdG8gY29uc3RhbnRseSByZWRlZmluZSBhbGwgdGhlDQo+IHR1bm5lbCBwYXJhbWV0ZXJz IGFuZCBhbHNvIEkgdGhpbmsgZGVwZW5kZW50IG9uIHRoZSBodyBpbXBsZW1lbnRhdGlvbiBpdA0K PiBtYXkgc2ltcGxpZnkgdGhlIGRyaXZlcnMgd29yayBpZiBpdCBrbm93IHRoZSBleGFjdCBlbmRw b2ludCB0aGUgYWN0aW9ucyBpcyBmb3INCj4gaW5zdGVhZCBvZiBoYXZpbmcgdG8gbG9vayBpdCB1 cCBvbiBlYWNoIGZsb3cgYWRkaXRpb24uDQo+IA0KPiA+DQo+ID4gR2VuZXJhbGx5IEkgbGlrZSB0 aGUgaWRlYSBvZiBzZXBhcmF0aW5nIHRoZSBlbmNhcC9kZWNhcCBjb250ZXh0IGZyb20gdGhlDQo+ IGFjdGlvbi4gSG93ZXZlciBsb29rcyBsaWtlIHRoZSBydGVfZmxvd19pdGVtIGhhcyBkb3VibGUg bWVhbmluZyBvbiB0aGlzDQo+IFJGQywgb25jZSBmb3IgdGhlIGNsYXNzaWZpY2F0aW9uIGFuZCBv bmNlIGZvciB0aGUgYWN0aW9uLg0KPiA+ICBGcm9tIHRoZSB0b3Agb2YgbXkgaGVhZCBJIHdvdWxk IHRoaW5rIG9mIGFuIEFQSSB3aGljaCBzZXBhcmF0ZSB0aG9zZSwgYW5kDQo+IHJlLXVzZSB0aGUg ZXhpc3RpbmcgZmxvdyBpdGVtcy4gU29tZXRoaW5nIGxpa2U6DQo+ID4NCj4gPiAgIHN0cnVjdCBy dGVfZmxvd19pdGVtIHBhdHRlcm5bXSA9IHsNCj4gPiAgICAgICAgICAgICAgICAgIHsgc2V0IG9m IGFscmVhZHkgZXhpc3RzIHBhdHRlcm4gIH0sDQo+ID4gICAgICAgICAgICAgICAgICB7IC4uLiB9 LA0KPiA+ICAgICAgICAgICAgICAgICAgeyAudHlwZSA9IFJURV9GTE9XX0lURU1fVFlQRV9FTkQg fSB9Ow0KPiA+DQo+ID4gZW5jYXBfY3R4ID0gY3JlYXRlX2VuYWNhcF9jb250ZXh0KHBhdHRlcm4p DQo+ID4NCj4gPiBydGVfZmxvd19hY3Rpb24gYWN0aW9uc1tdID0gew0KPiA+IAl7IC50eXBlIFJU RV9GTE9XX0lURU1fRU5DQVAsIC5jb25mID0gZW5jYXBfY3R4fSB9DQo+IA0KPiBJIG5vdCBzdXJl IEkgZnVsbHkgdW5kZXJzdGFuZCB3aGF0IHlvdSdyZSBhc2tpbmcgaGVyZSwgYnV0IGluIGdlbmVy YWwgZm9yIGVuY2FwDQo+IHlvdSBvbmx5IHdvdWxkIGRlZmluZSB0aGUgaW5uZXIgcGFydCBvZiB0 aGUgcGFja2V0IGluIHRoZSBtYXRjaCBwYXR0ZXJuDQo+IGNyaXRlcmlhIGFuZCB0aGUgYWN0dWFs IG91dGVyIHR1bm5lbCBoZWFkZXJzIHdvdWxkIGJlIGRlZmluZWQgaW4gdGhlIGFjdGlvbi4NCj4g DQo+IEkgZ3Vlc3MgdGhlcmUgaXMgc29tZSByZXBsaWNhdGlvbiBpbiB0aGUgZGVjYXAgc2lkZSBh cyBwcm9wb3NlZCwgYXMgdGhlIFRFUA0KPiBvYmplY3QgaXMgdXNlZCBpbiBib3RoIHRoZSBwYXR0 ZXJuIGFuZCB0aGUgYWN0aW9uLCBwb3NzaWJseSB5b3UgY291bGQgZ2V0IGF3YXkNCj4gd2l0aCBo YXZpbmcgbm8gVEVQIG9iamVjdCBkZWZpbmVkIGluIHRoZSBhY3Rpb24gZGF0YSwgYnV0IEkgcHJl ZmVyIGtlZXBpbmcgdGhlDQo+IEFQSSBzeW1tZXRyaWNhbCBmb3IgZW5jYXAvZGVjYXAgYWN0aW9u cyBhdCB0aGUgc2hha2Ugb2Ygc29tZSBleHRyYQ0KPiB2ZXJib3NpdHkuDQo+IA0KPiA+DQo+IC4u Lg0KPiA+DQoNCg==