On Mar 19, 2006, at 11:55:59, Asheesh Laroia wrote:
On Sun, 19 Mar 2006, Kyle Moffett wrote:
I've actually figured out where this bug is hiding. dhclient doesn't modify the interface at all, even to set an IP. It just passes all the info to /etc/dhcp3/dhclient-script (for Debian, may vary with distro), which is expected to set everything up. There's some documentation under "man dhclient-script", but it's a fairly self-explanatory shell script. It looks like most distros use a slightly patched version based off the example one shipped with ISC dhclient. You could probably take a look in there to see where it excessively ifconfig ${IFACE} up and ifconfig ${IFACE} down and patch it to do so less often.

From my Ubuntu laptop, here's the justification listed for bringing the interface down:

# IP address changed. Bringing down the interface will delete all routes,
# and clear the ARP cache.

Maybe there's another way to make these things happen? If so, perhaps Ubuntu and/or Debian will take a patch.

Yeah, I was actually in the process of rewriting that script from scratch to handle DHCP obtaining multiple IPs from the DHCP server using different client IDs, then updating BIND9 records and passing one of those to a client behind the firewall and doing proxy ARP for it. I started running in to some more fundamental problems with ifupdown related to the inability to fully extend /etc/network/ interface from externally-written modules (I really wanted to have separate address classes to select generic DHCP or a specific client, and configure the client appropriately). As a result I'm kind of in the process of writing "ifupdown-ng" (the self-documenting source code for the original was just painful to look at, hence it's a full rewrite). I'm adding it with a built-in dhclient-script that writes args and env on a pipe to let the main app handle dhclient, then waits for a response before allowing dhclient to continue. As such I'm not terribly interested in a patch, but if I ever get a working version you can bet I'll be submitting it to Debian experimental/ unstable.

Cheers,
Kyle Moffett
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
http://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to