Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Dec 2015 15:37:24 +0000
From:      "rpokala (Ravi Pokala)" <phabric-noreply@FreeBSD.org>
To:        freebsd-net@freebsd.org
Subject:   [Differential] [Updated, 203 lines] D1986: Teach lagg(4) to change MTU
Message-ID:  <7201bd5d6eef08f9d7dd90d39c21fe10@localhost.localdomain>
In-Reply-To: <differential-rev-PHID-DREV-i34kfg4qpajia7fo5u5l-req@FreeBSD.org>
References:  <differential-rev-PHID-DREV-i34kfg4qpajia7fo5u5l-req@FreeBSD.org>

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

--b1_7201bd5d6eef08f9d7dd90d39c21fe10
Content-Type: text/plain; charset = "utf-8"
Content-Transfer-Encoding: 8bit

rpokala updated this revision to Diff 11321.
rpokala added a comment.


  Updated patch from LN, addressing comments from hrs@, melifaro@, and internal Panasas review.

REPOSITORY
  rS FreeBSD src repository

CHANGES SINCE LAST UPDATE
  https://reviews.freebsd.org/D1986?vs=4079&id=11321

BRANCH
  /head

REVISION DETAIL
  https://reviews.freebsd.org/D1986

AFFECTED FILES
  sys/net/if_lagg.c
  sys/net/if_lagg.h

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: rpokala, rstone, rpokala-panasas.com
Cc: imp, melifaro, hrs, sbruno, lakshmi.n_msystechnologies.com, emaste, ae, freebsd-net-list

--b1_7201bd5d6eef08f9d7dd90d39c21fe10
Content-Type: text/x-patch; charset=utf-8; name="D1986.11321.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="D1986.11321.patch"

ZGlmZiAtLWdpdCBhL3N5cy9uZXQvaWZfbGFnZy5oIGIvc3lzL25ldC9pZl9sYWdnLmgKLS0tIGEv
c3lzL25ldC9pZl9sYWdnLmgKKysrIGIvc3lzL25ldC9pZl9sYWdnLmgKQEAgLTIwOCw5ICsyMDgs
MTkgQEAKIAogLyogTGlzdCBvZiBpbnRlcmZhY2VzIHRvIGhhdmUgdGhlIE1BQyBhZGRyZXNzIG1v
ZGlmaWVkICovCiBzdHJ1Y3QgbGFnZ19sbHEgeworCiAJc3RydWN0IGlmbmV0CQkqbGxxX2lmcDsK
IAl1aW50OF90CQkJbGxxX2xsYWRkcltFVEhFUl9BRERSX0xFTl07CiAJbGFnZ19sbHF0eXBlCQls
bHFfdHlwZTsKKworI2RlZmluZSBMQUdHX0FTWU5DX1NFVF9NQUNfQUREUgkweDAwMDEKKyNkZWZp
bmUgTEFHR19BU1lOQ19TRVRfTVRVCTB4MDAwMgorI2RlZmluZSBMQUdHX0FTWU5DX1NFVF9NQVNL
CShMQUdHX0FTWU5DX1NFVF9NQUNfQUREUiB8IExBR0dfQVNZTkNfU0VUX01UVSkKKworCXVpbnQx
Nl90CQlmbGFnczsKKwlzdHJ1Y3QgaWZyZXEJCSppZnI7IC8qIENvbW1vbiB0byBhbGwgbGFnZyBt
ZW1iZXIgcG9ydHMgKi8KKwl1aW50MzJfdAkJb2xkX210dTsKKwlpbnQJCQkoKmxscV9pb2N0bCko
c3RydWN0IGlmbmV0ICosIHVfbG9uZywgY2FkZHJfdCk7CiAJU0xJU1RfRU5UUlkobGFnZ19sbHEp
CWxscV9lbnRyaWVzOwogfTsKIApAQCAtMjM1LDkgKzI0NSw5IEBACiAJU0xJU1RfSEVBRChfX3Rw
bGhkLCBsYWdnX3BvcnQpCXNjX3BvcnRzOwkvKiBsaXN0IG9mIGludGVyZmFjZXMgKi8KIAlTTElT
VF9FTlRSWShsYWdnX3NvZnRjKQlzY19lbnRyaWVzOwogCi0Jc3RydWN0IHRhc2sJCQlzY19sbGFk
ZHJfdGFzazsKKwlzdHJ1Y3QgdGFzawkJCXNjX2xscV90YXNrOyAvKiBBU1lOQyBvcHMgZW5xdWV1
ZWQgaGVyZSAqLwogCVNMSVNUX0hFQUQoX19sbHFoZCwgbGFnZ19sbHEpCXNjX2xscV9oZWFkOwkv
KiBpbnRlcmZhY2VzIHRvIHByb2dyYW0KLQkJCQkJCQkgICB0aGUgbGxhZGRyIG9uICovCisJCQkJ
CQkJICAgdGhlIE1BQywgbGxhZGRyIG9uICovCiAJZXZlbnRoYW5kbGVyX3RhZyB2bGFuX2F0dGFj
aDsKIAlldmVudGhhbmRsZXJfdGFnIHZsYW5fZGV0YWNoOwogCXN0cnVjdCBjYWxsb3V0CQkJc2Nf
Y2FsbG91dDsKZGlmZiAtLWdpdCBhL3N5cy9uZXQvaWZfbGFnZy5jIGIvc3lzL25ldC9pZl9sYWdn
LmMKLS0tIGEvc3lzL25ldC9pZl9sYWdnLmMKKysrIGIvc3lzL25ldC9pZl9sYWdnLmMKQEAgLTEw
MSw3ICsxMDEsOSBAQAogc3RhdGljIHZvaWQJbGFnZ19sbGFkZHIoc3RydWN0IGxhZ2dfc29mdGMg
KiwgdWludDhfdCAqKTsKIHN0YXRpYyB2b2lkCWxhZ2dfY2FwYWJpbGl0aWVzKHN0cnVjdCBsYWdn
X3NvZnRjICopOwogc3RhdGljIHZvaWQJbGFnZ19wb3J0X2xsYWRkcihzdHJ1Y3QgbGFnZ19wb3J0
ICosIHVpbnQ4X3QgKiwgbGFnZ19sbHF0eXBlKTsKLXN0YXRpYyB2b2lkCWxhZ2dfcG9ydF9zZXRs
bGFkZHIodm9pZCAqLCBpbnQpOworc3RhdGljIHZvaWQJbGFnZ19wb3J0X29wcyh2b2lkICosIGlu
dCk7CitzdGF0aWMgdm9pZAlsYWdnX3BvcnRfc2V0X210dShzdHJ1Y3QgbGFnZ19zb2Z0YyAqLCBz
dHJ1Y3QgbGFnZ19sbHEgKik7CitzdGF0aWMgdm9pZAlsYWdnX3BvcnRfc2V0bGxhZGRyKHN0cnVj
dCBsYWdnX2xscSAqKTsKIHN0YXRpYyBpbnQJbGFnZ19wb3J0X2NyZWF0ZShzdHJ1Y3QgbGFnZ19z
b2Z0YyAqLCBzdHJ1Y3QgaWZuZXQgKik7CiBzdGF0aWMgaW50CWxhZ2dfcG9ydF9kZXN0cm95KHN0
cnVjdCBsYWdnX3BvcnQgKiwgaW50KTsKIHN0YXRpYyBzdHJ1Y3QgbWJ1ZiAqbGFnZ19pbnB1dChz
dHJ1Y3QgaWZuZXQgKiwgc3RydWN0IG1idWYgKik7CkBAIC0xMzAsNiArMTMyLDEwIEBACiBzdGF0
aWMgdm9pZAlsYWdnX21lZGlhX3N0YXR1cyhzdHJ1Y3QgaWZuZXQgKiwgc3RydWN0IGlmbWVkaWFy
ZXEgKik7CiBzdGF0aWMgc3RydWN0IGxhZ2dfcG9ydCAqbGFnZ19saW5rX2FjdGl2ZShzdHJ1Y3Qg
bGFnZ19zb2Z0YyAqLAogCSAgICBzdHJ1Y3QgbGFnZ19wb3J0ICopOworc3RhdGljIGludAlsYWdn
X2NoYW5nZV9tdHUoc3RydWN0IGlmbmV0ICppZnAsIHN0cnVjdCBpZnJlcSAqaWZyKTsKK3N0YXRp
YyBzdHJ1Y3QgbGFnZ19sbHEJKmxhZ2dfZ2V0X2xscV9lbnRyeShzdHJ1Y3QgbGFnZ19zb2Z0YyAq
LAorCQlzdHJ1Y3QgaWZuZXQgKik7CitzdGF0aWMgdm9pZCAJbGFnZ19sbHFfbGlzdF9jbGVhbnVw
KHN0cnVjdCBsYWdnX3NvZnRjICopOwogCiAvKiBTaW1wbGUgcm91bmQgcm9iaW4gKi8KIHN0YXRp
YyB2b2lkCWxhZ2dfcnJfYXR0YWNoKHN0cnVjdCBsYWdnX3NvZnRjICopOwpAQCAtNDg3LDcgKzQ5
Myw3IEBACiAKIAlMQUdHX0xPQ0tfSU5JVChzYyk7CiAJU0xJU1RfSU5JVCgmc2MtPnNjX3BvcnRz
KTsKLQlUQVNLX0lOSVQoJnNjLT5zY19sbGFkZHJfdGFzaywgMCwgbGFnZ19wb3J0X3NldGxsYWRk
ciwgc2MpOworCVRBU0tfSU5JVCgmc2MtPnNjX2xscV90YXNrLCAwLCBsYWdnX3BvcnRfb3BzLCBz
Yyk7CiAKIAkvKiBJbml0aWFsaXNlIHBzZXVkbyBtZWRpYSB0eXBlcyAqLwogCWlmbWVkaWFfaW5p
dCgmc2MtPnNjX21lZGlhLCAwLCBsYWdnX21lZGlhX2NoYW5nZSwKQEAgLTU1Myw3ICs1NTksNyBA
QAogCVNMSVNUX1JFTU9WRSgmVl9sYWdnX2xpc3QsIHNjLCBsYWdnX3NvZnRjLCBzY19lbnRyaWVz
KTsKIAlMQUdHX0xJU1RfVU5MT0NLKCk7CiAKLQl0YXNrcXVldWVfZHJhaW4odGFza3F1ZXVlX3N3
aSwgJnNjLT5zY19sbGFkZHJfdGFzayk7CisJdGFza3F1ZXVlX2RyYWluKHRhc2txdWV1ZV9zd2ks
ICZzYy0+c2NfbGxxX3Rhc2spOwogCUxBR0dfTE9DS19ERVNUUk9ZKHNjKTsKIAlmcmVlKHNjLCBN
X0RFVkJVRik7CiB9CkBAIC02NzIsMzUgKzY3OCwxOTcgQEAKIAogCWxscS0+bGxxX2lmcCA9IGlm
cDsKIAlsbHEtPmxscV90eXBlID0gbGxxX3R5cGU7CisJbGxxLT5mbGFncyB8PSBMQUdHX0FTWU5D
X1NFVF9NQUNfQUREUjsKIAliY29weShsbGFkZHIsIGxscS0+bGxxX2xsYWRkciwgRVRIRVJfQURE
Ul9MRU4pOwogCS8qIFhYWDogV2Ugc2hvdWxkIGluc2VydCB0byB0YWlsICovCiAJU0xJU1RfSU5T
RVJUX0hFQUQoJnNjLT5zY19sbHFfaGVhZCwgbGxxLCBsbHFfZW50cmllcyk7CiAKLQl0YXNrcXVl
dWVfZW5xdWV1ZSh0YXNrcXVldWVfc3dpLCAmc2MtPnNjX2xsYWRkcl90YXNrKTsKKwl0YXNrcXVl
dWVfZW5xdWV1ZSh0YXNrcXVldWVfc3dpLCAmc2MtPnNjX2xscV90YXNrKTsKIH0KIAogLyoKLSAq
IFNldCB0aGUgaW50ZXJmYWNlIE1BQyBhZGRyZXNzIGZyb20gYSB0YXNrcXVldWUgdG8gYXZvaWQg
YSBMT1IuCisgKiBTZXQgdGhlIGludGVyZmFjZSBNVFUsIE1BQyBhZGRyZXNzIGZyb20gYSB0YXNr
cXVldWUgdG8gYXZvaWQgYSBMT1IuCiAgKgogICogU2V0IG5vaW5saW5lIHRvIGJlIGR0cmFjZS1m
cmllbmRseQogICovCiBzdGF0aWMgX19ub2lubGluZSB2b2lkCi1sYWdnX3BvcnRfc2V0bGxhZGRy
KHZvaWQgKmFyZywgaW50IHBlbmRpbmcpCitsYWdnX3BvcnRfb3BzKHZvaWQgKmFyZywgaW50IHBl
bmRpbmcpCiB7CiAJc3RydWN0IGxhZ2dfc29mdGMgKnNjID0gKHN0cnVjdCBsYWdnX3NvZnRjICop
YXJnOwogCXN0cnVjdCBsYWdnX2xscSAqbGxxLCAqaGVhZDsKLQlzdHJ1Y3QgaWZuZXQgKmlmcDsK
IAogCS8qIEdyYWIgYSBsb2NhbCByZWZlcmVuY2Ugb2YgdGhlIHF1ZXVlIGFuZCByZW1vdmUgaXQg
ZnJvbSB0aGUgc29mdGMgKi8KIAlMQUdHX1dMT0NLKHNjKTsKIAloZWFkID0gU0xJU1RfRklSU1Qo
JnNjLT5zY19sbHFfaGVhZCk7CiAJU0xJU1RfRklSU1QoJnNjLT5zY19sbHFfaGVhZCkgPSBOVUxM
OwogCUxBR0dfV1VOTE9DSyhzYyk7CiAKKwlpZiAoIWhlYWQpCisJCXJldHVybjsKKwogCS8qCiAJ
ICogVHJhdmVyc2UgdGhlIHF1ZXVlIGFuZCBzZXQgdGhlIGxsYWRkciBvbiBlYWNoIGlmcC4gSXQg
aXMgc2FmZSB0byBkbwogCSAqIHVubG9ja2VkIGFzIHdlIGhhdmUgdGhlIG9ubHkgcmVmZXJlbmNl
IHRvIGl0LgogCSAqLworCisJaWYgKGhlYWQtPmZsYWdzICYgTEFHR19BU1lOQ19TRVRfTVRVKSB7
CisJCS8qCisJCSAqIFNldCB0aGUgbmV3IE1UVSBvbiB0aGUgbGFnZyBwb3J0IGFuZCBpdHMgbWVt
YmVycy4KKwkJICogSWYgZmFpbGVkLCBSRVZFUlQgdG8gdGhlIG9sZCBNVFUuCisJCSAqLworCQls
YWdnX3BvcnRfc2V0X210dShzYywgaGVhZCk7CisJfQorCisJaWYgKGhlYWQtPmZsYWdzICYgTEFH
R19BU1lOQ19TRVRfTUFDX0FERFIpIHsKKwkJLyoKKwkJICogU2V0IHRoZSBNQUMgYWRkcmVzcy4K
KwkJICovCisJCWxhZ2dfcG9ydF9zZXRsbGFkZHIoaGVhZCk7CisJfQorCisJaWYgKCEoaGVhZC0+
ZmxhZ3MgJiBMQUdHX0FTWU5DX1NFVF9NQVNLKSkKKwkJaWZfcHJpbnRmKHNjLT5zY19pZnAsCisJ
CQkJCSJMYWdnIHBvcnQgb3BzOiBmbGFnICgweCV4KSBub3Qgc3VwcG9ydGVkXG4iLCBoZWFkLT5m
bGFncyk7CisKKwkvKiBGaW5hbGx5IGZyZWUgdGhlIHBlciBwb3J0IGxscSBlbnRyeTsgRE8gVEhJ
UyBPUEVSQVRJT04gTEFTVCAqLworCWZvciAobGxxID0gaGVhZDsgbGxxICE9IE5VTEw7IGxscSA9
IGhlYWQpIHsKKwkJaGVhZCA9IFNMSVNUX05FWFQobGxxLCBsbHFfZW50cmllcyk7CisJCWZyZWUo
bGxxLCBNX0RFVkJVRik7CisJfQorfQorCitzdGF0aWMgdm9pZAorbGFnZ19wb3J0X3NldF9tdHUo
c3RydWN0IGxhZ2dfc29mdGMgKnNjLCBzdHJ1Y3QgbGFnZ19sbHEgKmhlYWQpCit7CisJc3RydWN0
IGxhZ2dfbGxxICpsbHE7CisJaW50IGVyciA9IDA7CisKKwkvKiBTZXQgdGhlIG5ldyBNVFUgb24g
dGhlIGxhZ2cgaW50ZXJmYWNlICovCisJTEFHR19XTE9DSyhzYyk7CisJc2MtPnNjX2lmcC0+aWZf
bXR1ID0gaGVhZC0+aWZyLT5pZnJfbXR1OworCUxBR0dfV1VOTE9DSyhzYyk7CisKKwkvKiBTZXQg
dGhlIG5ldyBNVFUgb24gdGhlIHBoeXNpY2FsIGludGVyZmFjZSAqLworCWZvciAobGxxID0gaGVh
ZDsgbGxxICE9IE5VTEw7IGxscSA9IFNMSVNUX05FWFQobGxxLCBsbHFfZW50cmllcykpIHsKKwkJ
ZXJyID0gKCpsbHEtPmxscV9pb2N0bCkobGxxLT5sbHFfaWZwLCBTSU9DU0lGTVRVLCAoY2FkZHJf
dClsbHEtPmlmcik7CisJCWlmIChlcnIpIHsKKwkJCWlmX3ByaW50ZihsbHEtPmxscV9pZnAsCisJ
CQkJCSJGYWlsZWQgdG8gY2hhbmdlIE1UVSBmcm9tICVkIHRvICVkIChlcnIgJWQpXG4iLAorCQkJ
CQlsbHEtPm9sZF9tdHUsIGxscS0+aWZyLT5pZnJfbXR1LCBlcnIpOworCQkJYnJlYWs7CisJCX0K
Kwl9CisKKwlpZiAoZXJyKSB7CisJCS8qIFJlc3RvcmUgdGhlIG9sZCBNVFUgb24gdGhlIGxhZ2cg
aW50ZXJmYWNlICovCisJCUxBR0dfV0xPQ0soc2MpOworCQlzYy0+c2NfaWZwLT5pZl9tdHUgPSBo
ZWFkLT5vbGRfbXR1OworCQlMQUdHX1dVTkxPQ0soc2MpOworCisJCS8qIFJlc3RvcmUgdGhlIG9s
ZCBNVFUgb24gdGhlIHBoeXNpY2FsIGludGVyZmFjZSAqLworCQlmb3IgKGxscSA9IGhlYWQ7IGxs
cSAhPSBOVUxMOyBsbHEgPSBTTElTVF9ORVhUKGxscSwgbGxxX2VudHJpZXMpKSB7CisJCQlsbHEt
Pmlmci0+aWZyX210dSA9IGxscS0+b2xkX210dTsKKwkJCWVyciA9ICgqbGxxLT5sbHFfaW9jdGwp
CisJCQkJKGxscS0+bGxxX2lmcCwgU0lPQ1NJRk1UVSwgKGNhZGRyX3QpbGxxLT5pZnIpOworCQkJ
aWYgKGVycikgeworCQkJCWlmX3ByaW50ZihsbHEtPmxscV9pZnAsCisJCQkJCQkiRmFpbGVkIHRv
IHJlc3RvcmUgTVRVIHRvICVkIChlcnIgJWQpXG4iLAorCQkJCQkJbGxxLT5vbGRfbXR1LCBlcnIp
OworCQkJfQorCQl9CisJfQorCisJLyogQ29tbW9uIHRvIGFsbCBsYWdnIG1lbWJlciBwb3J0cyAq
LworCWZyZWUoaGVhZC0+aWZyLCBNX0RFVkJVRik7Cit9CisKK3N0YXRpYyB2b2lkIGxhZ2dfbGxx
X2xpc3RfY2xlYW51cChzdHJ1Y3QgbGFnZ19zb2Z0YyAqc2MpCit7CisJc3RydWN0IGxhZ2dfbGxx
ICpoZWFkLCAqbGxxOworCisJTEFHR19XTE9DS19BU1NFUlQoc2MpOworCisJaGVhZCA9IFNMSVNU
X0ZJUlNUKCZzYy0+c2NfbGxxX2hlYWQpOworCVNMSVNUX0ZJUlNUKCZzYy0+c2NfbGxxX2hlYWQp
ID0gTlVMTDsKKworCWZvciAobGxxID0gaGVhZDsgbGxxICE9IE5VTEw7IGxscSA9IGhlYWQpIHsK
KwkJaGVhZCA9IFNMSVNUX05FWFQobGxxLCBsbHFfZW50cmllcyk7CisJCWZyZWUobGxxLCBNX0RF
VkJVRik7CisJfQorfQorCitzdGF0aWMgc3RydWN0IGxhZ2dfbGxxICoKK2xhZ2dfZ2V0X2xscV9l
bnRyeShzdHJ1Y3QgbGFnZ19zb2Z0YyAqc2MsIHN0cnVjdCBpZm5ldCAqaWZwKQoreworCXN0cnVj
dCBsYWdnX2xscSAqbGxxOworCisJTEFHR19XTE9DS19BU1NFUlQoc2MpOworCisJU0xJU1RfRk9S
RUFDSChsbHEsICZzYy0+c2NfbGxxX2hlYWQsIGxscV9lbnRyaWVzKSB7CisJCWlmIChsbHEtPmxs
cV9pZnAgPT0gaWZwKSB7CisJCQlicmVhazsKKwkJfQorCX0KKwlyZXR1cm4gbGxxOworfQorCitz
dGF0aWMgaW50CitsYWdnX2NoYW5nZV9tdHUoc3RydWN0IGlmbmV0ICppZnAsIHN0cnVjdCBpZnJl
cSAqaWZyKQoreworCXN0cnVjdCBsYWdnX3NvZnRjICpzYyA9IChzdHJ1Y3QgbGFnZ19zb2Z0YyAq
KWlmcC0+aWZfc29mdGM7CisJc3RydWN0IGxhZ2dfcG9ydCAqbHA7CisJc3RydWN0IGxhZ2dfbGxx
ICpsbHE7CisJc3RydWN0IGlmcmVxICppZnJfY29weSwgKm9sZF9pZnIgPSBOVUxMOworCisJLyog
Tm8gY2hhbmdlIGluIE1UVSAqLworCWlmIChpZnAtPmlmX210dSA9PSBpZnItPmlmcl9tdHUpCisJ
CXJldHVybiAoMCk7CisKKwlpZnJfY29weSA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGlmcmVxKSwg
TV9ERVZCVUYsIE1fTk9XQUlUKTsKKwlpZiAoaWZyX2NvcHkgPT0gTlVMTCkKKwkJcmV0dXJuIChF
Tk9NRU0pOworCisJYmNvcHkoaWZyLCBpZnJfY29weSwgc2l6ZW9mKHN0cnVjdCBpZnJlcSkpOwor
CUxBR0dfV0xPQ0soc2MpOworCS8qIEFsbCBsYWdnIHBvcnRzIChNVFUgY2hhbmdlKSBzaGFsbCBi
ZSBxdWV1ZWQgYXRvbWljICovCisJU0xJU1RfRk9SRUFDSChscCwgJnNjLT5zY19wb3J0cywgbHBf
ZW50cmllcykgeworCQkvKiAgQ2hlY2sgdG8gbWFrZSBzdXJlIGl0cyBub3QgYWxyZWFkeSBxdWV1
ZWQgKi8KKwkJbGxxID0gbGFnZ19nZXRfbGxxX2VudHJ5KHNjLCBscC0+bHBfaWZwKTsKKwkJaWYg
KCFsbHEpIHsKKwkJCWxscSA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGxhZ2dfbGxxKSwgTV9ERVZC
VUYsIE1fTk9XQUlUKTsKKwkJCWlmIChsbHEgPT0gTlVMTCkgeworCQkJCWxhZ2dfbGxxX2xpc3Rf
Y2xlYW51cChzYyk7CisJCQkJTEFHR19XVU5MT0NLKHNjKTsKKwkJCQlmcmVlKGlmcl9jb3B5LCBN
X0RFVkJVRik7CisJCQkJaWYgKG9sZF9pZnIpCisJCQkJCWZyZWUob2xkX2lmciwgTV9ERVZCVUYp
OworCQkJCXJldHVybiAoRU5PTUVNKTsKKwkJCX0KKwkJCVNMSVNUX0lOU0VSVF9IRUFEKCZzYy0+
c2NfbGxxX2hlYWQsIGxscSwgbGxxX2VudHJpZXMpOworCQl9IGVsc2UgeworCQkJb2xkX2lmciA9
IGxscS0+aWZyOworCQl9CisKKwkJLyogVXBkYXRlIHRoZSBsbHEgZXZlbiBpZiBwZW5kaW5nLCBp
dCBtaWdodCBoYXZlIHVwZGF0ZWQgKi8KKwkJbGxxLT5pZnIgPSBpZnJfY29weTsKKwkJbGxxLT5v
bGRfbXR1ID0gaWZwLT5pZl9tdHU7CisJCWxscS0+bGxxX2lmcCA9IGxwLT5scF9pZnA7CisJCWxs
cS0+bGxxX2lvY3RsID0gbHAtPmxwX2lvY3RsOworCQlsbHEtPmZsYWdzIHw9IExBR0dfQVNZTkNf
U0VUX01UVTsKKwl9CisJdGFza3F1ZXVlX2VucXVldWUodGFza3F1ZXVlX3N3aSwgJnNjLT5zY19s
bHFfdGFzayk7CisJTEFHR19XVU5MT0NLKHNjKTsKKwlpZiAob2xkX2lmcikKKwkJZnJlZShvbGRf
aWZyLCBNX0RFVkJVRik7CisJcmV0dXJuICgwKTsKK30KKworc3RhdGljIHZvaWQKK2xhZ2dfcG9y
dF9zZXRsbGFkZHIoc3RydWN0IGxhZ2dfbGxxICpoZWFkKQoreworCXN0cnVjdCBsYWdnX2xscSAq
bGxxOworCXN0cnVjdCBpZm5ldCAqaWZwOworCiAJZm9yIChsbHEgPSBoZWFkOyBsbHEgIT0gTlVM
TDsgbGxxID0gaGVhZCkgewogCQlpZnAgPSBsbHEtPmxscV9pZnA7CiAKQEAgLTcxOCw3ICs4ODYs
NiBAQAogCQkJRVZFTlRIQU5ETEVSX0lOVk9LRShpZmxsYWRkcl9ldmVudCwgaWZwKTsKIAkJQ1VS
Vk5FVF9SRVNUT1JFKCk7CiAJCWhlYWQgPSBTTElTVF9ORVhUKGxscSwgbGxxX2VudHJpZXMpOwot
CQlmcmVlKGxscSwgTV9ERVZCVUYpOwogCX0KIH0KIApAQCAtMTUyOSwxMCArMTY5NiwxMiBAQAog
CQlicmVhazsKIAogCWNhc2UgU0lPQ1NJRkNBUDoKLQljYXNlIFNJT0NTSUZNVFU6Ci0JCS8qIERv
IG5vdCBhbGxvdyB0aGUgTVRVIG9yIGNhcHMgdG8gYmUgZGlyZWN0bHkgY2hhbmdlZCAqLworCQkv
KiBEbyBub3QgYWxsb3cgdGhlIENBUHMgdG8gYmUgZGlyZWN0bHkgY2hhbmdlZC4gKi8KIAkJZXJy
b3IgPSBFSU5WQUw7CiAJCWJyZWFrOworCWNhc2UgU0lPQ1NJRk1UVToKKwkJZXJyb3IgPSBsYWdn
X2NoYW5nZV9tdHUoaWZwLCBpZnIpOworCQlicmVhazsKIAogCWRlZmF1bHQ6CiAJCWVycm9yID0g
ZXRoZXJfaW9jdGwoaWZwLCBjbWQsIGRhdGEpOwoK


--b1_7201bd5d6eef08f9d7dd90d39c21fe10--



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