Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Apr 2008 13:16:20 -0700
From:      "David Christensen" <davidch@broadcom.com>
To:        "Peter Wemm" <peter@wemm.org>
Cc:        "cvs-src@freebsd.org" <cvs-src@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, "cvs-all@freebsd.org" <cvs-all@freebsd.org>
Subject:   RE: cvs commit: src/sys/dev/bce if_bce.c if_bcefw.h if_bcereg.h
Message-ID:  <5D267A3F22FD854F8F48B3D2B523819324EF6DEE3B@IRVEXCHCCR01.corp.ad.broadcom.com>
In-Reply-To: <e7db6d980804030521h7af1ecd4pc492caa0bce14138@mail.gmail.com>
References:  <200802220046.m1M0kMPM008814@repoman.freebsd.org> <e7db6d980803310032p7b3eec0et355919afdb147218@mail.gmail.com> <5D267A3F22FD854F8F48B3D2B523819324EF633FCC@IRVEXCHCCR01.corp.ad.broadcom.com> <e7db6d980803311234q1602d7a4ncf9e3fadaa5f679b@mail.gmail.com> <e7db6d980804030521h7af1ecd4pc492caa0bce14138@mail.gmail.com>

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

--_003_5D267A3F22FD854F8F48B3D2B523819324EF6DEE3BIRVEXCHCCR01c_
Content-Type: text/plain;
 charset=us-ascii
Content-Transfer-Encoding: quoted-printable

> On 8.0/i386, with PAE enabled, I get messages on the console and the
> system hangs when trying to do a nfs mount.  Backing out the driver
> fixes it.  The same driver doesn't cause quite as spectacular a
> failure on 8.0/amd64, but it isn't exactly happy..
>
> Additional IP options:.^M
> Mounting NFS file systebcms:e1: link state changed to UP^M
> bce1: discard frame w/o leading ethernet header (len 0 pkt len 0)^M
> bce1: discard frame w/o leading ethernet header (len 0 pkt len 0)^M
> bce1: discard frame w/o leading ethernet header (len 0 pkt len 0)^M
> bce1: discard frame w/o leading ethernet header (len 0 pkt len 0)^M
> [..forever..]
>
> NFS over UDP, fwiw.  Server is a netapp.

I may have found the performance problem.  It looks like an issue
with handling the producer/consumer indices for the send ring that
would cause outgoing frames to just sit there until a received
frame came in and kickstarted the interrupt handler.  This is
consistent with your observation that enabling promiscuous mode
seemed to make things better, there's more received traffic.  I
found that pinging the SUT from another system has the same
effect.  Can you try the attached patch to head and let me know?

I tested on RELENG_7 and I haven't seen the discard errors yet.

Dave

--_003_5D267A3F22FD854F8F48B3D2B523819324EF6DEE3BIRVEXCHCCR01c_
Content-Type: application/octet-stream;
 name=if_bcereg.patch
Content-Description: if_bcereg.patch
Content-Disposition: attachment; filename=if_bcereg.patch; size=890;
	creation-date="Wed, 09 Apr 2008 13:12:06 GMT";
	modification-date="Wed, 09 Apr 2008 13:12:06 GMT"
Content-Transfer-Encoding: base64

LS0tIGlmX2JjZXJlZy5oLmhlYWQJMjAwOC0wNC0wMyAxMzo1ODoxOS4wMDAwMDAwMDAgLTA3MDAK
KysrIGlmX2JjZXJlZy5oCTIwMDgtMDQtMDkgMTM6MDk6MDQuMDAwMDAwMDAwIC0wNzAwCkBAIC0x
MzIsNiArMTMyLDkgQEAKIAkiXDAyYjEiCQkJCQlcCiAJIlwwMWIwIgogCisvKiBEUkMgLSBTdGFy
dCAqLworLyogI2RlZmluZSBCQ0VfREVCVUcgMSAqLworLyogRFJDIC0gRW5kICovCiAvKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKi8KIC8qIERlYnVnZ2luZyBtYWNyb3MgYW5kIGRlZmluaXRpb25zLiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCkBAIC01MTM0LDYgKzUxMzcsOCBAQCBzdHJ1Y3QgYmNlX3NvZnRjCiAJLyogVFggRE1BIG1h
cHBpbmcgZmFpbHVyZSBjb3VudGVyLiAqLwogCXUzMiB0eF9kbWFfbWFwX2ZhaWx1cmVzOwogCisJ
dTY0IHJ4X2ludHJfdGltZTsKKwogI2lmZGVmIEJDRV9ERUJVRwogCS8qIFRyYWNrIHRoZSBudW1i
ZXIgb2YgZW5xdWV1ZWQgbWJ1ZnMuICovCiAJaW50CWRlYnVnX3R4X21idWZfYWxsb2M7CkBAIC01
MTQ3LDcgKzUxNTIsNiBAQCBzdHJ1Y3QgYmNlX3NvZnRjCiAJdTMyIHR4X2ludGVycnVwdHM7CiAK
IAkvKiBUcmFjayBpbnRlcnJ1cHQgdGltZSAoMjVNSHogY2xvY2spLiAqLwotCXU2NCByeF9pbnRy
X3RpbWU7CiAJdTY0IHR4X2ludHJfdGltZTsKIAogCXUzMglyeF9sb3dfd2F0ZXJtYXJrOwkJCS8q
IExvd2VzdCBudW1iZXIgb2YgcnhfYmQncyBmcmVlLiAqLwo=

--_003_5D267A3F22FD854F8F48B3D2B523819324EF6DEE3BIRVEXCHCCR01c_
Content-Type: application/octet-stream;
 name=if_bce.patch
Content-Description: if_bce.patch
Content-Disposition: attachment; filename=if_bce.patch; size=13993;
	creation-date="Wed, 09 Apr 2008 13:11:10 GMT";
	modification-date="Wed, 09 Apr 2008 13:11:10 GMT"
Content-Transfer-Encoding: base64

LS0tIGlmX2JjZS5jLmhlYWQJMjAwOC0wNC0wMyAxMzo1ODoxOS4wMDAwMDAwMDAgLTA3MDAKKysr
IGlmX2JjZS5jCTIwMDgtMDQtMDkgMTA6Mzk6NDcuMDAwMDAwMDAwIC0wNzAwCkBAIC01NCw3ICs1
NCw3IEBAIF9fRkJTRElEKCIkRnJlZUJTRDogc3JjL3N5cy9kZXYvYmNlL2lmX2IKIC8qIEJDRSBE
ZWJ1ZyBPcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZkZWYgQkNFX0RFQlVHCi0J
dTMyIGJjZV9kZWJ1ZyA9IEJDRV9XQVJOOworCXUzMiBiY2VfZGVidWcgPSBCQ0VfV0FSTl9TRU5E
IHwgQkNFX1dBUk5fUkVDVjsKIAogCS8qICAgICAgICAgIDAgPSBOZXZlciAgICAgICAgICAgICAg
Ki8KIAkvKiAgICAgICAgICAxID0gMSBpbiAyLDE0Nyw0ODMsNjQ4ICovCkBAIC00MzkyLDcgKzQz
OTIsNyBAQCBiY2VfZnJlZV9wZ19jaGFpbihzdHJ1Y3QgYmNlX3NvZnRjICpzYykKIHsKIAlpbnQg
aTsKIAotCURCUFJJTlQoc2MsIEJDRV9WRVJCT1NFX1JFU0VULCAiRW50ZXJpbmcgJXMoKVxuIiwg
X19GVU5DVElPTl9fKTsKKwlEQlBSSU5UKHNjLCBCQ0VfRVhDRVNTSVZFX1JFU0VULCAiRW50ZXJp
bmcgJXMoKVxuIiwgX19GVU5DVElPTl9fKTsKIAogCS8qIEZyZWUgYW55IG1idWZzIHN0aWxsIGlu
IHRoZSBtYnVmIHBhZ2UgY2hhaW4uICovCiAJZm9yIChpID0gMDsgaSA8IFRPVEFMX1BHX0JEOyBp
KyspIHsKQEAgLTQ0MTcsNyArNDQxNyw3IEBAIGJjZV9mcmVlX3BnX2NoYWluKHN0cnVjdCBiY2Vf
c29mdGMgKnNjKQogCQlCQ0VfUFJJTlRGKCIlcygpOiBNZW1vcnkgbGVhayEgTG9zdCAlZCBtYnVm
cyBmcm9tIHBhZ2UgY2hhaW4hXG4iLAogCQkJX19GVU5DVElPTl9fLCBzYy0+ZGVidWdfcGdfbWJ1
Zl9hbGxvYykpOwogCi0JREJQUklOVChzYywgQkNFX1ZFUkJPU0VfUkVTRVQsICJFeGl0aW5nICVz
KClcbiIsIF9fRlVOQ1RJT05fXyk7CisJREJQUklOVChzYywgQkNFX0VYQ0VTU0lWRV9SRVNFVCwg
IkV4aXRpbmcgJXMoKVxuIiwgX19GVU5DVElPTl9fKTsKIH0KIAogCkBAIC00NTYxLDYgKzQ1NjEs
NyBAQCBiY2VfZ2V0X2h3X3J4X2NvbnMoc3RydWN0IGJjZV9zb2Z0YyAqc2MpCiAJcmV0dXJuIGh3
X2NvbnM7CiB9CiAKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKiBIYW5kbGVzIHJlY2VpdmVk
IGZyYW1lIGludGVycnVwdCBldmVudHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki8KIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqLwpAQCAtNDU3Niw5ICs0NTc3LDEwIEBAIGJjZV9yeF9p
bnRyKHN0cnVjdCBiY2Vfc29mdGMgKnNjKQogCXUxNiBzd19yeF9jb25zLCBzd19yeF9jb25zX2lk
eCwgc3dfcGdfY29ucywgc3dfcGdfY29uc19pZHgsIGh3X3J4X2NvbnM7CiAJdTMyIHN0YXR1czsK
IAorCXUzMiB0aW1lcl9zdGFydCwgdGltZXJfZW5kOworCXRpbWVyX3N0YXJ0ID0gUkVHX1JEKHNj
LCBCQ0VfVElNRVJfMjVNSFpfRlJFRV9SVU4pOworCiAjaWZkZWYgQkNFX0RFQlVHCi0JdTMyIHJ4
X2ludHJfc3RhcnQsIHJ4X2ludHJfZW5kOwotCXJ4X2ludHJfc3RhcnQgPSBSRUdfUkQoc2MsIEJD
RV9USU1FUl8yNU1IWl9GUkVFX1JVTik7CiAJc2MtPnJ4X2ludGVycnVwdHMrKzsKICNlbmRpZgog
CkBAIC00NTk5LDYgKzQ2MDEsMTAgQEAgYmNlX3J4X2ludHIoc3RydWN0IGJjZV9zb2Z0YyAqc2Mp
CiAJc3dfcnhfY29ucyA9IHNjLT5yeF9jb25zOwogCXN3X3BnX2NvbnMgPSBzYy0+cGdfY29uczsK
IAorCURCUFJJTlQoc2MsIEJDRV9JTkZPX1JFQ1YsICIlcyhlbnRlcik6IHJ4X3Byb2QgPSAweCUw
NFgsICIKKwkJInJ4X2NvbnMgPSAweCUwNFgsIHJ4X3Byb2RfYnNlcSA9IDB4JTA4WFxuIiwKKwkJ
X19GVU5DVElPTl9fLCBzYy0+cnhfcHJvZCwgc2MtPnJ4X2NvbnMsIHNjLT5yeF9wcm9kX2JzZXEp
OworCiAJLyogVXBkYXRlIHNvbWUgZGVidWcgc3RhdGlzdGljcyBjb3VudGVycyAqLwogCURCUlVO
SUYoKHNjLT5mcmVlX3J4X2JkIDwgc2MtPnJ4X2xvd193YXRlcm1hcmspLAogCQlzYy0+cnhfbG93
X3dhdGVybWFyayA9IHNjLT5mcmVlX3J4X2JkKTsKQEAgLTQ2MDgsNyArNDYxNCw3IEBAIGJjZV9y
eF9pbnRyKHN0cnVjdCBiY2Vfc29mdGMgKnNjKQogCS8qIFRvRG86IENvbnNpZGVyIHNldHRpbmcg
YSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHBhY2tldHMgcHJvY2Vzc2VkLiAqLwogCXdoaWxlIChz
d19yeF9jb25zICE9IGh3X3J4X2NvbnMpIHsKIAkJc3RydWN0IG1idWYgKm0wOwotCisJCQogCQkv
KiBDb252ZXJ0IHRoZSBwcm9kdWNlci9jb25zdW1lciBpbmRpY2VzIHRvIGFuIGFjdHVhbCByeF9i
ZCBpbmRleC4gKi8KIAkJc3dfcnhfY29uc19pZHggPSBSWF9DSEFJTl9JRFgoc3dfcnhfY29ucyk7
CiAKQEAgLTQ2ODEsNiArNDY4NywxMCBAQCBiY2VfcnhfaW50cihzdHJ1Y3QgYmNlX3NvZnRjICpz
YykKIAkJCSAqIGlzIGZpbGxlZCBhbmQgdGhlIHJlbWFpbmluZyBieXRlcyBhcmUgcGxhY2VkIAog
CQkJICogaW4gdGhlIHBhZ2UgY2hhaW4uCiAJCQkgKi8KKworCQkJREJQUklOVChzYywgQkNFX0lO
Rk9fUkVDViwgIiVzKCk6IEZvdW5kIGEgbGFyZ2UgcGFja2V0LlxuIiwKKwkJCQlfX0ZVTkNUSU9O
X18pOworCiAJCSAJaWYgKHN0YXR1cyAmIEwyX0ZIRFJfU1RBVFVTX1NQTElUKQogCQkJCW0wLT5t
X2xlbiA9IGwyZmhkci0+bDJfZmhkcl9pcF94c3VtOwogCkBAIC00NzM2LDYgKzQ3NDYsOSBAQCBi
Y2VfcnhfaW50cihzdHJ1Y3QgYmNlX3NvZnRjICpzYykKIAkJCSAqIDE1NCBieXRlcyBvciBsZXNz
IGluIHNpemUuCiAJCQkgKi8KIAorCQkJREJQUklOVChzYywgQkNFX0lORk9fUkVDViwgIiVzKCk6
IEZvdW5kIGEgc21hbGwgcGFja2V0LlxuIiwKKwkJCQlfX0ZVTkNUSU9OX18pOworCiAJCQkvKiBT
ZXQgdGhlIHRvdGFsIHBhY2tldCBsZW5ndGguICovCiAJCQltMC0+bV9wa3RoZHIubGVuID0gbTAt
Pm1fbGVuID0gcGt0X2xlbjsKIAkJfQpAQCAtNDc0Niw2ICs0NzU5LDEyIEBAIGJjZV9yeF9pbnRy
KHN0cnVjdCBiY2Vfc29mdGMgKnNjKQogCQkvKiBDaGVjayB0aGF0IHRoZSByZXN1bHRpbmcgbWJ1
ZiBjaGFpbiBpcyB2YWxpZC4gKi8KIAkJREJSVU4obV9zYW5pdHkobTAsIEZBTFNFKSk7CiAKKwkJ
REJSVU5JRigobTAtPm1fbGVuIDwgRVRIRVJfSERSX0xFTiksCisJCQlCQ0VfUFJJTlRGKCIlcygp
OiBVbmV4cGVjdGVkIGxlbmd0aCA9ICVkIS5cbiIsIAorCQkJCV9fRlVOQ1RJT05fXywgbTAtPm1f
bGVuKTsKKwkJCWJjZV9icmVha3BvaW50KHNjKSk7CisKKwkJCQogCQlEQlJVTklGKERCX1JBTkRP
TVRSVUUoYmNlX2RlYnVnX2wyZmhkcl9zdGF0dXNfY2hlY2spLAogCQkJQkNFX1BSSU5URigiU2lt
dWxhdGluZyBsMl9maGRyIHN0YXR1cyBlcnJvci5cbiIpOwogCQkJc3RhdHVzID0gc3RhdHVzIHwg
TDJfRkhEUl9FUlJPUlNfUEhZX0RFQ09ERSk7CkBAIC00ODU2LDggKzQ4NzUsMjggQEAgYmNlX3J4
X2ludF9uZXh0X3J4OgogCQkicnhfY29ucyA9IDB4JTA0WCwgcnhfcHJvZF9ic2VxID0gMHglMDhY
XG4iLAogCQlfX0ZVTkNUSU9OX18sIHNjLT5yeF9wcm9kLCBzYy0+cnhfY29ucywgc2MtPnJ4X3By
b2RfYnNlcSk7CiAKLQlEQlJVTihyeF9pbnRyX2VuZCA9IFJFR19SRChzYywgQkNFX1RJTUVSXzI1
TUhaX0ZSRUVfUlVOKTsKLQkJc2MtPnJ4X2ludHJfdGltZSArPSAodTY0KSBCQ0VfVElNRV9ERUxU
QShyeF9pbnRyX3N0YXJ0LCByeF9pbnRyX2VuZCkpOworCXRpbWVyX2VuZCA9IFJFR19SRChzYywg
QkNFX1RJTUVSXzI1TUhaX0ZSRUVfUlVOKTsKKwlzYy0+cnhfaW50cl90aW1lICs9ICh1NjQpICh0
aW1lcl9zdGFydCA+IHRpbWVyX2VuZCA/IAorCQkodGltZXJfc3RhcnQgLSB0aW1lcl9lbmQpIDog
KH50aW1lcl9zdGFydCArIHRpbWVyX2VuZCArIDEpKTsKK30KKworCisvKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKi8KKy8qIFJlYWRzIHRoZSByZWNlaXZlIGNvbnN1bWVyIHZhbHVlIGZyb20gdGhlIHN0YXR1
cyBibG9jayAoc2tpcHBpbmcgb3ZlciAgICAqLworLyogY2hhaW4gcGFnZSBwb2ludGVyIGlmIG5l
Y2Vzc2FyeSkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKi8KKy8qIFJldHVybnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICBod19jb25zICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBpbmxpbmUgdTE2CitiY2VfZ2V0
X2h3X3R4X2NvbnMoc3RydWN0IGJjZV9zb2Z0YyAqc2MpCit7CisJdTE2IGh3X2NvbnMgPSBzYy0+
c3RhdHVzX2Jsb2NrLT5zdGF0dXNfdHhfcXVpY2tfY29uc3VtZXJfaW5kZXgwOworCisJaWYgKCho
d19jb25zICYgVVNBQkxFX1RYX0JEX1BFUl9QQUdFKSA9PSBVU0FCTEVfVFhfQkRfUEVSX1BBR0Up
CisJCWh3X2NvbnMrKzsKKworCXJldHVybiBod19jb25zOwogfQogCiAKQEAgLTQ4NzAsNyArNDkw
OSw2IEBAIGJjZV9yeF9pbnRfbmV4dF9yeDoKIHN0YXRpYyB2b2lkCiBiY2VfdHhfaW50cihzdHJ1
Y3QgYmNlX3NvZnRjICpzYykKIHsKLQlzdHJ1Y3Qgc3RhdHVzX2Jsb2NrICpzYmxrID0gc2MtPnN0
YXR1c19ibG9jazsKIAlzdHJ1Y3QgaWZuZXQgKmlmcCA9IHNjLT5iY2VfaWZwOwogCXUxNiBod190
eF9jb25zLCBzd190eF9jb25zLCBzd190eF9jaGFpbl9jb25zOwogCkBAIC00ODgzLDEyICs0OTIx
LDcgQEAgYmNlX3R4X2ludHIoc3RydWN0IGJjZV9zb2Z0YyAqc2MpCiAJQkNFX0xPQ0tfQVNTRVJU
KHNjKTsKIAogCS8qIEdldCB0aGUgaGFyZHdhcmUncyB2aWV3IG9mIHRoZSBUWCBjb25zdW1lciBp
bmRleC4gKi8KLQlod190eF9jb25zID0gc2MtPmh3X3R4X2NvbnMgPSBzYmxrLT5zdGF0dXNfdHhf
cXVpY2tfY29uc3VtZXJfaW5kZXgwOwotCi0JLyogU2tpcCB0byB0aGUgbmV4dCBlbnRyeSBpZiB0
aGlzIGlzIGEgY2hhaW4gcGFnZSBwb2ludGVyLiAqLwotCWlmICgoaHdfdHhfY29ucyAmIFVTQUJM
RV9UWF9CRF9QRVJfUEFHRSkgPT0gVVNBQkxFX1RYX0JEX1BFUl9QQUdFKQotCQlod190eF9jb25z
Kys7Ci0KKwlod190eF9jb25zID0gc2MtPmh3X3R4X2NvbnMgPSBiY2VfZ2V0X2h3X3R4X2NvbnMo
c2MpOwogCXN3X3R4X2NvbnMgPSBzYy0+dHhfY29uczsKIAogCS8qIFByZXZlbnQgc3BlY3VsYXRp
dmUgcmVhZHMgZnJvbSBnZXR0aW5nIGFoZWFkIG9mIHRoZSBzdGF0dXMgYmxvY2suICovCkBAIC00
OTU3LDkgKzQ5OTAsNyBAQCBiY2VfdHhfaW50cihzdHJ1Y3QgYmNlX3NvZnRjICpzYykKIAkJc3df
dHhfY29ucyA9IE5FWFRfVFhfQkQoc3dfdHhfY29ucyk7CiAKIAkJLyogUmVmcmVzaCBod19jb25z
IHRvIHNlZSBpZiB0aGVyZSdzIG5ldyB3b3JrLiAqLwotCQlod190eF9jb25zID0gc2MtPmh3X3R4
X2NvbnMgPSBzYmxrLT5zdGF0dXNfdHhfcXVpY2tfY29uc3VtZXJfaW5kZXgwOwotCQlpZiAoKGh3
X3R4X2NvbnMgJiBVU0FCTEVfVFhfQkRfUEVSX1BBR0UpID09IFVTQUJMRV9UWF9CRF9QRVJfUEFH
RSkKLQkJCWh3X3R4X2NvbnMrKzsKKwkJaHdfdHhfY29ucyA9IHNjLT5od190eF9jb25zID0gYmNl
X2dldF9od190eF9jb25zKHNjKTsKIAogCQkvKiBQcmV2ZW50IHNwZWN1bGF0aXZlIHJlYWRzIGZy
b20gZ2V0dGluZyBhaGVhZCBvZiB0aGUgc3RhdHVzIGJsb2NrLiAqLwogCQlidXNfc3BhY2VfYmFy
cmllcihzYy0+YmNlX2J0YWcsIHNjLT5iY2VfYmhhbmRsZSwgMCwgMCwgCkBAIC01MzY2LDcgKzUz
OTcsNyBAQCBiY2VfdHhfZW5jYXBfc2tpcF90c286CiAjZW5kaWYKIAogCURCUFJJTlQoc2MsIEJD
RV9JTkZPX1NFTkQsCi0JCSIlcygpOiBTdGFydDogcHJvZCA9IDB4JTA0WCwgY2hhaW5fcHJvZCA9
ICUwNFgsICIKKwkJIiVzKHN0YXJ0KTogcHJvZCA9IDB4JTA0WCwgY2hhaW5fcHJvZCA9IDB4JTA0
WCwgIgogCQkicHJvZF9ic2VxID0gMHglMDhYXG4iLAogCQlfX0ZVTkNUSU9OX18sIHByb2QsIGNo
YWluX3Byb2QsIHByb2RfYnNlcSk7CiAKQEAgLTUzOTgsNyArNTQyOSw3IEBAIGJjZV90eF9lbmNh
cF9za2lwX3RzbzoKIAlEQlJVTk1TRyhCQ0VfRVhDRVNTSVZFX1NFTkQsIGJjZV9kdW1wX3R4X2No
YWluKHNjLCBkZWJ1Z19wcm9kLCBuc2VncykpOwogCiAJREJQUklOVChzYywgQkNFX0lORk9fU0VO
RCwKLQkJIiVzKCk6IEVuZDogcHJvZCA9IDB4JTA0WCwgY2hhaW5fcHJvZCA9ICUwNFgsICIKKwkJ
IiVzKCBlbmQgKTogcHJvZCA9IDB4JTA0WCwgY2hhaW5fcHJvZCA9IDB4JTA0WCwgIgogCQkicHJv
ZF9ic2VxID0gMHglMDhYXG4iLAogCQlfX0ZVTkNUSU9OX18sIHByb2QsIGNoYWluX3Byb2QsIHBy
b2RfYnNlcSk7CiAKQEAgLTU0NDQsMjIgKzU0NzUsMjggQEAgYmNlX3N0YXJ0X2xvY2tlZChzdHJ1
Y3QgaWZuZXQgKmlmcCkKIAlpbnQgY291bnQgPSAwOwogCXUxNiB0eF9wcm9kLCB0eF9jaGFpbl9w
cm9kOwogCi0JLyogSWYgdGhlcmUncyBubyBsaW5rIG9yIHRoZSB0cmFuc21pdCBxdWV1ZSBpcyBl
bXB0eSB0aGVuIGp1c3QgZXhpdC4gKi8KLQlpZiAoIXNjLT5iY2VfbGluayB8fCBJRlFfRFJWX0lT
X0VNUFRZKCZpZnAtPmlmX3NuZCkpIHsKLQkJREJQUklOVChzYywgQkNFX0lORk9fU0VORCwgIiVz
KCk6IE5vIGxpbmsgb3IgdHJhbnNtaXQgcXVldWUgZW1wdHkuXG4iLCAKLQkJCV9fRlVOQ1RJT05f
Xyk7Ci0JCWdvdG8gYmNlX3N0YXJ0X2xvY2tlZF9leGl0OwotCX0KLQogCS8qIHByb2QgcG9pbnRz
IHRvIHRoZSBuZXh0IGZyZWUgdHhfYmQuICovCiAJdHhfcHJvZCA9IHNjLT50eF9wcm9kOwogCXR4
X2NoYWluX3Byb2QgPSBUWF9DSEFJTl9JRFgodHhfcHJvZCk7CiAKIAlEQlBSSU5UKHNjLCBCQ0Vf
SU5GT19TRU5ELAotCQkiJXMoKTogU3RhcnQ6IHR4X3Byb2QgPSAweCUwNFgsIHR4X2NoYWluX3By
b2QgPSAlMDRYLCAiCisJCSIlcyhlbnRlcik6IHR4X3Byb2QgPSAweCUwNFgsIHR4X2NoYWluX3By
b2QgPSAweCUwNFgsICIKIAkJInR4X3Byb2RfYnNlcSA9IDB4JTA4WFxuIiwKIAkJX19GVU5DVElP
Tl9fLCB0eF9wcm9kLCB0eF9jaGFpbl9wcm9kLCBzYy0+dHhfcHJvZF9ic2VxKTsKIAorCS8qIElm
IHRoZXJlJ3Mgbm8gbGluayBvciB0aGUgdHJhbnNtaXQgcXVldWUgaXMgZW1wdHkgdGhlbiBqdXN0
IGV4aXQuICovCisJaWYgKCFzYy0+YmNlX2xpbmspIHsKKwkJREJQUklOVChzYywgQkNFX0lORk9f
U0VORCwgIiVzKCk6IE5vIGxpbmsuXG4iLCAKKwkJCV9fRlVOQ1RJT05fXyk7CisJCWdvdG8gYmNl
X3N0YXJ0X2xvY2tlZF9leGl0OworCX0KKworCWlmIChJRlFfRFJWX0lTX0VNUFRZKCZpZnAtPmlm
X3NuZCkpIHsKKwkJREJQUklOVChzYywgQkNFX0lORk9fU0VORCwgIiVzKCk6IFRyYW5zbWl0IHF1
ZXVlIGVtcHR5LlxuIiwgCisJCQlfX0ZVTkNUSU9OX18pOworCQlnb3RvIGJjZV9zdGFydF9sb2Nr
ZWRfZXhpdDsKKwl9CisKIAkvKgogCSAqIEtlZXAgYWRkaW5nIGVudHJpZXMgd2hpbGUgdGhlcmUg
aXMgc3BhY2UgaW4gdGhlIHJpbmcuCiAJICovCkBAIC01NTAyLDExICs1NTM5LDYgQEAgYmNlX3N0
YXJ0X2xvY2tlZChzdHJ1Y3QgaWZuZXQgKmlmcCkKIAkvKiBVcGRhdGUgdGhlIGRyaXZlcidzIGNv
dW50ZXJzLiAqLwogCXR4X2NoYWluX3Byb2QgPSBUWF9DSEFJTl9JRFgoc2MtPnR4X3Byb2QpOwog
Ci0JREJQUklOVChzYywgQkNFX0lORk9fU0VORCwKLQkJIiVzKCk6IEVuZDogdHhfcHJvZCA9IDB4
JTA0WCwgdHhfY2hhaW5fcHJvZCA9IDB4JTA0WCwgIgotCQkidHhfcHJvZF9ic2VxID0gMHglMDhY
XG4iLAotCQlfX0ZVTkNUSU9OX18sIHR4X3Byb2QsIHR4X2NoYWluX3Byb2QsIHNjLT50eF9wcm9k
X2JzZXEpOwotCiAJLyogU3RhcnQgdGhlIHRyYW5zbWl0LiAqLwogCVJFR19XUjE2KHNjLCBNQl9U
WF9DSURfQUREUiArIEJDRV9MMkNUWF9UWF9IT1NUX0JJRFgsIHNjLT50eF9wcm9kKTsKIAlSRUdf
V1Ioc2MsIE1CX1RYX0NJRF9BRERSICsgQkNFX0wyQ1RYX1RYX0hPU1RfQlNFUSwgc2MtPnR4X3By
b2RfYnNlcSk7CkBAIC01NTE1LDYgKzU1NDcsMTEgQEAgYmNlX3N0YXJ0X2xvY2tlZChzdHJ1Y3Qg
aWZuZXQgKmlmcCkKIAlzYy0+d2F0Y2hkb2dfdGltZXIgPSBCQ0VfVFhfVElNRU9VVDsKIAogYmNl
X3N0YXJ0X2xvY2tlZF9leGl0OgorCURCUFJJTlQoc2MsIEJDRV9JTkZPX1NFTkQsCisJCSIlcyhl
eGl0ICk6IHR4X3Byb2QgPSAweCUwNFgsIHR4X2NoYWluX3Byb2QgPSAweCUwNFgsICIKKwkJInR4
X3Byb2RfYnNlcSA9IDB4JTA4WFxuIiwKKwkJX19GVU5DVElPTl9fLCB0eF9wcm9kLCB0eF9jaGFp
bl9wcm9kLCBzYy0+dHhfcHJvZF9ic2VxKTsKKwogCXJldHVybjsKIH0KIApAQCAtNTc3Niw2OCAr
NTgxMyw2IEBAIGJjZV93YXRjaGRvZyhzdHJ1Y3QgYmNlX3NvZnRjICpzYykKIH0KIAogCi0jaWZk
ZWYgREVWSUNFX1BPTExJTkcKLXN0YXRpYyB2b2lkCi1iY2VfcG9sbF9sb2NrZWQoc3RydWN0IGlm
bmV0ICppZnAsIGVudW0gcG9sbF9jbWQgY21kLCBpbnQgY291bnQpCi17Ci0Jc3RydWN0IGJjZV9z
b2Z0YyAqc2MgPSBpZnAtPmlmX3NvZnRjOwotCi0JQkNFX0xPQ0tfQVNTRVJUKHNjKTsKLQotCXNj
LT5iY2VfcnhjeWNsZXMgPSBjb3VudDsKLQotCWJ1c19kbWFtYXBfc3luYyhzYy0+c3RhdHVzX3Rh
Zywgc2MtPnN0YXR1c19tYXAsCi0JICAgIEJVU19ETUFTWU5DX1BPU1RXUklURSk7Ci0KLQkvKiBD
aGVjayBmb3IgYW55IGNvbXBsZXRlZCBSWCBmcmFtZXMuICovCi0JaWYgKHNjLT5zdGF0dXNfYmxv
Y2stPnN0YXR1c19yeF9xdWlja19jb25zdW1lcl9pbmRleDAgIT0gCi0JCXNjLT5od19yeF9jb25z
KQotCQliY2VfcnhfaW50cihzYyk7Ci0KLQkvKiBDaGVjayBmb3IgYW55IGNvbXBsZXRlZCBUWCBm
cmFtZXMuICovCi0JaWYgKHNjLT5zdGF0dXNfYmxvY2stPnN0YXR1c190eF9xdWlja19jb25zdW1l
cl9pbmRleDAgIT0gCi0JCXNjLT5od190eF9jb25zKQotCQliY2VfdHhfaW50cihzYyk7Ci0KLQkv
KiBDaGVjayBmb3IgbmV3IGZyYW1lcyB0byB0cmFuc21pdC4gKi8KLQlpZiAoIUlGUV9EUlZfSVNf
RU1QVFkoJmlmcC0+aWZfc25kKSkKLQkJYmNlX3N0YXJ0X2xvY2tlZChpZnApOwotCi19Ci0KLQot
c3RhdGljIHZvaWQKLWJjZV9wb2xsKHN0cnVjdCBpZm5ldCAqaWZwLCBlbnVtIHBvbGxfY21kIGNt
ZCwgaW50IGNvdW50KQotewotCXN0cnVjdCBiY2Vfc29mdGMgKnNjID0gaWZwLT5pZl9zb2Z0YzsK
LQotCUJDRV9MT0NLKHNjKTsKLQlpZiAoaWZwLT5pZl9kcnZfZmxhZ3MgJiBJRkZfRFJWX1JVTk5J
TkcpCi0JCWJjZV9wb2xsX2xvY2tlZChpZnAsIGNtZCwgY291bnQpOwotCUJDRV9VTkxPQ0soc2Mp
OwotfQotI2VuZGlmIC8qIERFVklDRV9QT0xMSU5HICovCi0KLQotI2lmIDAKLXN0YXRpYyBpbmxp
bmUgaW50Ci1iY2VfaGFzX3dvcmsoc3RydWN0IGJjZV9zb2Z0YyAqc2MpCi17Ci0Jc3RydWN0IHN0
YXR1c19ibG9jayAqc3RhdCA9IHNjLT5zdGF0dXNfYmxvY2s7Ci0KLQlpZiAoKHN0YXQtPnN0YXR1
c19yeF9xdWlja19jb25zdW1lcl9pbmRleDAgIT0gc2MtPmh3X3J4X2NvbnMpIHx8Ci0JICAgIChz
dGF0LT5zdGF0dXNfdHhfcXVpY2tfY29uc3VtZXJfaW5kZXgwICE9IHNjLT5od190eF9jb25zKSkK
LQkJcmV0dXJuIDE7Ci0KLQlpZiAoKChzdGF0LT5zdGF0dXNfYXR0bl9iaXRzICYgU1RBVFVTX0FU
VE5fQklUU19MSU5LX1NUQVRFKSAhPSAwKSAhPQotCSAgICBicC0+bGlua191cCkKLQkJcmV0dXJu
IDE7Ci0KLQlyZXR1cm4gMDsKLX0KLSNlbmRpZgotCi0KIC8qCiAgKiBJbnRlcnJ1cHQgaGFuZGxl
ci4KICAqLwpAQCAtNTg1NSw2ICs1ODMwLDcgQEAgYmNlX2ludHIodm9pZCAqeHNjKQogCXN0cnVj
dCBiY2Vfc29mdGMgKnNjOwogCXN0cnVjdCBpZm5ldCAqaWZwOwogCXUzMiBzdGF0dXNfYXR0bl9i
aXRzOworCXUxNiBod19yeF9jb25zLCBod190eF9jb25zOwogCiAJc2MgPSB4c2M7CiAJaWZwID0g
c2MtPmJjZV9pZnA7CkBAIC01ODY0LDEzICs1ODQwLDYgQEAgYmNlX2ludHIodm9pZCAqeHNjKQog
CiAJREJSVU4oc2MtPmludGVycnVwdHNfZ2VuZXJhdGVkKyspOwogCi0jaWZkZWYgREVWSUNFX1BP
TExJTkcKLQlpZiAoaWZwLT5pZl9jYXBlbmFibGUgJiBJRkNBUF9QT0xMSU5HKSB7Ci0JCURCUFJJ
TlQoc2MsIEJDRV9JTkZPX01JU0MsICJQb2xsaW5nIGVuYWJsZWQhXG4iKTsKLQkJZ290byBiY2Vf
aW50cl9leGl0OwotCX0KLSNlbmRpZgotCiAJYnVzX2RtYW1hcF9zeW5jKHNjLT5zdGF0dXNfdGFn
LCBzYy0+c3RhdHVzX21hcCwKIAkgICAgQlVTX0RNQVNZTkNfUE9TVFdSSVRFKTsKIApAQCAtNTg4
OSw2ICs1ODU4LDkgQEAgYmNlX2ludHIodm9pZCAqeHNjKQogCQlCQ0VfUENJQ0ZHX0lOVF9BQ0tf
Q01EX1VTRV9JTlRfSENfUEFSQU0gfAogCQlCQ0VfUENJQ0ZHX0lOVF9BQ0tfQ01EX01BU0tfSU5U
KTsKIAorCWh3X3J4X2NvbnMgPSBiY2VfZ2V0X2h3X3J4X2NvbnMoc2MpOworCWh3X3R4X2NvbnMg
PSBiY2VfZ2V0X2h3X3R4X2NvbnMoc2MpOworCiAJLyogS2VlcCBwcm9jZXNzaW5nIGRhdGEgYXMg
bG9uZyBhcyB0aGVyZSBpcyB3b3JrIHRvIGRvLiAqLwogCWZvciAoOzspIHsKIApAQCAtNTkyMiwx
MiArNTg5NCwyMiBAQCBiY2VfaW50cih2b2lkICp4c2MpCiAJCX0KIAogCQkvKiBDaGVjayBmb3Ig
YW55IGNvbXBsZXRlZCBSWCBmcmFtZXMuICovCi0JCWlmIChzYy0+c3RhdHVzX2Jsb2NrLT5zdGF0
dXNfcnhfcXVpY2tfY29uc3VtZXJfaW5kZXgwICE9IHNjLT5od19yeF9jb25zKQorCQlpZiAoaHdf
cnhfY29ucyAhPSBzYy0+aHdfcnhfY29ucykgeworCQkJREJQUklOVChzYywgQkNFX0lORk9fUkVD
ViwgIiVzKCk6IGh3X3J4X2NvbnMgPSAweCUwNFgsICIKKwkJCQkic2MtPmh3X3J4X2NvbnMgPSAw
eCUwNFhcbiIsIF9fRlVOQ1RJT05fXywgCisJCQkJaHdfcnhfY29ucywgc2MtPmh3X3J4X2NvbnMp
OworCiAJCQliY2VfcnhfaW50cihzYyk7CisJCX0KIAogCQkvKiBDaGVjayBmb3IgYW55IGNvbXBs
ZXRlZCBUWCBmcmFtZXMuICovCi0JCWlmIChzYy0+c3RhdHVzX2Jsb2NrLT5zdGF0dXNfdHhfcXVp
Y2tfY29uc3VtZXJfaW5kZXgwICE9IHNjLT5od190eF9jb25zKQorCQlpZiAoaHdfdHhfY29ucyAh
PSBzYy0+aHdfdHhfY29ucykgeworCQkJREJQUklOVChzYywgQkNFX0lORk9fU0VORCwgIiVzKCk6
IGh3X3R4X2NvbnMgPSAweCUwNFgsICIKKwkJCQkic2MtPmh3X3R4X2NvbnMgPSAweCUwNFhcbiIs
IF9fRlVOQ1RJT05fXywgCisJCQkJaHdfdHhfY29ucywgc2MtPmh3X3R4X2NvbnMpOworCiAJCQli
Y2VfdHhfaW50cihzYyk7CisJCX0KIAogCQkvKiBTYXZlIHRoZSBzdGF0dXMgYmxvY2sgaW5kZXgg
dmFsdWUgZm9yIHVzZSBkdXJpbmcgdGhlIG5leHQgaW50ZXJydXB0LiAqLwogCQlzYy0+bGFzdF9z
dGF0dXNfaWR4ID0gc2MtPnN0YXR1c19ibG9jay0+c3RhdHVzX2lkeDsKQEAgLTU5MzcsOCArNTkx
OSwxMCBAQCBiY2VfaW50cih2b2lkICp4c2MpCiAJCQlCVVNfU1BBQ0VfQkFSUklFUl9SRUFEKTsK
IAogCQkvKiBJZiB0aGVyZSdzIG5vIHdvcmsgbGVmdCB0aGVuIGV4aXQgdGhlIGludGVycnVwdCBz
ZXJ2aWNlIHJvdXRpbmUuICovCi0JCWlmICgoc2MtPnN0YXR1c19ibG9jay0+c3RhdHVzX3J4X3F1
aWNrX2NvbnN1bWVyX2luZGV4MCA9PSBzYy0+aHdfcnhfY29ucykgJiYKLQkgICAgCShzYy0+c3Rh
dHVzX2Jsb2NrLT5zdGF0dXNfdHhfcXVpY2tfY29uc3VtZXJfaW5kZXgwID09IHNjLT5od190eF9j
b25zKSkKKwkJaHdfcnhfY29ucyA9IGJjZV9nZXRfaHdfcnhfY29ucyhzYyk7CisJCWh3X3R4X2Nv
bnMgPSBiY2VfZ2V0X2h3X3R4X2NvbnMoc2MpOworCisJCWlmICgoaHdfcnhfY29ucyA9PSBzYy0+
aHdfcnhfY29ucykgJiYgKGh3X3R4X2NvbnMgPT0gc2MtPmh3X3R4X2NvbnMpKQogCQkJYnJlYWs7
CiAJCiAJfQpAQCAtNjMxNCw2ICs2Mjk4LDcgQEAgYmNlX3RpY2sodm9pZCAqeHNjKQogCXN0cnVj
dCBiY2Vfc29mdGMgKnNjID0geHNjOwogCXN0cnVjdCBtaWlfZGF0YSAqbWlpOwogCXN0cnVjdCBp
Zm5ldCAqaWZwOworCXUxNiBod19yeF9jb25zLCBod190eF9jb25zOwogCiAJaWZwID0gc2MtPmJj
ZV9pZnA7CiAKQEAgLTYzMzIsNiArNjMxNywyMCBAQCBiY2VfdGljayh2b2lkICp4c2MpCiAJLyog
Q2hlY2sgdGhhdCBjaGlwIGhhc24ndCBodW5nLiAqLwogCWJjZV93YXRjaGRvZyhzYyk7CiAKKwlo
d19yeF9jb25zID0gYmNlX2dldF9od19yeF9jb25zKHNjKTsKKwlpZiAoaHdfcnhfY29ucyAhPSBz
Yy0+aHdfcnhfY29ucykgeworCQlEQlBSSU5UKHNjLCBCQ0VfSU5GT19SRUNWLCAiJXMoKTogc3Rh
dHVzX2Jsb2NrLT5yeF9jb25zMCA9IDB4JTA0WCwgIgorCQkJInNjLT5od19yeF9jb25zID0gMHgl
MDRYXG4iLCBfX0ZVTkNUSU9OX18sIAorCQkJaHdfcnhfY29ucywgc2MtPmh3X3J4X2NvbnMpOwor
CX0KKworCWh3X3R4X2NvbnMgPSBiY2VfZ2V0X2h3X3R4X2NvbnMoc2MpOworCWlmIChod190eF9j
b25zICE9IHNjLT5od190eF9jb25zKSB7CisJCURCUFJJTlQoc2MsIEJDRV9JTkZPX1NFTkQsICIl
cygpOiBzdGF0dXNfYmxvY2stPnR4X2NvbnMwID0gMHglMDRYLCAiCisJCQkic2MtPmh3X3R4X2Nv
bnMgPSAweCUwNFhcbiIsIF9fRlVOQ1RJT05fXywgCisJCQlod190eF9jb25zLCBzYy0+aHdfdHhf
Y29ucyk7CisJfQorCiAJLyogSWYgbGluayBpcyB1cCBhbHJlYWR5IHVwIHRoZW4gd2UncmUgZG9u
ZS4gKi8KIAlpZiAoc2MtPmJjZV9saW5rKQogCQlnb3RvIGJjZV90aWNrX2xvY2tlZF9leGl0OwpA
QCAtNjM0Nyw2ICs2MzQ2LDcgQEAgYmNlX3RpY2sodm9pZCAqeHNjKQogCQkgICAgSUZNX1NVQlRZ
UEUobWlpLT5taWlfbWVkaWFfYWN0aXZlKSA9PSBJRk1fMTAwMF9TWCkgJiYKIAkJICAgIGJvb3R2
ZXJib3NlKQogCQkJQkNFX1BSSU5URigiR2lnYWJpdCBsaW5rIHVwXG4iKTsKKwogCQkvKiBOb3cg
dGhhdCBsaW5rIGlzIHVwLCBoYW5kbGUgYW55IG91dHN0YW5kaW5nIFRYIHRyYWZmaWMuICovCiAJ
CWlmICghSUZRX0RSVl9JU19FTVBUWSgmaWZwLT5pZl9zbmQpKQogCQkJYmNlX3N0YXJ0X2xvY2tl
ZChpZnApOwpAQCAtNjY5MywxNyArNjY5MywxNyBAQCBiY2VfYWRkX3N5c2N0bHMoc3RydWN0IGJj
ZV9zb2Z0YyAqc2MpCiAJCTAsICJOdW1iZXIgb2YgVFggaW50ZXJydXB0cyIpOwogCiAJU1lTQ1RM
X0FERF9VTE9ORyhjdHgsIGNoaWxkcmVuLCBPSURfQVVUTywgCi0JCSJyeF9pbnRyX3RpbWUiLAot
CQlDVExGTEFHX1JELCAmc2MtPnJ4X2ludHJfdGltZSwKLQkJIlJYIGludGVycnVwdCB0aW1lIik7
Ci0KLQlTWVNDVExfQUREX1VMT05HKGN0eCwgY2hpbGRyZW4sIE9JRF9BVVRPLCAKIAkJInR4X2lu
dHJfdGltZSIsCiAJCUNUTEZMQUdfUkQsICZzYy0+dHhfaW50cl90aW1lLAogCQkiVFggaW50ZXJy
dXB0IHRpbWUiKTsKIAogI2VuZGlmIAogCisJU1lTQ1RMX0FERF9VTE9ORyhjdHgsIGNoaWxkcmVu
LCBPSURfQVVUTywgCisJCSJyeF9pbnRyX3RpbWUiLAorCQlDVExGTEFHX1JELCAmc2MtPnJ4X2lu
dHJfdGltZSwKKwkJIlJYIGludGVycnVwdCB0aW1lIik7CisKIAlTWVNDVExfQUREX0lOVChjdHgs
IGNoaWxkcmVuLCBPSURfQVVUTywgCiAJCSJtYnVmX2FsbG9jX2ZhaWxlZCIsCiAJCUNUTEZMQUdf
UkQsICZzYy0+bWJ1Zl9hbGxvY19mYWlsZWQsCg==

--_003_5D267A3F22FD854F8F48B3D2B523819324EF6DEE3BIRVEXCHCCR01c_--




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