Date: Thu, 20 Jul 2006 04:18:45 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/em if_em.c if_em.h Message-ID: <200607200418.k6K4IjGJ041949@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
yongari 2006-07-20 04:18:45 UTC
FreeBSD src repository
Modified files:
sys/dev/em if_em.c if_em.h
Log:
Since resetting hardware takes a very long time and results in link
renegotiation, we only initialize the hardware only when it is
absolutely required. Process SIOCGIFADDR ioctl in em(4) when we know
an IPv4 address is added. Handling SIOCGIFADDR in a driver is
layering violation but it seems that there is no easy way without
rewritting hardware initialization code to reduce settle time after
reset.
This should fix a long standing bug which didn't send ARP packet when
interface address is changed or an alias address is added. Another
effect of this fix is it doesn't need additional delays anymore when
adding an alias address to the interface.
While I'm here add a new if_flags into softc which remembers current
prgroammed interface flags and make use of it when we have to program
promiscuous mode.
Tested by: Atanas <atanas AT asd DOT aplus DOT net>
Analyzed by: rwatson
Discussed with: -stable
Revision Changes Path
1.119 +29 -9 src/sys/dev/em/if_em.c
1.45 +1 -0 src/sys/dev/em/if_em.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607200418.k6K4IjGJ041949>
