if (send_interface1(fd, iface, "ROUTERADVERT") == -1)
retval = -1;
}
+ if (D6_STATE_RUNNING(iface)) {
+ if (send_interface1(fd, iface, "INFORM6") == -1)
+ retval = -1;
+ }
return retval;
}
};
#define D6_STATE(ifp) ((struct dhcp6_state *)(ifp)->if_data[IF_DATA_DHCP6])
+#define D6_STATE_RUNNING(ifp) (D6_STATE((ifp)) && D6_STATE((ifp))->new)
#define D6_FIRST_OPTION(m) \
((struct dhcp6_option *) \
((uint8_t *)(m) + sizeof(struct dhcp6_message)))
syslog(LOG_INFO, "%s: carrier lost", iface->name);
close_sockets(iface);
delete_timeouts(iface, start_expire, NULL);
+ dhcp6_drop(iface);
ipv6rs_drop(iface);
drop_dhcp(iface, "NOCARRIER");
}
if (argc == 1) {
for (ifp = ifaces; ifp; ifp = ifp->next) {
len++;
+ if (D6_STATE_RUNNING(ifp))
+ len++;
if (ipv6rs_has_ra(ifp))
len++;
}
for (ifp = ifaces; ifp; ifp = ifp->next)
if (strcmp(argv[opt], ifp->name) == 0) {
len++;
+ if (D6_STATE_RUNNING(ifp))
+ len++;
if (ipv6rs_has_ra(ifp))
len++;
}