Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Jun 2019 12:15:59 +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:  <566772461613bcba5301f3eceff592e0@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_566772461613bcba5301f3eceff592e0
Content-Type: text/plain; charset = "utf-8"
Content-Transfer-Encoding: base64

YWxla3NhbmRyLmZlZG9yb3ZfaXRnbG9iYWwuY29tIHVwZGF0ZWQgdGhpcyByZXZpc2lvbiB0byBE
aWZmIDU4MzU3LgphbGVrc2FuZHIuZmVkb3Jvdl9pdGdsb2JhbC5jb20gYWRkZWQgYSBjb21tZW50
LgoKCiAgUmVuYW1lIHZxX2dldF9tcmdyeF9idWZzKCkgdG8gdnFfZ2V0YnVmc19tcmdyeCgpIGFu
ZCB2cV9yZWxjaGFpbl9tcmdyeCgpIHRvIHZxX3JlbGJ1ZnNfbXJncngoKSB0byB0byBjb3JyZXNw
b25kaW5nIG92ZXJhbGwgc3R5bGUuCgpDSEFOR0VTIFNJTkNFIExBU1QgVVBEQVRFCiAgaHR0cHM6
Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QyMDI3Nj92cz01ODM1MyZpZD01ODM1NwoKQ0hBTkdFUyBT
SU5DRSBMQVNUIEFDVElPTgogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMjAyNzYvbmV3
LwoKUkVWSVNJT04gREVUQUlMCiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QyMDI3NgoK
QUZGRUNURUQgRklMRVMKICB1c3Iuc2Jpbi9iaHl2ZS9wY2lfdmlydGlvX25ldC5jCiAgdXNyLnNi
aW4vYmh5dmUvdmlydGlvLmMKICB1c3Iuc2Jpbi9iaHl2ZS92aXJ0aW8uaAoKRU1BSUwgUFJFRkVS
RU5DRVMKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvc2V0dGluZ3MvcGFuZWwvZW1haWxw
cmVmZXJlbmNlcy8KClRvOiBhbGVrc2FuZHIuZmVkb3Jvdl9pdGdsb2JhbC5jb20sICNiaHl2ZSwg
amhiLCByZ3JpbWVzLCBrcmlvbiwgdi5tYWZmaW9uZV9nbWFpbC5jb20KQ2M6IG1ncm9vbXNfc2hy
ZXcubmV0LCBtaXpoa2FfZ21haWwuY29tLCBub3ZlbCwgb2xldm9sZV9vbGV2b2xlLnJ1LCBmcmVl
YnNkLXZpcnR1YWxpemF0aW9uLWxpc3QsIGV2Z3VlbmkuZ2F2cmlsb3ZfaXRnbG9iYWwuY29tLCBi
Y3Jhbgo=

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

ZGlmZiAtLWdpdCBhL3Vzci5zYmluL2JoeXZlL3ZpcnRpby5oIGIvdXNyLnNiaW4vYmh5dmUvdmly
dGlvLmgKLS0tIGEvdXNyLnNiaW4vYmh5dmUvdmlydGlvLmgKKysrIGIvdXNyLnNiaW4vYmh5dmUv
dmlydGlvLmgKQEAgLTQ1Nyw4ICs0NTcsMTIgQEAKIAogaW50CXZxX2dldGNoYWluKHN0cnVjdCB2
cXVldWVfaW5mbyAqdnEsIHVpbnQxNl90ICpwaWR4LAogCQkgICAgc3RydWN0IGlvdmVjICppb3Ys
IGludCBuX2lvdiwgdWludDE2X3QgKmZsYWdzKTsKK2ludAl2cV9nZXRidWZzX21yZ3J4KHN0cnVj
dCB2cXVldWVfaW5mbyAqdnEsIHN0cnVjdCBpb3ZlYyAqaW92LAorCQkJaW50IG5faW92LCBpbnQg
bGVuLCBzdHJ1Y3QgdmlydGlvX3VzZWQgKnVzZWQsIGludCAqdV9jbnQpOwogdm9pZAl2cV9yZXRj
aGFpbihzdHJ1Y3QgdnF1ZXVlX2luZm8gKnZxKTsKIHZvaWQJdnFfcmVsY2hhaW4oc3RydWN0IHZx
dWV1ZV9pbmZvICp2cSwgdWludDE2X3QgaWR4LCB1aW50MzJfdCBpb2xlbik7Cit2b2lkCXZxX3Jl
bGJ1ZnNfbXJncngoc3RydWN0IHZxdWV1ZV9pbmZvICp2cSwgaW50IG5idWZzLCAKKwkJCXN0cnVj
dCB2aXJ0aW9fdXNlZCAqdXNlZCk7CiB2b2lkCXZxX2VuZGNoYWlucyhzdHJ1Y3QgdnF1ZXVlX2lu
Zm8gKnZxLCBpbnQgdXNlZF9hbGxfYXZhaWwpOwogCiB1aW50NjRfdCB2aV9wY2lfcmVhZChzdHJ1
Y3Qgdm1jdHggKmN0eCwgaW50IHZjcHUsIHN0cnVjdCBwY2lfZGV2aW5zdCAqcGksCmRpZmYgLS1n
aXQgYS91c3Iuc2Jpbi9iaHl2ZS92aXJ0aW8uYyBiL3Vzci5zYmluL2JoeXZlL3ZpcnRpby5jCi0t
LSBhL3Vzci5zYmluL2JoeXZlL3ZpcnRpby5jCisrKyBiL3Vzci5zYmluL2JoeXZlL3ZpcnRpby5j
CkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSA8cHRocmVhZF9ucC5oPgogCiAjaW5jbHVkZSAi
Ymh5dmVydW4uaCIKKyNpbmNsdWRlICJpb3YuaCIKICNpbmNsdWRlICJwY2lfZW11bC5oIgogI2lu
Y2x1ZGUgInZpcnRpby5oIgogCkBAIC0zODEsNiArMzgyLDU2IEBACiAJcmV0dXJuICgtMSk7CiB9
CiAKK2ludAl2cV9nZXRidWZzX21yZ3J4KHN0cnVjdCB2cXVldWVfaW5mbyAqdnEsIHN0cnVjdCBp
b3ZlYyAqaW92LAorCQlpbnQgbl9pb3YsIGludCBsZW4sIHN0cnVjdCB2aXJ0aW9fdXNlZCAqdXNl
ZCwgaW50ICp1X2NudCkKK3sKKwl1aW50MTZfdCBpZHg7CisJaW50IGksIGlvdl9sZW47CisJaW50
IGJ1ZnMsIGxhc3RfYXZhaWxfc2F2ZWQsIG47CisJaW50IHRvdGFsX2xlbjsKKworCWkgPSAwOwor
CWJ1ZnMgPSAwOworCXRvdGFsX2xlbiA9IDA7CisKKwkvKgorCSAqIHZxX2dldGNoYWluKCkgaW5j
cmVtZW50IHRoZSBsYXN0IGF2YWlsIGluZGV4LgorCSAqIFNhdmUgaXQgdG8gcmVzdG9yZSBpZiB0
aGVyZSBhcmUgbm8gZW5vdWdoIGJ1ZmZlcnMgdG8gc3RvcmUgcGFja2V0LgorCSAqLworCWxhc3Rf
YXZhaWxfc2F2ZWQgPSB2cS0+dnFfbGFzdF9hdmFpbDsKKwl3aGlsZSAoMSkgeworCQluID0gdnFf
Z2V0Y2hhaW4odnEsICZpZHgsICZpb3ZbaV0sIG5faW92IC0gaSwgTlVMTCk7CisKKwkJaWYgKG4g
PD0gMCkgeworCQkJLyogUmVzdG9yZSB0aGUgbGFzdCBhdmFpbCBpbmRleC4gKi8KKwkJCXZxLT52
cV9sYXN0X2F2YWlsID0gbGFzdF9hdmFpbF9zYXZlZDsKKwkJCSp1X2NudCA9IDA7CisJCQlyZXR1
cm4gKG4pOworCQl9CisKKwkJaW92X2xlbiA9IGNvdW50X2lvdigmaW92W2ldLCBuKTsKKwkJaSAr
PSBuOworCQl0b3RhbF9sZW4gKz0gaW92X2xlbjsKKworCQl1c2VkW2J1ZnNdLnZ1X2lkeCA9IGlk
eDsKKworCQlpZiAodG90YWxfbGVuIDwgbGVuKSB7CisJCQl1c2VkW2J1ZnNdLnZ1X3RsZW4gPSBp
b3ZfbGVuOworCQkJYnVmcysrOworCQl9IGVsc2UgeworCQkJdXNlZFtidWZzXS52dV90bGVuID0g
aW92X2xlbiAtICh0b3RhbF9sZW4gLSBsZW4pOworCQkJYnVmcysrOworCQkJYnJlYWs7CisJCX0K
KworCX07CisKKwkqdV9jbnQgPSBidWZzOworCisJcmV0dXJuIGk7CisKK30KKwogLyoKICAqIFJl
dHVybiB0aGUgY3VycmVudGx5LWZpcnN0IHJlcXVlc3QgY2hhaW4gYmFjayB0byB0aGUgYXZhaWxh
YmxlIHF1ZXVlLgogICoKQEAgLTQzMCw2ICs0ODEsMzkgQEAKIAkgKiBFbnN1cmUgdGhlIHVzZWQg
ZGVzY3JpcHRvciBpcyB2aXNpYmxlIGJlZm9yZSB1cGRhdGluZyB0aGUgaW5kZXguCiAJICogVGhp
cyBpcyBuZWNlc3Nhcnkgb24gSVNBcyB3aXRoIG1lbW9yeSBvcmRlcmluZyBsZXNzIHN0cmljdCB0
aGFuIHg4Ni4KIAkgKi8KKwlhdG9taWNfdGhyZWFkX2ZlbmNlX3JlbCgpOworCXZ1aC0+dnVfaWR4
ID0gdWlkeDsKK30KKworLyoKKyAqIFJldHVybiBzcGVjaWZpZWQgbWVyZ2VkIHJ4IGJ1ZmZlcnMg
dG8gdGhlIGd1ZXN0LCBzZXR0aW5nIGl0cyBJL08gbGVuZ3RoLgorICovCit2b2lkCit2cV9yZWxi
dWZzX21yZ3J4KHN0cnVjdCB2cXVldWVfaW5mbyAqdnEsIGludCBuYnVmcywgc3RydWN0IHZpcnRp
b191c2VkICp1c2VkKQoreworCWludCBpOworCXVpbnQxNl90IHVpZHgsIG1hc2s7CisJdm9sYXRp
bGUgc3RydWN0IHZyaW5nX3VzZWQgKnZ1aDsKKwl2b2xhdGlsZSBzdHJ1Y3QgdmlydGlvX3VzZWQg
KnZ1ZTsKKworCW1hc2sgPSB2cS0+dnFfcXNpemUgLSAxOworCXZ1aCA9IHZxLT52cV91c2VkOwor
CisJdWlkeCA9IHZ1aC0+dnVfaWR4OworCisJaWYgKG5idWZzID09IDEpIHsKKwkJdnVlID0gJnZ1
aC0+dnVfcmluZ1t1aWR4KysgJiBtYXNrXTsKKwkJdnVlLT52dV9pZHggPSB1c2VkWzBdLnZ1X2lk
eDsKKwkJdnVlLT52dV90bGVuID0gdXNlZFswXS52dV90bGVuOworCX0gZWxzZSB7CisJCWZvciAo
aSA9IDA7IGkgPCBuYnVmczsgaSsrKSB7CisJCQl2dWUgPSAmdnVoLT52dV9yaW5nWyh1aWR4ICsg
aSkgJiBtYXNrXTsKKwkJCXZ1ZS0+dnVfaWR4ID0gdXNlZFtpXS52dV9pZHg7CisJCQl2dWUtPnZ1
X3RsZW4gPSB1c2VkW2ldLnZ1X3RsZW47CisJCX0KKwkJdWlkeCArPSBuYnVmczsKKwl9CisJCiAJ
YXRvbWljX3RocmVhZF9mZW5jZV9yZWwoKTsKIAl2dWgtPnZ1X2lkeCA9IHVpZHg7CiB9CmRpZmYg
LS1naXQgYS91c3Iuc2Jpbi9iaHl2ZS9wY2lfdmlydGlvX25ldC5jIGIvdXNyLnNiaW4vYmh5dmUv
cGNpX3ZpcnRpb19uZXQuYwotLS0gYS91c3Iuc2Jpbi9iaHl2ZS9wY2lfdmlydGlvX25ldC5jCisr
KyBiL3Vzci5zYmluL2JoeXZlL3BjaV92aXJ0aW9fbmV0LmMKQEAgLTM5Miw4NSArMzkyLDEwNiBA
QAogfQogCiBzdGF0aWMgX19pbmxpbmUgaW50Ci1wY2lfdnRuZXRfbmV0bWFwX3dyaXRldihzdHJ1
Y3Qgbm1fZGVzYyAqbm1kLCBzdHJ1Y3QgaW92ZWMgKmlvdiwgaW50IGlvdmNudCkKK3BjaV92dG5l
dF9uZXRtYXBfd3JpdGV2KHN0cnVjdCBubV9kZXNjICpubWQsIHN0cnVjdCBpb3ZlYyAqaW92LCBp
bnQgaW92Y250LCBpbnQgaW92c2l6ZSkKIHsKLQlpbnQgciwgaTsKLQlpbnQgbGVuID0gMDsKKwlj
aGFyICpidWY7CisJaW50IGk7CisJaW50IGZyYWdfc2l6ZTsKKwlpbnQgaW92X29mZjsKKwlpbnQg
bGVuOworCWludCBubV9vZmY7CisJaW50IG5tX2J1Zl9zaXplOwogCi0JZm9yIChyID0gbm1kLT5j
dXJfdHhfcmluZzsgOyApIHsKLQkJc3RydWN0IG5ldG1hcF9yaW5nICpyaW5nID0gTkVUTUFQX1RY
UklORyhubWQtPm5pZnAsIHIpOwotCQl1aW50MzJfdCBjdXIsIGlkeDsKLQkJY2hhciAqYnVmOwor
CXN0cnVjdCBuZXRtYXBfcmluZyAqcmluZyA9IE5FVE1BUF9UWFJJTkcobm1kLT5uaWZwLCBubWQt
PmN1cl90eF9yaW5nKTsKIAotCQlpZiAobm1fcmluZ19lbXB0eShyaW5nKSkgewotCQkJcisrOwot
CQkJaWYgKHIgPiBubWQtPmxhc3RfdHhfcmluZykKLQkJCQlyID0gbm1kLT5maXJzdF90eF9yaW5n
OwotCQkJaWYgKHIgPT0gbm1kLT5jdXJfdHhfcmluZykKLQkJCQlicmVhazsKLQkJCWNvbnRpbnVl
OworCWlmICgobm1fcmluZ19zcGFjZShyaW5nKSAqIHJpbmctPm5yX2J1Zl9zaXplKSA8IGlvdnNp
emUpIHsKKwkJLyoKKwkJICogTm8gbW9yZSBhdmFpbCBzcGFjZSBpbiBUWCByaW5nLCB0cnkgdG8g
Zmx1c2ggaXQuCisJCSAqLworCQlpb2N0bChubWQtPmZkLCBOSU9DVFhTWU5DLCBOVUxMKTsKKwkJ
cmV0dXJuICgwKTsKKwl9CisKKwlpID0gcmluZy0+Y3VyOworCWJ1ZiA9IE5FVE1BUF9CVUYocmlu
ZywgcmluZy0+c2xvdFtpXS5idWZfaWR4KTsKKwlpb3Zfb2ZmID0gMDsKKwlsZW4gPSBpb3ZzaXpl
OworCW5tX2J1Zl9zaXplID0gcmluZy0+bnJfYnVmX3NpemU7CisJbm1fb2ZmID0gMDsKKworCXdo
aWxlIChpb3ZzaXplKSB7CisKKwkJaWYgKHVubGlrZWx5KGlvdl9vZmYgPT0gaW92LT5pb3ZfbGVu
KSkgeworCQkJaW92Kys7CisJCQlpb3Zfb2ZmID0gMDsKIAkJfQotCQljdXIgPSByaW5nLT5jdXI7
Ci0JCWlkeCA9IHJpbmctPnNsb3RbY3VyXS5idWZfaWR4OwotCQlidWYgPSBORVRNQVBfQlVGKHJp
bmcsIGlkeCk7CiAKLQkJZm9yIChpID0gMDsgaSA8IGlvdmNudDsgaSsrKSB7Ci0JCQlpZiAobGVu
ICsgaW92W2ldLmlvdl9sZW4gPiAyMDQ4KQotCQkJCWJyZWFrOwotCQkJbWVtY3B5KCZidWZbbGVu
XSwgaW92W2ldLmlvdl9iYXNlLCBpb3ZbaV0uaW92X2xlbik7Ci0JCQlsZW4gKz0gaW92W2ldLmlv
dl9sZW47CisJCWlmICh1bmxpa2VseShubV9vZmYgPT0gbm1fYnVmX3NpemUpKSB7CisJCQlyaW5n
LT5zbG90W2ldLmZsYWdzID0gTlNfTU9SRUZSQUc7CisJCQlpID0gbm1fcmluZ19uZXh0KHJpbmcs
IGkpOworCQkJYnVmID0gTkVUTUFQX0JVRihyaW5nLCByaW5nLT5zbG90W2ldLmJ1Zl9pZHgpOwor
CQkJbm1fb2ZmID0gMDsKIAkJfQotCQlyaW5nLT5zbG90W2N1cl0ubGVuID0gbGVuOwotCQlyaW5n
LT5oZWFkID0gcmluZy0+Y3VyID0gbm1fcmluZ19uZXh0KHJpbmcsIGN1cik7Ci0JCW5tZC0+Y3Vy
X3R4X3JpbmcgPSByOwotCQlpb2N0bChubWQtPmZkLCBOSU9DVFhTWU5DLCBOVUxMKTsKLQkJYnJl
YWs7CisKKwkJZnJhZ19zaXplID0gTUlOKG5tX2J1Zl9zaXplIC0gbm1fb2ZmLCBpb3YtPmlvdl9s
ZW4gLSBpb3Zfb2ZmKTsKKwkJbWVtY3B5KGJ1ZiArIG5tX29mZiwgaW92LT5pb3ZfYmFzZSArIGlv
dl9vZmYsIGZyYWdfc2l6ZSk7CisKKwkJaW92c2l6ZSAtPSBmcmFnX3NpemU7CisJCWlvdl9vZmYg
Kz0gZnJhZ19zaXplOworCQlubV9vZmYgKz0gZnJhZ19zaXplOworCisJCXJpbmctPnNsb3RbaV0u
bGVuID0gbm1fb2ZmOwogCX0KIAorCS8qIFRoZSBsYXN0IHNsb3QgbXVzdCBub3QgaGF2ZSBOU19N
T1JFRlJBRyBzZXQuICovCisJcmluZy0+c2xvdFtpXS5mbGFncyAmPSB+TlNfTU9SRUZSQUc7CisJ
cmluZy0+aGVhZCA9IHJpbmctPmN1ciA9IG5tX3JpbmdfbmV4dChyaW5nLCBpKTsKKwlpb2N0bChu
bWQtPmZkLCBOSU9DVFhTWU5DLCBOVUxMKTsKKwogCXJldHVybiAobGVuKTsKIH0KIAogc3RhdGlj
IF9faW5saW5lIGludAotcGNpX3Z0bmV0X25ldG1hcF9yZWFkdihzdHJ1Y3Qgbm1fZGVzYyAqbm1k
LCBzdHJ1Y3QgaW92ZWMgKmlvdiwgaW50IGlvdmNudCkKK3BjaV92dG5ldF9uZXRtYXBfcmVhZHYo
c3RydWN0IG5tX2Rlc2MgKm5tZCwgc3RydWN0IGlvdmVjICppb3YsIGludCBpb3ZjbnQsIGludCBp
b3ZzaXplKQogewotCWludCBsZW4gPSAwOwotCWludCBpID0gMDsKLQlpbnQgcjsKKwljaGFyICpi
dWY7CisJaW50IGk7CisJaW50IGlvdl9vZmY7CisJaW50IGZyYWdfc2l6ZTsKKwlpbnQgbGVuOwor
CWludCBubV9vZmY7CiAKLQlmb3IgKHIgPSBubWQtPmN1cl9yeF9yaW5nOyA7ICkgewotCQlzdHJ1
Y3QgbmV0bWFwX3JpbmcgKnJpbmcgPSBORVRNQVBfUlhSSU5HKG5tZC0+bmlmcCwgcik7Ci0JCXVp
bnQzMl90IGN1ciwgaWR4OwotCQljaGFyICpidWY7Ci0JCXNpemVfdCBsZWZ0OworCXN0cnVjdCBu
ZXRtYXBfcmluZyAqciA9IE5FVE1BUF9SWFJJTkcobm1kLT5uaWZwLCBubWQtPmN1cl9yeF9yaW5n
KTsKIAotCQlpZiAobm1fcmluZ19lbXB0eShyaW5nKSkgewotCQkJcisrOwotCQkJaWYgKHIgPiBu
bWQtPmxhc3RfcnhfcmluZykKLQkJCQlyID0gbm1kLT5maXJzdF9yeF9yaW5nOwotCQkJaWYgKHIg
PT0gbm1kLT5jdXJfcnhfcmluZykKLQkJCQlicmVhazsKLQkJCWNvbnRpbnVlOworCWkgPSByLT5o
ZWFkOworCWJ1ZiA9IE5FVE1BUF9CVUYociwgci0+c2xvdFtpXS5idWZfaWR4KTsKKwlpb3Zfb2Zm
ID0gMDsKKwlubV9vZmYgPSAwOworCWxlbiA9IGlvdnNpemU7CisKKwl3aGlsZSAoaW92c2l6ZSkg
eworCisJCWlmICh1bmxpa2VseShpb3Zfb2ZmID09IGlvdi0+aW92X2xlbikpIHsKKwkJCWlvdisr
OworCQkJaW92X29mZiA9IDA7CiAJCX0KLQkJY3VyID0gcmluZy0+Y3VyOwotCQlpZHggPSByaW5n
LT5zbG90W2N1cl0uYnVmX2lkeDsKLQkJYnVmID0gTkVUTUFQX0JVRihyaW5nLCBpZHgpOwotCQls
ZWZ0ID0gcmluZy0+c2xvdFtjdXJdLmxlbjsKIAotCQlmb3IgKGkgPSAwOyBpIDwgaW92Y250ICYm
IGxlZnQgPiAwOyBpKyspIHsKLQkJCWlmIChpb3ZbaV0uaW92X2xlbiA+IGxlZnQpCi0JCQkJaW92
W2ldLmlvdl9sZW4gPSBsZWZ0OwotCQkJbWVtY3B5KGlvdltpXS5pb3ZfYmFzZSwgJmJ1ZltsZW5d
LCBpb3ZbaV0uaW92X2xlbik7Ci0JCQlsZW4gKz0gaW92W2ldLmlvdl9sZW47Ci0JCQlsZWZ0IC09
IGlvdltpXS5pb3ZfbGVuOworCQlpZiAodW5saWtlbHkobm1fb2ZmID09IHItPnNsb3RbaV0ubGVu
KSkgeworCQkJaSA9IG5tX3JpbmdfbmV4dChyLCBpKTsKKwkJCWJ1ZiA9IE5FVE1BUF9CVUYociwg
ci0+c2xvdFtpXS5idWZfaWR4KTsKKwkJCW5tX29mZiA9IDA7CiAJCX0KLQkJcmluZy0+aGVhZCA9
IHJpbmctPmN1ciA9IG5tX3JpbmdfbmV4dChyaW5nLCBjdXIpOwotCQlubWQtPmN1cl9yeF9yaW5n
ID0gcjsKLQkJaW9jdGwobm1kLT5mZCwgTklPQ1JYU1lOQywgTlVMTCk7Ci0JCWJyZWFrOworCisJ
CWZyYWdfc2l6ZSA9IE1JTihyLT5zbG90W2ldLmxlbiAtIG5tX29mZiwgaW92LT5pb3ZfbGVuIC0g
aW92X29mZik7CisJCW1lbWNweShpb3YtPmlvdl9iYXNlICsgaW92X29mZiwgYnVmICsgbm1fb2Zm
LCBmcmFnX3NpemUpOworCisJCWlvdnNpemUgLT0gZnJhZ19zaXplOworCQlpb3Zfb2ZmICs9IGZy
YWdfc2l6ZTsKKwkJbm1fb2ZmICs9IGZyYWdfc2l6ZTsKIAl9Ci0JZm9yICg7IGkgPCBpb3ZjbnQ7
IGkrKykKLQkJaW92W2ldLmlvdl9sZW4gPSAwOwogCisJci0+aGVhZCA9IHItPmN1ciA9IG5tX3Jp
bmdfbmV4dChyLCBpKTsKKwogCXJldHVybiAobGVuKTsKIH0KIApAQCAtNDgxLDMyICs1MDIsNTMg
QEAKIHBjaV92dG5ldF9uZXRtYXBfdHgoc3RydWN0IHBjaV92dG5ldF9zb2Z0YyAqc2MsIHN0cnVj
dCBpb3ZlYyAqaW92LCBpbnQgaW92Y250LAogCQkgICAgaW50IGxlbikKIHsKLQlzdGF0aWMgY2hh
ciBwYWRbNjBdOyAvKiBhbGwgemVybyBieXRlcyAqLwotCiAJaWYgKHNjLT52c2Nfbm1kID09IE5V
TEwpCiAJCXJldHVybjsKIAotCS8qCi0JICogSWYgdGhlIGxlbmd0aCBpcyA8IDYwLCBwYWQgb3V0
IHRvIHRoYXQgYW5kIGFkZCB0aGUKLQkgKiBleHRyYSB6ZXJvJ2Qgc2VnbWVudCB0byB0aGUgaW92
LiBJdCBpcyBndWFyYW50ZWVkIHRoYXQKLQkgKiB0aGVyZSBpcyBhbHdheXMgYW4gZXh0cmEgaW92
IGF2YWlsYWJsZSBieSB0aGUgY2FsbGVyLgotCSAqLwotCWlmIChsZW4gPCA2MCkgewotCQlpb3Zb
aW92Y250XS5pb3ZfYmFzZSA9IHBhZDsKLQkJaW92W2lvdmNudF0uaW92X2xlbiA9IDYwIC0gbGVu
OwotCQlpb3ZjbnQrKzsKKwkodm9pZCkgcGNpX3Z0bmV0X25ldG1hcF93cml0ZXYoc2MtPnZzY19u
bWQsIGlvdiwgaW92Y250LCBsZW4pOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50CituZXRtYXBf
bmV4dF9wa3RfbGVuKHN0cnVjdCBubV9kZXNjICpubWQpCit7CisJaW50IGk7CisJaW50IGxlbjsK
KwlzdHJ1Y3QgbmV0bWFwX3JpbmcgKnIgPSBORVRNQVBfUlhSSU5HKG5tZC0+bmlmcCwgbm1kLT5j
dXJfcnhfcmluZyk7CisKKwlsZW4gPSAwOworCisJZm9yIChpID0gci0+aGVhZDsgaSAhPSByLT50
YWlsOyBpID0gbm1fcmluZ19uZXh0KHIsIGkpKSB7CisJCWxlbiArPSByLT5zbG90W2ldLmxlbjsK
KwkJaWYgKCEoci0+c2xvdFtpXS5mbGFncyAmIE5TX01PUkVGUkFHKSkKKwkJCWJyZWFrOwogCX0K
LQkodm9pZCkgcGNpX3Z0bmV0X25ldG1hcF93cml0ZXYoc2MtPnZzY19ubWQsIGlvdiwgaW92Y250
KTsKKworCXJldHVybiAobGVuKTsKIH0KIAorc3RhdGljIF9faW5saW5lIHZvaWQKK25ldG1hcF9k
cm9wX3BrdChzdHJ1Y3Qgbm1fZGVzYyAqbm1kKQoreworCWludCBpOworCXN0cnVjdCBuZXRtYXBf
cmluZyAqciA9IE5FVE1BUF9SWFJJTkcobm1kLT5uaWZwLCBubWQtPmN1cl9yeF9yaW5nKTsKKwor
CWZvciAoaSA9IHItPmhlYWQ7IGkgIT0gci0+dGFpbDsgaSA9IG5tX3JpbmdfbmV4dChyLCBpKSkg
eworCQlpZiAoIShyLT5zbG90W2ldLmZsYWdzICYgTlNfTU9SRUZSQUcpKSB7CisJCQlyLT5oZWFk
ID0gci0+Y3VyID0gbm1fcmluZ19uZXh0KHIsIGkpOworCQkJcmV0dXJuOworCQl9CisJfQorfQor
CiBzdGF0aWMgdm9pZAogcGNpX3Z0bmV0X25ldG1hcF9yeChzdHJ1Y3QgcGNpX3Z0bmV0X3NvZnRj
ICpzYykKIHsKIAlzdHJ1Y3QgaW92ZWMgaW92W1ZUTkVUX01BWFNFR1NdLCAqcmlvdjsKKwlzdHJ1
Y3QgdmlydGlvX3VzZWQgdXNlZFtWVE5FVF9NQVhTRUdTXTsKKwlzdHJ1Y3QgdmlydGlvX25ldF9y
eGhkciAqdnJ4aDsKIAlzdHJ1Y3QgdnF1ZXVlX2luZm8gKnZxOwotCXZvaWQgKnZyeDsKLQlpbnQg
bGVuLCBuOwogCXVpbnQxNl90IGlkeDsKKwlpbnQgYnVmcywgbGVuLCBuOwogCiAJLyoKIAkgKiBT
aG91bGQgbmV2ZXIgYmUgY2FsbGVkIHdpdGhvdXQgYSB2YWxpZCBuZXRtYXAgZGVzY3JpcHRvcgpA
QCAtNTIxLDcgKzU2Myw3IEBACiAJCS8qCiAJCSAqIERyb3AgdGhlIHBhY2tldCBhbmQgdHJ5IGxh
dGVyLgogCQkgKi8KLQkJKHZvaWQpIG5tX25leHRwa3Qoc2MtPnZzY19ubWQsICh2b2lkICopZHVt
bXlidWYpOworCQluZXRtYXBfZHJvcF9wa3Qoc2MtPnZzY19ubWQpOwogCQlyZXR1cm47CiAJfQog
CkBAIC01MzQsNTggKzU3Niw2NyBAQAogCQkgKiBEcm9wIHRoZSBwYWNrZXQgYW5kIHRyeSBsYXRl
ci4gIEludGVycnVwdCBvbgogCQkgKiBlbXB0eSwgaWYgdGhhdCdzIG5lZ290aWF0ZWQuCiAJCSAq
LwotCQkodm9pZCkgbm1fbmV4dHBrdChzYy0+dnNjX25tZCwgKHZvaWQgKilkdW1teWJ1Zik7CisJ
CW5ldG1hcF9kcm9wX3BrdChzYy0+dnNjX25tZCk7CiAJCXZxX2VuZGNoYWlucyh2cSwgMSk7CiAJ
CXJldHVybjsKIAl9CiAKIAlkbyB7Ci0JCS8qCi0JCSAqIEdldCBkZXNjcmlwdG9yIGNoYWluLgot
CQkgKi8KLQkJbiA9IHZxX2dldGNoYWluKHZxLCAmaWR4LCBpb3YsIFZUTkVUX01BWFNFR1MsIE5V
TEwpOwotCQlhc3NlcnQobiA+PSAxICYmIG4gPD0gVlRORVRfTUFYU0VHUyk7CisJCWxlbiA9IG5l
dG1hcF9uZXh0X3BrdF9sZW4oc2MtPnZzY19ubWQpOwogCi0JCS8qCi0JCSAqIEdldCBhIHBvaW50
ZXIgdG8gdGhlIHJ4IGhlYWRlciwgYW5kIHVzZSB0aGUKLQkJICogZGF0YSBpbW1lZGlhdGVseSBm
b2xsb3dpbmcgaXQgZm9yIHRoZSBwYWNrZXQgYnVmZmVyLgotCQkgKi8KLQkJdnJ4ID0gaW92WzBd
Lmlvdl9iYXNlOwotCQlyaW92ID0gcnhfaW92X3RyaW0oaW92LCAmbiwgc2MtPnJ4X3ZoZHJsZW4p
OwotCi0JCWxlbiA9IHBjaV92dG5ldF9uZXRtYXBfcmVhZHYoc2MtPnZzY19ubWQsIHJpb3YsIG4p
OwotCi0JCWlmIChsZW4gPT0gMCkgeworCQlpZiAodW5saWtlbHkobGVuID09IDApKSB7CiAJCQkv
KgogCQkJICogTm8gbW9yZSBwYWNrZXRzLCBidXQgc3RpbGwgc29tZSBhdmFpbCByaW5nCiAJCQkg
KiBlbnRyaWVzLiAgSW50ZXJydXB0IGlmIG5lZWRlZC9hcHByb3ByaWF0ZS4KIAkJCSAqLwotCQkJ
dnFfcmV0Y2hhaW4odnEpOwogCQkJdnFfZW5kY2hhaW5zKHZxLCAwKTsKIAkJCXJldHVybjsKIAkJ
fQogCisJCWlmIChzYy0+cnhfbWVyZ2UpIHsKKwkJCS8qCisJCQkgKiBHZXQgbWVyZ2FibGUgYnVm
ZmVycy4KKwkJCSAqLyAKKwkJCW4gPSB2cV9nZXRidWZzX21yZ3J4KHZxLCBpb3YsIFZUTkVUX01B
WFNFR1MsIGxlbiArIHNjLT5yeF92aGRybGVuLAorCQkJCQl1c2VkLCAmYnVmcyk7CisJCX0gZWxz
ZSB7CisJCQkvKgorCQkJICogR2V0IGRlc2NyaXB0b3IgY2hhaW4uCisJCQkgKi8KKwkJCW4gPSB2
cV9nZXRjaGFpbih2cSwgJmlkeCwgaW92LCBWVE5FVF9NQVhTRUdTLCBOVUxMKTsKKwkJfQorCisJ
CWlmIChuIDw9IDApIHsKKwkJCXZxX2VuZGNoYWlucyh2cSwgMCk7CisJCQlyZXR1cm47CisJCX0K
KwogCQkvKgotCQkgKiBUaGUgb25seSB2YWxpZCBmaWVsZCBpbiB0aGUgcnggcGFja2V0IGhlYWRl
ciBpcyB0aGUKLQkJICogbnVtYmVyIG9mIGJ1ZmZlcnMgaWYgbWVyZ2VkIHJ4IGJ1ZnMgd2VyZSBu
ZWdvdGlhdGVkLgorCQkgKiBHZXQgYSBwb2ludGVyIHRvIHRoZSByeCBoZWFkZXIsIGFuZCB1c2Ug
dGhlCisJCSAqIGRhdGEgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGl0IGZvciB0aGUgcGFja2V0IGJ1
ZmZlci4KIAkJICovCi0JCW1lbXNldCh2cngsIDAsIHNjLT5yeF92aGRybGVuKTsKKwkJdnJ4aCA9
IGlvdlswXS5pb3ZfYmFzZTsKKwkJbWVtc2V0KHZyeGgsIDAsIHNjLT5yeF92aGRybGVuKTsKIAot
CQlpZiAoc2MtPnJ4X21lcmdlKSB7Ci0JCQlzdHJ1Y3QgdmlydGlvX25ldF9yeGhkciAqdnJ4aDsK
KwkJcmlvdiA9IHJ4X2lvdl90cmltKGlvdiwgJm4sIHNjLT5yeF92aGRybGVuKTsKIAotCQkJdnJ4
aCA9IHZyeDsKLQkJCXZyeGgtPnZyaF9idWZzID0gMTsKLQkJfQorCQkodm9pZClwY2lfdnRuZXRf
bmV0bWFwX3JlYWR2KHNjLT52c2Nfbm1kLCByaW92LCBuLCBsZW4pOwogCiAJCS8qCi0JCSAqIFJl
bGVhc2UgdGhpcyBjaGFpbiBhbmQgaGFuZGxlIG1vcmUgY2hhaW5zLgorCQkgKiBSZWxlYXNlIHVz
ZWQgZGVzY3JpcHRvcnMuCiAJCSAqLwotCQl2cV9yZWxjaGFpbih2cSwgaWR4LCBsZW4gKyBzYy0+
cnhfdmhkcmxlbik7CisJCWlmIChzYy0+cnhfbWVyZ2UpIHsKKwkJCXZyeGgtPnZyaF9idWZzID0g
YnVmczsKKwkJCXZxX3JlbGJ1ZnNfbXJncngodnEsIGJ1ZnMsIHVzZWQpOworCQl9IGVsc2Ugewor
CQkJdnFfcmVsY2hhaW4odnEsIGlkeCwgbGVuICsgc2MtPnJ4X3ZoZHJsZW4pOworCQl9CisKIAl9
IHdoaWxlICh2cV9oYXNfZGVzY3ModnEpKTsKIAogCS8qIEludGVycnVwdCBpZiBuZWVkZWQsIGlu
Y2x1ZGluZyBmb3IgTk9USUZZX09OX0VNUFRZLiAqLwogCXZxX2VuZGNoYWlucyh2cSwgMSk7CisK
IH0KIAogc3RhdGljIHZvaWQKCg==


--b1_566772461613bcba5301f3eceff592e0--



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