Date: Wed, 19 Aug 2009 11:14:32 -0700 (PDT) From: Barney Cordoba <barney_cordoba@yahoo.com> To: d@delphij.net, Julian Elischer <julian@elischer.org> Cc: pyunyh@gmail.com, David Christensen <davidch@broadcom.com>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Jack Vogel <jfvogel@gmail.com>, Jack F Vogel <jfv@freebsd.org>, yongari@freebsd.org Subject: Re: [PATCH] Fix for e1000 (em/igb) NOARP issue [Was Re: em(4): sending ARP regardless of NOARP flag] Message-ID: <121870.41829.qm@web63905.mail.re1.yahoo.com> In-Reply-To: <4A8B316F.3030408@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
=0A=0A--- On Tue, 8/18/09, Julian Elischer <julian@elischer.org> wrote:=0A= =0A> From: Julian Elischer <julian@elischer.org>=0A> Subject: Re: [PATCH] F= ix for e1000 (em/igb) NOARP issue [Was Re: em(4): sending ARP regardless of= NOARP flag]=0A> To: d@delphij.net=0A> Cc: pyunyh@gmail.com, "Barney Cordob= a" <barney_cordoba@yahoo.com>, "David Christensen" <davidch@broadcom.com>, = "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, "Jack Vogel" <jfvogel@= gmail.com>, "Jack F Vogel" <jfv@freebsd.org>, yongari@freebsd.org=0A> Date:= Tuesday, August 18, 2009, 6:55 PM=0A> Xin LI wrote:=0A> > -----BEGIN PGP S= IGNED MESSAGE-----=0A> > Hash: SHA1=0A> > =0A> > Barney Cordoba wrote:=0A> = >> --- On Tue, 8/18/09, Pyun YongHyeon <pyunyh@gmail.com>=0A> wrote:=0A> >>= =0A> >>> From: Pyun YongHyeon <pyunyh@gmail.com>=0A> >>> Subject: Re: [PATC= H] Fix for e1000 (em/igb)=0A> NOARP issue [Was Re: em(4): sending ARP regar= dless of NOARP=0A> flag]=0A> >>> To: "Xin LI" <delphij@delphij.net>=0A> >>>= Cc: "Barney Cordoba" <barney_cordoba@yahoo.com>,=0A> "David Christensen" <= davidch@broadcom.com>,=0A> "d@delphij..net"=0A> <d@delphij.net>,=0A> "freeb= sd-net@freebsd.org"=0A> <freebsd-net@freebsd.org>,=0A> "Jack Vogel" <jfvoge= l@gmail.com>,=0A> "Jack F Vogel" <jfv@freebsd.org>,=0A> yongari@freebsd.org= ,=0A> "Julian Elischer" <julian@elischer.org>=0A> >>> Date: Tuesday, August= 18, 2009, 5:49 PM=0A> >>> On Tue, Aug 18, 2009 at 02:03:37PM=0A> >>> -0700= , Xin LI wrote:=0A> >>>> -----BEGIN PGP SIGNED MESSAGE-----=0A> >>>> Hash: = SHA1=0A> >>>>=0A> >>>> Hi, Jack,=0A> >>>>=0A> >>>> I have looked into the c= ode history and=0A> found that=0A> >>> sys/dev/em/if_em.c,v=0A> >>>> 1.119 = has introduced the arp_ifinit() call=0A> in order to=0A> >>> fix the proble= m=0A> >>>> that if_em won't send ARP when IP address=0A> is changed.=0A> >>= >>=0A> >>>> I think we can further improve it as=0A> attached, say,=0A> >>>= only do it when=0A> >>>> IFF_NOARP is not set.=A0 This should=0A> have no = effect=0A> >>> for usual=0A> >>>> configuration but fix the problem when=0A= > NOARP is the=0A> >>> desired behavior.=0A> >>> That change was introduced= by me. I guess the=0A> root cause of=0A> >>> the=0A> >>> problem was long = initialization time of=0A> hardware which in=0A> >>> turn=0A> >>> resulted = in unbearable boot time when=0A> multiple-alias=0A> >>> addresses are=0A> >= >> assigned to em(4). I don't remember=0A> details,though.=0A> >>>=0A> >>> = Since we're in the release cycle, the change=0A> you suggested=0A> >>> woul= d be=0A> >>> quick fix for 8.0. I think em(4)/igb(4) should=0A> remove=0A> = >>> SIOCSIFADDR=0A> >>> handling in driver which is layering=0A> violation.= =0A> >> There are 2 kinds of programmers; those who do=0A> things "correctl= y',=0A> >> and those that do things that work. =0A> >>=0A> >> 99.99999% of = the people will be using ARPs, so=0A> don't be silly and=0A> >> break the d= river to solve a case that almost=0A> no-one cares about please.=0A> > =0A>= =0A> Cisco.Ironport=A0 runs 50% (2 out of 4) of their em=0A> interfaces in= noarp =0A> mode.=0A=0A=0AAh, are they running Jack's drivers unmodified? S= eems unlikely.=0A=0ANOARP does work. Does your network catch on fire if the= interface sends=0Aan ARP out? Does equipment start failing like dominos? = =0A=0AMy point was don't make ARPs not work (the reason the "hack" is in=0A= there is to make something work better) to preserve some fantasy of=0A"laye= ring" that went out with the 8-track player. The check for =0Athe NOARP fla= g is a better solution until the subsystem works the =0Away its supposed to= work.=0A=0ABarney=0A=0A=0A
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?121870.41829.qm>