diff options
author | Denys Vlasenko | 2010-10-20 21:38:29 +0200 |
---|---|---|
committer | Denys Vlasenko | 2010-10-20 21:38:29 +0200 |
commit | a5048fa386b4c54f269c0a23c579970acdd1edd5 (patch) | |
tree | ff5228a029898d391f53198a74c005b02c41b6a6 /networking | |
parent | b3af65b95de883e9be403e065f57b867d8ea8d43 (diff) | |
download | busybox-a5048fa386b4c54f269c0a23c579970acdd1edd5.zip busybox-a5048fa386b4c54f269c0a23c579970acdd1edd5.tar.gz |
udhcpc: periodically reread our ifindex and mac
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking')
-rw-r--r-- | 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; |