From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xueming(Steven) Li" Subject: Re: [PATCH v2 1/3] ethdev: support metadata as flow rule criteria Date: Tue, 18 Sep 2018 07:55:15 +0000 Message-ID: References: <1537104835-9034-1-git-send-email-dekelp@mellanox.com> <1537108670-11380-2-git-send-email-dekelp@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Shahaf Shuler , Ori Kam To: Dekel Peled , "wenzhuo.lu@intel.com" , "jingjing.wu@intel.com" , "bernard.iremonger@intel.com" , "dev@dpdk.org" , "olivier.matz@6wind.com" , Adrien Mazarguil , Thomas Monjalon , "ferruh.yigit@intel.com" , "arybchenko@solarflare.com" Return-path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50043.outbound.protection.outlook.com [40.107.5.43]) by dpdk.org (Postfix) with ESMTP id 7752DF04 for ; Tue, 18 Sep 2018 09:55:17 +0200 (CEST) In-Reply-To: <1537108670-11380-2-git-send-email-dekelp@mellanox.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IDxkZXYtYm91bmNl c0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIERla2VsIFBlbGVkDQo+IFNlbnQ6IFN1bmRheSwgU2Vw dGVtYmVyIDE2LCAyMDE4IDEwOjM4IFBNDQo+IFRvOiB3ZW56aHVvLmx1QGludGVsLmNvbTsgamlu Z2ppbmcud3VAaW50ZWwuY29tOyBiZXJuYXJkLmlyZW1vbmdlckBpbnRlbC5jb207IGRldkBkcGRr Lm9yZzsNCj4gb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsgQWRyaWVuIE1hemFyZ3VpbCA8YWRyaWVu Lm1hemFyZ3VpbEA2d2luZC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPHRob21hc0Btb25qYWxv bi5uZXQ+OyBmZXJydWgueWlnaXRAaW50ZWwuY29tOyBhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29t DQo+IENjOiBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNvbT47IE9yaSBLYW0gPG9y aWthQG1lbGxhbm94LmNvbT4NCj4gU3ViamVjdDogW2RwZGstZGV2XSBbUEFUQ0ggdjIgMS8zXSBl dGhkZXY6IHN1cHBvcnQgbWV0YWRhdGEgYXMgZmxvdyBydWxlIGNyaXRlcmlhDQo+IA0KPiBBcyBk ZXNjcmliZWQgaW4gWzFdLCBhIG5ldyBydGVfZmxvdyBpdGVtIGlzIGFkZGVkIHRvIHN1cHBvcnQg bWV0YWRhdGEgdG8gdXNlIGFzIGZsb3cgcnVsZSBtYXRjaA0KPiBwYXR0ZXJuLg0KPiBUaGUgbWV0 YWRhdGEgaXMgYW4gb3BhcXVlIGl0ZW0sIGZ1bGx5IGNvbnRyb2xsZWQgYnkgdGhlIGFwcGxpY2F0 aW9uLg0KPiANCj4gVGhlIHVzZSBvZiBtZXRhZGF0YSBpcyByZWxldmFudCBmb3IgZWdyZXNzIHJ1 bGVzIG9ubHkuDQo+IEl0IGNhbiBiZSBzZXQgaW4gdGhlIGZsb3cgcnVsZSB1c2luZyB0aGUgUlRF X0ZMT1dfSVRFTV9NRVRBLg0KPiANCj4gSW4gb3JkZXIgdG8gYXZvaWQgY2hhbmdlIGluIG1idWYg QVBJLCBleGlzaXRuZyBmaWVsZCBidWYuaGFzaC5mZGlyLmhpIGlzIHVzZWQgdG8gY2FycnkgdGhl IG1ldGFkYXRhDQo+IGl0ZW0uIFRoaXMgZmllbGQgaXMgdXNlZCBvbmx5IGluIGluZ3Jlc3MgcGFj a2V0cywgc28gdXNpbmcgaXQgZm9yIGVncmVzcyBtZXRhZGF0YSB3aWxsIG5vdCBjYXVzZQ0KPiBj b25mbGljdHMuDQo+IA0KPiBBcHBsaWNhdGlvbiBzaG91bGQgc2V0IHRoZSBwYWNrZXQgbWV0YWRh dGEgaW4gdGhlIG1idWYgZGVkaWNhdGVkIGZpZWxkLCBhbmQgc2V0IHRoZSBQS1RfVFhfTUVUQURB VEENCj4gZmxhZyBpbiB0aGUgbWJ1Zi0+b2xfZmxhZ3MuDQo+IFRoZSBOSUMgd2lsbCB1c2UgdGhl IHBhY2tldCBtZXRhZGF0YSBhcyBtYXRjaCBjcml0ZXJpYSBmb3IgcmVsZXZhbnQgZmxvdyBydWxl cy4NCj4gDQo+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBtZXRhZGF0YSBpdGVtIHR5cGUgZm9yIHJ0 ZV9mbG93IFJURV9GTE9XX0lURU1fTUVUQSwgYWxvbmcgd2l0aCBjb3JyZXNwb25kaW5nDQo+IHN0 cnVjdCBydGVfZmxvd19pdGVtX21ldGEgYW5kIG9sX2ZsYWcgUEtUX1RYX01FVEFEQVRBLg0KPiAN Cj4gWzFdICJbUkZDLHYyXSBldGhkZXY6IHN1cHBvcnQgbWV0YWRhdGEgYXMgZmxvdyBydWxlIGNy aXRlcmlhIg0KPiANCj4gU2lnbmVkLW9mZi1ieTogRGVrZWwgUGVsZWQgPGRla2VscEBtZWxsYW5v eC5jb20+DQo+IC0tLQ0KPiBWMjoNCj4gKiBGaXggc29tZSBjaGVja3BhdGNoIGNvZGluZyBzdHls ZSBpc3N1ZXMgKHdyb25nbHkgc2VudCkuDQo+IC0tLQ0KPiANCj4gIGRvYy9ndWlkZXMvcHJvZ19n dWlkZS9ydGVfZmxvdy5yc3QgfCAyMSArKysrKysrKysrKysrKysrKysrKysNCj4gIGxpYi9saWJy dGVfZXRoZGV2L3J0ZV9ldGhkZXYuYyAgICAgfCAgMSArDQo+ICBsaWIvbGlicnRlX2V0aGRldi9y dGVfZXRoZGV2LmggICAgIHwgIDUgKysrKysNCj4gIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93 LmMgICAgICAgfCAgMSArDQo+ICBsaWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oICAgICAgIHwg MjQgKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICBsaWIvbGlicnRlX21idWYvcnRlX21idWYu YyAgICAgICAgIHwgIDIgKysNCj4gIGxpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oICAgICAgICAg fCAxNiArKysrKysrKysrKysrKy0tDQo+ICA3IGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9wcm9nX2d1 aWRlL3J0ZV9mbG93LnJzdCBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4g aW5kZXggYjMwNWE3Mi4uNTYwZTQ1YSAxMDA2NDQNCj4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1 aWRlL3J0ZV9mbG93LnJzdA0KPiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cu cnN0DQo+IEBAIC0xMTkxLDYgKzExOTEsMjcgQEAgTm9ybWFsbHkgcHJlY2VkZWQgYnkgYW55IG9m Og0KPiAgLSBgSXRlbTogSUNNUDZfTkRfTlNgXw0KPiAgLSBgSXRlbTogSUNNUDZfTkRfT1BUYF8N Cj4gDQo+ICtJdGVtOiBgYE1FVEFgYA0KPiArXl5eXl5eXl5eXl5eXl4NCj4gKw0KPiArTWF0Y2hl cyBhbiBhcHBsaWNhdGlvbiBzcGVjaWZpYyAzMiBiaXQgbWV0YWRhdGEgaXRlbS4NCj4gKw0KPiAr LSBEZWZhdWx0IGBgbWFza2BgIG1hdGNoZXMgYW55IDMyIGJpdCB2YWx1ZS4NCj4gKw0KPiArLi4g X3RhYmxlX3J0ZV9mbG93X2l0ZW1fbWV0YToNCj4gKw0KPiArLi4gdGFibGU6OiBNRVRBDQo+ICsN Cj4gKyAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Kw0KPiArICAgfCBGaWVsZCAgICB8IFN1YmZpZWxkIHwgVmFsdWUgICAgICAgICAgICAgICAgICAg ICB8DQo+ICsgICArPT09PT09PT09PSs9PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09 PT09PSsNCj4gKyAgIHwgYGBzcGVjYGAgfCBgYGRhdGFgYCB8IDMyIGJpdCBtZXRhZGF0YSB2YWx1 ZSAgICAgfA0KPiArICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQo+ICsgICB8IGBgbGFzdGBgIHwgYGBkYXRhYGAgfCB1cHBlciByYW5nZSB2YWx1 ZSAgICAgICAgIHwNCj4gKyAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKw0KPiArICAgfCBgYG1hc2tgYCB8IGBgZGF0YWBgIHwgemVyb2VkIHRvIG1h dGNoIGFueSB2YWx1ZSB8DQo+ICsgICArLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsNCj4gKw0KPiAgQWN0aW9ucw0KPiAgfn5+fn5+fg0KPiANCj4gZGlm ZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYyBiL2xpYi9saWJydGVfZXRo ZGV2L3J0ZV9ldGhkZXYuYyBpbmRleCBmNzkwZDQyLi4xYWU3Njk0DQo+IDEwMDY0NA0KPiAtLS0g YS9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmMNCj4gKysrIGIvbGliL2xpYnJ0ZV9ldGhk ZXYvcnRlX2V0aGRldi5jDQo+IEBAIC0xNTgsNiArMTU4LDcgQEAgc3RydWN0IHJ0ZV9ldGhfeHN0 YXRzX25hbWVfb2ZmIHsNCj4gIAlSVEVfVFhfT0ZGTE9BRF9CSVQyU1RSKFNFQ1VSSVRZKSwNCj4g IAlSVEVfVFhfT0ZGTE9BRF9CSVQyU1RSKFVEUF9UTkxfVFNPKSwNCj4gIAlSVEVfVFhfT0ZGTE9B RF9CSVQyU1RSKElQX1ROTF9UU08pLA0KPiArCVJURV9UWF9PRkZMT0FEX0JJVDJTVFIoTUFUQ0hf TUVUQURBVEEpLA0KPiAgfTsNCj4gDQo+ICAjdW5kZWYgUlRFX1RYX09GRkxPQURfQklUMlNUUg0K PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5oIGIvbGliL2xpYnJ0 ZV9ldGhkZXYvcnRlX2V0aGRldi5oIGluZGV4IDcwNzBlOWEuLmEwZGExNmMNCj4gMTAwNjQ0DQo+ IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiArKysgYi9saWIvbGlicnRl X2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gQEAgLTk1Myw2ICs5NTMsMTEgQEAgc3RydWN0IHJ0ZV9l dGhfY29uZiB7DQo+ICAgKiBmb3IgdHVubmVsIFRTTy4NCj4gICAqLw0KPiAgI2RlZmluZSBERVZf VFhfT0ZGTE9BRF9JUF9UTkxfVFNPICAgICAgIDB4MDAwODAwMDANCj4gKy8qKg0KPiArICogRGV2 aWNlIHN1cHBvcnRzIG1hdGNoIG9uIG1ldGFkYXRhIFR4IG9mZmxvYWQuLg0KPiArICogQXBwbGlj YXRpb24gbXVzdCBzZXQgUEtUX1RYX01FVEFEQVRBIGFuZCBtYnVmIG1ldGFkYXRhIGZpZWxkLg0K PiArICovDQo+ICsjZGVmaW5lIERFVl9UWF9PRkZMT0FEX01BVENIX01FVEFEQVRBICAgMHgwMDEw MDAwMA0KPiANCj4gICNkZWZpbmUgUlRFX0VUSF9ERVZfQ0FQQV9SVU5USU1FX1JYX1FVRVVFX1NF VFVQIDB4MDAwMDAwMDEgIC8qKjwgRGV2aWNlIHN1cHBvcnRzIFJ4IHF1ZXVlIHNldHVwDQo+IGFm dGVyIGRldmljZSBzdGFydGVkKi8gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9m bG93LmMgYi9saWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5jDQo+IGluZGV4IGNmZjRiNTIuLjU0 ZTVlZjggMTAwNjQ0DQo+IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmMNCj4gKysr IGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuYw0KPiBAQCAtNjYsNiArNjYsNyBAQCBzdHJ1 Y3QgcnRlX2Zsb3dfZGVzY19kYXRhIHsNCj4gIAkJICAgICBzaXplb2Yoc3RydWN0IHJ0ZV9mbG93 X2l0ZW1faWNtcDZfbmRfb3B0X3NsYV9ldGgpKSwNCj4gIAlNS19GTE9XX0lURU0oSUNNUDZfTkRf T1BUX1RMQV9FVEgsDQo+ICAJCSAgICAgc2l6ZW9mKHN0cnVjdCBydGVfZmxvd19pdGVtX2ljbXA2 X25kX29wdF90bGFfZXRoKSksDQo+ICsJTUtfRkxPV19JVEVNKE1FVEEsIHNpemVvZihzdHJ1Y3Qg cnRlX2Zsb3dfaXRlbV9tZXRhKSksDQo+ICB9Ow0KPiANCj4gIC8qKiBHZW5lcmF0ZSBmbG93X2Fj dGlvbltdIGVudHJ5LiAqLw0KPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zs b3cuaCBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmggaW5kZXggZjhiYTcxYy4uNGNjNTk1 NA0KPiAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaA0KPiArKysg Yi9saWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oDQo+IEBAIC00MTMsNiArNDEzLDE0IEBAIGVu dW0gcnRlX2Zsb3dfaXRlbV90eXBlIHsNCj4gIAkgKiBTZWUgc3RydWN0IHJ0ZV9mbG93X2l0ZW1f bWFyay4NCj4gIAkgKi8NCj4gIAlSVEVfRkxPV19JVEVNX1RZUEVfTUFSSywNCj4gKw0KPiArCS8q Kg0KPiArCSAqIFtNRVRBXQ0KPiArCSAqDQo+ICsJICogTWF0Y2hlcyBhIG1ldGFkYXRhIHZhbHVl IHNwZWNpZmllZCBpbiBtYnVmIG1ldGFkYXRhIGZpZWxkLg0KPiArCSAqIFNlZSBzdHJ1Y3QgcnRl X2Zsb3dfaXRlbV9tZXRhLg0KPiArCSAqLw0KPiArCVJURV9GTE9XX0lURU1fVFlQRV9NRVRBLA0K PiAgfTsNCj4gDQo+ICAvKioNCj4gQEAgLTExNTYsNiArMTE2NCwyMiBAQCBzdHJ1Y3QgcnRlX2Zs b3dfaXRlbV9pY21wNl9uZF9vcHRfdGxhX2V0aCB7ICAjZW5kaWYNCj4gDQo+ICAvKioNCj4gKyAq IFJURV9GTE9XX0lURU1fVFlQRV9NRVRBLg0KPiArICoNCj4gKyAqIE1hdGNoZXMgYSBzcGVjaWZp ZWQgbWV0YWRhdGEgdmFsdWUuDQo+ICsgKi8NCj4gK3N0cnVjdCBydGVfZmxvd19pdGVtX21ldGEg ew0KPiArCXVpbnQzMl90IGRhdGE7DQo+ICt9Ow0KPiArDQo+ICsvKiogRGVmYXVsdCBtYXNrIGZv ciBSVEVfRkxPV19JVEVNX1RZUEVfTUVUQS4gKi8gI2lmbmRlZiBfX2NwbHVzcGx1cw0KPiArc3Rh dGljIGNvbnN0IHN0cnVjdCBydGVfZmxvd19pdGVtX21ldGEgcnRlX2Zsb3dfaXRlbV9tZXRhX21h c2sgPSB7DQo+ICsJLmRhdGEgPSBSVEVfQkUzMihVSU5UMzJfTUFYKSwNCj4gK307DQo+ICsjZW5k aWYNCj4gKw0KPiArLyoqDQo+ICAgKiBAd2FybmluZw0KPiAgICogQGIgRVhQRVJJTUVOVEFMOiB0 aGlzIHN0cnVjdHVyZSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlDQo+ICAgKg0KPiBk aWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmMgYi9saWIvbGlicnRlX21idWYv cnRlX21idWYuYyBpbmRleCBlNzE0YzVhLi40YjI1YWU4IDEwMDY0NA0KPiAtLS0gYS9saWIvbGli cnRlX21idWYvcnRlX21idWYuYw0KPiArKysgYi9saWIvbGlicnRlX21idWYvcnRlX21idWYuYw0K PiBAQCAtMzk1LDYgKzM5NSw3IEBAIGNvbnN0IGNoYXIgKnJ0ZV9nZXRfdHhfb2xfZmxhZ19uYW1l KHVpbnQ2NF90IG1hc2spDQo+ICAJY2FzZSBQS1RfVFhfVFVOTkVMX1VEUDogcmV0dXJuICJQS1Rf VFhfVFVOTkVMX1VEUCI7DQo+ICAJY2FzZSBQS1RfVFhfTUFDU0VDOiByZXR1cm4gIlBLVF9UWF9N QUNTRUMiOw0KPiAgCWNhc2UgUEtUX1RYX1NFQ19PRkZMT0FEOiByZXR1cm4gIlBLVF9UWF9TRUNf T0ZGTE9BRCI7DQo+ICsJY2FzZSBQS1RfVFhfTUVUQURBVEE6IHJldHVybiAiUEtUX1RYX01FVEFE QVRBIjsNCj4gIAlkZWZhdWx0OiByZXR1cm4gTlVMTDsNCj4gIAl9DQo+ICB9DQo+IEBAIC00MzUs NiArNDM2LDcgQEAgY29uc3QgY2hhciAqcnRlX2dldF90eF9vbF9mbGFnX25hbWUodWludDY0X3Qg bWFzaykNCj4gIAkJICAiUEtUX1RYX1RVTk5FTF9OT05FIiB9LA0KPiAgCQl7IFBLVF9UWF9NQUNT RUMsIFBLVF9UWF9NQUNTRUMsIE5VTEwgfSwNCj4gIAkJeyBQS1RfVFhfU0VDX09GRkxPQUQsIFBL VF9UWF9TRUNfT0ZGTE9BRCwgTlVMTCB9LA0KPiArCQl7IFBLVF9UWF9NRVRBREFUQSwgUEtUX1RY X01FVEFEQVRBLCBOVUxMIH0sDQo+ICAJfTsNCj4gIAljb25zdCBjaGFyICpuYW1lOw0KPiAgCXVu c2lnbmVkIGludCBpOw0KPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmgg Yi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaCBpbmRleCA5Y2U1ZDc2Li5lYTc1YWQwIDEwMDY0 NA0KPiAtLS0gYS9saWIvbGlicnRlX21idWYvcnRlX21idWYuaA0KPiArKysgYi9saWIvbGlicnRl X21idWYvcnRlX21idWYuaA0KPiBAQCAtMTgyLDYgKzE4MiwxMSBAQA0KPiAgLyogYWRkIG5ldyBU WCBmbGFncyBoZXJlICovDQo+IA0KPiAgLyoqDQo+ICsgKiBJbmRpY2F0ZSB0aGF0IHRoZSBtZXRh ZGF0YSBmaWVsZCBpbiB0aGUgbWJ1ZiBpcyBpbiB1c2UuDQo+ICsgKi8NCj4gKyNkZWZpbmUgUEtU X1RYX01FVEFEQVRBCSgxVUxMIDw8IDQxKQ0KPiArDQo+ICsvKioNCj4gICAqIFVEUCBGcmFnbWVu dGF0aW9uIE9mZmxvYWQgZmxhZy4gVGhpcyBmbGFnIGlzIHVzZWQgZm9yIGVuYWJsaW5nIFVEUA0K PiAgICogZnJhZ21lbnRhdGlvbiBpbiBTVyBvciBpbiBIVy4gV2hlbiB1c2UgVUZPLCBtYnVmLT50 c29fc2Vnc3ogaXMgdXNlZA0KPiAgICogdG8gc3RvcmUgdGhlIE1TUyBvZiBVRFAgZnJhZ21lbnRz Lg0KPiBAQCAtMzQyLDggKzM0Nyw5IEBADQo+ICAJCVBLVF9UWF9RSU5RX1BLVCB8ICAgICAgICBc DQo+ICAJCVBLVF9UWF9WTEFOX1BLVCB8ICAgICAgICBcDQo+ICAJCVBLVF9UWF9UVU5ORUxfTUFT SyB8CSBcDQo+IC0JCVBLVF9UWF9NQUNTRUMgfAkJIFwNCj4gLQkJUEtUX1RYX1NFQ19PRkZMT0FE KQ0KPiArCQlQS1RfVFhfTUFDU0VDIHwgICAgICAgICAgXA0KPiArCQlQS1RfVFhfU0VDX09GRkxP QUQgfAkgXA0KPiArCQlQS1RfVFhfTUVUQURBVEEpDQo+IA0KPiAgLyoqDQo+ICAgKiBNYnVmIGhh dmluZyBhbiBleHRlcm5hbCBidWZmZXIgYXR0YWNoZWQuIHNoaW5mbyBpbiBtYnVmIG11c3QgYmUg ZmlsbGVkLg0KPiBAQCAtNTI2LDYgKzUzMiwxMiBAQCBzdHJ1Y3QgcnRlX21idWYgew0KPiAgCQkJ dWludDMyX3QgaGk7DQo+ICAJCQkvKio8IEZpcnN0IDQgZmxleGlibGUgYnl0ZXMgb3IgRkQgSUQs IGRlcGVuZGVudCBvbg0KPiAgCQkJICAgICBQS1RfUlhfRkRJUl8qIGZsYWcgaW4gb2xfZmxhZ3Mu ICovDQo+ICsJCQkvKioNCj4gKwkJCSAqIEFib3ZlIG1lbWJlciBoYXMgb3B0aW9uYWwgdXNlIG9u IGVncmVzczoNCj4gKwkJCSAqIEFwcGxpY2F0aW9uIHNwZWNpZmljIG1ldGFkYXRhIHZhbHVlDQo+ ICsJCQkgKiBmb3IgZmxvdyBydWxlIG1hdGNoLg0KPiArCQkJICogVmFsaWQgaWYgUEtUX1RYX01F VEFEQVRBIGlzIHNldC4NCj4gKwkJCSAqLw0KPiAgCQl9IGZkaXI7ICAgICAgICAgICAvKio8IEZp bHRlciBpZGVudGlmaWVyIGlmIEZESVIgZW5hYmxlZCAqLw0KDQpVc2UgbWJ1Zi0+aGFzaC5mZGly LmhpIHRvIHNldCBtZXRhZGF0YT8gSG93IGFib3V0IGEgZGVkaWNhdGUgbmFtZSBtYnVmLT5tZXRh IGF0IHNhbWUgb2Zmc2V0IGxpa2UgdGhpczoNCgl1bmlvbiB7DQoJCXVuaW9uIHsNCgkJCS8vIGN1 cnJlbnQgaGFzaCBkZWZpbml0b24NCgkJfSBoYXNoOw0KCQlzdHJ1Y3Qgew0KCQkJdWludDMyIGxv Ow0KCQkJdWludDMyIG1ldGE7DQoJCX0NCgl9DQoNCj4gIAkJc3RydWN0IHsNCj4gIAkJCXVpbnQz Ml90IGxvOw0KPiAtLQ0KPiAxLjguMy4xDQoNCg==