[PATCH 3/3] userv-ipif: Always request routes from userv, regardless of link quality
Ian Jackson
ijackson at chiark.greenend.org.uk
Thu Dec 15 13:45:40 GMT 2011
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 at chiark.greenend.org.uk>
---
slip.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/slip.c b/slip.c
index a296e42..7c138d1 100644
--- a/slip.c
+++ b/slip.c
@@ -257,13 +257,11 @@ static void userv_invoke_userv(struct userv *st)
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);
--
1.5.6.5
More information about the sgo-software-discuss
mailing list