Previously the userv-ipif netlink would not request (from userv) a
route for a site for which the link quality was DOWN. The link
quality is a dynamic quantity but userv-ipif lacks any machinery for
dynamically adding routes, so this is wrong.
Instead, in userv-ipif, unconditionally add routes for all sites,
regardless of link up status.
In practice this code is run during startup and the only reason a link
might be down at that point, ie LINK_QUALITY_DOWN, is that it does not
have an address configured. Mobile sites are often in this situation.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
allnets=ipset_new();
for (r=st->slip.nl.clients; r; r=r->next) {
- if (r->up) {
- struct ipset *nan;
- r->kup=True;
- nan=ipset_union(allnets,r->networks);
- ipset_free(allnets);
- allnets=nan;
- }
+ struct ipset *nan;
+ r->kup=True;
+ nan=ipset_union(allnets,r->networks);
+ ipset_free(allnets);
+ allnets=nan;
}
snets=ipset_to_subnet_list(allnets);
ipset_free(allnets);