From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30088.outbound.protection.outlook.com [40.107.3.88]) by dpdk.org (Postfix) with ESMTP id 29AB51B5C3 for ; Thu, 11 Oct 2018 15:55:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OTWrsSfePOKJQEtpM1hERbaZ9qDXMT8OCJDh8BMCn5Q=; b=kxL2Hjf57NjbqN+2skNvmVRPqy64sgQ8NMbvzHKLFlf4I4FWKZ5I9I/VhOewDm6n+1WPK/dFQB97hXEsAXhmph4yAmib1opXnzvf4EN3M70pZe5Rq8jcHVau+UxPRlCPhuTNQ+QoprprMIMPO3zQQJOtwiAYY5zWtYATbL5tb4Q= Received: from AM4PR05MB3425.eurprd05.prod.outlook.com (10.171.187.142) by AM4PR05MB1556.eurprd05.prod.outlook.com (10.164.80.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1207.26; Thu, 11 Oct 2018 13:55:25 +0000 Received: from AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::fdeb:3890:f0f0:2202]) by AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::fdeb:3890:f0f0:2202%4]) with mapi id 15.20.1207.029; Thu, 11 Oct 2018 13:55:25 +0000 From: Ori Kam To: Adrien Mazarguil CC: Andrew Rybchenko , Ferruh Yigit , "stephen@networkplumber.org" , Declan Doherty , "dev@dpdk.org" , Dekel Peled , Thomas Monjalon , =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= , Yongseok Koh , Shahaf Shuler Thread-Topic: [PATCH v3 0/3] ethdev: add generic L2/L3 tunnel encapsulation actions Thread-Index: AQHUXj17J8xRsVbRkUC9nhuj/0sKpaUXIzyAgADp24CAAB8FgIAAOYqAgAAG5YCAAD5vgIAA6owQgAB2FYCAAAa38A== Date: Thu, 11 Oct 2018 13:55:24 +0000 Message-ID: References: <1537995646-95260-1-git-send-email-orika@mellanox.com> <1538917054-68283-1-git-send-email-orika@mellanox.com> <9760f054-bbe9-2036-dd5d-d39edd906496@intel.com> <1165fc19-c68b-f13c-e2a6-eeb3f6937922@solarflare.com> <20181010120207.GM18937@6wind.com> <20181010161015.GN18937@6wind.com> <20181011131221.GQ18937@6wind.com> In-Reply-To: <20181011131221.GQ18937@6wind.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=orika@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM4PR05MB1556; 6:uWq8INXzkiaTUil2ZMX0HOqmhshIqMceykHm/nX/5C3+42MIirfDIXbuzOcTHzlW//GdlFHnxIr9FEJ9OfOOfeRu6qDJcq6M4KvBrKIep36WrNi5KBQZz+upOGHXT3S6UwjOn85zsm2sWCO4KX1igjf/nho+6MjwCQ9bokmmjBeH62k4UAU/0XPf/VOojUfTFv3VgXv+YRUNJTxaGAWNg9LLOLEv4ZnO1+ynhKkm/lEPRB7DECH260MhZz6jrBAQzwQoex3IUp/QKFB0fuDW4pNfEOZlTvOj2jHT1EV3TldjuUP5v+OaqbNDwIqXeixbt8TzWXPnHrHK24hAwictCARkhznnsVzizC2UEkDCnpuAd7vIYJ2OkxcQC3GK199oBBdRe83Vk9rBpQiS3dFWEYQ1TLvCH5wnbl2bV9LkPm5pkpVJ1xZCD6Cjr3YvRhH1AE86SfhGHbZbhE1+FqHxOQ==; 5:+D55esj8emHtRly4pnl8qJvOnYqzsNyN5Yz7T5sdIs7GK4H1ZHnwtfr5EaJqN9DYMvXmdUwO6legmQUShlD8tzOPbwEzNiM8aXkZ9jmoEIeqM+b9uvzT7tMUG/6H2KvP+L7t3LAZT3BdhJaDoocGrqBRDxw1hOAoqGYpQSuKOeM=; 7:bzEBo/cbVGlFPN9noS/sVfGIzQFrtyjcPfScowo37lKTt3dgLV9QWdHBGZ3LztKKuPCAqO8RdcSlQhKsXBu2QuWjc4rPoEjD3h/wyBviXb9ziLvvgxYvd9KIGzBSdq42e8E4+MM9nLlO9RTO4r0vKgulncqwS13P/+nRKH78oBHSybUKEaj5SgEZ5ESF34eaP0lEgJ5OYHlkPU+PRbLT4cs/yU4IL+9pUaJ+qZlPaY5Is6UZzyLQcB0JipnhryYD x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 219cf939-20df-4dbb-27e4-08d62f8131b4 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM4PR05MB1556; x-ms-traffictypediagnostic: AM4PR05MB1556: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(278428928389397)(45079756050767)(189930954265078)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(201708071742011)(7699051)(76991055); SRVR:AM4PR05MB1556; BCL:0; PCL:0; RULEID:; SRVR:AM4PR05MB1556; x-forefront-prvs: 08220FA8D6 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(366004)(136003)(346002)(396003)(376002)(199004)(189003)(52314003)(13464003)(8676002)(229853002)(97736004)(105586002)(81166006)(106356001)(45080400002)(71200400001)(71190400001)(81156014)(14454004)(6436002)(966005)(478600001)(2906002)(7696005)(316002)(86362001)(6916009)(446003)(11346002)(76176011)(66066001)(2900100001)(561944003)(476003)(7736002)(486006)(25786009)(99286004)(14444005)(256004)(8936002)(53936002)(305945005)(5250100002)(74316002)(33656002)(107886003)(102836004)(93886005)(26005)(54906003)(55016002)(53546011)(5660300001)(6246003)(186003)(6506007)(6116002)(3846002)(66574009)(68736007)(6306002)(4326008)(9686003)(41533002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR05MB1556; H:AM4PR05MB3425.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: RSiuZltax5M5/J5ZOO5UEasGFO1LPN5tQKYmhPpqMeQT0BA0cKSJma/o5muaUakNQKGY9HLw5ifpUjpHtWF/q6QuyT3AcqoIEo5otTOhzbL6PPDvdgPJtUIBTffe9M95s1rtSm4J1IcG5OBvdI0vIulX2NDsjFR/Jz/VzsweOozHBqNBbQ9GVnS8MADqoAcigMUa18npC7fC94A8wCbEyzQlQC9+gC1zxzDoZZKX3ZzvZcUxcMRayii+qkXhQ+y1L2ApUOOqgl+Cx+zxQXWy3nEkbMM8M+OlpuFJtaWSGaY19YtgSFI6j6y9N4Vy/kJC3WsSm5mZ5hv9ybMMGEyBIg3E3L5lo5bvIRxwNh46aB4= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 219cf939-20df-4dbb-27e4-08d62f8131b4 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2018 13:55:24.9587 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR05MB1556 Subject: Re: [dpdk-dev] [PATCH v3 0/3] ethdev: add generic L2/L3 tunnel encapsulation actions 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 Oct 2018 13:55:27 -0000 DQpIaSBBZHJpYW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWRy aWVuIE1hemFyZ3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+DQo+IFNlbnQ6IFRodXJz ZGF5LCBPY3RvYmVyIDExLCAyMDE4IDQ6MTIgUE0NCj4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxh bm94LmNvbT4NCj4gQ2M6IEFuZHJldyBSeWJjaGVua28gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5j b20+OyBGZXJydWggWWlnaXQNCj4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBzdGVwaGVuQG5l dHdvcmtwbHVtYmVyLm9yZzsgRGVjbGFuIERvaGVydHkNCj4gPGRlY2xhbi5kb2hlcnR5QGludGVs LmNvbT47IGRldkBkcGRrLm9yZzsgRGVrZWwgUGVsZWQNCj4gPGRla2VscEBtZWxsYW5veC5jb20+ OyBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBOw6lsaW8NCj4gTGFyYW5q ZWlybyA8bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb20+OyBZb25nc2VvayBLb2gNCj4gPHlza29o QG1lbGxhbm94LmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPg0KPiBT dWJqZWN0OiBSZTogW1BBVENIIHYzIDAvM10gZXRoZGV2OiBhZGQgZ2VuZXJpYyBMMi9MMyB0dW5u ZWwgZW5jYXBzdWxhdGlvbg0KPiBhY3Rpb25zDQo+IA0KPiBIZXkgT3JpLA0KPiANCj4gKHJlbW92 aW5nIG1vc3Qgb2YgdGhlIGRpc2N1c3Npb24sIEknbGwgb25seSByZXBseSB0byB0aGUgc3VtbWFy eSkNCj4gDQo+IE9uIFRodSwgT2N0IDExLCAyMDE4IGF0IDA4OjQ4OjA1QU0gKzAwMDAsIE9yaSBL YW0gd3JvdGU6DQo+ID4gSGkgQWRyaWFuLA0KPiA+DQo+ID4gVGhhbmtzIGZvciB5b3VyIGNvbW1l bnRzIHBsZWFzZSBzZWUgbXkgYW5zd2VyIGJlbG93IGFuZCBpbmxpbmUuDQo+ID4NCj4gPiBEdWUg dG8gYSB2ZXJ5IHNob3J0IHRpbWUgbGltaXQgYW5kIHRoZSBmYWN0IHRoYXQgd2UgaGF2ZSBtb3Jl IHRoYW4NCj4gPiA0IHBhdGNoZXMgdGhhdCBhcmUgYmFzZWQgb24gdGhpcyB3ZSBuZWVkIHRvIGNs b3NlIGl0IGZhc3QuDQo+ID4NCj4gPiBBcyBJIGNhbiBzZWUgdGhlcmUgYXJlIG51bWJlciBvZiBv cHRpb25zOg0KPiA+ICogdGhlIG9sZCBhcHByb2FjaCB0aGF0IG5laXRoZXIgb2YgdXMgbGlrZS4g QW5kIHdoaWNoIG1lYW4gdGhhdCBmb3INCj4gPiAgICBldmVyeSB0dW5uZWwgd2UgY3JlYXRlIGEg bmV3IGNvbW1hbmQuDQo+IA0KPiBKdXN0IHRvIGJlIHN1cmUsIHlvdSBtZWFuIHRoYXQgZm9yIGVh Y2ggbmV3IHR1bm5lbCAqdHlwZSogYSBuZXcgcnRlX2Zsb3cNCj4gYWN0aW9uICp0eXBlKiBtdXN0 IGJlIGFkZGVkIHRvIERQREsgcmlnaHQ/IEJlY2F1c2UgdGhlIGFib3ZlIHJlYWRzIGxpa2Ugd2l0 aA0KPiB5b3VyIHByb3Bvc2FsLCBhIHNpbmdsZSBmbG93IHJ1bGUgY2FuIG1hbmFnZSBhbnkgbnVt YmVyIG9mIFRFUHMgYW5kIGZsb3cNCj4gcnVsZSBjcmVhdGlvbiBmb3Igc3Vic2VxdWVudCB0dW5u ZWxzIGNhbiBiZSBzb21laG93IGJ5cGFzc2VkLg0KPiANCj4gT25lIGZsb3cgKnJ1bGUqIGlzIHN0 aWxsIG5lZWRlZCBwZXIgVEVQIG9yIGRpZCBJIG1pc3Mgc29tZXRoaW5nPw0KPiANClllcyB5b3Ug YXJlIGNvcnJlY3Qgb25lIHJ0ZV9hY3Rpb24gcGVyIHR1bm5lbCAqdHlwZSogbXVzdCBiZSBhZGRl ZCB0byB0aGUgRFBESy4NClNvcnJ5IEknbSBub3Qgc3VyZSB3aGF0IFRFUCBpcy4NCg0KPiA+ICog TXkgcHJvcG9zZWQgc3VnZ2VzdGlvbiBhcyBpcy4gV2hpY2ggaXMgZWFzaWVyIGZvciBhdCBsZWFz dCBudW1iZXIgb2YNCj4gYXBwbGljYXRpb24NCj4gPiAgICB0byBpbXBsZW1lbnQgYW5kIGZhc3Rl ciBpbiBtb3N0IGNhc2VzLg0KPiA+ICogTXkgc3VnZ2VzdGlvbiB3aXRoIGRpZmZlcmVudCBuYW1l LCBidXQgdGhlbiB3ZSBuZWVkIHRvIGZpbmQgYWxzbyBhIG5hbWUNCj4gPiAgICBmb3IgdGhlIGRl Y2FwIGFuZCBhbHNvIGEgbmFtZSBmb3IgZGVjYXBfbDMuIFRoaXMgYXBwcm9hY2ggaXMgYWxzbw0K PiBwcm9ibGVtYXRpYw0KPiA+ICAgIHNpbmNlIHdlIGhhdmUgMiBBUEkgdGhhdCBhcmUgZG9pbmcg dGhlIHNhbWUgdGhpZy4gRm9yIGV4YW1wbGUgaW4gdGVzdC1wbWQNCj4gZW5jYXANCj4gPiAgICB2 eGxhbiBpbiB3aGljaCBBUEkgc2hlbGwgd2UgdXNlPw0KPiANCj4gU2luY2UgeW91J3JlIGRvaW5n IHRoaXMgZm9yIE1QTFNvVURQIGFuZCBNUExTb0dSRSwgeW91IGNvdWxkIGxlYXZlDQo+IFZYTEFO L05WR1JFIGVuY2FwIGFzIGlzLCBlc3BlY2lhbGx5IHNpbmNlIChBRkFJSykgdGhlcmUgYXJlIHNl cmllcyBzdGlsbA0KPiByZWx5aW5nIG9uIHRoZWlyIEFQSSBmbG9hdGluZyBvbiB0aGUgTUwuDQo+ IA0KSSBkb24ndCBjYXJlIGFib3V0IGxlYXZpbmcgYWxzbyB0aGUgb2xkIGFwcHJvYWNoLg0KSSBl dmVuIGdvdCBBY2tlZCBmb3IgcmVtb3ZpbmcgaXQg8J+Yig0KVGhlIG9ubHkgaXNzdWUgaXMgdGhl IGR1cGxpY2F0aW9uIEFQSS4NCmZvciBleGFtcGxlIHdoYXQgd2lsbCBiZSB0aGUgdGVzdC1wbWQg ZW5jYXAgdnhsYW4gPw0KSWYgeW91IGFncmVlIHRoYXQgdGVzdCBQTUQgd2lsbCBiZSBjb252ZXJ0 ZWQgdG8gdGhlIG5ldyBvbmUsDQpJIGRvbid0IGNhcmUgYWJvdXQgbGVhdmluZyB0aGUgb2xkIG9u ZS4NCg0KDQo+ID4gKiBDb21iaW5lIGJldHdlZW4gbXkgc3VnZ2VzdGlvbiBhbmQgdGhlIGN1cnJl bnQgb25lIGJ5IHJlcGxhY2luZyB0aGUgcmF3DQo+ID4gICAgYnVmZmVyIHdpdGggbGlzdCBvZiBp dGVtcy4gTGVzcyBjb2RlIGR1cGxpY2F0aW9uIGVhc2llciBvbiB0aGUgdmFsaWRhdGlvbiAoIHRo YXQNCj4gPiAgICBkb24ndCB0aGluayB3ZSBuZWVkIHRvIHZhbGlkYXRlIHRoZSBlbmNhcCBkYXRh KSBidXQgd2UgbG9zcyBpbnNlcnRpb24gcmF0ZS4NCj4gDQo+IEFscmVhZHkgc3VnZ2VzdGVkIGlu IHRoZSBwYXN0IFsxXSwgdGhpcyBsZWQgdG8gVlhMQU4gYW5kIE5WR1JFIGVuY2FwIGFzIHdlDQo+ IGtub3cgdGhlbS4NCj4gDQo+ID4gKiB5b3VyIHN1Z2dlc3Rpb24gb2YgIGxpc3Qgb2YgYWN0aW9u IHRoYXQgZWFjaCBhY3Rpb24gaXMgb25lIGl0ZW0uIE1haW4gcHJvYmxlbQ0KPiA+ICAgIGlzIHNw ZWVkLiAgQ29tcGxleGl0eSBmb3JtIHRoZSBhcHBsaWNhdGlvbiBzaWRlIGFuZCB0aW1lIHRvIGlt cGxlbWVudC4NCj4gDQo+IFNwZWVkIG1hdHRlcnMgYSBsb3QgdG8gbWUgYWxzbyAoZ28gZmlndXJl KSBidXQgSSBzdGlsbCBkb3VidCB0aGlzIGFwcHJvYWNoDQo+IGlzIG1lYXN1cmFibHkgZmFzdGVy LiBPbiB0aGUgdXNhYmlsaXR5IHNpZGUsIGNvbXBhcmVkIHRvIG9uZSBhY3Rpb24gcGVyDQo+IHBy b3RvY29sIGxheWVyIHdoaWNoIGJldHRlciBmaXRzIHRoZSBydGVfZmxvdyBtb2RlbCwgSSdtIGFs c28gbm90DQo+IGNvbnZpbmNlZC4NCj4gDQo+IElmIHdlIHB1dCBhc2lkZSB1c2FiaWxpdHkgYW5k IHBlcmZvcm1hbmNlIG9uIHdoaWNoIHdlJ2xsIG5ldmVyIGFncmVlLCB0aGVyZQ0KPiBpcyBzdGls bCBvbmUgb3V0c3RhbmRpbmcgaXNzdWU6IHRoZSBsYWNrIG9mIG1hc2suIFVzZXJzIGNhbm5vdCB0 ZWxsIHdoaWNoDQo+IGZpZWxkcyBhcmUgcmVsZXZhbnQgYW5kIHRvIGJlIGtlcHQgYXMgaXMsIGFu ZCB3aGljaCBhcmUgbm90Lg0KPiANCvCfmIoNCg0KPiBIb3cgZG8gYXBwbGljYXRpb25zIGtub3cg d2hhdCBibGFua3MgYXJlIGZpbGxlZCBpbiBieSBIVz8gSG93IGRvIFBNRHMga25vdw0KPiB3aGF0 IGFwcGxpY2F0aW9ucyBleHBlY3Q/IFRoZXJlJ3MgYSByaXNrIG9mIHNlbmRpbmcgaW5jb21wbGV0 ZSBvciBtYWxmb3JtZWQNCj4gcGFja2V0cyBkZXBlbmRpbmcgb24gdGhlIGltcGxlbWVudGF0aW9u Lg0KPiANCj4gT25lIG1heSBleHBlY3QgUE1EcyBhbmQgSFcgdG8ganVzdCAiZG8gdGhlIHNlbnNp YmxlIHRoaW5nIiBidXQgc29tZQ0KPiBhcHBsaWNhdGlvbnMgd29uJ3Qga25vdyB0aGF0IHNvbWUg ZmllbGRzIGFyZSBub3Qgb2ZmbG9hZGVkIGFuZCB3aWxsIGJlDQo+IGVtaXR0ZWQgd2l0aCBhbiB1 bmV4cGVjdGVkIHZhbHVlLCB3aGlsZSBvdGhlcnMgd2lsbCBhdHRlbXB0IHRvIGZvcmNlIGENCj4g bm9ybWFsbHkgb2ZmbG9hZGVkIGZpZWxkIHRvIHNvbWUgc3BlY2lmaWMgdmFsdWUgYW5kIGV4cGVj dCBpdCB0byBsZWF2ZQ0KPiB1bm1vZGlmaWVkLiBUaGlzIGNhbm5vdCBiZSBwcmVkaWN0ZWQgYnkg dGhlIFBNRCwgc29tZXRoaW5nIGlzIG5lZWRlZC4NCj4gDQo+IEFzc3VtaW5nIHlvdSBhZGQgYSBt YXNrIHBvaW50ZXIgdG8gYWRkcmVzcyB0aGlzLCBnZW5lcmljIGVuY2FwIHNob3VsZCBiZQ0KPiBm dW5jdGlvbmFsbHkgY29tcGxldGUgYnV0IG5vdCBhbGwgdGhhdCBkaWZmZXJlbnQgZnJvbSB3aGF0 IHdlIGN1cnJlbnRseSBoYXZlDQo+IGZvciBWWExBTi9OVkdSRSBhbmQgZnJvbSBEZWNsYW4ncyBl YXJsaWVyIHByb3Bvc2FsIGZvciBnZW5lcmljIGVuY2FwIFsxXTsNCj4gUE1EIG11c3QgcGFyc2Ug dGhlIGJ1ZmZlciAodXNpbmcgYSBwcm9wZXIgcGFja2V0IHBhcnNlciB3aXRoIHlvdXIgYXBwcm9h Y2gpLA0KPiBjb2xsZWN0IHJlbGV2YW50IGZpZWxkcywgc2VlIGlmIGFueXRoaW5nJ3MgdW5zdXBw b3J0ZWQgd2hpbGUgZG9pbmcgc28gYmVmb3JlDQo+IHByb2NlZWRpbmcgd2l0aCB0aGUgZmxvdyBy dWxlLg0KPiANClRoZXJlIGlzIG5vIHZhbHVlIGZvciBtYXNrLCBzaW5jZSB0aGUgTklDIHRyZWF0 cyB0aGUgcGFja2V0IGFzIGEgbm9ybWFsIHBhY2tldA0KdGhpcyBtZWFucyB0aGF0IHRoZSBOSUMg b3BlcmF0aW9uIGlzIGRlcGVuZGVudCBvbiB0aGUgb2ZmbG9hZHMgY29uZmlndXJlZC4NCklmIGZv ciBleGFtcGxlIHRoZSB1c2VyIGNvbmZpZ3VyZWQgVlhMQU4gb3V0ZXIgY2hlY2tzdW0gdGhlbiB0 aGUgTklDIHdpbGwgbW9kaWZ5IHRoaXMNCmZpZWxkLiBJbiBhbnkgY2FzZSBhbGwgdmFsdWVzIG11 c3QgYmUgZ2l2ZW4gc2luY2UgdGhlIFBNRCBjYW5ub3QgZ3Vlc3MgYW5kIGluc2VydCB0aGVtLg0K RnJvbSB0aGUgTklDIHRoZSBwYWNrZXQgYWZ0ZXIgdGhlIGFkZGluZyB0aGUgYnVmZmVyIG11c3Qg YmUgYSB2YWxpZCBwYWNrZXQuDQoNCj4gQW55d2F5LCBpZiB5b3UgYWRkIHRoYXQgbWFzayBhbmQg cmVuYW1lIHRoZXNlIGFjdGlvbnMgKHNpbmNlIHRoZXkgc2hvdWxkIHdvcmsNCj4gd2l0aCBwcmV0 dHkgbXVjaCBhbnl0aGluZywgbm90IG5lY2Vzc2FyaWx5IHR1bm5lbHMsIGkuZS4gbGF6eSBhcHBs aWNhdGlvbnMNCj4gY291bGQgYXNrIEhXIHRvIHByZXBlbmQgbWlzc2luZyBFdGhlcm5ldCBoZWFk ZXJzIHRvIHB1cmUgSVAgdHJhZmZpYyksIHRoZXkNCj4gY2FuIG1ha2Ugc2Vuc2UuIEhvdyBhYm91 dCBsYWJlbGluZyB0aGlzICJyYXciIGVuY2FwL2RlY2FwPw0KPiANCkkgbGlrZSBpdC4NCg0KPiAg UlRFX0ZMT1dfQUNUSU9OX1RZUEVfUkFXXyhFTkNBUHxERUNBUCkNCj4gDQo+ICBzdHJ1Y3QgcnRl X2Zsb3dfYWN0aW9uX3Jhd19lbmNhcCB7DQplbnVtIHR1bm5lbF90eXBlIHR5cGU7IC8qKjwgVlhM QU4vIE1QTFNvR1JFLi4uIC8gVU5LTk9XTi4gKi8NClRoZW4gTklDcyBjYW4gcHJhc2UgdGhlIHBh Y2tldCBldmVuIGZhc3Rlci4gQW5kIGRlY2lkZSBpZiBpdCBpcyBzdXBwb3J0ZWQuDQpVaW50OF90 IHJlbW92ZV9sMjsgLyoqPCBNYXJrcyBpZiB0aGUgTDIgc2hvdWxkIGJlIHJlbW92ZWQgYmVmb3Jl IHRoZSBlbmNhcC4gKi8NCj4gICAgICB1aW50OF90ICpkYXRhOyAvKio8IEVuY2Fwc3VsYXRpb24g ZGF0YS4gKi8NCj4gICAgICB1aW50OF90ICpwcmVzZXJ2ZTsgLyoqPCBCaXQtbWFzayBvZiBAcCBk YXRhIHRvIHByZXNlcnZlIG9uIG91dHB1dC4gKi8NClJlbW92ZSB0aGUgcHJlc2VydmUuIFNpbmNl IGxpa2UgSSBzYWlkIHRoZXJlIGlzIG5vIG1lYW5pbmcgdG8gdGhpcy4gDQo+ICAgICAgc2l6ZV90 IHNpemU7IC8qKjwgU2l6ZSBvZiBAcCBkYXRhIGFuZCBAcCBwcmVzZXJ2ZS4gKi8NCj4gIH07DQo+ IA0KPiBJIGd1ZXNzIGRlY2FwIGNvdWxkIHVzZSB0aGUgc2FtZSBvYmplY3QuIFNpbmNlIHRoZXJl IGlzIG5vIHdheSB0byBkZWZpbmUgYQ0KPiBzZW5zaWJsZSBkZWZhdWx0IGJlaGF2aW9yIHRoYXQg d29ya3MgYWNyb3NzIG11bHRpcGxlIHZlbmRvcnMgd2hlbiAicHJlc2VydmUiDQo+IGlzIG5vdCBw cm92aWRlZCwgSSB0aGluayB0aGlzIGZpZWxkIGNhbm5vdCBiZSBOVUxMLg0KPiANCkxpa2UgSSBz YWlkIGxldHMgcmVtb3ZlIGl0Lg0KDQo+IEFzIGZvciAiTDMgZGVjYXAiLCB3ZWxsLCBjYW4ndCBv bmUganVzdCBwcm92aWRlIGEgc2VwYXJhdGUgZW5jYXAgYWN0aW9uPw0KPiBJIG1lYW4gYSByYXcg ZGVjYXAgYWN0aW9uLCBmb2xsb3dlZCBieSBhbm90aGVyIGFjdGlvbiBkb2luZyByYXcgZW5jYXAg b2YgdGhlDQo+IGludGVuZGVkIEwyPyBBIHNlcGFyYXRlIHNldCBvZiBhY3Rpb25zIHNlZW1zIHVu bmVjZXNzYXJ5IGZvciB0aGF0Lg0KDQpBZ3JlZSB3ZSB3aWxsIGhhdmUgUlRFX0ZMT1dfQUNUSU9O X1RZUEVfUkFXX0RFQ0FQDQpXaGljaCBkZWNhcHN1bGF0ZSB0aGUgb3V0ZXIgaGVhZGVycywgYW5k IHRoZW4gd2Ugd2lsbCBnaXZlIHRoZSBlbmNhcCBjb21tYW5kIHdpdGggDQp0aGUgTDIgaGVhZGVy Lg0KDQo+IA0KPiBbMV0gIltQQVRDSCB2MyAyLzRdIGV0aGRldjogQWRkIHR1bm5lbCBlbmNhcC9k ZWNhcCBhY3Rpb25zIg0KPiANCj4gaHR0cHM6Ly9lbWVhMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24u b3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRm1haWxzLmQNCj4gcGRrLm9yZyUyRmFyY2hp dmVzJTJGZGV2JTJGMjAxOC0NCj4gQXByaWwlMkYwOTU3MzMuaHRtbCZhbXA7ZGF0YT0wMiU3QzAx JTdDb3Jpa2ElNDBtZWxsYW5veC5jb20lN0MxYTENCj4gZWI0NDNkM2RlNDdkMDFmY2UwOGQ2MmY3 YjM5NjAlN0NhNjUyOTcxYzdkMmU0ZDliYTZhNGQxNDkyNTZmNDYxYiUNCj4gN0MwJTdDMCU3QzYz Njc0ODYwMzYzODcyODIzMiZhbXA7c2RhdGE9aHFnZTN6VUNIJTJGcUl1cVB3R1BlU2tZDQo+IG1p cWFhT3ZjM3h2SjR6YVJ6M0pOZyUzRCZhbXA7cmVzZXJ2ZWQ9MA0KPiANCj4gLS0NCj4gQWRyaWVu IE1hemFyZ3VpbA0KPiA2V0lORA0KDQpCZXN0LA0KT3JpDQo=