uloop_timeout_cancel(&iface->timer_rs);
iface->timer_rs.cb = NULL;
+ if (iface->ifindex <= 0)
+ return -1;
+
setsockopt(router_event.uloop.fd, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP,
&all_nodes, sizeof(all_nodes));
setsockopt(router_event.uloop.fd, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP,
memcpy(addrs, iface->ia_addr, ipcnt * sizeof(*addrs));
// Check default route
- if (parse_routes(addrs, ipcnt))
- adv.h.nd_ra_router_lifetime = htons(1);
if (iface->default_router > 1)
adv.h.nd_ra_router_lifetime = htons(iface->default_router);
+ else if (parse_routes(addrs, ipcnt))
+ adv.h.nd_ra_router_lifetime = htons(1);
}
// Construct Prefix Information options