rtems_bsdnet_do_dhcp_failsafe problems

Peter Dufault dufault at hda.com
Tue Aug 2 15:28:38 UTC 2011

On Aug 2, 2011, at 10:23 , Peter Dufault wrote:

> 2. Once I fix that it finds the interface, however, the carrier LED on the switch never comes on and it times out looking for an address:

I see where the LED goes off, but I don't know enough about networking to fix it yet.

1. After the network driver finishes initializing the carrier LED is on.
2. rtems_bsdnet_do_dhcp_failsafe() calls do_dhcp_init(), which calls remove_address().  This is different from the regular rtems_bsdnet_do_dhcp().
3. We finally get down into dhcp_init().  It finds out from dhcp_interface_has_ip() that the interface does not have an IP (it was removed above), and it calls bootpc_fakeup_interface().  The LED is still on.
4. bootpc_fakeup_interface() reads back the interface flags, ORs in the IFF_UP, and sets the flags.  At that point the LED goes out.

I'm guessing remove_address() is being too aggressive and clobbered some required flags?  Anyone know how this is supposed to work?

Peter Dufault
HD Associates, Inc.      Software and System Engineering

More information about the users mailing list