Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 May 2019 14:34:39 +0000
From:      "aleksandr.fedorov_itglobal.com (Aleksandr Fedorov)" <phabric-noreply@FreeBSD.org>
To:        Phabricator <phabric-noreply@FreeBSD.org>
Cc:        freebsd-virtualization@freebsd.org
Subject:   [Differential] D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch.
Message-ID:  <34e11a5257a2061af845c7a4494c134d@localhost.localdomain>
In-Reply-To: <differential-rev-PHID-DREV-pueoqfdkfh54jyuh6emz-req@reviews.freebsd.org>
References:  <differential-rev-PHID-DREV-pueoqfdkfh54jyuh6emz-req@reviews.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--b1_34e11a5257a2061af845c7a4494c134d
Content-Type: text/plain; charset = "utf-8"
Content-Transfer-Encoding: base64

YWxla3NhbmRyLmZlZG9yb3ZfaXRnbG9iYWwuY29tIHVwZGF0ZWQgdGhpcyByZXZpc2lvbiB0byBE
aWZmIDU3NzY5LgphbGVrc2FuZHIuZmVkb3Jvdl9pdGdsb2JhbC5jb20gYWRkZWQgYSBjb21tZW50
LgoKCiAgQ2hhbmdlIHItPmN1ciB0byByLT5oZWFkIGluIFJYIHBhdGgKCkNIQU5HRVMgU0lOQ0Ug
TEFTVCBVUERBVEUKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDIwMjc2P3ZzPTU3NTc3
JmlkPTU3NzY5CgpDSEFOR0VTIFNJTkNFIExBU1QgQUNUSU9OCiAgaHR0cHM6Ly9yZXZpZXdzLmZy
ZWVic2Qub3JnL0QyMDI3Ni9uZXcvCgpSRVZJU0lPTiBERVRBSUwKICBodHRwczovL3Jldmlld3Mu
ZnJlZWJzZC5vcmcvRDIwMjc2CgpBRkZFQ1RFRCBGSUxFUwogIHVzci5zYmluL2JoeXZlL3BjaV92
aXJ0aW9fbmV0LmMKCkVNQUlMIFBSRUZFUkVOQ0VTCiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qu
b3JnL3NldHRpbmdzL3BhbmVsL2VtYWlscHJlZmVyZW5jZXMvCgpUbzogYWxla3NhbmRyLmZlZG9y
b3ZfaXRnbG9iYWwuY29tLCAjYmh5dmUsIGpoYiwgcmdyaW1lcywga3Jpb24sIHYubWFmZmlvbmVf
Z21haWwuY29tCkNjOiBtaXpoa2FfZ21haWwuY29tLCBub3ZlbCwgb2xldm9sZV9vbGV2b2xlLnJ1
LCBmcmVlYnNkLXZpcnR1YWxpemF0aW9uLWxpc3QsIGV2Z3VlbmkuZ2F2cmlsb3ZfaXRnbG9iYWwu
Y29tLCBiY3Jhbgo=

--b1_34e11a5257a2061af845c7a4494c134d
Content-Type: text/x-patch; charset=utf-8; name="D20276.57769.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="D20276.57769.patch"

ZGlmZiAtLWdpdCBhL3Vzci5zYmluL2JoeXZlL3BjaV92aXJ0aW9fbmV0LmMgYi91c3Iuc2Jpbi9i
aHl2ZS9wY2lfdmlydGlvX25ldC5jCi0tLSBhL3Vzci5zYmluL2JoeXZlL3BjaV92aXJ0aW9fbmV0
LmMKKysrIGIvdXNyLnNiaW4vYmh5dmUvcGNpX3ZpcnRpb19uZXQuYwpAQCAtNzMsNiArNzMsOCBA
QAogCiAjZGVmaW5lIFZUTkVUX01BWFNFR1MJMjU2CiAKKyNkZWZpbmUgVlRORVRfTUlOX0FWQUlM
X0RFU0MJNjQKKwogLyoKICAqIEhvc3QgY2FwYWJpbGl0aWVzLiAgTm90ZSB0aGF0IHdlIG9ubHkg
b2ZmZXIgYSBmZXcgb2YgdGhlc2UuCiAgKi8KQEAgLTM5Miw4NSArMzk0LDEwNyBAQAogfQogCiBz
dGF0aWMgX19pbmxpbmUgaW50Ci1wY2lfdnRuZXRfbmV0bWFwX3dyaXRldihzdHJ1Y3Qgbm1fZGVz
YyAqbm1kLCBzdHJ1Y3QgaW92ZWMgKmlvdiwgaW50IGlvdmNudCkKK3BjaV92dG5ldF9uZXRtYXBf
d3JpdGV2KHN0cnVjdCBubV9kZXNjICpubWQsIHN0cnVjdCBpb3ZlYyAqaW92LCBpbnQgaW92Y250
LCBpbnQgaW92c2l6ZSkKIHsKLQlpbnQgciwgaTsKLQlpbnQgbGVuID0gMDsKKwljaGFyICpidWY7
CisJaW50IGk7CisJaW50IGZyYWdfc2l6ZTsKKwlpbnQgaW92X29mZjsKKwlpbnQgbGVuOworCWlu
dCBubV9vZmY7CisJaW50IG5tX2J1Zl9zaXplOwogCi0JZm9yIChyID0gbm1kLT5jdXJfdHhfcmlu
ZzsgOyApIHsKLQkJc3RydWN0IG5ldG1hcF9yaW5nICpyaW5nID0gTkVUTUFQX1RYUklORyhubWQt
Pm5pZnAsIHIpOwotCQl1aW50MzJfdCBjdXIsIGlkeDsKLQkJY2hhciAqYnVmOworCXN0cnVjdCBu
ZXRtYXBfcmluZyAqcmluZyA9IE5FVE1BUF9UWFJJTkcobm1kLT5uaWZwLCBubWQtPmN1cl90eF9y
aW5nKTsKIAotCQlpZiAobm1fcmluZ19lbXB0eShyaW5nKSkgewotCQkJcisrOwotCQkJaWYgKHIg
PiBubWQtPmxhc3RfdHhfcmluZykKLQkJCQlyID0gbm1kLT5maXJzdF90eF9yaW5nOwotCQkJaWYg
KHIgPT0gbm1kLT5jdXJfdHhfcmluZykKLQkJCQlicmVhazsKLQkJCWNvbnRpbnVlOworCWlmICgo
bm1fcmluZ19zcGFjZShyaW5nKSAqIHJpbmctPm5yX2J1Zl9zaXplKSA8IGlvdnNpemUpIHsKKwkJ
LyoKKwkJICogTm8gbW9yZSBhdmFpbCBzcGFjZSBpbiBUWCByaW5nLCB0cnkgdG8gZmx1c2ggaXQu
CisJCSAqLworCQlpb2N0bChubWQtPmZkLCBOSU9DVFhTWU5DLCBOVUxMKTsKKwkJcmV0dXJuICgw
KTsKKwl9CisKKwlpID0gcmluZy0+Y3VyOworCWJ1ZiA9IE5FVE1BUF9CVUYocmluZywgcmluZy0+
c2xvdFtpXS5idWZfaWR4KTsKKwlpb3Zfb2ZmID0gMDsKKwlsZW4gPSBpb3ZzaXplOworCW5tX2J1
Zl9zaXplID0gcmluZy0+bnJfYnVmX3NpemU7CisJbm1fb2ZmID0gMDsKKworCXdoaWxlIChpb3Zz
aXplKSB7CisKKwkJaWYgKHVubGlrZWx5KGlvdl9vZmYgPT0gaW92LT5pb3ZfbGVuKSkgeworCQkJ
aW92Kys7CisJCQlpb3Zfb2ZmID0gMDsKIAkJfQotCQljdXIgPSByaW5nLT5jdXI7Ci0JCWlkeCA9
IHJpbmctPnNsb3RbY3VyXS5idWZfaWR4OwotCQlidWYgPSBORVRNQVBfQlVGKHJpbmcsIGlkeCk7
CiAKLQkJZm9yIChpID0gMDsgaSA8IGlvdmNudDsgaSsrKSB7Ci0JCQlpZiAobGVuICsgaW92W2ld
Lmlvdl9sZW4gPiAyMDQ4KQotCQkJCWJyZWFrOwotCQkJbWVtY3B5KCZidWZbbGVuXSwgaW92W2ld
Lmlvdl9iYXNlLCBpb3ZbaV0uaW92X2xlbik7Ci0JCQlsZW4gKz0gaW92W2ldLmlvdl9sZW47CisJ
CWlmICh1bmxpa2VseShubV9vZmYgPT0gbm1fYnVmX3NpemUpKSB7CisJCQlyaW5nLT5zbG90W2ld
LmZsYWdzID0gTlNfTU9SRUZSQUc7CisJCQlpID0gbm1fcmluZ19uZXh0KHJpbmcsIGkpOworCQkJ
YnVmID0gTkVUTUFQX0JVRihyaW5nLCByaW5nLT5zbG90W2ldLmJ1Zl9pZHgpOworCQkJbm1fb2Zm
ID0gMDsKIAkJfQotCQlyaW5nLT5zbG90W2N1cl0ubGVuID0gbGVuOwotCQlyaW5nLT5oZWFkID0g
cmluZy0+Y3VyID0gbm1fcmluZ19uZXh0KHJpbmcsIGN1cik7Ci0JCW5tZC0+Y3VyX3R4X3Jpbmcg
PSByOwotCQlpb2N0bChubWQtPmZkLCBOSU9DVFhTWU5DLCBOVUxMKTsKLQkJYnJlYWs7CisKKwkJ
ZnJhZ19zaXplID0gTUlOKG5tX2J1Zl9zaXplIC0gbm1fb2ZmLCBpb3YtPmlvdl9sZW4gLSBpb3Zf
b2ZmKTsKKwkJbWVtY3B5KGJ1ZiArIG5tX29mZiwgaW92LT5pb3ZfYmFzZSArIGlvdl9vZmYsIGZy
YWdfc2l6ZSk7CisKKwkJaW92c2l6ZSAtPSBmcmFnX3NpemU7CisJCWlvdl9vZmYgKz0gZnJhZ19z
aXplOworCQlubV9vZmYgKz0gZnJhZ19zaXplOworCisJCXJpbmctPnNsb3RbaV0ubGVuID0gbm1f
b2ZmOwogCX0KIAorCS8qIFRoZSBsYXN0IHNsb3QgbXVzdCBub3QgaGF2ZSBOU19NT1JFRlJBRyBz
ZXQuICovCisJcmluZy0+c2xvdFtpXS5mbGFncyAmPSB+TlNfTU9SRUZSQUc7CisJcmluZy0+aGVh
ZCA9IHJpbmctPmN1ciA9IG5tX3JpbmdfbmV4dChyaW5nLCBpKTsKKwlpb2N0bChubWQtPmZkLCBO
SU9DVFhTWU5DLCBOVUxMKTsKKwogCXJldHVybiAobGVuKTsKIH0KIAogc3RhdGljIF9faW5saW5l
IGludAotcGNpX3Z0bmV0X25ldG1hcF9yZWFkdihzdHJ1Y3Qgbm1fZGVzYyAqbm1kLCBzdHJ1Y3Qg
aW92ZWMgKmlvdiwgaW50IGlvdmNudCkKK3BjaV92dG5ldF9uZXRtYXBfcmVhZHYoc3RydWN0IG5t
X2Rlc2MgKm5tZCwgc3RydWN0IGlvdmVjICppb3YsIGludCBpb3ZjbnQsIGludCBpb3ZzaXplKQog
ewotCWludCBsZW4gPSAwOwotCWludCBpID0gMDsKLQlpbnQgcjsKKwljaGFyICpidWY7CisJaW50
IGk7CisJaW50IGlvdl9vZmY7CisJaW50IGZyYWdfc2l6ZTsKKwlpbnQgbGVuOworCWludCBubV9v
ZmY7CiAKLQlmb3IgKHIgPSBubWQtPmN1cl9yeF9yaW5nOyA7ICkgewotCQlzdHJ1Y3QgbmV0bWFw
X3JpbmcgKnJpbmcgPSBORVRNQVBfUlhSSU5HKG5tZC0+bmlmcCwgcik7Ci0JCXVpbnQzMl90IGN1
ciwgaWR4OwotCQljaGFyICpidWY7Ci0JCXNpemVfdCBsZWZ0OworCXN0cnVjdCBuZXRtYXBfcmlu
ZyAqciA9IE5FVE1BUF9SWFJJTkcobm1kLT5uaWZwLCBubWQtPmN1cl9yeF9yaW5nKTsKIAotCQlp
ZiAobm1fcmluZ19lbXB0eShyaW5nKSkgewotCQkJcisrOwotCQkJaWYgKHIgPiBubWQtPmxhc3Rf
cnhfcmluZykKLQkJCQlyID0gbm1kLT5maXJzdF9yeF9yaW5nOwotCQkJaWYgKHIgPT0gbm1kLT5j
dXJfcnhfcmluZykKLQkJCQlicmVhazsKLQkJCWNvbnRpbnVlOworCWkgPSByLT5oZWFkOworCWJ1
ZiA9IE5FVE1BUF9CVUYociwgci0+c2xvdFtpXS5idWZfaWR4KTsKKwlpb3Zfb2ZmID0gMDsKKwlu
bV9vZmYgPSAwOworCWxlbiA9IGlvdnNpemU7CisKKwl3aGlsZSAoaW92c2l6ZSkgeworCisJCWlm
ICh1bmxpa2VseShpb3Zfb2ZmID09IGlvdi0+aW92X2xlbikpIHsKKwkJCWlvdisrOworCQkJaW92
X29mZiA9IDA7CiAJCX0KLQkJY3VyID0gcmluZy0+Y3VyOwotCQlpZHggPSByaW5nLT5zbG90W2N1
cl0uYnVmX2lkeDsKLQkJYnVmID0gTkVUTUFQX0JVRihyaW5nLCBpZHgpOwotCQlsZWZ0ID0gcmlu
Zy0+c2xvdFtjdXJdLmxlbjsKIAotCQlmb3IgKGkgPSAwOyBpIDwgaW92Y250ICYmIGxlZnQgPiAw
OyBpKyspIHsKLQkJCWlmIChpb3ZbaV0uaW92X2xlbiA+IGxlZnQpCi0JCQkJaW92W2ldLmlvdl9s
ZW4gPSBsZWZ0OwotCQkJbWVtY3B5KGlvdltpXS5pb3ZfYmFzZSwgJmJ1ZltsZW5dLCBpb3ZbaV0u
aW92X2xlbik7Ci0JCQlsZW4gKz0gaW92W2ldLmlvdl9sZW47Ci0JCQlsZWZ0IC09IGlvdltpXS5p
b3ZfbGVuOworCQlpZiAodW5saWtlbHkobm1fb2ZmID09IHItPnNsb3RbaV0ubGVuKSkgeworCQkJ
aSA9IG5tX3JpbmdfbmV4dChyLCBpKTsKKwkJCWJ1ZiA9IE5FVE1BUF9CVUYociwgci0+c2xvdFtp
XS5idWZfaWR4KTsKKwkJCW5tX29mZiA9IDA7CiAJCX0KLQkJcmluZy0+aGVhZCA9IHJpbmctPmN1
ciA9IG5tX3JpbmdfbmV4dChyaW5nLCBjdXIpOwotCQlubWQtPmN1cl9yeF9yaW5nID0gcjsKLQkJ
aW9jdGwobm1kLT5mZCwgTklPQ1JYU1lOQywgTlVMTCk7Ci0JCWJyZWFrOworCisJCWZyYWdfc2l6
ZSA9IE1JTihyLT5zbG90W2ldLmxlbiAtIG5tX29mZiwgaW92LT5pb3ZfbGVuIC0gaW92X29mZik7
CisJCW1lbWNweShpb3YtPmlvdl9iYXNlICsgaW92X29mZiwgYnVmICsgbm1fb2ZmLCBmcmFnX3Np
emUpOworCisJCWlvdnNpemUgLT0gZnJhZ19zaXplOworCQlpb3Zfb2ZmICs9IGZyYWdfc2l6ZTsK
KwkJbm1fb2ZmICs9IGZyYWdfc2l6ZTsKIAl9Ci0JZm9yICg7IGkgPCBpb3ZjbnQ7IGkrKykKLQkJ
aW92W2ldLmlvdl9sZW4gPSAwOwogCisJci0+aGVhZCA9IHItPmN1ciA9IG5tX3JpbmdfbmV4dChy
LCBpKTsKKwlpb2N0bChubWQtPmZkLCBOSU9DUlhTWU5DLCBOVUxMKTsKKwogCXJldHVybiAobGVu
KTsKIH0KIApAQCAtNDgxLDMyICs1MDUsMTAyIEBACiBwY2lfdnRuZXRfbmV0bWFwX3R4KHN0cnVj
dCBwY2lfdnRuZXRfc29mdGMgKnNjLCBzdHJ1Y3QgaW92ZWMgKmlvdiwgaW50IGlvdmNudCwKIAkJ
ICAgIGludCBsZW4pCiB7Ci0Jc3RhdGljIGNoYXIgcGFkWzYwXTsgLyogYWxsIHplcm8gYnl0ZXMg
Ki8KLQogCWlmIChzYy0+dnNjX25tZCA9PSBOVUxMKQogCQlyZXR1cm47CiAKLQkvKgotCSAqIElm
IHRoZSBsZW5ndGggaXMgPCA2MCwgcGFkIG91dCB0byB0aGF0IGFuZCBhZGQgdGhlCi0JICogZXh0
cmEgemVybydkIHNlZ21lbnQgdG8gdGhlIGlvdi4gSXQgaXMgZ3VhcmFudGVlZCB0aGF0Ci0JICog
dGhlcmUgaXMgYWx3YXlzIGFuIGV4dHJhIGlvdiBhdmFpbGFibGUgYnkgdGhlIGNhbGxlci4KLQkg
Ki8KLQlpZiAobGVuIDwgNjApIHsKLQkJaW92W2lvdmNudF0uaW92X2Jhc2UgPSBwYWQ7Ci0JCWlv
dltpb3ZjbnRdLmlvdl9sZW4gPSA2MCAtIGxlbjsKLQkJaW92Y250Kys7CisJKHZvaWQpIHBjaV92
dG5ldF9uZXRtYXBfd3JpdGV2KHNjLT52c2Nfbm1kLCBpb3YsIGlvdmNudCwgbGVuKTsKK30KKwor
c3RhdGljIF9faW5saW5lIGludAordnFfYXZhaWxfdG9faW92ZWMoc3RydWN0IHZxdWV1ZV9pbmZv
ICp2cSwgc3RydWN0IGlvdmVjICppb3YsIGludCBsZW4sIGludCBzdGFydCwKKwkJaW50IG1pbmF2
YWlsKQoreworCWludCBpZHg7CisJdWludDE2X3QgbWFzayA9IHZxLT52cV9xc2l6ZSAtIDE7CisJ
dm9sYXRpbGUgc3RydWN0IHZpcnRpb19kZXNjICp2ZGlyOworCXN0cnVjdCB2bWN0eCAqY3R4ID0g
dnEtPnZxX3ZzLT52c19waS0+cGlfdm1jdHg7CisKKwl1aW50MTZfdCBuZGVzYyA9ICh1aW50MTZf
dCkodnEtPnZxX2F2YWlsLT52YV9pZHggLSB2cS0+dnFfbGFzdF9hdmFpbCAtIHN0YXJ0KTsKKwor
CWlmIChuZGVzYyA8IG1pbmF2YWlsKQorCQlyZXR1cm4gKDApOworCisJaW50IG9mZiA9IDA7CisJ
aW50IHVpZHggPSB2cS0+dnFfdXNlZC0+dnVfaWR4ICsgc3RhcnQ7CisKKwlmb3IgKGludCBpID0g
MDsgaSA8IG5kZXNjOyBpKyspIHsKKwkJaWR4ID0gdnEtPnZxX2F2YWlsLT52YV9yaW5nWyh2cS0+
dnFfbGFzdF9hdmFpbCArIGkgKyAgc3RhcnQpICYgbWFza107CisJCXZkaXIgPSAmdnEtPnZxX2Rl
c2NbaWR4XTsKKworCQlpb3ZbaV0uaW92X2Jhc2UgPSBwYWRkcl9ndWVzdDJob3N0KGN0eCwgCisJ
CQkJdmRpci0+dmRfYWRkciwgdmRpci0+dmRfbGVuKTsKKwkJaW92W2ldLmlvdl9sZW4gPSB2ZGly
LT52ZF9sZW47CisKKwkJb2ZmICs9IHZkaXItPnZkX2xlbjsKKworCQl2cS0+dnFfdXNlZC0+dnVf
cmluZ1t1aWR4ICYgbWFza10udnVfaWR4ID0gaWR4OworCQl2cS0+dnFfdXNlZC0+dnVfcmluZ1t1
aWR4ICYgbWFza10udnVfdGxlbiA9IAorCQkJKG9mZiA+PSBsZW4pID8gdmRpci0+dmRfbGVuIC0g
KG9mZiAtIGxlbikgOiB2ZGlyLT52ZF9sZW47CisKKwkJdWlkeCsrOworCisJCWlmIChvZmYgPj0g
bGVuKSB7CisJCQlyZXR1cm4gKGkgKyAxKTsKKwkJfQogCX0KLQkodm9pZCkgcGNpX3Z0bmV0X25l
dG1hcF93cml0ZXYoc2MtPnZzY19ubWQsIGlvdiwgaW92Y250KTsKKworCXJldHVybiAoMCk7CiB9
CiAKK3N0YXRpYyBfX2lubGluZSB2b2lkCit2cV9pbmNfdXNlZF9pZHhfYW5kX2xhc3RfYXZhaWwo
c3RydWN0IHZxdWV1ZV9pbmZvICp2cSwgaW50IG4pCit7CisJaWYgKG4gPiAwKSB7CisJCXZxLT52
cV9sYXN0X2F2YWlsICs9IG47CisJCXZxLT52cV91c2VkLT52dV9pZHggKz0gbjsKKwl9Cit9CisK
K3N0YXRpYyBfX2lubGluZSBpbnQKK25ldG1hcF9uZXh0X3BrdF9sZW4oc3RydWN0IG5tX2Rlc2Mg
Km5tZCkKK3sKKwlpbnQgaTsKKwlpbnQgbGVuOworCXN0cnVjdCBuZXRtYXBfcmluZyAqciA9IE5F
VE1BUF9SWFJJTkcobm1kLT5uaWZwLCBubWQtPmN1cl9yeF9yaW5nKTsKKworCWxlbiA9IDA7CisK
Kwlmb3IgKGkgPSByLT5oZWFkOyBpICE9IHItPnRhaWw7IGkgPSBubV9yaW5nX25leHQociwgaSkp
IHsKKwkJbGVuICs9IHItPnNsb3RbaV0ubGVuOworCQlpZiAoIShyLT5zbG90W2ldLmZsYWdzICYg
TlNfTU9SRUZSQUcpKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIChsZW4pOworfQorCitzdGF0
aWMgX19pbmxpbmUgdm9pZAorbmV0bWFwX2Ryb3BfcGt0KHN0cnVjdCBubV9kZXNjICpubWQpCit7
CisJaW50IGk7CisJc3RydWN0IG5ldG1hcF9yaW5nICpyID0gTkVUTUFQX1JYUklORyhubWQtPm5p
ZnAsIG5tZC0+Y3VyX3J4X3JpbmcpOworCisJZm9yIChpID0gci0+aGVhZDsgaSAhPSByLT50YWls
OyBpID0gbm1fcmluZ19uZXh0KHIsIGkpKSB7CisJCWlmICghKHItPnNsb3RbaV0uZmxhZ3MgJiBO
U19NT1JFRlJBRykpIHsKKwkJCXItPmhlYWQgPSByLT5jdXIgPSBubV9yaW5nX25leHQociwgaSk7
CisJCQlyZXR1cm47CisJCX0KKwl9Cit9CisKIHN0YXRpYyB2b2lkCiBwY2lfdnRuZXRfbmV0bWFw
X3J4KHN0cnVjdCBwY2lfdnRuZXRfc29mdGMgKnNjKQogewotCXN0cnVjdCBpb3ZlYyBpb3ZbVlRO
RVRfTUFYU0VHU10sICpyaW92OworCXN0cnVjdCBpb3ZlYyBpb3ZbVlRORVRfUklOR1NaXSwgKnJp
b3Y7CiAJc3RydWN0IHZxdWV1ZV9pbmZvICp2cTsKLQl2b2lkICp2cng7Ci0JaW50IGxlbiwgbjsK
LQl1aW50MTZfdCBpZHg7CisJaW50IGxlbjsKKwlpbnQgbjsKKwlpbnQgdXNlZDsKIAogCS8qCiAJ
ICogU2hvdWxkIG5ldmVyIGJlIGNhbGxlZCB3aXRob3V0IGEgdmFsaWQgbmV0bWFwIGRlc2NyaXB0
b3IKQEAgLTUxNywxMSArNjExLDExIEBACiAJICogQnV0LCB3aWxsIGJlIGNhbGxlZCB3aGVuIHRo
ZSByeCByaW5nIGhhc24ndCB5ZXQKIAkgKiBiZWVuIHNldCB1cCBvciB0aGUgZ3Vlc3QgaXMgcmVz
ZXR0aW5nIHRoZSBkZXZpY2UuCiAJICovCi0JaWYgKCFzYy0+dnNjX3J4X3JlYWR5IHx8IHNjLT5y
ZXNldHRpbmcpIHsKKwlpZiAodW5saWtlbHkoKCFzYy0+dnNjX3J4X3JlYWR5IHx8IHNjLT5yZXNl
dHRpbmcpKSkgewogCQkvKgogCQkgKiBEcm9wIHRoZSBwYWNrZXQgYW5kIHRyeSBsYXRlci4KIAkJ
ICovCi0JCSh2b2lkKSBubV9uZXh0cGt0KHNjLT52c2Nfbm1kLCAodm9pZCAqKWR1bW15YnVmKTsK
KwkJbmV0bWFwX2Ryb3BfcGt0KHNjLT52c2Nfbm1kKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtNTI5
LDYzICs2MjMsNTQgQEAKIAkgKiBDaGVjayBmb3IgYXZhaWxhYmxlIHJ4IGJ1ZmZlcnMKIAkgKi8K
IAl2cSA9ICZzYy0+dnNjX3F1ZXVlc1tWVE5FVF9SWFFdOwotCWlmICghdnFfaGFzX2Rlc2NzKHZx
KSkgeworCWlmICh1bmxpa2VseSghdnFfaGFzX2Rlc2NzKHZxKSkpIHsKIAkJLyoKIAkJICogRHJv
cCB0aGUgcGFja2V0IGFuZCB0cnkgbGF0ZXIuICBJbnRlcnJ1cHQgb24KIAkJICogZW1wdHksIGlm
IHRoYXQncyBuZWdvdGlhdGVkLgogCQkgKi8KLQkJKHZvaWQpIG5tX25leHRwa3Qoc2MtPnZzY19u
bWQsICh2b2lkICopZHVtbXlidWYpOworCQluZXRtYXBfZHJvcF9wa3Qoc2MtPnZzY19ubWQpOwog
CQl2cV9lbmRjaGFpbnModnEsIDEpOwogCQlyZXR1cm47CiAJfQogCisJdXNlZCA9IDA7CisKIAlk
byB7Ci0JCS8qCi0JCSAqIEdldCBkZXNjcmlwdG9yIGNoYWluLgotCQkgKi8KLQkJbiA9IHZxX2dl
dGNoYWluKHZxLCAmaWR4LCBpb3YsIFZUTkVUX01BWFNFR1MsIE5VTEwpOwotCQlhc3NlcnQobiA+
PSAxICYmIG4gPD0gVlRORVRfTUFYU0VHUyk7CisJCWxlbiA9IG5ldG1hcF9uZXh0X3BrdF9sZW4o
c2MtPnZzY19ubWQpOwogCi0JCS8qCi0JCSAqIEdldCBhIHBvaW50ZXIgdG8gdGhlIHJ4IGhlYWRl
ciwgYW5kIHVzZSB0aGUKLQkJICogZGF0YSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgaXQgZm9yIHRo
ZSBwYWNrZXQgYnVmZmVyLgotCQkgKi8KLQkJdnJ4ID0gaW92WzBdLmlvdl9iYXNlOwotCQlyaW92
ID0gcnhfaW92X3RyaW0oaW92LCAmbiwgc2MtPnJ4X3ZoZHJsZW4pOworCQlpZiAodW5saWtlbHko
bGVuID09IDApKSB7CisJCQl2cV9pbmNfdXNlZF9pZHhfYW5kX2xhc3RfYXZhaWwodnEsIHVzZWQp
OworCQkJdnFfZW5kY2hhaW5zKHZxLCAwKTsKKwkJCXJldHVybjsKKwkJfQogCi0JCWxlbiA9IHBj
aV92dG5ldF9uZXRtYXBfcmVhZHYoc2MtPnZzY19ubWQsIHJpb3YsIG4pOworCQluID0gdnFfYXZh
aWxfdG9faW92ZWModnEsIGlvdiwgbGVuICsgc2MtPnJ4X3ZoZHJsZW4sIHVzZWQsCisJCQkJVlRO
RVRfTUlOX0FWQUlMX0RFU0MpOwogCi0JCWlmIChsZW4gPT0gMCkgewotCQkJLyoKLQkJCSAqIE5v
IG1vcmUgcGFja2V0cywgYnV0IHN0aWxsIHNvbWUgYXZhaWwgcmluZwotCQkJICogZW50cmllcy4g
IEludGVycnVwdCBpZiBuZWVkZWQvYXBwcm9wcmlhdGUuCi0JCQkgKi8KLQkJCXZxX3JldGNoYWlu
KHZxKTsKKwkJaWYgKHVubGlrZWx5KG4gPT0gMCkpIHsKKwkJCXZxX2luY191c2VkX2lkeF9hbmRf
bGFzdF9hdmFpbCh2cSwgdXNlZCk7CiAJCQl2cV9lbmRjaGFpbnModnEsIDApOwogCQkJcmV0dXJu
OwogCQl9CiAKLQkJLyoKLQkJICogVGhlIG9ubHkgdmFsaWQgZmllbGQgaW4gdGhlIHJ4IHBhY2tl
dCBoZWFkZXIgaXMgdGhlCi0JCSAqIG51bWJlciBvZiBidWZmZXJzIGlmIG1lcmdlZCByeCBidWZz
IHdlcmUgbmVnb3RpYXRlZC4KLQkJICovCi0JCW1lbXNldCh2cngsIDAsIHNjLT5yeF92aGRybGVu
KTsKLQogCQlpZiAoc2MtPnJ4X21lcmdlKSB7Ci0JCQlzdHJ1Y3QgdmlydGlvX25ldF9yeGhkciAq
dnJ4aDsKLQotCQkJdnJ4aCA9IHZyeDsKLQkJCXZyeGgtPnZyaF9idWZzID0gMTsKKwkJCXN0cnVj
dCB2aXJ0aW9fbmV0X3J4aGRyICp2cnhoID0gaW92WzBdLmlvdl9iYXNlOworCQkJbWVtc2V0KHZy
eGgsIDAsIHNjLT5yeF92aGRybGVuKTsKKwkJCXZyeGgtPnZyaF9idWZzID0gbjsKIAkJfQogCi0J
CS8qCi0JCSAqIFJlbGVhc2UgdGhpcyBjaGFpbiBhbmQgaGFuZGxlIG1vcmUgY2hhaW5zLgotCQkg
Ki8KLQkJdnFfcmVsY2hhaW4odnEsIGlkeCwgbGVuICsgc2MtPnJ4X3ZoZHJsZW4pOworCQlyaW92
ID0gcnhfaW92X3RyaW0oaW92LCAmbiwgc2MtPnJ4X3ZoZHJsZW4pOworCisJCSh2b2lkKXBjaV92
dG5ldF9uZXRtYXBfcmVhZHYoc2MtPnZzY19ubWQsIHJpb3YsIG4sIGxlbik7CisKKwkJdXNlZCAr
PSBuOworCiAJfSB3aGlsZSAodnFfaGFzX2Rlc2NzKHZxKSk7CiAKLQkvKiBJbnRlcnJ1cHQgaWYg
bmVlZGVkLCBpbmNsdWRpbmcgZm9yIE5PVElGWV9PTl9FTVBUWS4gKi8KKwl2cV9pbmNfdXNlZF9p
ZHhfYW5kX2xhc3RfYXZhaWwodnEsIHVzZWQpOwogCXZxX2VuZGNoYWlucyh2cSwgMSk7CisKKwly
ZXR1cm47CiB9CiAKIHN0YXRpYyB2b2lkCgo=


--b1_34e11a5257a2061af845c7a4494c134d--



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