[PATCH] Fix for e1000 (em/igb) NOARP issue [Was Re: em(4):
sending ARP regardless of NOARP flag]
Pyun YongHyeon
pyunyh at gmail.com
Tue Aug 18 21:49:58 UTC 2009
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.
More information about the freebsd-net
mailing list