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"