[PATCH] Fix for e1000 (em/igb) NOARP issue [Was Re: em(4): sending ARP regardless of NOARP flag]

Xin LI delphij at delphij.net
Tue Aug 18 22:51:20 UTC 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Barney Cordoba wrote:
> 
> --- On Tue, 8/18/09, Pyun YongHyeon <pyunyh at gmail.com> wrote:
> 
>> From: Pyun YongHyeon <pyunyh at gmail.com>
>> Subject: Re: [PATCH] Fix for e1000 (em/igb) NOARP issue [Was Re: em(4): sending ARP regardless of NOARP flag]
>> To: "Xin LI" <delphij at delphij.net>
>> Cc: "Barney Cordoba" <barney_cordoba at yahoo.com>, "David Christensen" <davidch at broadcom.com>, "d at delphij..net" <d at delphij.net>, "freebsd-net at freebsd.org" <freebsd-net at freebsd.org>, "Jack Vogel" <jfvogel at gmail.com>, "Jack F Vogel" <jfv at freebsd.org>, yongari at freebsd.org, "Julian Elischer" <julian at elischer.org>
>> Date: Tuesday, August 18, 2009, 5:49 PM
>> On Tue, Aug 18, 2009 at 02:03:37PM
>> -0700, Xin LI wrote:
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> Hi, Jack,
>>>
>>> I have looked into the code history and found that
>> sys/dev/em/if_em.c,v
>>> 1.119 has introduced the arp_ifinit() call in order to
>> fix the problem
>>> that if_em won't send ARP when IP address is changed.
>>>
>>> I think we can further improve it as attached, say,
>> only do it when
>>> IFF_NOARP is not set.  This should have no effect
>> for usual
>>> configuration but fix the problem when NOARP is the
>> desired behavior.
>> That change was introduced by me. I guess the root cause of
>> the
>> problem was long initialization time of hardware which in
>> turn
>> resulted in unbearable boot time when multiple-alias
>> addresses are
>> assigned to em(4). I don't remember details,though.
>>
>> Since we're in the release cycle, the change you suggested
>> would be
>> quick fix for 8.0. I think em(4)/igb(4) should remove
>> SIOCSIFADDR
>> handling in driver which is layering violation.
> 
> There are 2 kinds of programmers; those who do things "correctly',
> and those that do things that work. 
> 
> 99.99999% of the people will be using ARPs, so don't be silly and
> break the driver to solve a case that almost no-one cares about please.

I see no reason how you have reached the "99.99999%" conclusion.  My
employer for instance, has several millions of dollars worth of hardware
purchase every year, and, we do care about DSR, or NOARP being working
or not.

Cheers,
- --
Xin LI <delphij at delphij.net>	http://www.delphij.net/
FreeBSD - The Power to Serve!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (FreeBSD)

iEYEARECAAYFAkqLMBEACgkQi+vbBBjt66DtJACcCuMIEljhYtKT/B9xP18HYzLD
gMwAmwQpJiVSzFJzgXoNggWdRF/kj2Qs
=ROT8
-----END PGP SIGNATURE-----


More information about the freebsd-net mailing list