summaryrefslogtreecommitdiff
path: root/sys/net/radix_mpath.h
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2008-11-24 12:53:54 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2008-11-24 12:53:54 +0000
commitcf626db53398f9a16883b8a81bfc6be80564d9ab (patch)
treed7f16993bef6bca3943e50ae02252a4b519c7e80 /sys/net/radix_mpath.h
parentc05018e37af3c2b12aed9645986daf254456402e (diff)
Implement link-state tracking on the routing table. Routes to interfaces
which are considered down will no be marked ~RTF_UP and so multipath routing will start to work as expected and not pump 50% of the traffic to nirvana. Most of the magic happens in rn_mpath_reprio() which fiddles with the routing table internals. The rest is more straight forward. get it in deraadt@
Diffstat (limited to 'sys/net/radix_mpath.h')
-rw-r--r--sys/net/radix_mpath.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net/radix_mpath.h b/sys/net/radix_mpath.h
index 2829397870a..ad0871e7a26 100644
--- a/sys/net/radix_mpath.h
+++ b/sys/net/radix_mpath.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: radix_mpath.h,v 1.7 2008/11/21 18:01:30 claudio Exp $ */
+/* $OpenBSD: radix_mpath.h,v 1.8 2008/11/24 12:53:53 claudio Exp $ */
/* $KAME: radix_mpath.h,v 1.9 2004/03/30 11:21:49 keiichi Exp $ */
/*
@@ -47,6 +47,7 @@ struct sockaddr;
int rn_mpath_capable(struct radix_node_head *);
struct radix_node *rn_mpath_next(struct radix_node *, int);
struct radix_node *rn_mpath_prio(struct radix_node *, u_int8_t);
+void rn_mpath_reprio(struct radix_node *, int);
int rn_mpath_count(struct radix_node *);
struct rtentry *rt_mpath_matchgate(struct rtentry *, struct sockaddr *,
u_int8_t);