[git commit master 1/1] udhcpc: periodically reread our ifindex and mac

Denys Vlasenko vda.linux at googlemail.com
Wed Oct 20 19:38:29 UTC 2010


commit: http://git.busybox.net/busybox/commit/?id=a5048fa386b4c54f269c0a23c579970acdd1edd5
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/udhcp/dhcpc.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index f685a1d..f0c8ace 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1167,6 +1167,16 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
 		 * resend discover/renew/whatever
 		 */
 		if (retval == 0) {
+			/* When running on a bridge, the ifindex may have changed
+			 * (e.g. if member interfaces were added/removed
+			 * or if the status of the bridge changed).
+			 * Refresh ifindex and client_mac:
+			 */
+			udhcp_read_interface(client_config.interface,
+				&client_config.ifindex,
+				NULL,
+				client_config.client_mac);
+
 			/* We will restart the wait in any case */
 			already_waited_sec = 0;
 
-- 
1.7.1



More information about the busybox-cvs mailing list