fxp0 interface going up/down/up/down (dhclient related?)

Alban Hertroys haramrae at gmail.com
Sun Jun 9 12:48:32 UTC 2013


On Jun 9, 2013, at 12:44, Jeremy Chadwick <jdc at koitsu.org> wrote:

> On Sun, Jun 09, 2013 at 12:21:37PM +0200, Alban Hertroys wrote:
>> I'm having an issue where my fxp0 interface keeps looping between DOWN/UP, with dhclient requesting a lease each time in between. I think it's caused by dhclient:
>> 
>> solfertje # dhclient -d fxp0
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> send_packet: Network is down
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> fxp0 link state down -> up
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> fxp0 link state down -> up
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> fxp0 link state down -> up
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> fxp0 link state down -> up
>> DHCPREQUEST on fxp0 to 255.255.255.255 port 67
>> DHCPACK from 109.72.40.1
>> bound to 141.105.10.89 -- renewal in 7200 seconds.
>> fxp0 link state up -> down
>> ^C
>> 
>> In above test I turned off devd (/etc/rc.d/devd stop) and background dhclient (/etc/rc.d/dhclient stop fxp0), and I still go the above result. There's practically no time spent between up/down cycles, this just keeps going on and on.
>> fxp0 is the only interface that runs on DHCP. The others have static IP's.
>> 
>> Initially I thought the issue might be caused by devd, because I have both ethernet and 822.11 type NICs (2x ethernet, 1x wifi) in that system.
>> 
>> This is 9-STABLE from yesterday.
>> 
>> Before, I had 9-RELEASE running on this system with the same config, and that worked well.
> 
> And so what I predicted begins...
> 
> The issue is described in the 8.4-RELEASE Errata Notes; the driver is
> using the same driver version as in stable/9, hence you're experiencing
> the same problem.  See Open Issues:
> 
> http://www.freebsd.org/releases/8.4R/errata.html
> 
> No fix for this has been committed.  It is still under discussions by
> multiple kernel folks as to where the fix should be applied (dhclient or
> the fxp(4) driver), because the changes made to dhclient (that tickle
> this bug) may actually affect more drivers than just fxp(4).
> 
> You can start by reading the (extremely long but very informative)
> thread here.  I do urge you to read all the posts, not skim them:
> 
> http://lists.freebsd.org/pipermail/freebsd-stable/2013-May/073440.html
> http://lists.freebsd.org/pipermail/freebsd-stable/2013-May/thread.html#73440

Goodness, and here I was hoping it was just a silly mistake I made…

IIUC, the issue is a combination of:
- dhclient now being aware of link state changes and
- the fxp driver reinitializes for certain mode changes, such as assigning an IP address

Which causes dhclient to think that the link state changed, fetch a "new" IP address and assigns it to the fxp adapter again, causing the same link state change over and over again.

Is that about correct?

> The only known workarounds at this time are:
> 
> a) Cease use of DHCP; set a static IP in rc.conf,
> 
> b) Try some of the patches mentioned within the above thread,
> specifically this one:
> http://lists.freebsd.org/pipermail/freebsd-stable/2013-May/073581.html

Or c) Use DHCP with a static media setting:
ifconfig_fxp0="DHCP media 100baseTX mediaopt full-duplex"

That worked for two out of three people apparently.
I'm not done reading this thread yet though and I noticed a patch by YongHyeon that I'll test first.

> The patch is for head (CURRENT) so it may not patch cleanly.  If not,
> you can try to work the patch in yourself/by hand, or you can ask
> Yong-Hyeon or others for help.
> 
>> I'm not sure it's related, but on the wireless interface I get  alot of:
>> Jun  9 12:08:11 solfertje kernel: ath0: stuck beacon; resetting (bmiss count 4)
> 
> Absolutely 100% unrelated.  That issue has been around for years, and
> the root cause varies tremendously.  I discussed it back in February
> 2011:
> 
> http://lists.freebsd.org/pipermail/freebsd-stable/2011-February/061700.html
> 
> If you want to know how I solved that problem, I can tell you, but I'm
> certain you won't be happy to hear what I have to say.
> 
> If you're concerned about this problem, please start another thread
> discussing it.  I'm sure Adrian Chadd can provide you lots of insights,
> but most of them are already in his response to my above thread/post.


Right, then I won't polute this thread with wifi-related issues any further.

Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.



More information about the freebsd-stable mailing list