From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <konstantin.ananyev@intel.com>
Received: from mga12.intel.com (mga12.intel.com [192.55.52.136])
 by dpdk.org (Postfix) with ESMTP id 65D3E2965;
 Sat, 30 Mar 2019 12:22:31 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga005.fm.intel.com ([10.253.24.32])
 by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 30 Mar 2019 04:22:30 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.60,288,1549958400"; d="scan'208";a="333440051"
Received: from irsmsx151.ger.corp.intel.com ([163.33.192.59])
 by fmsmga005.fm.intel.com with ESMTP; 30 Mar 2019 04:22:29 -0700
Received: from irsmsx105.ger.corp.intel.com ([169.254.7.210]) by
 IRSMSX151.ger.corp.intel.com ([169.254.4.91]) with mapi id 14.03.0415.000;
 Sat, 30 Mar 2019 11:22:28 +0000
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>, Akhil Goyal
 <akhil.goyal@nxp.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: "stable@dpdk.org" <stable@dpdk.org>
Thread-Topic: [dpdk-dev] [PATCH] examples/ipsec-secgw: fix SPD no-match is
 misinterpreted
Thread-Index: AQHU5WR0j0FJr5hzE0meqNlext9dx6YicJsAgAB33MCAASFHYA==
Date: Sat, 30 Mar 2019 11:22:27 +0000
Message-ID: <2601191342CEEE43887BDE71AB977258013656229A@irsmsx105.ger.corp.intel.com>
References: <20190328124733.25580-1-konstantin.ananyev@intel.com>
 <aea63dff-be62-e850-abb3-e52bb04a9de7@nxp.com>
 <2601191342CEEE43887BDE71AB9772580136561F21@irsmsx105.ger.corp.intel.com>
In-Reply-To: <2601191342CEEE43887BDE71AB9772580136561F21@irsmsx105.ger.corp.intel.com>
Accept-Language: en-IE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWE4YzU5YzItMzFlZC00YjE5LTk4ZjItNGMxZWVjZDc4MWI0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiY2FhN0tXZVdoWXgwU2ZpdmIyem81Mlc1Qnk1Nnk2bjFhR0VGellRWnhhOWJWUys2SXlnRit3M0tHWlFYWm84aCJ9
x-ctpclassification: CTP_NT
dlp-product: dlpe-windows
dlp-version: 11.0.400.15
dlp-reaction: no-action
x-originating-ip: [163.33.239.181]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [dpdk-dev] [PATCH] examples/ipsec-secgw: fix SPD no-match is
 misinterpreted
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Sat, 30 Mar 2019 11:22:32 -0000

DQo+IEhpIEFraGlsLA0KPiANCj4gPg0KPiA+IE9uIDMvMjgvMjAxOSA2OjE3IFBNLCBLb25zdGFu
dGluIEFuYW55ZXYgd3JvdGU6DQo+ID4gPiBhY2xfY2xhc3NpZnkoKSByZXR1cm5zIHplcm8gdmFs
dWUgd2hlbiBubyBtYXRjaGluZyBydWxlIHdhcyBmb3VuZC4NCj4gPiA+IEN1cnJlbnRseSBpcHNl
Yy1zZWNndyB0cmVhdHMgaXQgYXMgYSB2YWxpZCBTUEkgdmFsdWUsIHRob3VnaCBpdCBoYXMNCj4g
PiA+IHRvIGRpc2NhcmQgc3VjaCBwYWNrZXRzLg0KPiA+ID4gRXJyb3IgY291bGQgYmUgZWFzaWx5
IG9ic2VydmVkIGJ5IHNlbmRpbmcgb3V0Ym91bmQgdW5tYXRjaGVkIHBhY2tldHMsDQo+ID4gPiB1
c2VyIHdpbGwgc2VlIHNvbWV0aGluZyBsaWtlIHRoYXQgaW4gdGhlIGxvZzoNCj4gPiA+IElQU0VD
OiBObyBjcnlwdG9kZXY6IGNvcmUgNywgY2lwaGVyX2FsZ28gMCwgYXV0aF9hbGdvIDAsIGFlYWRf
YWxnbyAwDQo+ID4gPg0KPiA+ID4gVG8gZml4IGl0IHdlIG5lZWQgdG8gdHJlYXQgcGFja2V0cyB3
aXRoIHplcm8gcmVzdWx0IGZyb20gYWNsX2NsYXNzaWZ5KCkNCj4gPiA+IGFzIGludmFsaWQgb25l
cy4gQWxzbyB3ZSBjYW4gY2hhbmdlIERJU0NBUkQgYW5kIEJZUEFTUyB2YWx1ZXMgdG8NCj4gPiA+
IHNpbXBsaWZ5IGNoZWNrcyBhbmQgc2F2ZSBzb21lIGV4dHJhIHNwYWNlIGZvciB2YWxpZCBTUEkg
dmFsdWVzLg0KPiA+IHNwaSB2YWx1ZSA9MCBpcyBpbnZhbGlkIGJ1dCB6ZXJvIHJlc3VsdCBtYXkg
aGF2ZSBhIHZhbGlkIHBhY2tldC4NCj4gPiBjb25zaWRlciBhIGNhc2U6DQo+ID4gU1BJID0gMTI4
IG9yIDI1NiBvciA1MTIgYW5kIHNvIG9uwqAgPT4gc2FfaWR4ID0gMCBhbmQgcmVzdWx0IHdpbGwg
Y29tZSBhcw0KPiA+IHplcm8sIGFuZCB0aGlzIHdvdWxkIGJlIGEgdmFsaWQgcGFja2V0Lg0KPiA+
DQo+ID4gSSBzZWUgdGhhdCB0aGUgc2FfaWR4wqAgY2FsY3VsYXRpb24gbG9naWMgaXMgbm90IGNv
cnJlY3QgaW4gZmlyc3QgcGxhY2UuDQo+ID4gVGhlcmUgd2lsbCBiZSBtdWx0aXBsZSBzcGkgdmFs
dWVzIGZvciBzYW1lIHNhX2lkeCB3aGljaCBpcyBub3QgY29ycmVjdC4NCj4gPiBTbyB3ZSBoYXZl
IDIgaXNzdWVzIGhlcmU6DQo+ID4gMS4gcmVzdWx0ID0gMCwgbWVhbnMgc2FfaWR4ID0wIHdoaWNo
IG1heSBiZSBjb3JyZWN0LCBidXQgYXMgeW91IHNhaWQgaWYNCj4gPiBhY2xfY2xhc3NpZnkgZmFp
bHMsIGl0IGFsc28gcmV0dXJuIDAuDQo+ID4gMi4gU1BJIHZhbHVlcyB3aGljaCBhcmUgSVBTRUNf
U0FfTUFYX0VOVFJJRVMgYXBhcnQgd2lsbCBoYXZlIHNhbWUgc2FfaWR4DQo+ID4gYW5kIHdpbGwg
a2VlcCBvbiBvdmVyd3JpdGluZyB0aGUgcHJldmlvdXMgb25lcy4NCj4gPg0KPiANCj4gT2sgSSBz
ZWUgd2hhdCB5b3UgbWVhbi4NCj4gVGhlIGVhc2llc3QgZml4IGZvciB0aGF0ICh0aWxsIHdlJ2xs
IGhhdmUgcHJvcGVyIFNBRCkgd291bGQgYmUgbm90IHRvIGFsbG93DQo+IFNQSXMgYmlnZ2VyIHRo
YW4gSVBTRUNfU0FfTUFYX0VOVFJJRVMuDQo+IEFyZSB5b3Ugb2sgd2l0aCB0aGF0Pw0KPiBLb25z
dGFudGluDQoNCkFmdGVyIGFub3RoZXIgdGhvdWdodCwgaXQgc2VlbXMgdGhhdCB3ZSBjYW4gZWFz
aWx5IG92ZXJjb21lIHRoYXQgcHJvYmxlbQ0Kd2l0aG91dCBpbnRyb2R1Y2luZyBleHRyYSBsaW1p
dGF0aW9ucyAtIGp1c3QgbmVlZCB0byBzdG9yZSAnc2FfaWR4ICsgMScgaW4gYWNsIHRhYmxlLg0K
V2lsbCBnaXZlIGl0IGEgdHJ5IHdpdGggdjIuDQpLb25zdGFudGluIA0KDQo+IA0KPiANCj4gPiBT
byBJIGJlbGlldmUgdGhlIGZpeCBpbiB0aGlzIHBhdGNoIGlzIG5vdCBlbm91Z2ggdG8gcmVzb2x2
ZSB0aGVzZQ0KPiA+IGlzc3Vlcy4gSXQgd2lsbCB3b3JrIG9uIHNvbWUgdmFsdWVzIGFuZCB3aWxs
IGJyZWFrIG9uIG90aGVyIHZhbHVlcyBvZiBzcGkuDQo+ID4NCj4gPiAtQWtoaWwNCj4gPg0KPiA+
ID4NCj4gPiA+IEZpeGVzOiA5MDYyNTdlOTY1YjcgKCJleGFtcGxlcy9pcHNlYy1zZWNndzogc3Vw
cG9ydCBJUHY2IikNCj4gPiA+IEZpeGVzOiAyYTUxMDZhZjEzMmIgKCJleGFtcGxlcy9pcHNlYy1z
ZWNndzogZml4IGNvcm5lciBjYXNlIGZvciBTUEkgdmFsdWUiKQ0KPiA+ID4gQ2M6IHN0YWJsZUBk
cGRrLm9yZw0KPiA+ID4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6IEtvbnN0YW50aW4gQW5hbnlldiA8
a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4gICBleGFtcGxl
cy9pcHNlYy1zZWNndy9pcHNlYy1zZWNndy5jIHwgMTIgKysrKysrLS0tLS0tDQo+ID4gPiAgIGV4
YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLmggICAgICAgfCAgNiArKy0tLS0NCj4gPiA+ICAgZXhh
bXBsZXMvaXBzZWMtc2VjZ3cvc3A0LmMgICAgICAgICB8IDExICsrKysrKysrLS0tDQo+ID4gPiAg
IGV4YW1wbGVzL2lwc2VjLXNlY2d3L3NwNi5jICAgICAgICAgfCAxMSArKysrKysrKy0tLQ0KPiA+
ID4gICA0IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQ0K
PiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9pcHNlYy1zZWNndy9pcHNlYy1zZWNn
dy5jIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYw0KPiA+ID4gaW5kZXggZmZi
ZDAwYjA4Li41OWUwODQyMzQgMTAwNjQ0DQo+ID4gPiAtLS0gYS9leGFtcGxlcy9pcHNlYy1zZWNn
dy9pcHNlYy1zZWNndy5jDQo+ID4gPiArKysgYi9leGFtcGxlcy9pcHNlYy1zZWNndy9pcHNlYy1z
ZWNndy5jDQo+ID4gPiBAQCAtNDM4LDExICs0MzgsMTEgQEAgaW5ib3VuZF9zcF9zYShzdHJ1Y3Qg
c3BfY3R4ICpzcCwgc3RydWN0IHNhX2N0eCAqc2EsIHN0cnVjdCB0cmFmZmljX3R5cGUgKmlwLA0K
PiA+ID4gICAJZm9yIChpID0gMDsgaSA8IGlwLT5udW07IGkrKykgew0KPiA+ID4gICAJCW0gPSBp
cC0+cGt0c1tpXTsNCj4gPiA+ICAgCQlyZXMgPSBpcC0+cmVzW2ldOw0KPiA+ID4gLQkJaWYgKHJl
cyAmIEJZUEFTUykgew0KPiA+ID4gKwkJaWYgKHJlcyA9PSBCWVBBU1MpIHsNCj4gPiA+ICAgCQkJ
aXAtPnBrdHNbaisrXSA9IG07DQo+ID4gPiAgIAkJCWNvbnRpbnVlOw0KPiA+ID4gICAJCX0NCj4g
PiA+IC0JCWlmIChyZXMgJiBESVNDQVJEKSB7DQo+ID4gPiArCQlpZiAocmVzID09IERJU0NBUkQp
IHsNCj4gPiA+ICAgCQkJcnRlX3BrdG1idWZfZnJlZShtKTsNCj4gPiA+ICAgCQkJY29udGludWU7
DQo+ID4gPiAgIAkJfQ0KPiA+ID4gQEAgLTQ1Myw3ICs0NTMsNyBAQCBpbmJvdW5kX3NwX3NhKHN0
cnVjdCBzcF9jdHggKnNwLCBzdHJ1Y3Qgc2FfY3R4ICpzYSwgc3RydWN0IHRyYWZmaWNfdHlwZSAq
aXAsDQo+ID4gPiAgIAkJCWNvbnRpbnVlOw0KPiA+ID4gICAJCX0NCj4gPiA+DQo+ID4gPiAtCQlz
YV9pZHggPSBpcC0+cmVzW2ldICYgUFJPVEVDVF9NQVNLOw0KPiA+ID4gKwkJc2FfaWR4ID0gaXAt
PnJlc1tpXTsNCj4gPiA+ICAgCQlpZiAoc2FfaWR4ID49IElQU0VDX1NBX01BWF9FTlRSSUVTIHx8
DQo+ID4gPiAgIAkJCQkhaW5ib3VuZF9zYV9jaGVjayhzYSwgbSwgc2FfaWR4KSkgew0KPiA+ID4g
ICAJCQlydGVfcGt0bWJ1Zl9mcmVlKG0pOw0KPiA+ID4gQEAgLTU0MSwxMCArNTQxLDEwIEBAIG91
dGJvdW5kX3NwKHN0cnVjdCBzcF9jdHggKnNwLCBzdHJ1Y3QgdHJhZmZpY190eXBlICppcCwNCj4g
PiA+ICAgCWogPSAwOw0KPiA+ID4gICAJZm9yIChpID0gMDsgaSA8IGlwLT5udW07IGkrKykgew0K
PiA+ID4gICAJCW0gPSBpcC0+cGt0c1tpXTsNCj4gPiA+IC0JCXNhX2lkeCA9IGlwLT5yZXNbaV0g
JiBQUk9URUNUX01BU0s7DQo+ID4gPiAtCQlpZiAoaXAtPnJlc1tpXSAmIERJU0NBUkQpDQo+ID4g
PiArCQlzYV9pZHggPSBpcC0+cmVzW2ldOw0KPiA+ID4gKwkJaWYgKHNhX2lkeCA9PSBESVNDQVJE
KQ0KPiA+ID4gICAJCQlydGVfcGt0bWJ1Zl9mcmVlKG0pOw0KPiA+ID4gLQkJZWxzZSBpZiAoaXAt
PnJlc1tpXSAmIEJZUEFTUykNCj4gPiA+ICsJCWVsc2UgaWYgKHNhX2lkeCA9PSBCWVBBU1MpDQo+
ID4gPiAgIAkJCWlwLT5wa3RzW2orK10gPSBtOw0KPiA+ID4gICAJCWVsc2UgaWYgKHNhX2lkeCA8
IElQU0VDX1NBX01BWF9FTlRSSUVTKSB7DQo+ID4gPiAgIAkJCWlwc2VjLT5yZXNbaXBzZWMtPm51
bV0gPSBzYV9pZHg7DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBz
ZWMuaCBiL2V4YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLmgNCj4gPiA+IGluZGV4IDk5ZjQ5ZDY1
Zi4uNDRkYWYzODRiIDEwMDY0NA0KPiA+ID4gLS0tIGEvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBz
ZWMuaA0KPiA+ID4gKysrIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMuaA0KPiA+ID4gQEAg
LTQxLDEwICs0MSw4IEBADQo+ID4gPiAgICNkZWZpbmUgU1BJMklEWChzcGkpIChzcGkgJiAoSVBT
RUNfU0FfTUFYX0VOVFJJRVMgLSAxKSkNCj4gPiA+ICAgI2RlZmluZSBJTlZBTElEX1NQSSAoMCkN
Cj4gPiA+DQo+ID4gPiAtI2RlZmluZSBESVNDQVJEICgweDgwMDAwMDAwKQ0KPiA+ID4gLSNkZWZp
bmUgQllQQVNTICgweDQwMDAwMDAwKQ0KPiA+ID4gLSNkZWZpbmUgUFJPVEVDVF9NQVNLICgweDNm
ZmZmZmZmKQ0KPiA+ID4gLSNkZWZpbmUgUFJPVEVDVChzYV9pZHgpIChTUEkySURYKHNhX2lkeCkg
JiBQUk9URUNUX01BU0spIC8qIFNBIGlkeCAzMCBiaXRzICovDQo+ID4gPiArI2RlZmluZSBESVND
QVJECUlOVkFMSURfU1BJDQo+ID4gPiArI2RlZmluZSBCWVBBU1MJVUlOVDMyX01BWA0KPiA+ID4N
Cj4gPiA+ICAgI2RlZmluZSBJUFNFQ19YRk9STV9NQVggMg0KPiA+ID4NCj4gPiA+IGRpZmYgLS1n
aXQgYS9leGFtcGxlcy9pcHNlYy1zZWNndy9zcDQuYyBiL2V4YW1wbGVzL2lwc2VjLXNlY2d3L3Nw
NC5jDQo+ID4gPiBpbmRleCBkMWRjNjRiYWQuLmJmYWRkYzUyZSAxMDA2NDQNCj4gPiA+IC0tLSBh
L2V4YW1wbGVzL2lwc2VjLXNlY2d3L3NwNC5jDQo+ID4gPiArKysgYi9leGFtcGxlcy9pcHNlYy1z
ZWNndy9zcDQuYw0KPiA+ID4gQEAgLTk5LDYgKzk5LDcgQEAgcGFyc2Vfc3A0X3Rva2VucyhjaGFy
ICoqdG9rZW5zLCB1aW50MzJfdCBuX3Rva2VucywNCj4gPiA+DQo+ID4gPiAgIAl1aW50MzJfdCAq
cmkgPSBOVUxMOyAvKiBydWxlIGluZGV4ICovDQo+ID4gPiAgIAl1aW50MzJfdCB0aSA9IDA7IC8q
IHRva2VuIGluZGV4ICovDQo+ID4gPiArCXVpbnQzMl90IHR2Ow0KPiA+ID4NCj4gPiA+ICAgCXVp
bnQzMl90IGVzcF9wID0gMDsNCj4gPiA+ICAgCXVpbnQzMl90IHByb3RlY3RfcCA9IDA7DQo+ID4g
PiBAQCAtMTY5LDggKzE3MCwxMiBAQCBwYXJzZV9zcDRfdG9rZW5zKGNoYXIgKip0b2tlbnMsIHVp
bnQzMl90IG5fdG9rZW5zLA0KPiA+ID4gICAJCQlpZiAoc3RhdHVzLT5zdGF0dXMgPCAwKQ0KPiA+
ID4gICAJCQkJcmV0dXJuOw0KPiA+ID4NCj4gPiA+IC0JCQlydWxlX2lwdjQtPmRhdGEudXNlcmRh
dGEgPQ0KPiA+ID4gLQkJCQlQUk9URUNUKGF0b2kodG9rZW5zW3RpXSkpOw0KPiA+ID4gKwkJCXR2
ID0gYXRvaSh0b2tlbnNbdGldKTsNCj4gPiA+ICsJCQlBUFBfQ0hFQ0sodHYgIT0gRElTQ0FSRCAm
JiB0diAhPSBCWVBBU1MsIHN0YXR1cywNCj4gPiA+ICsJCQkJImludmFsaWQgU1BJOiAlcyIsIHRv
a2Vuc1t0aV0pOw0KPiA+ID4gKwkJCWlmIChzdGF0dXMtPnN0YXR1cyA8IDApDQo+ID4gPiArCQkJ
CXJldHVybjsNCj4gPiA+ICsJCQlydWxlX2lwdjQtPmRhdGEudXNlcmRhdGEgPSB0djsNCj4gPiA+
DQo+ID4gPiAgIAkJCXByb3RlY3RfcCA9IDE7DQo+ID4gPiAgIAkJCWNvbnRpbnVlOw0KPiA+ID4g
QEAgLTUyMyw3ICs1MjgsNyBAQCBzcDRfc3BpX3ByZXNlbnQodWludDMyX3Qgc3BpLCBpbnQgaW5i
b3VuZCkNCj4gPiA+ICAgCX0NCj4gPiA+DQo+ID4gPiAgIAlmb3IgKGkgPSAwOyBpICE9IG51bTsg
aSsrKSB7DQo+ID4gPiAtCQlpZiAoYWNyW2ldLmRhdGEudXNlcmRhdGEgPT0gUFJPVEVDVChzcGkp
KQ0KPiA+ID4gKwkJaWYgKGFjcltpXS5kYXRhLnVzZXJkYXRhID09IHNwaSkNCj4gPiA+ICAgCQkJ
cmV0dXJuIGk7DQo+ID4gPiAgIAl9DQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL2V4YW1wbGVz
L2lwc2VjLXNlY2d3L3NwNi5jIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvc3A2LmMNCj4gPiA+IGlu
ZGV4IGU2N2Q4NWFhZi4uYjdmY2Y3YzE2IDEwMDY0NA0KPiA+ID4gLS0tIGEvZXhhbXBsZXMvaXBz
ZWMtc2VjZ3cvc3A2LmMNCj4gPiA+ICsrKyBiL2V4YW1wbGVzL2lwc2VjLXNlY2d3L3NwNi5jDQo+
ID4gPiBAQCAtMTMwLDYgKzEzMCw3IEBAIHBhcnNlX3NwNl90b2tlbnMoY2hhciAqKnRva2Vucywg
dWludDMyX3Qgbl90b2tlbnMsDQo+ID4gPg0KPiA+ID4gICAJdWludDMyX3QgKnJpID0gTlVMTDsg
LyogcnVsZSBpbmRleCAqLw0KPiA+ID4gICAJdWludDMyX3QgdGkgPSAwOyAvKiB0b2tlbiBpbmRl
eCAqLw0KPiA+ID4gKwl1aW50MzJfdCB0djsNCj4gPiA+DQo+ID4gPiAgIAl1aW50MzJfdCBlc3Bf
cCA9IDA7DQo+ID4gPiAgIAl1aW50MzJfdCBwcm90ZWN0X3AgPSAwOw0KPiA+ID4gQEAgLTIwMiw4
ICsyMDMsMTIgQEAgcGFyc2Vfc3A2X3Rva2VucyhjaGFyICoqdG9rZW5zLCB1aW50MzJfdCBuX3Rv
a2VucywNCj4gPiA+ICAgCQkJaWYgKHN0YXR1cy0+c3RhdHVzIDwgMCkNCj4gPiA+ICAgCQkJCXJl
dHVybjsNCj4gPiA+DQo+ID4gPiAtCQkJcnVsZV9pcHY2LT5kYXRhLnVzZXJkYXRhID0NCj4gPiA+
IC0JCQkJUFJPVEVDVChhdG9pKHRva2Vuc1t0aV0pKTsNCj4gPiA+ICsJCQl0diA9IGF0b2kodG9r
ZW5zW3RpXSk7DQo+ID4gPiArCQkJQVBQX0NIRUNLKHR2ICE9IERJU0NBUkQgJiYgdHYgIT0gQllQ
QVNTLCBzdGF0dXMsDQo+ID4gPiArCQkJCSJpbnZhbGlkIFNQSTogJXMiLCB0b2tlbnNbdGldKTsN
Cj4gPiA+ICsJCQlpZiAoc3RhdHVzLT5zdGF0dXMgPCAwKQ0KPiA+ID4gKwkJCQlyZXR1cm47DQo+
ID4gPiArCQkJcnVsZV9pcHY2LT5kYXRhLnVzZXJkYXRhID0gdHY7DQo+ID4gPg0KPiA+ID4gICAJ
CQlwcm90ZWN0X3AgPSAxOw0KPiA+ID4gICAJCQljb250aW51ZTsNCj4gPiA+IEBAIC02MzcsNyAr
NjQyLDcgQEAgc3A2X3NwaV9wcmVzZW50KHVpbnQzMl90IHNwaSwgaW50IGluYm91bmQpDQo+ID4g
PiAgIAl9DQo+ID4gPg0KPiA+ID4gICAJZm9yIChpID0gMDsgaSAhPSBudW07IGkrKykgew0KPiA+
ID4gLQkJaWYgKGFjcltpXS5kYXRhLnVzZXJkYXRhID09IFBST1RFQ1Qoc3BpKSkNCj4gPiA+ICsJ
CWlmIChhY3JbaV0uZGF0YS51c2VyZGF0YSA9PSBzcGkpDQo+ID4gPiAgIAkJCXJldHVybiBpOw0K
PiA+ID4gICAJfQ0KPiA+ID4NCg0K

From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by dpdk.space (Postfix) with ESMTP id 36A30A05D3
	for <public@inbox.dpdk.org>; Sat, 30 Mar 2019 12:22:34 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id C1BDC2C57;
	Sat, 30 Mar 2019 12:22:32 +0100 (CET)
Received: from mga12.intel.com (mga12.intel.com [192.55.52.136])
 by dpdk.org (Postfix) with ESMTP id 65D3E2965;
 Sat, 30 Mar 2019 12:22:31 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga005.fm.intel.com ([10.253.24.32])
 by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 30 Mar 2019 04:22:30 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.60,288,1549958400"; d="scan'208";a="333440051"
Received: from irsmsx151.ger.corp.intel.com ([163.33.192.59])
 by fmsmga005.fm.intel.com with ESMTP; 30 Mar 2019 04:22:29 -0700
Received: from irsmsx105.ger.corp.intel.com ([169.254.7.210]) by
 IRSMSX151.ger.corp.intel.com ([169.254.4.91]) with mapi id 14.03.0415.000;
 Sat, 30 Mar 2019 11:22:28 +0000
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>, Akhil Goyal
 <akhil.goyal@nxp.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: "stable@dpdk.org" <stable@dpdk.org>
Thread-Topic: [dpdk-dev] [PATCH] examples/ipsec-secgw: fix SPD no-match is
 misinterpreted
Thread-Index: AQHU5WR0j0FJr5hzE0meqNlext9dx6YicJsAgAB33MCAASFHYA==
Date: Sat, 30 Mar 2019 11:22:27 +0000
Message-ID:
 <2601191342CEEE43887BDE71AB977258013656229A@irsmsx105.ger.corp.intel.com>
References: <20190328124733.25580-1-konstantin.ananyev@intel.com>
 <aea63dff-be62-e850-abb3-e52bb04a9de7@nxp.com>
 <2601191342CEEE43887BDE71AB9772580136561F21@irsmsx105.ger.corp.intel.com>
In-Reply-To: <2601191342CEEE43887BDE71AB9772580136561F21@irsmsx105.ger.corp.intel.com>
Accept-Language: en-IE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWE4YzU5YzItMzFlZC00YjE5LTk4ZjItNGMxZWVjZDc4MWI0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiY2FhN0tXZVdoWXgwU2ZpdmIyem81Mlc1Qnk1Nnk2bjFhR0VGellRWnhhOWJWUys2SXlnRit3M0tHWlFYWm84aCJ9
x-ctpclassification: CTP_NT
dlp-product: dlpe-windows
dlp-version: 11.0.400.15
dlp-reaction: no-action
x-originating-ip: [163.33.239.181]
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [dpdk-dev] [PATCH] examples/ipsec-secgw: fix SPD no-match is
 misinterpreted
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>
Message-ID: <20190330112227.gQ1CHtnnwBbZ0A9YtQgiMpy9rm8F8oHaHFrE8orwv8A@z>

DQo+IEhpIEFraGlsLA0KPiANCj4gPg0KPiA+IE9uIDMvMjgvMjAxOSA2OjE3IFBNLCBLb25zdGFu
dGluIEFuYW55ZXYgd3JvdGU6DQo+ID4gPiBhY2xfY2xhc3NpZnkoKSByZXR1cm5zIHplcm8gdmFs
dWUgd2hlbiBubyBtYXRjaGluZyBydWxlIHdhcyBmb3VuZC4NCj4gPiA+IEN1cnJlbnRseSBpcHNl
Yy1zZWNndyB0cmVhdHMgaXQgYXMgYSB2YWxpZCBTUEkgdmFsdWUsIHRob3VnaCBpdCBoYXMNCj4g
PiA+IHRvIGRpc2NhcmQgc3VjaCBwYWNrZXRzLg0KPiA+ID4gRXJyb3IgY291bGQgYmUgZWFzaWx5
IG9ic2VydmVkIGJ5IHNlbmRpbmcgb3V0Ym91bmQgdW5tYXRjaGVkIHBhY2tldHMsDQo+ID4gPiB1
c2VyIHdpbGwgc2VlIHNvbWV0aGluZyBsaWtlIHRoYXQgaW4gdGhlIGxvZzoNCj4gPiA+IElQU0VD
OiBObyBjcnlwdG9kZXY6IGNvcmUgNywgY2lwaGVyX2FsZ28gMCwgYXV0aF9hbGdvIDAsIGFlYWRf
YWxnbyAwDQo+ID4gPg0KPiA+ID4gVG8gZml4IGl0IHdlIG5lZWQgdG8gdHJlYXQgcGFja2V0cyB3
aXRoIHplcm8gcmVzdWx0IGZyb20gYWNsX2NsYXNzaWZ5KCkNCj4gPiA+IGFzIGludmFsaWQgb25l
cy4gQWxzbyB3ZSBjYW4gY2hhbmdlIERJU0NBUkQgYW5kIEJZUEFTUyB2YWx1ZXMgdG8NCj4gPiA+
IHNpbXBsaWZ5IGNoZWNrcyBhbmQgc2F2ZSBzb21lIGV4dHJhIHNwYWNlIGZvciB2YWxpZCBTUEkg
dmFsdWVzLg0KPiA+IHNwaSB2YWx1ZSA9MCBpcyBpbnZhbGlkIGJ1dCB6ZXJvIHJlc3VsdCBtYXkg
aGF2ZSBhIHZhbGlkIHBhY2tldC4NCj4gPiBjb25zaWRlciBhIGNhc2U6DQo+ID4gU1BJID0gMTI4
IG9yIDI1NiBvciA1MTIgYW5kIHNvIG9uwqAgPT4gc2FfaWR4ID0gMCBhbmQgcmVzdWx0IHdpbGwg
Y29tZSBhcw0KPiA+IHplcm8sIGFuZCB0aGlzIHdvdWxkIGJlIGEgdmFsaWQgcGFja2V0Lg0KPiA+
DQo+ID4gSSBzZWUgdGhhdCB0aGUgc2FfaWR4wqAgY2FsY3VsYXRpb24gbG9naWMgaXMgbm90IGNv
cnJlY3QgaW4gZmlyc3QgcGxhY2UuDQo+ID4gVGhlcmUgd2lsbCBiZSBtdWx0aXBsZSBzcGkgdmFs
dWVzIGZvciBzYW1lIHNhX2lkeCB3aGljaCBpcyBub3QgY29ycmVjdC4NCj4gPiBTbyB3ZSBoYXZl
IDIgaXNzdWVzIGhlcmU6DQo+ID4gMS4gcmVzdWx0ID0gMCwgbWVhbnMgc2FfaWR4ID0wIHdoaWNo
IG1heSBiZSBjb3JyZWN0LCBidXQgYXMgeW91IHNhaWQgaWYNCj4gPiBhY2xfY2xhc3NpZnkgZmFp
bHMsIGl0IGFsc28gcmV0dXJuIDAuDQo+ID4gMi4gU1BJIHZhbHVlcyB3aGljaCBhcmUgSVBTRUNf
U0FfTUFYX0VOVFJJRVMgYXBhcnQgd2lsbCBoYXZlIHNhbWUgc2FfaWR4DQo+ID4gYW5kIHdpbGwg
a2VlcCBvbiBvdmVyd3JpdGluZyB0aGUgcHJldmlvdXMgb25lcy4NCj4gPg0KPiANCj4gT2sgSSBz
ZWUgd2hhdCB5b3UgbWVhbi4NCj4gVGhlIGVhc2llc3QgZml4IGZvciB0aGF0ICh0aWxsIHdlJ2xs
IGhhdmUgcHJvcGVyIFNBRCkgd291bGQgYmUgbm90IHRvIGFsbG93DQo+IFNQSXMgYmlnZ2VyIHRo
YW4gSVBTRUNfU0FfTUFYX0VOVFJJRVMuDQo+IEFyZSB5b3Ugb2sgd2l0aCB0aGF0Pw0KPiBLb25z
dGFudGluDQoNCkFmdGVyIGFub3RoZXIgdGhvdWdodCwgaXQgc2VlbXMgdGhhdCB3ZSBjYW4gZWFz
aWx5IG92ZXJjb21lIHRoYXQgcHJvYmxlbQ0Kd2l0aG91dCBpbnRyb2R1Y2luZyBleHRyYSBsaW1p
dGF0aW9ucyAtIGp1c3QgbmVlZCB0byBzdG9yZSAnc2FfaWR4ICsgMScgaW4gYWNsIHRhYmxlLg0K
V2lsbCBnaXZlIGl0IGEgdHJ5IHdpdGggdjIuDQpLb25zdGFudGluIA0KDQo+IA0KPiANCj4gPiBT
byBJIGJlbGlldmUgdGhlIGZpeCBpbiB0aGlzIHBhdGNoIGlzIG5vdCBlbm91Z2ggdG8gcmVzb2x2
ZSB0aGVzZQ0KPiA+IGlzc3Vlcy4gSXQgd2lsbCB3b3JrIG9uIHNvbWUgdmFsdWVzIGFuZCB3aWxs
IGJyZWFrIG9uIG90aGVyIHZhbHVlcyBvZiBzcGkuDQo+ID4NCj4gPiAtQWtoaWwNCj4gPg0KPiA+
ID4NCj4gPiA+IEZpeGVzOiA5MDYyNTdlOTY1YjcgKCJleGFtcGxlcy9pcHNlYy1zZWNndzogc3Vw
cG9ydCBJUHY2IikNCj4gPiA+IEZpeGVzOiAyYTUxMDZhZjEzMmIgKCJleGFtcGxlcy9pcHNlYy1z
ZWNndzogZml4IGNvcm5lciBjYXNlIGZvciBTUEkgdmFsdWUiKQ0KPiA+ID4gQ2M6IHN0YWJsZUBk
cGRrLm9yZw0KPiA+ID4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6IEtvbnN0YW50aW4gQW5hbnlldiA8
a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4gICBleGFtcGxl
cy9pcHNlYy1zZWNndy9pcHNlYy1zZWNndy5jIHwgMTIgKysrKysrLS0tLS0tDQo+ID4gPiAgIGV4
YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLmggICAgICAgfCAgNiArKy0tLS0NCj4gPiA+ICAgZXhh
bXBsZXMvaXBzZWMtc2VjZ3cvc3A0LmMgICAgICAgICB8IDExICsrKysrKysrLS0tDQo+ID4gPiAg
IGV4YW1wbGVzL2lwc2VjLXNlY2d3L3NwNi5jICAgICAgICAgfCAxMSArKysrKysrKy0tLQ0KPiA+
ID4gICA0IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQ0K
PiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9pcHNlYy1zZWNndy9pcHNlYy1zZWNn
dy5jIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYw0KPiA+ID4gaW5kZXggZmZi
ZDAwYjA4Li41OWUwODQyMzQgMTAwNjQ0DQo+ID4gPiAtLS0gYS9leGFtcGxlcy9pcHNlYy1zZWNn
dy9pcHNlYy1zZWNndy5jDQo+ID4gPiArKysgYi9leGFtcGxlcy9pcHNlYy1zZWNndy9pcHNlYy1z
ZWNndy5jDQo+ID4gPiBAQCAtNDM4LDExICs0MzgsMTEgQEAgaW5ib3VuZF9zcF9zYShzdHJ1Y3Qg
c3BfY3R4ICpzcCwgc3RydWN0IHNhX2N0eCAqc2EsIHN0cnVjdCB0cmFmZmljX3R5cGUgKmlwLA0K
PiA+ID4gICAJZm9yIChpID0gMDsgaSA8IGlwLT5udW07IGkrKykgew0KPiA+ID4gICAJCW0gPSBp
cC0+cGt0c1tpXTsNCj4gPiA+ICAgCQlyZXMgPSBpcC0+cmVzW2ldOw0KPiA+ID4gLQkJaWYgKHJl
cyAmIEJZUEFTUykgew0KPiA+ID4gKwkJaWYgKHJlcyA9PSBCWVBBU1MpIHsNCj4gPiA+ICAgCQkJ
aXAtPnBrdHNbaisrXSA9IG07DQo+ID4gPiAgIAkJCWNvbnRpbnVlOw0KPiA+ID4gICAJCX0NCj4g
PiA+IC0JCWlmIChyZXMgJiBESVNDQVJEKSB7DQo+ID4gPiArCQlpZiAocmVzID09IERJU0NBUkQp
IHsNCj4gPiA+ICAgCQkJcnRlX3BrdG1idWZfZnJlZShtKTsNCj4gPiA+ICAgCQkJY29udGludWU7
DQo+ID4gPiAgIAkJfQ0KPiA+ID4gQEAgLTQ1Myw3ICs0NTMsNyBAQCBpbmJvdW5kX3NwX3NhKHN0
cnVjdCBzcF9jdHggKnNwLCBzdHJ1Y3Qgc2FfY3R4ICpzYSwgc3RydWN0IHRyYWZmaWNfdHlwZSAq
aXAsDQo+ID4gPiAgIAkJCWNvbnRpbnVlOw0KPiA+ID4gICAJCX0NCj4gPiA+DQo+ID4gPiAtCQlz
YV9pZHggPSBpcC0+cmVzW2ldICYgUFJPVEVDVF9NQVNLOw0KPiA+ID4gKwkJc2FfaWR4ID0gaXAt
PnJlc1tpXTsNCj4gPiA+ICAgCQlpZiAoc2FfaWR4ID49IElQU0VDX1NBX01BWF9FTlRSSUVTIHx8
DQo+ID4gPiAgIAkJCQkhaW5ib3VuZF9zYV9jaGVjayhzYSwgbSwgc2FfaWR4KSkgew0KPiA+ID4g
ICAJCQlydGVfcGt0bWJ1Zl9mcmVlKG0pOw0KPiA+ID4gQEAgLTU0MSwxMCArNTQxLDEwIEBAIG91
dGJvdW5kX3NwKHN0cnVjdCBzcF9jdHggKnNwLCBzdHJ1Y3QgdHJhZmZpY190eXBlICppcCwNCj4g
PiA+ICAgCWogPSAwOw0KPiA+ID4gICAJZm9yIChpID0gMDsgaSA8IGlwLT5udW07IGkrKykgew0K
PiA+ID4gICAJCW0gPSBpcC0+cGt0c1tpXTsNCj4gPiA+IC0JCXNhX2lkeCA9IGlwLT5yZXNbaV0g
JiBQUk9URUNUX01BU0s7DQo+ID4gPiAtCQlpZiAoaXAtPnJlc1tpXSAmIERJU0NBUkQpDQo+ID4g
PiArCQlzYV9pZHggPSBpcC0+cmVzW2ldOw0KPiA+ID4gKwkJaWYgKHNhX2lkeCA9PSBESVNDQVJE
KQ0KPiA+ID4gICAJCQlydGVfcGt0bWJ1Zl9mcmVlKG0pOw0KPiA+ID4gLQkJZWxzZSBpZiAoaXAt
PnJlc1tpXSAmIEJZUEFTUykNCj4gPiA+ICsJCWVsc2UgaWYgKHNhX2lkeCA9PSBCWVBBU1MpDQo+
ID4gPiAgIAkJCWlwLT5wa3RzW2orK10gPSBtOw0KPiA+ID4gICAJCWVsc2UgaWYgKHNhX2lkeCA8
IElQU0VDX1NBX01BWF9FTlRSSUVTKSB7DQo+ID4gPiAgIAkJCWlwc2VjLT5yZXNbaXBzZWMtPm51
bV0gPSBzYV9pZHg7DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBz
ZWMuaCBiL2V4YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLmgNCj4gPiA+IGluZGV4IDk5ZjQ5ZDY1
Zi4uNDRkYWYzODRiIDEwMDY0NA0KPiA+ID4gLS0tIGEvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBz
ZWMuaA0KPiA+ID4gKysrIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMuaA0KPiA+ID4gQEAg
LTQxLDEwICs0MSw4IEBADQo+ID4gPiAgICNkZWZpbmUgU1BJMklEWChzcGkpIChzcGkgJiAoSVBT
RUNfU0FfTUFYX0VOVFJJRVMgLSAxKSkNCj4gPiA+ICAgI2RlZmluZSBJTlZBTElEX1NQSSAoMCkN
Cj4gPiA+DQo+ID4gPiAtI2RlZmluZSBESVNDQVJEICgweDgwMDAwMDAwKQ0KPiA+ID4gLSNkZWZp
bmUgQllQQVNTICgweDQwMDAwMDAwKQ0KPiA+ID4gLSNkZWZpbmUgUFJPVEVDVF9NQVNLICgweDNm
ZmZmZmZmKQ0KPiA+ID4gLSNkZWZpbmUgUFJPVEVDVChzYV9pZHgpIChTUEkySURYKHNhX2lkeCkg
JiBQUk9URUNUX01BU0spIC8qIFNBIGlkeCAzMCBiaXRzICovDQo+ID4gPiArI2RlZmluZSBESVND
QVJECUlOVkFMSURfU1BJDQo+ID4gPiArI2RlZmluZSBCWVBBU1MJVUlOVDMyX01BWA0KPiA+ID4N
Cj4gPiA+ICAgI2RlZmluZSBJUFNFQ19YRk9STV9NQVggMg0KPiA+ID4NCj4gPiA+IGRpZmYgLS1n
aXQgYS9leGFtcGxlcy9pcHNlYy1zZWNndy9zcDQuYyBiL2V4YW1wbGVzL2lwc2VjLXNlY2d3L3Nw
NC5jDQo+ID4gPiBpbmRleCBkMWRjNjRiYWQuLmJmYWRkYzUyZSAxMDA2NDQNCj4gPiA+IC0tLSBh
L2V4YW1wbGVzL2lwc2VjLXNlY2d3L3NwNC5jDQo+ID4gPiArKysgYi9leGFtcGxlcy9pcHNlYy1z
ZWNndy9zcDQuYw0KPiA+ID4gQEAgLTk5LDYgKzk5LDcgQEAgcGFyc2Vfc3A0X3Rva2VucyhjaGFy
ICoqdG9rZW5zLCB1aW50MzJfdCBuX3Rva2VucywNCj4gPiA+DQo+ID4gPiAgIAl1aW50MzJfdCAq
cmkgPSBOVUxMOyAvKiBydWxlIGluZGV4ICovDQo+ID4gPiAgIAl1aW50MzJfdCB0aSA9IDA7IC8q
IHRva2VuIGluZGV4ICovDQo+ID4gPiArCXVpbnQzMl90IHR2Ow0KPiA+ID4NCj4gPiA+ICAgCXVp
bnQzMl90IGVzcF9wID0gMDsNCj4gPiA+ICAgCXVpbnQzMl90IHByb3RlY3RfcCA9IDA7DQo+ID4g
PiBAQCAtMTY5LDggKzE3MCwxMiBAQCBwYXJzZV9zcDRfdG9rZW5zKGNoYXIgKip0b2tlbnMsIHVp
bnQzMl90IG5fdG9rZW5zLA0KPiA+ID4gICAJCQlpZiAoc3RhdHVzLT5zdGF0dXMgPCAwKQ0KPiA+
ID4gICAJCQkJcmV0dXJuOw0KPiA+ID4NCj4gPiA+IC0JCQlydWxlX2lwdjQtPmRhdGEudXNlcmRh
dGEgPQ0KPiA+ID4gLQkJCQlQUk9URUNUKGF0b2kodG9rZW5zW3RpXSkpOw0KPiA+ID4gKwkJCXR2
ID0gYXRvaSh0b2tlbnNbdGldKTsNCj4gPiA+ICsJCQlBUFBfQ0hFQ0sodHYgIT0gRElTQ0FSRCAm
JiB0diAhPSBCWVBBU1MsIHN0YXR1cywNCj4gPiA+ICsJCQkJImludmFsaWQgU1BJOiAlcyIsIHRv
a2Vuc1t0aV0pOw0KPiA+ID4gKwkJCWlmIChzdGF0dXMtPnN0YXR1cyA8IDApDQo+ID4gPiArCQkJ
CXJldHVybjsNCj4gPiA+ICsJCQlydWxlX2lwdjQtPmRhdGEudXNlcmRhdGEgPSB0djsNCj4gPiA+
DQo+ID4gPiAgIAkJCXByb3RlY3RfcCA9IDE7DQo+ID4gPiAgIAkJCWNvbnRpbnVlOw0KPiA+ID4g
QEAgLTUyMyw3ICs1MjgsNyBAQCBzcDRfc3BpX3ByZXNlbnQodWludDMyX3Qgc3BpLCBpbnQgaW5i
b3VuZCkNCj4gPiA+ICAgCX0NCj4gPiA+DQo+ID4gPiAgIAlmb3IgKGkgPSAwOyBpICE9IG51bTsg
aSsrKSB7DQo+ID4gPiAtCQlpZiAoYWNyW2ldLmRhdGEudXNlcmRhdGEgPT0gUFJPVEVDVChzcGkp
KQ0KPiA+ID4gKwkJaWYgKGFjcltpXS5kYXRhLnVzZXJkYXRhID09IHNwaSkNCj4gPiA+ICAgCQkJ
cmV0dXJuIGk7DQo+ID4gPiAgIAl9DQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL2V4YW1wbGVz
L2lwc2VjLXNlY2d3L3NwNi5jIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvc3A2LmMNCj4gPiA+IGlu
ZGV4IGU2N2Q4NWFhZi4uYjdmY2Y3YzE2IDEwMDY0NA0KPiA+ID4gLS0tIGEvZXhhbXBsZXMvaXBz
ZWMtc2VjZ3cvc3A2LmMNCj4gPiA+ICsrKyBiL2V4YW1wbGVzL2lwc2VjLXNlY2d3L3NwNi5jDQo+
ID4gPiBAQCAtMTMwLDYgKzEzMCw3IEBAIHBhcnNlX3NwNl90b2tlbnMoY2hhciAqKnRva2Vucywg
dWludDMyX3Qgbl90b2tlbnMsDQo+ID4gPg0KPiA+ID4gICAJdWludDMyX3QgKnJpID0gTlVMTDsg
LyogcnVsZSBpbmRleCAqLw0KPiA+ID4gICAJdWludDMyX3QgdGkgPSAwOyAvKiB0b2tlbiBpbmRl
eCAqLw0KPiA+ID4gKwl1aW50MzJfdCB0djsNCj4gPiA+DQo+ID4gPiAgIAl1aW50MzJfdCBlc3Bf
cCA9IDA7DQo+ID4gPiAgIAl1aW50MzJfdCBwcm90ZWN0X3AgPSAwOw0KPiA+ID4gQEAgLTIwMiw4
ICsyMDMsMTIgQEAgcGFyc2Vfc3A2X3Rva2VucyhjaGFyICoqdG9rZW5zLCB1aW50MzJfdCBuX3Rv
a2VucywNCj4gPiA+ICAgCQkJaWYgKHN0YXR1cy0+c3RhdHVzIDwgMCkNCj4gPiA+ICAgCQkJCXJl
dHVybjsNCj4gPiA+DQo+ID4gPiAtCQkJcnVsZV9pcHY2LT5kYXRhLnVzZXJkYXRhID0NCj4gPiA+
IC0JCQkJUFJPVEVDVChhdG9pKHRva2Vuc1t0aV0pKTsNCj4gPiA+ICsJCQl0diA9IGF0b2kodG9r
ZW5zW3RpXSk7DQo+ID4gPiArCQkJQVBQX0NIRUNLKHR2ICE9IERJU0NBUkQgJiYgdHYgIT0gQllQ
QVNTLCBzdGF0dXMsDQo+ID4gPiArCQkJCSJpbnZhbGlkIFNQSTogJXMiLCB0b2tlbnNbdGldKTsN
Cj4gPiA+ICsJCQlpZiAoc3RhdHVzLT5zdGF0dXMgPCAwKQ0KPiA+ID4gKwkJCQlyZXR1cm47DQo+
ID4gPiArCQkJcnVsZV9pcHY2LT5kYXRhLnVzZXJkYXRhID0gdHY7DQo+ID4gPg0KPiA+ID4gICAJ
CQlwcm90ZWN0X3AgPSAxOw0KPiA+ID4gICAJCQljb250aW51ZTsNCj4gPiA+IEBAIC02MzcsNyAr
NjQyLDcgQEAgc3A2X3NwaV9wcmVzZW50KHVpbnQzMl90IHNwaSwgaW50IGluYm91bmQpDQo+ID4g
PiAgIAl9DQo+ID4gPg0KPiA+ID4gICAJZm9yIChpID0gMDsgaSAhPSBudW07IGkrKykgew0KPiA+
ID4gLQkJaWYgKGFjcltpXS5kYXRhLnVzZXJkYXRhID09IFBST1RFQ1Qoc3BpKSkNCj4gPiA+ICsJ
CWlmIChhY3JbaV0uZGF0YS51c2VyZGF0YSA9PSBzcGkpDQo+ID4gPiAgIAkJCXJldHVybiBpOw0K
PiA+ID4gICAJfQ0KPiA+ID4NCg0K