diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2008-11-24 12:53:54 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2008-11-24 12:53:54 +0000 |
commit | cf626db53398f9a16883b8a81bfc6be80564d9ab (patch) | |
tree | d7f16993bef6bca3943e50ae02252a4b519c7e80 /sys/net/radix_mpath.h | |
parent | c05018e37af3c2b12aed9645986daf254456402e (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.h | 3 |
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); |