From owner-freebsd-net@FreeBSD.ORG Thu Aug 20 13:09:52 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6734C1065691 for ; Thu, 20 Aug 2009 13:09:52 +0000 (UTC) (envelope-from barney_cordoba@yahoo.com) Received: from n2a.bullet.mail.ac4.yahoo.com (n2a.bullet.mail.ac4.yahoo.com [76.13.13.65]) by mx1.freebsd.org (Postfix) with SMTP id 188DC8FC6C for ; Thu, 20 Aug 2009 13:09:51 +0000 (UTC) Received: from [76.13.13.26] by n2.bullet.mail.ac4.yahoo.com with NNFMP; 20 Aug 2009 13:09:51 -0000 Received: from [76.13.10.178] by t3.bullet.mail.ac4.yahoo.com with NNFMP; 20 Aug 2009 13:09:51 -0000 Received: from [127.0.0.1] by omp119.mail.ac4.yahoo.com with NNFMP; 20 Aug 2009 13:09:51 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 387296.63071.bm@omp119.mail.ac4.yahoo.com Received: (qmail 86629 invoked by uid 60001); 20 Aug 2009 13:09:51 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1250773791; bh=PqFD6SJ6QYTMdBIJyNEyiUVPoFfFniO9yIlDJ8a7mzI=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=IyHrEpPosJrSCI+5O5qlSfNiHO4xzeJcuCUT9Jqp1ir5gMmljpzF32Y1rBwC/0LJxckhque+PxHwHyKgGdAENgrUh99Z4/DL745howwwr5PGLffZGqpjCc2Ug7G82/Knn4trFHPUZbUlY1vERm84PgncM7LEimUKA6dVAgWzH5Q= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=T5pxhMh/n1XdDTeoYp8VAFypWiiSCfW3gIQjWw5APOVRNpzr+UkSXggHf8wrD2gEvMU/Wnf10zQ8FxpWRvC1b95ILw74q//sxT8XL4saF+EJxBEZibaTJH+ai6IqKUOQ5YyKjTxoSMJnT8PRxjS0OHO5W2/ng8LcR22B2Ts7tmY=; Message-ID: <233049.86158.qm@web63904.mail.re1.yahoo.com> X-YMail-OSG: Em5l1iEVM1nrpwYuXxpTIgaOg5T5i2cdXK8Lk26JzbW4jWEMoPP_UAyADBYsoCAH_yw1KcNbCvu8.j3rhueNGaLJRxir6PrceMV85THxewbAC6SRn8SN7..W26uJNyw.TieO1v808RRxBEKyfekwTKqWNmmd045Tyss4u71dprDetOk9bmagxjF06caVORR_4wUnLb.WCc86SkTWaxXIE1bmy1LYbYjJKsz1P.0uk03fpPzEfbm1APXmq4BoHpaW_j60LDG81Rw152eVWwRoi7RWmLa7KajW2KDvZGCJ34jMnpDuB0iR4Ur.jlxJmw-- Received: from [66.176.162.245] by web63904.mail.re1.yahoo.com via HTTP; Thu, 20 Aug 2009 06:09:51 PDT X-Mailer: YahooMailClassic/6.1.2 YahooMailWebService/0.7.338.1 Date: Thu, 20 Aug 2009 06:09:51 -0700 (PDT) From: Barney Cordoba To: Julian Elischer In-Reply-To: <4A8C53AD.1040102@elischer.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: pyunyh@gmail.com, David Christensen , d@delphij.net, "freebsd-net@freebsd.org" , Jack Vogel , Jack F Vogel , yongari@freebsd.org Subject: Re: [PATCH] Fix for e1000 (em/igb) NOARP issue [Was Re: em(4): sending ARP regardless of NOARP flag] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2009 13:09:52 -0000 =0A=0A--- On Wed, 8/19/09, Julian Elischer wrote:=0A= =0A> From: Julian Elischer =0A> Subject: Re: [PATCH] F= ix for e1000 (em/igb) NOARP issue [Was Re: em(4): sending ARP regardless of= NOARP flag]=0A> To: "Barney Cordoba" =0A> Cc: d@= delphij.net, pyunyh@gmail.com, "David Christensen" , = "freebsd-net@freebsd.org" , "Jack Vogel" , "Jack F Vogel" , yongari@freebsd.org=0A> Date:= Wednesday, August 19, 2009, 3:34 PM=0A> Barney Cordoba wrote:=0A> > =0A> >= --- On Tue, 8/18/09, Julian Elischer =0A> wrote:=0A> = > =0A> >> From: Julian Elischer =0A> >> Subject: Re: [= PATCH] Fix for e1000 (em/igb) NOARP=0A> issue [Was Re: em(4): sending ARP r= egardless of NOARP flag]=0A> >> To: d@delphij.net=0A> >> Cc: pyunyh@gmail.c= om,=0A> "Barney Cordoba" ,=0A> "David Christensen= " ,=0A> "freebsd-net@freebsd.org"=0A> ,=0A> "Jack Vogel" ,=0A> "Jack F Vogel" ,=0A> yongari@freebsd.org=0A> >> Date: Tuesday, August 18, 2009,= 6:55 PM=0A> >> Xin LI wrote:=0A> >>> -----BEGIN PGP SIGNED MESSAGE-----=0A= > >>> Hash: SHA1=0A> >>> =0A> >>> Barney Cordoba wrote:=0A> >>>> --- On Tue= , 8/18/09, Pyun YongHyeon =0A> >> wrote:=0A> >>>>> From: = Pyun YongHyeon =0A> >>>>> Subject: Re: [PATCH] Fix for e1= 000=0A> (em/igb)=0A> >> NOARP issue [Was Re: em(4): sending ARP regardless= =0A> of NOARP=0A> >> flag]=0A> >>>>> To: "Xin LI" =0A>= >>>>> Cc: "Barney Cordoba" ,=0A> >> "David Chris= tensen" ,=0A> >> "d@delphij..net"=0A> >> ,=0A> >> "freebsd-net@freebsd.org"=0A> >> ,=0A>= >> "Jack Vogel" ,=0A> >> "Jack F Vogel" ,=0A> >> yongari@freebsd.org,=0A> >> "Julian Elischer" =0A> >>>>> Date: Tuesday, August 18, 2009, 5:49=0A> PM=0A> >>>>> On Tue,= Aug 18, 2009 at 02:03:37PM=0A> >>>>> -0700, Xin LI wrote:=0A> >>>>>> -----= BEGIN PGP SIGNED=0A> MESSAGE-----=0A> >>>>>> Hash: SHA1=0A> >>>>>> =0A> >>>= >>> Hi, Jack,=0A> >>>>>> =0A> >>>>>> I have looked into the code=0A> histor= y and=0A> >> found that=0A> >>>>> sys/dev/em/if_em.c,v=0A> >>>>>> 1.119 has= introduced the=0A> arp_ifinit() call=0A> >> in order to=0A> >>>>> fix the = problem=0A> >>>>>> that if_em won't send ARP when IP=0A> address=0A> >> is = changed.=0A> >>>>>> I think we can further improve it=0A> as=0A> >> attache= d, say,=0A> >>>>> only do it when=0A> >>>>>> IFF_NOARP is not set.=A0 This= =0A> should=0A> >> have no effect=0A> >>>>> for usual=0A> >>>>>> configurat= ion but fix the problem=0A> when=0A> >> NOARP is the=0A> >>>>> desired beha= vior.=0A> >>>>> That change was introduced by me. I=0A> guess the=0A> >> ro= ot cause of=0A> >>>>> the=0A> >>>>> problem was long initialization time=0A= > of=0A> >> hardware which in=0A> >>>>> turn=0A> >>>>> resulted in unbearab= le boot time when=0A> >> multiple-alias=0A> >>>>> addresses are=0A> >>>>> a= ssigned to em(4). I don't remember=0A> >> details,though.=0A> >>>>> Since w= e're in the release cycle, the=0A> change=0A> >> you suggested=0A> >>>>> wo= uld be=0A> >>>>> quick fix for 8.0. I think=0A> 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=0A> who= do=0A> >> things "correctly',=0A> >>>> and those that do things that work.= =0A> >>>> 99.99999% of the people will be using=0A> ARPs, so=0A> >> don't = be silly and=0A> >>>> break the driver to solve a case that=0A> almost=0A> = >> no-one cares about please.=0A> >> Cisco.Ironport=A0 runs 50% (2 out of 4= ) of=0A> their em=0A> >> interfaces in noarp mode.=0A> > =0A> > =0A> > Ah, = are they running Jack's drivers unmodified? Seems=0A> unlikely.=0A> =0A> we= ll they will be when they go to 8.=0A> They stay a revision or two back for= stability reasons of=0A> course.=0A> why wouldn't they?=0A=0ABecause the g= eneric drivers generally suck rocks? And from all of=0Athe complaints, it c= ertainly doesn't seem that they are stable.=0A=0A> =0A> =0A> > =0A> > NOARP= does work. Does your network catch on fire if=0A> the interface sends=0A> = > an ARP out? Does equipment start failing like dominos?=0A> =0A> =0A> well= if your network sniffer started responding to arps,=0A> how would you feel= ?=0A=0AThe problem here is that an ARP is sent on address initialization. S= o=0Awhat does that have to do with responding to ARPs? Do you usually=0Agiv= e a network sniffer an IP address on the monitor port? You seem=0Ato be arg= uing the case that NOARP isn't completely useless, which=0Ahas no relevance= to this discussion.=0A=0AOf course my solution would be to simply comment = out the arp init code,=0Abecause trying to convince 34 bearded gurus of the= correct way to do=0Ait is way too much work. :)=0A=0ABC=0A=0A=0A> > =0A> >= My point was don't make ARPs not work (the reason the=0A> "hack" is in=0A>= > there is to make something work better) to preserve=0A> some fantasy of= =0A> > "layering" that went out with the 8-track player. The=0A> check for = the NOARP flag is a better solution until the=0A> subsystem works the way i= ts supposed to work.=0A> > =0A> > Barney=0A> > =0A> > =0A> >=A0 =A0 =A0=A0= =A0=0A> =0A> =0A=0A=0A