On Sun, May 26, 2013 at 08:38:41PM +0900, YongHyeon PYUN wrote:
> On Fri, May 24, 2013 at 04:36:46PM +0900, Hiroki Sato wrote:
> > Hiroki Sato <h...@freebsd.org> wrote
> >   in <20130524.162926.395058052118975996....@allbsd.org>:
> > 
> > hr> YongHyeon PYUN <pyu...@gmail.com> wrote
> > hr>   in <20130524054720.ga1...@michelle.cdnetworks.com>:
> > hr>
> > hr>  A workaround is specifying the following line in rc.conf:
> > hr>
> > hr>  ifconfig_fxp0="DHCP media 100baseTX mediaopt full-duplex"
> > 
> >  Hmm, I guess this can happen on other NICs when the link negotiation
> >  causes a link-state flap.  Is it true?
> 
> Probably not. AFAIK fxp(4) is the only controller that requires two
> full resets to support flow control. Multicast programming for
> fxp(4) also requires full controller reset so trying to renew its
> existing lease for fxp(4) looks wrong to me.
> 

After reading code again, I think the dhclient change may affect
all controllers that don't have protection against multiple
initialization of upper stack. if_init() of driver is called
whenever an IP address is assigned to an interface. The stack could
be changed to call if_init() only when IFF_DRV_RUNNING flag is not
set but that would break old drivers which may require full
controller reset for multicast filter reprogramming. I also guess
there may be several drivers that do not implement reinitialization
protection in arm/mips.
It seems fxp(4)'s simple protection against unnecessary controller
initialization does not work well due to the limitation of
controller. We may be able to improve fxp(4) case but other
old/buggy drivers should be fixed too.
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to