Apparent fxp regression in FreeBSD 8.4-RC3
Charles Sprickman
spork at bway.net
Fri May 24 08:21:34 UTC 2013
On May 24, 2013, at 1:47 AM, YongHyeon PYUN wrote:
> On Thu, May 23, 2013 at 09:49:19PM -0700, Jeremy Chadwick wrote:
>> On Thu, May 23, 2013 at 09:40:35PM -0700, Jeremy Chadwick wrote:
>>> On Thu, May 23, 2013 at 11:42:44PM -0400, Glen Barber wrote:
>>>> On Thu, May 23, 2013 at 08:38:06PM -0700, Jeremy Chadwick wrote:
>>>>> If someone wants me to test DHCP via fxp(4) on the above system (I can
>>>>> do so with both NICs), just let me know; it should only take me half an
>>>>> hour or so.
>>>>>
>>>>> I'll politely wait for someone to say "please do so" else won't bother.
>>>>>
>>>>
>>>> For the sake of completeness...
>>>>
>>>> "Please do so." :)
>>>
>>> Issue reproduced 100% reliably, even within sysinstall.
>>>
>>> {snip}
>>
>> Forgot to add:
>>
>> This issue ONLY happens when using DHCP.
>>
>> Statically assigning the IP address works fine; fxp0 goes down once,
>> up once, then stays up indefinitely.
>
> I asked Mike to try backing out dhclient(8) change(r247336) but it
> seems he missed that. Jeremy, could you try that?
>
> I guess dhclient(8) does not like flow-control negotiation of
> fxp(4) after link establishment.
Confirmed here that removing the linkstate stuff from r247336 fixes it.
Before:
May 24 08:00:17 fxptest dhclient: New Subnet Mask (fxp0): 255.255.255.0
May 24 08:00:17 fxptest dhclient: New Broadcast Address (fxp0): 10.3.2.255
May 24 08:00:17 fxptest dhclient: New Routers (fxp0): 10.3.2.1
May 24 08:00:19 fxptest kernel: fxp0: link state changed to UP
May 24 08:00:19 fxptest kernel: fxp0: link state changed to DOWN
May 24 08:00:19 fxptest dhclient: New IP Address (fxp0): 10.3.2.109
May 24 08:00:19 fxptest dhclient: New Subnet Mask (fxp0): 255.255.255.0
May 24 08:00:19 fxptest dhclient: New Broadcast Address (fxp0): 10.3.2.255
May 24 08:00:19 fxptest dhclient: New Routers (fxp0): 10.3.2.1
May 24 08:00:21 fxptest kernel: fxp0: link state changed to UP
May 24 08:00:21 fxptest dhclient: New IP Address (fxp0): 10.3.2.109
May 24 08:00:21 fxptest kernel: fxp0: link state changed to DOWN
May 24 08:00:21 fxptest dhclient: New Subnet Mask (fxp0): 255.255.255.0
May 24 08:00:21 fxptest dhclient: New Broadcast Address (fxp0): 10.3.2.255
May 24 08:00:21 fxptest dhclient: New Routers (fxp0): 10.3.2.1
May 24 08:00:23 fxptest kernel: fxp0: link state changed to UP
May 24 08:00:23 fxptest dhclient: New IP Address (fxp0): 10.3.2.109
May 24 08:00:23 fxptest kernel: fxp0: link state changed to DOWN
After:
May 24 08:07:05 fxptest kernel: fxp0: link state changed to DOWN
May 24 08:07:07 fxptest kernel: fxp0: link state changed to UP
May 24 08:07:12 fxptest dhclient: New IP Address (fxp0): 10.3.2.109
May 24 08:07:12 fxptest kernel: fxp0: link state changed to DOWN
May 24 08:07:12 fxptest dhclient: New Subnet Mask (fxp0): 255.255.255.0
May 24 08:07:12 fxptest dhclient: New Broadcast Address (fxp0): 10.3.2.255
May 24 08:07:12 fxptest dhclient: New Routers (fxp0): 10.3.2.1
May 24 08:07:14 fxptest kernel: fxp0: link state changed to UP
root at fxptest:/usr/home/spork # date
Fri May 24 08:10:32 UTC 2013
Note there is still a down/up/down/up transition on starting dhclient…
Am I correct that the linkstate changes are meant to allow for an automatic retry for a lease when the ethernet connection is dropped? That doesn't seem wrong, it just seems like somewhere we should be waiting a few seconds. It appears that each time dhclient gets a lease, even without the linkstate code, the connection briefly drops…'
Charles
More information about the freebsd-stable
mailing list