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

Barney Cordoba barney_cordoba at yahoo.com
Tue Aug 18 22:32:29 UTC 2009



--- 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.

Barney


      



More information about the freebsd-net mailing list