summaryrefslogtreecommitdiff
path: root/src/netlink.c
diff options
context:
space:
mode:
authorSimon Kelley <simon@thekelleys.org.uk>2013-05-20 11:28:32 +0100
committerSimon Kelley <simon@thekelleys.org.uk>2013-05-20 11:28:32 +0100
commit115ac3e4d77dab97fb90719aecf265999f10503d (patch)
tree611ba0945c600426769f84a0af5cce3c08741fb4 /src/netlink.c
parentcfcad42ff1ddee8e64d120f18016a654152d0215 (diff)
downloaddnsmasq-115ac3e4d77dab97fb90719aecf265999f10503d.tar.gz
Generalise --interface-name to cope with IPv6 addresses.
Diffstat (limited to 'src/netlink.c')
-rw-r--r--src/netlink.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/netlink.c b/src/netlink.c
index 78d0926..5e4d924 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -193,7 +193,10 @@ int iface_enumerate(int family, void *parm, int (*callback)())
{
/* May be multicast arriving async */
if (nl_async(h))
- newaddr = 1;
+ {
+ newaddr = 1;
+ enumerate_interfaces(1); /* reset */
+ }
}
else if (h->nlmsg_type == NLMSG_DONE)
{
@@ -397,7 +400,7 @@ static int nl_async(struct nlmsghdr *h)
static void nl_newaddress(time_t now)
{
if (option_bool(OPT_CLEVERBIND) || daemon->doing_dhcp6 || daemon->doing_ra)
- enumerate_interfaces();
+ enumerate_interfaces(0);
if (option_bool(OPT_CLEVERBIND))
create_bound_listeners(0);