It does not make sense to scan the entire routing table if the decision
will be overridden afterwards.
This makes it possible to use odhcpd on a router with full IPv6 BGP
table, by setting ra_default to 2. Without this change, odhcpd is
constantly busy reading /proc/net/ipv6_route, and doesn't respond to
router solicitations in time.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
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