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>