Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Jun 2019 15:34:47 +0000
From:      "Scheffenegger, Richard" <Richard.Scheffenegger@netapp.com>
To:        Yu He <yuhe@vmware.com>, Gopakumar Pillai <gpillai@vmware.com>
Cc:        Lars Eggert <lars@eggert.org>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, "freebsd-transport@freebsd.org" <freebsd-transport@freebsd.org>, "Cui, Cheng" <Cheng.Cui@netapp.com>, "Yoon, Suyoung" <Suyoung.Yoon@netapp.com>
Subject:   RE: Some question about DCTCP implementation in FreeBSD
Message-ID:  <SN4PR0601MB3728854E07F4A14F58EA923486170@SN4PR0601MB3728.namprd06.prod.outlook.com>
In-Reply-To: <60507CB3-52A6-482B-BF96-36CFEEDA4B0B@eggert.org>
References:  <2F719086-68CA-46CB-AE01-40E2AAB6E964@vmware.com> <60507CB3-52A6-482B-BF96-36CFEEDA4B0B@eggert.org>

next in thread | previous in thread | raw e-mail | index | archive | help
DQpIaSBZdSBIZSwNCg0KVGhpcyBjb2RlIGlzIHNpbXBseSB1c2luZyBpbnRlZ2VyIGFyaXRobWV0
aWNzIChmbG9hdCBpcyBub3QgcmVhbGx5IHBvc3NpYmxlIGluIHRoZSBrZXJuZWwpLCBsZWZ0LXNo
aWZ0aW5nIHRoZSBmcmFjdGlvbmFsIHZhbHVlIG9mIGcgYnkgMTAyNCAoMTAgYml0cykuDQoNCk1h
eF9hbHBoYV92YWx1ZSA9IDEwMjQgaXMg4oCcMeKAnSBzaGlmdGVkIGxlZnQgYnkgMTAuDQoNCkFn
cmVlZCB0aGF0IHRoaXMgaXMgbm90IGNsZWFybHkgZG9jdW1lbnRlZCwgYW5kIEkgYmVsaWV2ZSB0
aGUgc3lzY3RsIGhhbmRsZXIgYWxzbyBpcyBub3QgcHJvcGVybHkgaW1wbGVtZW50ZWQgdG8gYWRq
dXN0IHRoaXMgdmFsdWUuDQoNCkkgdGhvdWdodCBJIGhhZCBiZWVuIHdvcmtpbmcgb24gdGhpc+KA
pg0KDQpBaCwgaGVyZSBpcyBpdC4gSSB3YXMgdHJ5aW5nIHRvIGltcGxlbWVudCB0aGUgRmx1aWQt
bW9kZWwgRENUQ1AgZm9yIG11Y2ggYmV0dGVyIFJUVCBmYWlybmVzcywgYnV0IGFwcGFyZW50bHkg
Z290IGRpc3RyYWN0ZWQgYmVmb3JlIHB1dHRpbmcgb24gYSBEaWZmLg0KRmx1aWQtbW9kZWwgRENU
Q1Agd2FzIGFuYWx5emVkIGJ5IHRoZSBvcmlnaW5hbCBhdXRob3JzIG9mIERDVENQLCBhbmQgYmFz
aWNhbGx5IGFkanVzdHMgY3duZCBmcmFjdGlvbmFsbHkgaW1tZWRpYXRlbHkgYWZ0ZXIgYSBDRSBp
cyByZWNlaXZlZCwgaW5zdGVhZCBvZiBvbmNlIGF0IHRoZSBlbmQgb2YgYSB3aW5kb3cuIFRoZSB1
cGRhdGUgdG8gQWxwaGEgaXMga2VwdCB0byBvbmNlIHBlciB3aW5kb3csIHRvIGtlZXAgdGhlIGJv
b2trZWVwaW5nIGVhc3kgYW5kIHN0cmFpZ2h0IGZvcndhcmQuDQoNCkZvciByZWZlcmVuY2UsIGhl
cmUgaXMgdGhlIHBhcnRpYWwgY29kZSBJIGNhbWUgdXAgd2l0aC4NCg0KSeKAmWxsIGJyZWFrIHRo
aXMgaW50byBhbiBpbml0aWFsIERpZmYgdG8gZml4IHRoZSBzeXNjdGwgdHVuYWJsZXMsIGFzIHNv
b24gYXMgSSBjYW4uIFdvdWxkIGFwcHJlY2lhdGUgYW55IGhlbHAgaW4gZ2V0dGluZyB0aGUgZmx1
aWQtbW9kZWwgaW1wcm92ZW1lbnQgZnVsbHkgdGVzdGVkIHRob3VnaC4NCg0KDQpbcm9vdEBmcmVl
YnNkIH4vbmV0aW5ldC9jY10jIGdpdCBkaWZmIG1hc3RlciBjY19kY3RjcC5jDQpkaWZmIC0tZ2l0
IGEvc3lzL25ldGluZXQvY2MvY2NfZGN0Y3AuYyBiL3N5cy9uZXRpbmV0L2NjL2NjX2RjdGNwLmMN
CmluZGV4IDlhZmZkMGRhMmIzLi43NzhmZjdhODQ3NyAxMDA2NDQNCi0tLSBhL3N5cy9uZXRpbmV0
L2NjL2NjX2RjdGNwLmMNCisrKyBiL3N5cy9uZXRpbmV0L2NjL2NjX2RjdGNwLmMNCkBAIC01Niw3
ICs1NiwzOCBAQCBfX0ZCU0RJRCgiJEZyZWVCU0QkIik7DQojaW5jbHVkZSA8bmV0aW5ldC9jYy9j
Yy5oPg0KI2luY2x1ZGUgPG5ldGluZXQvY2MvY2NfbW9kdWxlLmg+DQoNCi0jZGVmaW5lIE1BWF9B
TFBIQV9WQUxVRSAxMDI0DQorI2RlZmluZSBEQ1RDUF9TSElGVCAxMA0KKyNkZWZpbmUgTUFYX0FM
UEhBX1ZBTFVFIDE8PERDVENQX1NISUZUDQpWTkVUX0RFRklORV9TVEFUSUModWludDMyX3QsIGRj
dGNwX2FscGhhKSA9IDA7DQojZGVmaW5lIFZfZGN0Y3BfYWxwaGEgICAgICBWTkVUKGRjdGNwX2Fs
cGhhKQ0KVk5FVF9ERUZJTkVfU1RBVElDKHVpbnQzMl90LCBkY3RjcF9zaGlmdF9nKSA9IDQ7DQpA
QCAtNjUsMTQgKzk2LDE1IEBAIFZORVRfREVGSU5FX1NUQVRJQyh1aW50MzJfdCwgZGN0Y3Bfc2xv
d3N0YXJ0KSA9IDA7DQojZGVmaW5lICAgICAgICBWX2RjdGNwX3Nsb3dzdGFydCAgIFZORVQoZGN0
Y3Bfc2xvd3N0YXJ0KQ0KDQpzdHJ1Y3QgZGN0Y3Agew0KLSAgICAgICBpbnQgICAgIGJ5dGVzX2Vj
bjsgICAgICAvKiAjIG9mIG1hcmtlZCBieXRlcyBkdXJpbmcgYSBSVFQgKi8NCi0gICAgICAgaW50
ICAgICBieXRlc190b3RhbDsgICAgLyogIyBvZiBhY2tlZCBieXRlcyBkdXJpbmcgYSBSVFQgKi8N
Ci0gICAgICAgaW50ICAgICBhbHBoYTsgICAgICAgICAgLyogdGhlIGZyYWN0aW9uIG9mIG1hcmtl
ZCBieXRlcyAqLw0KLSAgICAgICBpbnQgICAgIGNlX3ByZXY7ICAgICAgICAvKiBDRSBzdGF0ZSBv
ZiB0aGUgbGFzdCBzZWdtZW50ICovDQotICAgICAgIGludCAgICAgc2F2ZV9zbmRueHQ7ICAgIC8q
IGVuZCBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgd2luZG93ICovDQotICAgICAgIGlu
dCAgICAgZWNlX2N1cnI7ICAgICAgIC8qIEVDRSBmbGFnIGluIHRoaXMgc2VnbWVudCAqLw0KLSAg
ICAgICBpbnQgICAgIGVjZV9wcmV2OyAgICAgICAvKiBFQ0UgZmxhZyBpbiB0aGUgbGFzdCBzZWdt
ZW50ICovDQotICAgICAgIHVpbnQzMl90ICAgIG51bV9jb25nX2V2ZW50czsgLyogIyBvZiBjb25n
ZXN0aW9uIGV2ZW50cyAqLw0KKyAgICAgICB1aW50MzJfdCBieXRlc19lY247ICAgICAvKiAjIG9m
IG1hcmtlZCBieXRlcyBkdXJpbmcgYSBSVFQgKi8NCisgICAgICAgdWludDMyX3QgYnl0ZXNfdG90
YWw7ICAgLyogIyBvZiBhY2tlZCBieXRlcyBkdXJpbmcgYSBSVFQgKi8NCisgICAgICAgaW50ICAg
ICAgYWxwaGE7ICAgICAgICAgLyogdGhlIGZyYWN0aW9uIG9mIG1hcmtlZCBieXRlcyAqLw0KKyAg
ICAgICBpbnQgICAgICBjZV9wcmV2OyAgICAgICAvKiBDRSBzdGF0ZSBvZiB0aGUgbGFzdCBzZWdt
ZW50ICovDQorICAgICAgIHRjcF9zZXEgIHNhdmVfc25kbnh0OyAgIC8qIGVuZCBzZXF1ZW5jZSBu
dW1iZXIgb2YgdGhlIGN1cnJlbnQgd2luZG93ICovDQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIFhYUk1TOiBjYW4ndCBhIHJ0dF93aW5kb3cgbWFya2VyIGluIHRjcGNiIGJlIHJl
dXNlZD8NCisgICAgICAgaW50ICAgICAgZWNlX2N1cnI7ICAgICAgLyogRUNFIGZsYWcgaW4gdGhp
cyBzZWdtZW50ICovDQorICAgICAgIGludCAgICAgIGVjZV9wcmV2OyAgICAgIC8qIEVDRSBmbGFn
IGluIHRoZSBsYXN0IHNlZ21lbnQgKi8NCisgICAgICAgdWludDMyX3QgbnVtX2NvbmdfZXZlbnRz
OyAvKiAjIG9mIGNvbmdlc3Rpb24gZXZlbnRzICovDQp9Ow0KDQpzdGF0aWMgTUFMTE9DX0RFRklO
RShNX2RjdGNwLCAiZGN0Y3AgZGF0YSIsDQpAQCAtMTA3LDYgKzEzOSw4IEBAIGRjdGNwX2Fja19y
ZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IHR5cGUpDQogICAgICAgIGludCBi
eXRlc19hY2tlZCA9IDA7DQoNCiAgICAgICAgZGN0Y3BfZGF0YSA9IGNjdi0+Y2NfZGF0YTsNCg0K
ICAgICAgICBpZiAoQ0NWKGNjdiwgdF9mbGFncykgJiBURl9FQ05fUEVSTUlUKSB7DQogICAgICAg
ICAgICAgICAgLyoNCkBAIC0xMjIsNyArMTU2LDcgQEAgZGN0Y3BfYWNrX3JlY2VpdmVkKHN0cnVj
dCBjY192YXIgKmNjdiwgdWludDE2X3QgdHlwZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIG5l
d3Jlbm9fY2NfYWxnby5hY2tfcmVjZWl2ZWQoY2N2LCB0eXBlKTsNCg0KICAgICAgICAgICAgICAg
IGlmICh0eXBlID09IENDX0RVUEFDSykNCi0gICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzX2Fj
a2VkID0gQ0NWKGNjdiwgdF9tYXhzZWcpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXNf
YWNrZWQgPSBDQ1YoY2N2LCB0X21heHNlZyk7IC8vWFhSTVM6IHRvZG8sIHVzZSBzYWNrZWQgZGF0
YT8NCg0KICAgICAgICAgICAgICAgIGlmICh0eXBlID09IENDX0FDSykNCiAgICAgICAgICAgICAg
ICAgICAgICAgIGJ5dGVzX2Fja2VkID0gY2N2LT5ieXRlc190aGlzX2FjazsNCkBAIC0xMzIsNiAr
MTY2LDcgQEAgZGN0Y3BfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDE2X3Qg
dHlwZSkNCg0KICAgICAgICAgICAgICAgIC8qIFVwZGF0ZSB0b3RhbCBtYXJrZWQgYnl0ZXMuICov
DQogICAgICAgICAgICAgICAgaWYgKGRjdGNwX2RhdGEtPmVjZV9jdXJyKSB7DQorICAgICAgICAg
ICAgICAgICAgICAgICAvLyBGbHVpZC1tb2RlbCBvZiBEQ1RDUCBmb3IgUlRUIGZhaXJuZXNzIGhl
cmUgKGFkanVzdCBjd25kIG9uIGVhY2ggQUNLLCByYXRoZXIgdGhhbiBvbmNlIHBlciB3aW5kb3cp
DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWRjdGNwX2RhdGEtPmVjZV9wcmV2DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJiYgYnl0ZXNfYWNrZWQgPiBDQ1YoY2N2LCB0X21heHNl
ZykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+Ynl0ZXNf
ZWNuICs9DQpAQCAtMTQzLDEwICsxNzgsMTMgQEAgZGN0Y3BfYWNrX3JlY2VpdmVkKHN0cnVjdCBj
Y192YXIgKmNjdiwgdWludDE2X3QgdHlwZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChk
Y3RjcF9kYXRhLT5lY2VfcHJldg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGJ5dGVz
X2Fja2VkID4gQ0NWKGNjdiwgdF9tYXhzZWcpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkY3RjcF9kYXRhLT5ieXRlc19lY24gKz0gQ0NWKGNjdiwgdF9tYXhzZWcpOw0KKy8vICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ5dGVzX2Fja2VkIC0gQ0NWKGNjdiwgdF9t
YXhzZWcpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmVjZV9wcmV2ID0g
MDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+ZWNlX2N1
cnIgPSAwOw0KDQogICAgICAgICAgICAgICAgLyoNCiAgICAgICAgICAgICAgICAgKiBVcGRhdGUg
dGhlIGZyYWN0aW9uIG9mIG1hcmtlZCBieXRlcyBhdCB0aGUgZW5kIG9mDQogICAgICAgICAgICAg
ICAgICogY3VycmVudCB3aW5kb3cgc2l6ZS4NCg0Kc3RhdGljIHZvaWQNCkBAIC0xNjUsMTggKzIw
NSwyMSBAQCBkY3RjcF9hZnRlcl9pZGxlKHN0cnVjdCBjY192YXIgKmNjdikNCnsNCiAgICAgICAg
c3RydWN0IGRjdGNwICpkY3RjcF9kYXRhOw0KDQotICAgICAgIGRjdGNwX2RhdGEgPSBjY3YtPmNj
X2RhdGE7DQorICAgICAgIGlmIChDQ1YoY2N2LCB0X2ZsYWdzKSAmIFRGX0VDTl9QRVJNSVQpIHsN
Cg0KLSAgICAgICAvKiBJbml0aWFsaXplIGludGVybmFsIHBhcmFtZXRlcnMgYWZ0ZXIgaWRsZSB0
aW1lICovDQotICAgICAgIGRjdGNwX2RhdGEtPmJ5dGVzX2VjbiA9IDA7DQotICAgICAgIGRjdGNw
X2RhdGEtPmJ5dGVzX3RvdGFsID0gMDsNCi0gICAgICAgZGN0Y3BfZGF0YS0+c2F2ZV9zbmRueHQg
PSBDQ1YoY2N2LCBzbmRfbnh0KTsNCi0gICAgICAgZGN0Y3BfZGF0YS0+YWxwaGEgPSBWX2RjdGNw
X2FscGhhOw0KLSAgICAgICBkY3RjcF9kYXRhLT5lY2VfY3VyciA9IDA7DQotICAgICAgIGRjdGNw
X2RhdGEtPmVjZV9wcmV2ID0gMDsNCi0gICAgICAgZGN0Y3BfZGF0YS0+bnVtX2NvbmdfZXZlbnRz
ID0gMDsNCisgICAgICAgICAgICAgICBkY3RjcF9kYXRhID0gY2N2LT5jY19kYXRhOw0KDQotICAg
ICAgIGRjdGNwX2NjX2FsZ28uYWZ0ZXJfaWRsZSA9IG5ld3Jlbm9fY2NfYWxnby5hZnRlcl9pZGxl
Ow0KKyAgICAgICAgICAgICAgIC8qIEluaXRpYWxpemUgaW50ZXJuYWwgcGFyYW1ldGVycyBhZnRl
ciBpZGxlIHRpbWUgKi8NCisgICAgICAgICAgICAgICBkY3RjcF9kYXRhLT5ieXRlc19lY24gPSAw
Ow0KKyAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmJ5dGVzX3RvdGFsID0gMDsNCisgICAgICAg
ICAgICAgICBkY3RjcF9kYXRhLT5zYXZlX3NuZG54dCA9IENDVihjY3YsIHNuZF9ueHQpOw0KKyAg
ICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmFscGhhID0gVl9kY3RjcF9hbHBoYSA8PCBEQ1RDUF9T
SElGVDsNCisgICAgICAgICAgICAgICBkY3RjcF9kYXRhLT5lY2VfY3VyciA9IDA7DQorICAgICAg
ICAgICAgICAgZGN0Y3BfZGF0YS0+ZWNlX3ByZXYgPSAwOw0KKyAgICAgICAgICAgICAgIGRjdGNw
X2RhdGEtPm51bV9jb25nX2V2ZW50cyA9IDA7DQorICAgICAgIH0NCisNCisgICAgICAgbmV3cmVu
b19jY19hbGdvLmFmdGVyX2lkbGUoY2N2KTsNCn0NCg0Kc3RhdGljIHZvaWQNCkBAIC0yMDksNyAr
MjUyLDcgQEAgZGN0Y3BfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YpDQogICAgICAgICAqIE5v
dGU6IERDVENQIGRyYWZ0IHN1Z2dlc3RzIGluaXRpYWwgYWxwaGEgdG8gYmUgMSBidXQgd2UndmUg
ZGVjaWRlZCB0bw0KICAgICAgICAgKiBrZWVwIGl0IDAgYXMgZGVmYXVsdC4NCiAgICAgICAgICov
DQotICAgICAgIGRjdGNwX2RhdGEtPmFscGhhID0gVl9kY3RjcF9hbHBoYTsNCisgICAgICAgZGN0
Y3BfZGF0YS0+YWxwaGEgPSBWX2RjdGNwX2FscGhhIDw8IERDVENQX1NISUZUOw0KICAgICAgICBk
Y3RjcF9kYXRhLT5zYXZlX3NuZG54dCA9IDA7DQogICAgICAgIGRjdGNwX2RhdGEtPmNlX3ByZXYg
PSAwOw0KICAgICAgICBkY3RjcF9kYXRhLT5lY2VfY3VyciA9IDA7DQpAQCAtMjI3LDYzICsyNzAs
NzMgQEAgc3RhdGljIHZvaWQNCmRjdGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwg
dWludDMyX3QgdHlwZSkNCnsNCiAgICAgICAgc3RydWN0IGRjdGNwICpkY3RjcF9kYXRhOw0KLSAg
ICAgICB1X2ludCB3aW4sIG1zczsNCisgICAgICAgdV9pbnQgY3duZCwgbXNzOw0KDQotICAgICAg
IGRjdGNwX2RhdGEgPSBjY3YtPmNjX2RhdGE7DQotICAgICAgIHdpbiA9IENDVihjY3YsIHNuZF9j
d25kKTsNCi0gICAgICAgbXNzID0gQ0NWKGNjdiwgdF9tYXhzZWcpOw0KKyAgICAgICBpZiAoQ0NW
KGNjdiwgdF9mbGFncykgJiBURl9FQ05fUEVSTUlUKSB7DQoNCi0gICAgICAgc3dpdGNoICh0eXBl
KSB7DQotICAgICAgIGNhc2UgQ0NfTkRVUEFDSzoNCi0gICAgICAgICAgICAgICBpZiAoIUlOX0ZB
U1RSRUNPVkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSkpIHsNCisgICAgICAgICAgICAgICBkY3RjcF9k
YXRhID0gY2N2LT5jY19kYXRhOw0KKyAgICAgICAgICAgICAgIGN3bmQgPSBDQ1YoY2N2LCBzbmRf
Y3duZCk7DQorICAgICAgICAgICAgICAgbXNzID0gQ0NWKGNjdiwgdF9tYXhzZWcpOw0KKw0KKyAg
ICAgICAgICAgICAgIC8vWFhSTVM6IGNoZWNrIGlmIHNlc3Npb24gaXMgRUNOLWVuYWJsZWQsIGVs
c2UgZG8gbmV3cmVubw0KKw0KKyAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZSkgew0KKyAgICAg
ICAgICAgICAgIGNhc2UgQ0NfTkRVUEFDSzoNCisgICAgICAgICAgICAgICAgICAgICAgIGlmICgh
SU5fRkFTVFJFQ09WRVJZKENDVihjY3YsIHRfZmxhZ3MpKSkgew0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoIUlOX0NPTkdSRUNPVkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSkpIHsN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfc3N0
aHJlc2gpID0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4
KGN3bmQgLyAyLCAyICogbXNzKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkY3RjcF9kYXRhLT5udW1fY29uZ19ldmVudHMrKzsNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvKiBjd25kIGhhcyBhbHJlYWR5IHVwZGF0ZWQgYXMgY29uZ2VzdGlvbg0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHJlY292ZXJ5LiBSZXZlcnNlIGN3bmQg
dmFsdWUgdXNpbmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBz
bmRfY3duZF9wcmV2IGFuZCByZWNhbGN1bGF0ZSBzbmRfc3N0aHJlc2gNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjd25kID0gQ0NWKGNjdiwgc25kX2N3bmRfcHJldik7DQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNjdiwgc25kX3NzdGhyZXNoKSA9DQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heChjd25kIC8gMiwg
MiAqIG1zcyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRU5URVJfUkVDT1ZFUlkoQ0NWKGNjdiwgdF9mbGFncykpOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
DQorICAgICAgICAgICAgICAgY2FzZSBDQ19FQ046DQorICAgICAgICAgICAgICAgICAgICAgICAv
Kg0KKyAgICAgICAgICAgICAgICAgICAgICAgICogU2F2ZSBjdXJyZW50IHNuZF9jd25kIHdoZW4g
dGhlIGhvc3QgZW5jb3VudGVycyBib3RoDQorICAgICAgICAgICAgICAgICAgICAgICAgKiBjb25n
ZXN0aW9uIHJlY292ZXJ5IGFuZCBmYXN0IHJlY292ZXJ5Lg0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICovDQorICAgICAgICAgICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfY3duZF9wcmV2KSA9
IGN3bmQ7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUlOX0NPTkdSRUNPVkVSWShDQ1Yo
Y2N2LCB0X2ZsYWdzKSkpIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNj
diwgc25kX3NzdGhyZXNoKSA9IG1zcyAqDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtYXgod2luIC8gMiAvIG1zcywgMik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChWX2RjdGNwX3Nsb3dzdGFydCAmJg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGN0Y3BfZGF0YS0+bnVtX2NvbmdfZXZlbnRzKysgPT0gMCkgew0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENDVihjY3YsIHNuZF9zc3RocmVzaCkgPQ0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgoY3duZCAvIDIs
IDIgKiBtc3MpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNw
X2RhdGEtPmFscGhhID0gTUFYX0FMUEhBX1ZBTFVFOw0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmJ5dGVzX2VjbiA9IDA7DQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+Ynl0ZXNfdG90YWwgPSAwOw0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPnNhdmVf
c25kbnh0ID0gQ0NWKGNjdiwgc25kX254dCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENDVihj
Y3YsIHNuZF9zc3RocmVzaCkgPQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtYXgoKGN3bmQgLSAoKCh1aW50NjRfdCljd25kICoNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+YWxwaGEpID4+IERDVENQX1NI
SUZUKS8yKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAq
IG1zcyk7IC8vWFhSTVM6IGRlZmluZSBtYWdpYyBudW1iZXIgZm9yIHNoaWZ0DQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIENDVihjY3YsIHNuZF9jd25kKSA9IENDVihjY3YsIHNuZF9z
c3RocmVzaCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVOVEVSX0NPTkdSRUNP
VkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSk7DQorICAgICAgICAgICAgICAgICAgICAgICB9DQorICAg
ICAgICAgICAgICAgICAgICAgICBkY3RjcF9kYXRhLT5lY2VfY3VyciA9IDE7DQorICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICBjYXNlIENDX1JUTzoNCisgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChDQ1YoY2N2LCB0X2ZsYWdzKSAmIFRGX0VDTl9QRVJNSVQp
IHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNjdiwgdF9mbGFncykgfD0g
VEZfRUNOX1NORF9DV1I7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX3Vw
ZGF0ZV9hbHBoYShjY3YpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkY3RjcF9k
YXRhLT5zYXZlX3NuZG54dCArPSBDQ1YoY2N2LCB0X21heHNlZyk7DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPm51bV9jb25nX2V2ZW50cysrOw0KLSAgICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogY3duZCBoYXMgYWxyZWFkeSB1cGRhdGVkIGFzIGNvbmdlc3Rpb24NCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICogcmVjb3ZlcnkuIFJldmVyc2UgY3duZCB2YWx1ZSB1c2luZw0K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBzbmRfY3duZF9wcmV2IGFuZCByZWNh
bGN1bGF0ZSBzbmRfc3N0aHJlc2gNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICov
DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbiA9IENDVihjY3YsIHNuZF9jd25k
X3ByZXYpOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfc3N0
aHJlc2gpID0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heCh3aW4gLyAy
IC8gbXNzLCAyKSAqIG1zczsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAg
ICAgICAgICAgICAgIEVOVEVSX1JFQ09WRVJZKENDVihjY3YsIHRfZmxhZ3MpKTsNCi0gICAgICAg
ICAgICAgICB9DQotICAgICAgICAgICAgICAgYnJlYWs7DQotICAgICAgIGNhc2UgQ0NfRUNOOg0K
LSAgICAgICAgICAgICAgIC8qDQotICAgICAgICAgICAgICAgICogU2F2ZSBjdXJyZW50IHNuZF9j
d25kIHdoZW4gdGhlIGhvc3QgZW5jb3VudGVycyBib3RoDQotICAgICAgICAgICAgICAgICogY29u
Z2VzdGlvbiByZWNvdmVyeSBhbmQgZmFzdCByZWNvdmVyeS4NCi0gICAgICAgICAgICAgICAgKi8N
Ci0gICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfY3duZF9wcmV2KSA9IHdpbjsNCi0gICAgICAg
ICAgICAgICBpZiAoIUlOX0NPTkdSRUNPVkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSkpIHsNCi0gICAg
ICAgICAgICAgICAgICAgICAgIGlmIChWX2RjdGNwX3Nsb3dzdGFydCAmJg0KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPm51bV9jb25nX2V2ZW50cysrID09IDApIHsNCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNjdiwgc25kX3NzdGhyZXNoKSA9DQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc3MgKiBtYXgod2luIC8gMiAvIG1z
cywgMik7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX2RhdGEtPmFscGhh
ID0gTUFYX0FMUEhBX1ZBTFVFOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkY3Rj
cF9kYXRhLT5ieXRlc19lY24gPSAwOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
Y3RjcF9kYXRhLT5ieXRlc190b3RhbCA9IDA7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRjdGNwX2RhdGEtPnNhdmVfc25kbnh0ID0gQ0NWKGNjdiwgc25kX254dCk7DQotICAgICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Q0NWKGNjdiwgc25kX3NzdGhyZXNoKSA9IG1heCgod2luIC0gKCh3aW4gKg0KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+YWxwaGEpID4+IDExKSkgLyBtc3Ms
IDIpICogbXNzOw0KLSAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNjdiwgc25kX2N3bmQpID0g
Q0NWKGNjdiwgc25kX3NzdGhyZXNoKTsNCi0gICAgICAgICAgICAgICAgICAgICAgIEVOVEVSX0NP
TkdSRUNPVkVSWShDQ1YoY2N2LCB0X2ZsYWdzKSk7DQotICAgICAgICAgICAgICAgfQ0KLSAgICAg
ICAgICAgICAgIGRjdGNwX2RhdGEtPmVjZV9jdXJyID0gMTsNCi0gICAgICAgICAgICAgICBicmVh
azsNCi0gICAgICAgY2FzZSBDQ19SVE86DQotICAgICAgICAgICAgICAgaWYgKENDVihjY3YsIHRf
ZmxhZ3MpICYgVEZfRUNOX1BFUk1JVCkgew0KLSAgICAgICAgICAgICAgICAgICAgICAgQ0NWKGNj
diwgdF9mbGFncykgfD0gVEZfRUNOX1NORF9DV1I7DQotICAgICAgICAgICAgICAgICAgICAgICBk
Y3RjcF91cGRhdGVfYWxwaGEoY2N2KTsNCi0gICAgICAgICAgICAgICAgICAgICAgIGRjdGNwX2Rh
dGEtPnNhdmVfc25kbnh0ICs9IENDVihjY3YsIHRfbWF4c2VnKTsNCi0gICAgICAgICAgICAgICAg
ICAgICAgIGRjdGNwX2RhdGEtPm51bV9jb25nX2V2ZW50cysrOw0KKyAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgIGJyZWFrOw0K
LSAgICAgICB9DQorICAgICAgIH0gZWxzZQ0KKyAgICAgICAgICAgICAgIG5ld3Jlbm9fY2NfYWxn
by5uZXdyZW5vX2Nvbmdfc2lnbmFsKGNjdiwgdHlwZSk7DQp9DQoNCnN0YXRpYyB2b2lkDQpAQCAt
MzAzLDcgKzM1Niw3IEBAIGRjdGNwX2Nvbm5faW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YpDQpzdGF0
aWMgdm9pZA0KZGN0Y3BfcG9zdF9yZWNvdmVyeShzdHJ1Y3QgY2NfdmFyICpjY3YpDQp7DQotICAg
ICAgIGRjdGNwX2NjX2FsZ28ucG9zdF9yZWNvdmVyeSA9IG5ld3Jlbm9fY2NfYWxnby5wb3N0X3Jl
Y292ZXJ5Ow0KKyAgICAgICBuZXdyZW5vX2NjX2FsZ28ucG9zdF9yZWNvdmVyeShjY3YpOw0KDQog
ICAgICAgIGlmIChDQ1YoY2N2LCB0X2ZsYWdzKSAmIFRGX0VDTl9QRVJNSVQpDQogICAgICAgICAg
ICAgICAgZGN0Y3BfdXBkYXRlX2FscGhhKGNjdik7DQpAQCAtMzI4LDkgKzM4MSwxMiBAQCBkY3Rj
cF9lY25wa3RfaGFuZGxlcihzdHJ1Y3QgY2NfdmFyICpjY3YpDQogICAgICAgIGNjZmxhZyA9IGNj
di0+ZmxhZ3M7DQogICAgICAgIGRlbGF5X2FjayA9IDE7DQoNCiAgICAgICAgLyoNCi0gICAgICAg
ICogRENUQ1AgcmVzcG9uc2VzIGFuIEFDSyBpbW1lZGlhdGVseSB3aGVuIHRoZSBDRSBzdGF0ZQ0K
LSAgICAgICAgKiBpbiBiZXR3ZWVuIHRoaXMgc2VnbWVudCBhbmQgdGhlIGxhc3Qgc2VnbWVudCBp
cyBub3Qgc2FtZS4NCisgICAgICAgICogRENUQ1AgcmVzcG9uZHMgd2l0aCBhbiBBQ0sgaW1tZWRp
YXRlbHkgd2hlbiB0aGUgQ0Ugc3RhdGUNCisgICAgICAgICogaW4gYmV0d2VlbiB0aGlzIHNlZ21l
bnQgYW5kIHRoZSBsYXN0IHNlZ21lbnQgaGFzIGNoYW5nZWQuDQogICAgICAgICAqLw0KICAgICAg
ICBpZiAoY2NmbGFnICYgQ0NGX0lQSERSX0NFKSB7DQogICAgICAgICAgICAgICAgaWYgKCFkY3Rj
cF9kYXRhLT5jZV9wcmV2ICYmIChjY2ZsYWcgJiBDQ0ZfREVMQUNLKSkNCkBAIC0zNTAsOCArNDA2
LDExIEBAIGRjdGNwX2VjbnBrdF9oYW5kbGVyKHN0cnVjdCBjY192YXIgKmNjdikNCg0KICAgICAg
ICBpZiAoZGVsYXlfYWNrID09IDApDQogICAgICAgICAgICAgICAgY2N2LT5mbGFncyB8PSBDQ0Zf
QUNLTk9XOw0KLSAgICAgICBlbHNlDQotICAgICAgICAgICAgICAgY2N2LT5mbGFncyAmPSB+Q0NG
X0FDS05PVzsNCisvLyAgICAgZWxzZQ0KKy8vICAgICAgICAgICAgIGNjdi0+ZmxhZ3MgJj0gfkND
Rl9BQ0tOT1c7IC8vWFhSTVM6IHNob3VsZG4ndCB3ZSBsZWF2ZSB0aGlzIGFsb25lIGhlcmU/DQp9
DQoNCi8qDQpAQCAtMzY2LDcgKzQyNSw4IEBAIGRjdGNwX3VwZGF0ZV9hbHBoYShzdHJ1Y3QgY2Nf
dmFyICpjY3YpDQoNCiAgICAgICAgZGN0Y3BfZGF0YSA9IGNjdi0+Y2NfZGF0YTsNCiAgICAgICAg
YWxwaGFfcHJldiA9IGRjdGNwX2RhdGEtPmFscGhhOw0KLSAgICAgICBkY3RjcF9kYXRhLT5ieXRl
c190b3RhbCA9IG1heChkY3RjcF9kYXRhLT5ieXRlc190b3RhbCwgMSk7DQorICAgICAgIGlmIChk
Y3RjcF9kYXRhLT5ieXRlc190b3RhbCA8IDEpDQorICAgICAgICAgICAgICAgZGN0Y3BfZGF0YS0+
Ynl0ZXNfdG90YWwgPSAxOw0KDQogICAgICAgIC8qDQogICAgICAgICAqIFVwZGF0ZSBhbHBoYTog
YWxwaGEgPSAoMSAtIGcpICogYWxwaGEgKyBnICogRi4NCkBAIC0zNzksOCArNDM5LDggQEAgZGN0
Y3BfdXBkYXRlX2FscGhhKHN0cnVjdCBjY192YXIgKmNjdikNCiAgICAgICAgICogICAgICB1cGRh
dGVkIGV2ZXJ5IFJUVA0KICAgICAgICAgKiBBbHBoYSBtdXN0IGJlIHJvdW5kIHRvIDAgLSBNQVhf
QUxQSEFfVkFMVUUuDQogICAgICAgICAqLw0KLSAgICAgICBkY3RjcF9kYXRhLT5hbHBoYSA9IG1p
bihhbHBoYV9wcmV2IC0gKGFscGhhX3ByZXYgPj4gVl9kY3RjcF9zaGlmdF9nKSArDQotICAgICAg
ICAgICAoZGN0Y3BfZGF0YS0+Ynl0ZXNfZWNuIDw8ICgxMCAtIFZfZGN0Y3Bfc2hpZnRfZykpIC8N
CisgICAgICAgZGN0Y3BfZGF0YS0+YWxwaGEgPSB1bG1pbihhbHBoYV9wcmV2IC0gKGFscGhhX3By
ZXYgPj4gVl9kY3RjcF9zaGlmdF9nKSArDQorICAgICAgICAgICAoKHVpbnQ2NF90KWRjdGNwX2Rh
dGEtPmJ5dGVzX2VjbiA8PCAoRENUQ1BfU0hJRlQgLSBWX2RjdGNwX3NoaWZ0X2cpKSAvDQogICAg
ICAgICAgICBkY3RjcF9kYXRhLT5ieXRlc190b3RhbCwgTUFYX0FMUEhBX1ZBTFVFKTsNCg0KICAg
ICAgICAvKiBJbml0aWFsaXplIGludGVybmFsIHBhcmFtZXRlcnMgZm9yIG5leHQgYWxwaGEgY2Fs
Y3VsYXRpb24gKi8NCkBAIC0zOTgsMTQgKzQ1OCwxMCBAQCBkY3RjcF9hbHBoYV9oYW5kbGVyKFNZ
U0NUTF9IQU5ETEVSX0FSR1MpDQogICAgICAgIG5ldyA9IFZfZGN0Y3BfYWxwaGE7DQogICAgICAg
IGVycm9yID0gc3lzY3RsX2hhbmRsZV9pbnQob2lkcCwgJm5ldywgMCwgcmVxKTsNCiAgICAgICAg
aWYgKGVycm9yID09IDAgJiYgcmVxLT5uZXdwdHIgIT0gTlVMTCkgew0KLSAgICAgICAgICAgICAg
IGlmIChuZXcgPiAxKQ0KKyAgICAgICAgICAgICAgIGlmIChuZXcgPiAxKSAvL1hYUk1TOiB0aGlz
IG9ubHkgZWZmZWN0aXZlbHkgYWxsb3dzIGRjdGNwX2FscGhhIHRvIGJlIHNldCB0byAwIG9yIDE/
DQogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IEVJTlZBTDsNCi0gICAgICAgICAgICAg
ICBlbHNlIHsNCi0gICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXcgPiBNQVhfQUxQSEFfVkFM
VUUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZfZGN0Y3BfYWxwaGEgPSBNQVhf
QUxQSEFfVkFMVUU7DQotICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFZfZGN0Y3BfYWxwaGEgPSBuZXc7DQotICAgICAgICAgICAgICAg
fQ0KKyAgICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgICAgICAgIFZfZGN0Y3Bf
YWxwaGEgPSBuZXc7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gKGVycm9yKTsNCkBAIC00
MjAsMTAgKzQ3NiwxNSBAQCBkY3RjcF9zaGlmdF9nX2hhbmRsZXIoU1lTQ1RMX0hBTkRMRVJfQVJH
UykNCiAgICAgICAgbmV3ID0gVl9kY3RjcF9zaGlmdF9nOw0KICAgICAgICBlcnJvciA9IHN5c2N0
bF9oYW5kbGVfaW50KG9pZHAsICZuZXcsIDAsIHJlcSk7DQogICAgICAgIGlmIChlcnJvciA9PSAw
ICYmIHJlcS0+bmV3cHRyICE9IE5VTEwpIHsNCi0gICAgICAgICAgICAgICBpZiAobmV3ID4gMSkN
CisgICAgICAgICAgICAgICBpZiAobmV3IDwgMCkgLy9YWFJNUzogZGl0dG8NCiAgICAgICAgICAg
ICAgICAgICAgICAgIGVycm9yID0gRUlOVkFMOw0KLSAgICAgICAgICAgICAgIGVsc2UNCi0gICAg
ICAgICAgICAgICAgICAgICAgIFZfZGN0Y3Bfc2hpZnRfZyA9IG5ldzsNCisgICAgICAgICAgICAg
ICBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXcgPiBEQ1RDUF9TSElGVCkg
ew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWX2RjdGNwX3NoaWZ0X2cgPSBEQ1RD
UF9TSElGVDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBFSU5WQUw7
DQorICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVl9kY3RjcF9zaGlmdF9nID0gbmV3Ow0KKyAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgfQ0KDQogICAgICAgIHJldHVybiAoZXJyb3IpOw0KQEAgLTQzOCw3ICs0OTksNyBAQCBkY3Rj
cF9zbG93c3RhcnRfaGFuZGxlcihTWVNDVExfSEFORExFUl9BUkdTKQ0KICAgICAgICBuZXcgPSBW
X2RjdGNwX3Nsb3dzdGFydDsNCiAgICAgICAgZXJyb3IgPSBzeXNjdGxfaGFuZGxlX2ludChvaWRw
LCAmbmV3LCAwLCByZXEpOw0KICAgICAgICBpZiAoZXJyb3IgPT0gMCAmJiByZXEtPm5ld3B0ciAh
PSBOVUxMKSB7DQotICAgICAgICAgICAgICAgaWYgKG5ldyA+IDEpDQorICAgICAgICAgICAgICAg
aWYgKChuZXcgPiAxKSB8fCAobmV3IDwgMCkpDQogICAgICAgICAgICAgICAgICAgICAgICBlcnJv
ciA9IEVJTlZBTDsNCiAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAg
ICBWX2RjdGNwX3Nsb3dzdGFydCA9IG5ldzsNCkBAIC00NTQsNyArNTE1LDcgQEAgU1lTQ1RMX05P
REUoX25ldF9pbmV0X3RjcF9jYywgT0lEX0FVVE8sIGRjdGNwLCBDVExGTEFHX1JXLCBOVUxMLA0K
U1lTQ1RMX1BST0MoX25ldF9pbmV0X3RjcF9jY19kY3RjcCwgT0lEX0FVVE8sIGFscGhhLA0KICAg
ICBDVExGTEFHX1ZORVR8Q1RMVFlQRV9VSU5UfENUTEZMQUdfUlcsICZWTkVUX05BTUUoZGN0Y3Bf
YWxwaGEpLCAwLA0KICAgICAmZGN0Y3BfYWxwaGFfaGFuZGxlciwNCi0gICAgIklVIiwgImRjdGNw
IGFscGhhIHBhcmFtZXRlciIpOw0KKyAgICAiSVUiLCAiZGN0Y3AgYWxwaGEgcGFyYW1ldGVyIGF0
IHN0YXJ0IG9mIHNlc3Npb24iKTsNCg0KU1lTQ1RMX1BST0MoX25ldF9pbmV0X3RjcF9jY19kY3Rj
cCwgT0lEX0FVVE8sIHNoaWZ0X2csDQogICAgIENUTEZMQUdfVk5FVHxDVExUWVBFX1VJTlR8Q1RM
RkxBR19SVywgJlZORVRfTkFNRShkY3RjcF9zaGlmdF9nKSwgNCwNCg0KDQpSaWNoYXJkIFNjaGVm
ZmVuZWdnZXINCg0KDQpCZWdpbiBmb3J3YXJkZWQgbWVzc2FnZToNCg0KRnJvbTogWXUgSGUgdmlh
IGZyZWVic2QtbmV0IDxmcmVlYnNkLW5ldEBmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1uZXRA
ZnJlZWJzZC5vcmc+Pg0KU3ViamVjdDogU29tZSBxdWVzdGlvbiBhYm91dCBEQ1RDUCBpbXBsZW1l
bnRhdGlvbiBpbiBGcmVlQlNEDQpEYXRlOiBKdW5lIDQsIDIwMTkgYXQgMTE6MDU6MzQgUERUDQpU
bzogImZyZWVic2QtbmV0QGZyZWVic2Qub3JnPG1haWx0bzpmcmVlYnNkLW5ldEBmcmVlYnNkLm9y
Zz4iIDxmcmVlYnNkLW5ldEBmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1uZXRAZnJlZWJzZC5v
cmc+Pg0KQ2M6IEdvcGFrdW1hciBQaWxsYWkgPGdwaWxsYWlAdm13YXJlLmNvbTxtYWlsdG86Z3Bp
bGxhaUB2bXdhcmUuY29tPj4NClJlcGx5LVRvOiBZdSBIZSA8eXVoZUB2bXdhcmUuY29tPG1haWx0
bzp5dWhlQHZtd2FyZS5jb20+Pg0KDQpHcmVldGluZ3MhDQoNCknigJltIGEgZ3JhZHVhdGUgc3R1
ZGVudCBmcm9tIENhcm5lZ2llIE1lbGxvbiBVbml2ZXJzaXR5LCBhbmQgY3VycmVudGx5IGFuIGlu
dGVybiBpbiBWTXdhcmUuIEnigJltIG5vdyB3b3JraW5nIG9uIHNvbWUgaW50ZXJuYWwgcHJvamVj
dCBhYm91dCBpbXBsZW1lbnRpbmcgRENUQ1AgYWxnb3JpdGhtIGFuZCBjb21pbmcgYWNyb3NzIHRo
ZSBpbXBsZW1lbnRhdGlvbiBpbiBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvclMyNzcwNTQu
IFRoZXJlIGlzIG9uZSB0aGluZyBJ4oCZbSBxdWl0ZSBjdXJpb3VzIGFib3V0Lg0KDQpJbiBsaW5l
IDM4NyBvZiBmaWxlIGNjX3RjcC5jLCB0aGUgdXBkYXRlIG9mIGFscGhhIGlzIGNhbGN1bGF0ZWQg
YnkgZm9sbG93aW5nIGNvZGU6DQoNCiAgICBkY3RjcF9kYXRhLT5hbHBoYSA9IG1pbihhbHBoYV9w
cmV2IC0gKGFscGhhX3ByZXYgPj4gVl9kY3RjcF9zaGlmdF9nKSArDQogICAgICAgIChkY3RjcF9k
YXRhLT5ieXRlc19lY24gPDwgKDEwIC0gVl9kY3RjcF9zaGlmdF9nKSkgLw0KICAgICAgICBkY3Rj
cF9kYXRhLT5ieXRlc190b3RhbCwgTUFYX0FMUEhBX1ZBTFVFKTsNCg0KQXMgdGhlIHVwZGF0ZSBm
b3JtdWxhIGZyb20gdGhlIG9yaWdpbmFsIHBhcGVyIGlzIGFscGhhID0gKDEgLSBnKSAqIGFscGhh
ICsgZyAqIEYsIEnigJltIHdhbmRlcmluZyBhYm91dCB3aGF0IHRoZSBpbnRlbnRpb24gaXMgb2Yg
dXNpbmcgbGVmdC1zaGlmdCB3aGVuIGNhbGN1bGF0aW5nIHRoZSBnICogRiBwYXJ0LCB3aGljaCBt
aWdodCBzZWVtaW5nbHkgbXVsdGlwbHlpbmcgdGhlIHZhbHVlIHJhdGhlciB0aGFuIGRpdmlkaW5n
IGl0IGFzIHN1Z2dlc3RlZCBieSB0aGUgcHJldmlvdXMgY29kZS4gTGV0IGFsb25lIHRoZSBvcGVy
YW5kICgxMCAtICAgVl9kY3RjcF9zaGlmdF9nKSBtaWdodCBiZSBhIG5lZ2F0aXZlIHZhbHVlLCB3
aGljaCB3aWxsIGxlYWQgdG8gYW4gdW5kZWZpbmVkIGJlaGF2aW9yIGluIEMuDQoNCkJlY2F1c2Ug
dGhpcyBpcyB0aGUgdmVyeSBjZW50cmFsIGZvcm11bGEgb2YgRENUQ1AgYWxnb3JpdGhtLCBJ4oCZ
bSBmZWVsaW5nIGl0IG5lY2Vzc2FyeSB0byBoYXZlIGFuIGV4cGxhbmF0aW9uIGZyb20gdGhlIG9y
aWdpbmFsIGF1dGhvcnMuDQoNCk9yIGlmIGluIGFub3RoZXIgd2F5IHRoaXMgaXMgYWN0dWFsbHkg
YSBidWcsIEnigJltIHdpbGxpbmcgdG8gaW1wcm92ZSBpdC4NCg0KQmVzdCwNCg0KWXUgSGUNCklu
dGVybi1Qcm9kdWN0IERldmVsb3BtZW50LU5TQlUsDQpWTXdhcmUNCg0KTWFzdGVyIG9mIFNjaWVu
Y2UsIEluZm9ybWF0aW9uIE5ldHdvcmtpbmcsDQpDYXJuZWdpZSBNZWxsb24gVW5pdmVyc2l0eQ0K
DQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCmZy
ZWVic2QtbmV0QGZyZWVic2Qub3JnPG1haWx0bzpmcmVlYnNkLW5ldEBmcmVlYnNkLm9yZz4gbWFp
bGluZyBsaXN0DQpodHRwczovL2xpc3RzLmZyZWVic2Qub3JnL21haWxtYW4vbGlzdGluZm8vZnJl
ZWJzZC1uZXQNClRvIHVuc3Vic2NyaWJlLCBzZW5kIGFueSBtYWlsIHRvICJmcmVlYnNkLW5ldC11
bnN1YnNjcmliZUBmcmVlYnNkLm9yZzxtYWlsdG86ZnJlZWJzZC1uZXQtdW5zdWJzY3JpYmVAZnJl
ZWJzZC5vcmc+Ig0KDQo=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?SN4PR0601MB3728854E07F4A14F58EA923486170>