Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Aug 2011 16:45:03 +0200
From:      Svatopluk Kraus <onwahe@gmail.com>
To:        Kevin Lo <kevlo@freebsd.org>
Cc:        Jeremiah Lott <jlott@averesystems.com>, freebsd-current@freebsd.org, Andrew Boyer <aboyer@averesystems.com>
Subject:   Re: [patch] Problem with two NIC on same NET (in_scrubprefix: err=17, new prefix add failed)
Message-ID:  <CAFHCsPXtEC8VW-G6OAnDx-6aMDy5Wrn4Ow94=m0xtP5QV6Z19g@mail.gmail.com>
In-Reply-To: <CAFHCsPVM1iGehjt8AAiwhQvW81GqLjjf7SO_-OnWzYBadQ0jmw@mail.gmail.com>
References:  <CAFHCsPUpkr-vne%2B9cLnovUXDGeVrOzHrKp1YAub=TjJW_3aVtg@mail.gmail.com> <92B5D566-9816-4134-9358-2306D0F7DAFC@averesystems.com> <1312781293.2521.1.camel@srgsec> <CAFHCsPVM1iGehjt8AAiwhQvW81GqLjjf7SO_-OnWzYBadQ0jmw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000e0cd2bf7eec40aa04aa139b75
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,

  after more testing of all matter related to two NIC on same net, I
just updated my submit
http://www.freebsd.org/cgi/query-pr.cgi?pr=3D159601

The patch I send here yesterday must be updated too. IFA_RTSELF flag
must be treat correctly on more places. The new patch is attached and
commented output of my testing too. To achieve same testing result
following patches must be used too:

http://www.freebsd.org/cgi/query-pr.cgi?pr=3D159600
http://www.freebsd.org/cgi/query-pr.cgi?pr=3D159601
http://www.freebsd.org/cgi/query-pr.cgi?pr=3D159603

   Svata


On Mon, Aug 8, 2011 at 4:57 PM, Svatopluk Kraus <onwahe@gmail.com> wrote:
> Thanks for committing the fix.
>
> I've continued with work on two NIC on same NET. Now, with
> point-to-point interfaces too and I have more small fixes which I
> submitted today:
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D159600
> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D159601
> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D159602
> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D159603
>
> I have one more related problem, but I'm not sure how complex the fix sho=
uld be.
>
> When an interface is marked down a network route is deleted (or
> replaced) and a loopback route persists in routing table. It is OK.
> However, when an interface is marked up again, then a network route is
> installed unconditionally (but error is ignored) and a loopbak route
> is deleted and added immediately and unconditionally too. IMHO, it is
> not correct behaviour. I think that a second half of in_ifinit()
> should be here starting by in_addprefix() call with some small or
> bigger changes.
>
> Maybe, adding network route and ignoring error could be OK, but
> deleting loopback route should be done under IFA_RTSELF flag is set
> condition (with existing route refcount check). V_useloopback should
> be check before re-adding the route and existing route must be check
> to evaluate refcount correctly. The proposed patch is attached.
>
> However, I prefer to call in_addprefix() (which is static now) instead
> of rtinit() and add some more checks from in_ifinit(). Can you (or
> anyone) review the patch?
>
> =A0Thanks once again,
>
> =A0 =A0Svata
>
>
> On Mon, Aug 8, 2011 at 7:28 AM, Kevin Lo <kevlo@freebsd.org> wrote:
>> Hi Andrew,
>>
>> I just committed Svatopluk's fix to HEAD, thanks!
>>
>> =A0 =A0 =A0 =A0Kevin
>>
>> On Wed, 2011-08-03 at 11:11 -0400, Andrew Boyer wrote:
>>> We found and fixed a similar issue with an identical patch. =A0It has b=
een working fine for us under stable/8.
>>>
>>> Unfortunately I am weeks and weeks behind on pushing fixes back to the =
tree, so you had to duplicate the work. =A0If it can be committed (and MFC'=
d to 8, please) it would save others the trouble.
>>>
>>> -Andrew
>>>
>>> On Aug 3, 2011, at 10:51 AM, Svatopluk Kraus wrote:
>>>
>>> > I have two NIC on same NET (both are up). If a NIC which installs
>>> > network route is going down then an error happens during network rout=
e
>>> > replacement (in_scrubprefix: err=3D17, new prefix add failed).
>>> >
>>> > =A0I've done a little bit investigation. In rtinit1(), before
>>> > rtrequest1_fib() is called, info.rti_flags is initialized by flags
>>> > (function argument) or-ed with ifa->ifa_flags. Both NIC has a loopbac=
k
>>> > route to itself, so IFA_RTSELF is set on ifa(s). As IFA_RTSELF is
>>> > defined by RTF_HOST, rtrequest1_fib() is called with RTF_HOST flag
>>> > even if netmask is not NULL. Consequently, netmask is set to zero in
>>> > rtrequest1_fib(), and request to add network route is changed under
>>> > hands to request to add host route. It is the reason of logged info
>>> > and my problem.
>>> >
>>> > =A0When I've done more investigation, it looks similar to
>>> > http://svnweb.freebsd.org/base?view=3Drevision&revision=3D201543. So,=
 I
>>> > propose the following patch.
>>> >
>>> > Index: sys/net/route.c
>>> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>> > --- sys/net/route.c (revision 224635)
>>> > +++ sys/net/route.c (working copy)
>>> > @@ -1478,7 +1478,7 @@
>>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0*/
>>> > =A0 =A0 =A0 =A0 =A0 =A0 bzero((caddr_t)&info, sizeof(info));
>>> > =A0 =A0 =A0 =A0 =A0 =A0 info.rti_ifa =3D ifa;
>>> > - =A0 =A0 =A0 =A0 =A0 info.rti_flags =3D flags | ifa->ifa_flags;
>>> > + =A0 =A0 =A0 =A0 =A0 info.rti_flags =3D flags | (ifa->ifa_flags & ~I=
FA_RTSELF);
>>> > =A0 =A0 =A0 =A0 =A0 =A0 info.rti_info[RTAX_DST] =3D dst;
>>> > =A0 =A0 =A0 =A0 =A0 =A0 /*
>>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0* doing this for compatibility reason
>>> >
>>> >
>>> > =A0Is the patch sufficient?
>>> >
>>> > =A0 =A0 =A0Svata
>>> > _______________________________________________
>>> > freebsd-current@freebsd.org mailing list
>>> > http://lists.freebsd.org/mailman/listinfo/freebsd-current
>>> > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd=
.org"
>>>
>>> --------------------------------------------------
>>> Andrew Boyer =A0aboyer@averesystems.com
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> freebsd-current@freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.o=
rg"
>>
>>
>>
>

--000e0cd2bf7eec40aa04aa139b75
Content-Type: text/plain; charset=US-ASCII; name="patch_raw_ip_new.txt"
Content-Disposition: attachment; filename="patch_raw_ip_new.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gr4z8mvs1

SW5kZXg6IHN5cy9uZXRpbmV0L3Jhd19pcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9uZXRpbmV0L3Jh
d19pcC5jCShyZXZpc2lvbiAyMjQ3MDUpCisrKyBzeXMvbmV0aW5ldC9yYXdfaXAuYwkod29ya2lu
ZyBjb3B5KQpAQCAtNzYxLDE3ICs3NjEsNjkgQEAKIAkJICAgIHx8IChpZnAtPmlmX2ZsYWdzICYg
SUZGX1BPSU5UT1BPSU5UKSkKIAkJCWZsYWdzIHw9IFJURl9IT1NUOwogCi0JCWVyciA9IGlmYV9k
ZWxfbG9vcGJhY2tfcm91dGUoKHN0cnVjdCBpZmFkZHIgKilpYSwgc2EpOwotCQlpZiAoZXJyID09
IDApCi0JCQlpYS0+aWFfZmxhZ3MgJj0gfklGQV9SVFNFTEY7CisJCS8qCisJCSAqIFRyeSB0byBp
bnN0YWxsIG91ciBwcmVmaXguIFRoZSBwcmVmaXggYWxyZWFkeSBjYW4gYmUKKwkJICogaW5zdGFs
bGVkIGJ5IGFub3RoZXIgaW50ZXJmYWNlLCBzbyBlcnJvciBjYW4gYmUgaWdub3JlZC4KKwkJICov
CiAKIAkJZXJyID0gcnRpbml0KCZpYS0+aWFfaWZhLCBSVE1fQURELCBmbGFncyk7CiAJCWlmIChl
cnIgPT0gMCkKIAkJCWlhLT5pYV9mbGFncyB8PSBJRkFfUk9VVEU7CiAKKwkJLyoKKwkJICogSW5z
dGFsbGVkIGxvb3BiYWNrIHJvdXRlIGlzbid0IGRlbGV0ZWQgd2hlbiBpbnRlcmZhY2UKKwkJICog
aXMgZ29pbmcgZG93bi4gU28sIGhlcmUgb25seSBjaGVjayBWX3VzZWxvb3BiYWNrIGZsYWcKKwkJ
ICogYW5kIGFjdCBhY2NvcmRpbmcgdG8gaXQuCisJCSAqLworCisJCWlmICghVl91c2Vsb29wYmFj
aykgeworCQkJaWYgKGlhLT5pYV9mbGFncyAmIElGQV9SVFNFTEYpIHsKKwkJCQlzdHJ1Y3Qgcm91
dGUgaWFfcm87CisJCQkJaW50IGZyZWVpdCA9IDA7CisKKwkJCQliemVybygmaWFfcm8sIHNpemVv
ZihpYV9ybykpOworCQkJCWlhX3JvLnJvX2RzdCA9ICpzYTsKKwkJCQlydGFsbG9jX2lnbl9maWIo
JmlhX3JvLCAwLCAwKTsKKwkJCQlpZiAoKGlhX3JvLnJvX3J0ICE9IE5VTEwpICYmIChpYV9yby5y
b19ydC0+cnRfaWZwICE9IE5VTEwpICYmCisJCQkJICAgIChpYV9yby5yb19ydC0+cnRfaWZwID09
IFZfbG9pZikpIHsKKwkJCQkJUlRfTE9DSyhpYV9yby5yb19ydCk7CisJCQkJCWlmIChpYV9yby5y
b19ydC0+cnRfcmVmY250IDw9IDEpCisJCQkJCQlmcmVlaXQgPSAxOworCQkJCQllbHNlIHsKKwkJ
CQkJCVJUX1JFTVJFRihpYV9yby5yb19ydCk7CisJCQkJCQlpYS0+aWFfZmxhZ3MgJj0gfklGQV9S
VFNFTEY7CisJCQkJCX0KKwkJCQlSVEZSRUVfTE9DS0VEKGlhX3JvLnJvX3J0KTsKKwkJCQl9CisJ
CQkJaWYgKGZyZWVpdCkgeworCQkJCQllcnIgPSBpZmFfZGVsX2xvb3BiYWNrX3JvdXRlKChzdHJ1
Y3QgaWZhZGRyICopaWEsCisJCQkJICAgICAgIAkJCQkgICAgICBzYSk7CisJCQkJCWlmIChlcnIg
PT0gMCkKKwkJCQkJCWlhLT5pYV9mbGFncyAmPSB+SUZBX1JUU0VMRjsKKwkJCQl9CisJCQl9CisJ
CX0KKwkJZWxzZSBpZiAoIShpYS0+aWFfZmxhZ3MgJiBJRkFfUlRTRUxGKSAmJgorCQkJICEoaWZw
LT5pZl9mbGFncyAmIElGRl9MT09QQkFDSykpIHsKKwkJCXN0cnVjdCByb3V0ZSBpYV9ybzsKKwor
CQkJYnplcm8oJmlhX3JvLCBzaXplb2YoaWFfcm8pKTsKKwkJCSooKHN0cnVjdCBzb2NrYWRkcl9p
biAqKSgmaWFfcm8ucm9fZHN0KSkgPSBpYS0+aWFfYWRkcjsKKwkJCXJ0YWxsb2NfaWduX2ZpYigm
aWFfcm8sIDAsIDApOworCQkJaWYgKChpYV9yby5yb19ydCAhPSBOVUxMKSAmJiAoaWFfcm8ucm9f
cnQtPnJ0X2lmcCAhPSBOVUxMKSAmJgorCQkJICAgIChpYV9yby5yb19ydC0+cnRfaWZwID09IFZf
bG9pZikpIHsKKwkJCQlSVF9MT0NLKGlhX3JvLnJvX3J0KTsKKwkJCQlSVF9BRERSRUYoaWFfcm8u
cm9fcnQpOworCQkJCVJURlJFRV9MT0NLRUQoaWFfcm8ucm9fcnQpOworCQkJCWlhLT5pYV9mbGFn
cyB8PSBJRkFfUlRTRUxGOworCQkJfSBlbHNlIHsKIAkJZXJyID0gaWZhX2FkZF9sb29wYmFja19y
b3V0ZSgoc3RydWN0IGlmYWRkciAqKWlhLCBzYSk7CiAJCWlmIChlcnIgPT0gMCkKIAkJCWlhLT5p
YV9mbGFncyB8PSBJRkFfUlRTRUxGOworCQkJfQorCQkJaWYgKGlhX3JvLnJvX3J0ICE9IE5VTEwp
CisJCQkJUlRGUkVFKGlhX3JvLnJvX3J0KTsKKwkJfQogCiAJCWlmYV9mcmVlKCZpYS0+aWFfaWZh
KTsKIAkJYnJlYWs7Cg==
--000e0cd2bf7eec40aa04aa139b75
Content-Type: text/plain; charset=US-ASCII; name="raw_ip_test.txt"
Content-Disposition: attachment; filename="raw_ip_test.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gr4z8sly2

Vl91c2Vsb29wYmFjayBpcyBzZXQuCnNsb3Q0IGFuZCBzbG90IDYgYXJlIHBvaW50LXRvLXBvaW50
IGludGVyZmFjZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmJhc2gjIGlmY29uZmlnIHNsb3Q0
IGluZXQgMTcyLjE2LjEuNDggMTAuMC4wLjIwIG5ldG1hc2sgMjU1LjI1NS4yNTUuMjU1CmJhc2gj
IGlmY29uZmlnIHNsb3Q2IGluZXQgMTcyLjE2LjEuNDggMTAuMC4wLjIwIG5ldG1hc2sgMjU1LjI1
NS4yNTUuMjU1CmJhc2gjCmJhc2gjIG5ldHN0YXQgLXJuClJvdXRpbmcgdGFibGVzCgpJbnRlcm5l
dDoKRGVzdGluYXRpb24gICAgICAgIEdhdGV3YXkgICAgICAgICAgICBGbGFncyAgICBSZWZzICAg
ICAgVXNlICBOZXRpZiBFeHBpcmUKMTAuMC4wLjIwICAgICAgICAgIGxpbmsjNyAgICAgICAgICAg
ICBVSCAgICAgICAgICAwICAgICAgICAwICBzbG90NAoxMjcuMC4wLjEgICAgICAgICAgbGluayMx
ICAgICAgICAgICAgIFVIICAgICAgICAgIDAgICAgICAgIDAgICAgbG8wCjE3Mi4xNi4xLjQ4ICAg
ICAgICBsaW5rIzcgICAgICAgICAgICAgVUhTICAgICAgICAgMSAgICAgICAgMCAgICBsbzAKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQoKTG9vcGJhY2sgcm91dGUgaGFzIHR3byByZWZlcmVuY2VzLgpO
ZXR3b3JrIHJvdXRlIGxlYWRzIHRvIHNsb3Q0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpiYXNo
IyBzeXNjdGwgbmV0LmxpbmsuZXRoZXIuaW5ldC51c2Vsb29wYmFjaz0wCm5ldC5saW5rLmV0aGVy
LmluZXQudXNlbG9vcGJhY2s6IDEgLT4gMAoKYmFzaCMgaWZjb25maWcgc2xvdDYgaW5ldCAxNzIu
MTYuMS40OSAxMC4wLjAuMjAgbmV0bWFzayAyNTUuMjU1LjI1NS4yNTUKYmFzaCMgbmV0c3RhdCAt
cm4KUm91dGluZyB0YWJsZXMKCkludGVybmV0OgpEZXN0aW5hdGlvbiAgICAgICAgR2F0ZXdheSAg
ICAgICAgICAgIEZsYWdzICAgIFJlZnMgICAgICBVc2UgIE5ldGlmIEV4cGlyZQoxMC4wLjAuMjAg
ICAgICAgICAgbGluayM3ICAgICAgICAgICAgIFVIICAgICAgICAgIDAgICAgICAgIDAgIHNsb3Q0
CjEyNy4wLjAuMSAgICAgICAgICBsaW5rIzEgICAgICAgICAgICAgVUggICAgICAgICAgMCAgICAg
ICAgMCAgICBsbzAKMTcyLjE2LjEuNDggICAgICAgIGxpbmsjNyAgICAgICAgICAgICBVSFMgICAg
ICAgICAwICAgICAgICAwICAgIGxvMAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpWX3VzZWxvb3Bi
YWNrIGlzIG5vdCBzZXQuCk5ldyAxNzIuMTYuMS40OSBsb29wYmFjayByb3V0ZSBpcyBub3QgaW5z
dGFsbGVkLgpPbGQgMTcyLjE2LjEuNDggbG9vcGJhY2sgcm91dGUgaGFzIG9uZSByZWZlcmVuY2Uu
CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmJhc2gjIGlmY29uZmlnIHNsb3Q0IGluZXQgMTcyLjE2
LjEuNDkgMTAuMC4wLjIwIG5ldG1hc2sgMjU1LjI1NS4yNTUuMjU1CmJhc2gjIG5ldHN0YXQgLXJu
ClJvdXRpbmcgdGFibGVzCgpJbnRlcm5ldDoKRGVzdGluYXRpb24gICAgICAgIEdhdGV3YXkgICAg
ICAgICAgICBGbGFncyAgICBSZWZzICAgICAgVXNlICBOZXRpZiBFeHBpcmUKMTAuMC4wLjIwICAg
ICAgICAgIGxpbmsjOSAgICAgICAgICAgICBVSCAgICAgICAgICAwICAgICAgICAwICBzbG90Ngox
MjcuMC4wLjEgICAgICAgICAgbGluayMxICAgICAgICAgICAgIFVIICAgICAgICAgIDAgICAgICAg
IDAgICAgbG8wCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk5ldyAxNzIuMTYuMS40OSBsb29wYmFj
ayByb3V0ZSBpcyBub3QgaW5zdGFsbGVkLgpPbGQgMTcyLjE2LjEuNDggbG9vcGJhY2sgcm91dGUg
d2FzIGRlbGV0ZWQuCgpOZXR3b3JrIHJvdXRlIGxlYWRzIHRvIHNsb3Q2IGFzIGl0IHdhcyByZXBs
YWNlZCBkdXJpbmcgMTcyLjE2LjEuNDgKYWRkcmVzcyBkZWxldGV0aW9uLgoKLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQpiYXNoIyBzeXNjdGwgbmV0LmxpbmsuZXRoZXIuaW5ldC51c2Vsb29wYmFjaz0x
Cm5ldC5saW5rLmV0aGVyLmluZXQudXNlbG9vcGJhY2s6IDAgLT4gMQoKYmFzaCMgaWZjb25maWcg
c2xvdDQgaW5ldCAxNzIuMTYuMS40OCAxMC4wLjAuMjAgbmV0bWFzayAyNTUuMjU1LjI1NS4yNTUK
YmFzaCMgaWZjb25maWcgc2xvdDYgaW5ldCAxNzIuMTYuMS40OCAxMC4wLjAuMjAgbmV0bWFzayAy
NTUuMjU1LjI1NS4yNTUKYmFzaCMKYmFzaCMgbmV0c3RhdCAtcm4KUm91dGluZyB0YWJsZXMKCklu
dGVybmV0OgpEZXN0aW5hdGlvbiAgICAgICAgR2F0ZXdheSAgICAgICAgICAgIEZsYWdzICAgIFJl
ZnMgICAgICBVc2UgIE5ldGlmIEV4cGlyZQoxMC4wLjAuMjAgICAgICAgICAgbGluayM3ICAgICAg
ICAgICAgIFVIICAgICAgICAgIDAgICAgICAgIDAgIHNsb3Q0CjEyNy4wLjAuMSAgICAgICAgICBs
aW5rIzEgICAgICAgICAgICAgVUggICAgICAgICAgMCAgICAgICAgMCAgICBsbzAKMTcyLjE2LjEu
NDggICAgICAgIGxpbmsjNyAgICAgICAgICAgICBVSFMgICAgICAgICAxICAgICAgICAwICAgIGxv
MAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpWX3VzZWxvb3BiYWNrIGlzIHNldC4KTG9vcGJhY2sg
cm91dGUgaGFzIHR3byByZWZlcmVuY2VzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpiYXNoIyBz
eXNjdGwgbmV0LmxpbmsuZXRoZXIuaW5ldC51c2Vsb29wYmFjaz0wCm5ldC5saW5rLmV0aGVyLmlu
ZXQudXNlbG9vcGJhY2s6IDEgLT4gMAoKYmFzaCMgaWZjb25maWcgc2xvdDQgZG93bgpiYXNoIyBp
ZmNvbmZpZyBzbG90NiBkb3duCmJhc2gjCmJhc2gjIG5ldHN0YXQgLXJuClJvdXRpbmcgdGFibGVz
CgpJbnRlcm5ldDoKRGVzdGluYXRpb24gICAgICAgIEdhdGV3YXkgICAgICAgICAgICBGbGFncyAg
ICBSZWZzICAgICAgVXNlICBOZXRpZiBFeHBpcmUKMTI3LjAuMC4xICAgICAgICAgIGxpbmsjMSAg
ICAgICAgICAgICBVSCAgICAgICAgICAwICAgICAgICAwICAgIGxvMAoxNzIuMTYuMS40OCAgICAg
ICAgbGluayM3ICAgICAgICAgICAgIFVIUyAgICAgICAgIDEgICAgICAgIDAgICAgbG8wCgpiYXNo
IyBpZmNvbmZpZyBzbG90NCB1cApiYXNoIyBpZmNvbmZpZyBzbG90NiB1cApiYXNoIwpiYXNoIyBu
ZXRzdGF0IC1ybgpSb3V0aW5nIHRhYmxlcwoKSW50ZXJuZXQ6CkRlc3RpbmF0aW9uICAgICAgICBH
YXRld2F5ICAgICAgICAgICAgRmxhZ3MgICAgUmVmcyAgICAgIFVzZSAgTmV0aWYgRXhwaXJlCjEw
LjAuMC4yMCAgICAgICAgICBsaW5rIzcgICAgICAgICAgICAgVUggICAgICAgICAgMCAgICAgICAg
MCAgc2xvdDQKMTI3LjAuMC4xICAgICAgICAgIGxpbmsjMSAgICAgICAgICAgICBVSCAgICAgICAg
ICAwICAgICAgICAwICAgIGxvMAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpWX3VzZWxvb3BiYWNr
IGlzIG5vdCBzZXQuCkxvb3BiYWNrIHJvdXRlIGlzIGRlbGV0ZWQgYWZ0ZXIgdXAtPmRvd24tPnVw
IGN5Y2xlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpiYXNoIyBzeXNjdGwgbmV0LmxpbmsuZXRo
ZXIuaW5ldC51c2Vsb29wYmFjaz0xCm5ldC5saW5rLmV0aGVyLmluZXQudXNlbG9vcGJhY2s6IDAg
LT4gMQoKYmFzaCMgaWZjb25maWcgc2xvdDQgZG93bgpiYXNoIyBpZmNvbmZpZyBzbG90NCB1cApi
YXNoIwpiYXNoIyBuZXRzdGF0IC1ybgpSb3V0aW5nIHRhYmxlcwoKSW50ZXJuZXQ6CkRlc3RpbmF0
aW9uICAgICAgICBHYXRld2F5ICAgICAgICAgICAgRmxhZ3MgICAgUmVmcyAgICAgIFVzZSAgTmV0
aWYgRXhwaXJlCjEwLjAuMC4yMCAgICAgICAgICBsaW5rIzkgICAgICAgICAgICAgVUggICAgICAg
ICAgMCAgICAgICAgMCAgc2xvdDYKMTI3LjAuMC4xICAgICAgICAgIGxpbmsjMSAgICAgICAgICAg
ICBVSCAgICAgICAgICAwICAgICAgICAwICAgIGxvMAoxNzIuMTYuMS40OCAgICAgICAgbGluayM3
ICAgICAgICAgICAgIFVIUyAgICAgICAgIDAgICAgICAgIDAgICAgbG8wCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KClZfdXNlbG9vcGJhY2sgaXMgc2V0LgpMb29wYmFjayByb3V0ZSBpcyBpbnN0YWxs
ZWQgYWZ0ZXIgdXAtPmRvd24tPnVwIGN5Y2xlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpiYXNo
IyBpZmNvbmZpZyBzbG90NiBpbmV0IDE3Mi4xNi4xLjQ5IDEwLjAuMC4yMCBuZXRtYXNrIDI1NS4y
NTUuMjU1LjI1NQpiYXNoIwpiYXNoIyBuZXRzdGF0IC1ybgpSb3V0aW5nIHRhYmxlcwoKSW50ZXJu
ZXQ6CkRlc3RpbmF0aW9uICAgICAgICBHYXRld2F5ICAgICAgICAgICAgRmxhZ3MgICAgUmVmcyAg
ICAgIFVzZSAgTmV0aWYgRXhwaXJlCjEwLjAuMC4yMCAgICAgICAgICBsaW5rIzcgICAgICAgICAg
ICAgVUggICAgICAgICAgMCAgICAgICAgMCAgc2xvdDQKMTI3LjAuMC4xICAgICAgICAgIGxpbmsj
MSAgICAgICAgICAgICBVSCAgICAgICAgICAwICAgICAgICAwICAgIGxvMAoxNzIuMTYuMS40OCAg
ICAgICAgbGluayM3ICAgICAgICAgICAgIFVIUyAgICAgICAgIDAgICAgICAgIDAgICAgbG8wCjE3
Mi4xNi4xLjQ5ICAgICAgICBsaW5rIzkgICAgICAgICAgICAgVUhTICAgICAgICAgMCAgICAgICAg
MCAgICBsbzAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTmV3IDE3Mi4xNi4xLjQ5IGxvb3BiYWNr
IHJvdXRlIGlzIGluc3RhbGxlZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpiYXNoIyBpZmNvbmZp
ZyBzbG90NiBpbmV0IDE3Mi4xNi4xLjQ4IDEwLjAuMC4yMCBuZXRtYXNrIDI1NS4yNTUuMjU1LjI1
NQpiYXNoIyBuZXRzdGF0IC1ybgpSb3V0aW5nIHRhYmxlcwoKSW50ZXJuZXQ6CkRlc3RpbmF0aW9u
ICAgICAgICBHYXRld2F5ICAgICAgICAgICAgRmxhZ3MgICAgUmVmcyAgICAgIFVzZSAgTmV0aWYg
RXhwaXJlCjEwLjAuMC4yMCAgICAgICAgICBsaW5rIzcgICAgICAgICAgICAgVUggICAgICAgICAg
MCAgICAgICAgMCAgc2xvdDQKMTI3LjAuMC4xICAgICAgICAgIGxpbmsjMSAgICAgICAgICAgICBV
SCAgICAgICAgICAwICAgICAgICAwICAgIGxvMAoxNzIuMTYuMS40OCAgICAgICAgbGluayM3ICAg
ICAgICAgICAgIFVIUyAgICAgICAgIDEgICAgICAgIDAgICAgbG8wCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KCk9sZCAxNzIuMTYuMS40OSBsb29wYmFjayByb3V0ZSBpcyBkZWxldGVkLgoxNzIuMTYu
MS40OCBsb29wYmFjayByb3V0ZSBoYXMgdHdvIHJlZmVyZW5jZXMuCg==
--000e0cd2bf7eec40aa04aa139b75--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFHCsPXtEC8VW-G6OAnDx-6aMDy5Wrn4Ow94=m0xtP5QV6Z19g>