diff options
author | 2015-12-21 10:51:55 +0000 | |
---|---|---|
committer | 2015-12-21 10:51:55 +0000 | |
commit | 7d1be0da3ccf564c7d6460fa38750d1c449ffe15 (patch) | |
tree | 3ea398047baa5ab59466ca15934d1059e595c762 /sys/net/route.c | |
parent | Revert, rc.d scripts have been fixed. (diff) | |
download | wireguard-openbsd-7d1be0da3ccf564c7d6460fa38750d1c449ffe15.tar.xz wireguard-openbsd-7d1be0da3ccf564c7d6460fa38750d1c449ffe15.zip |
Pass the destination and mask to rtable_mpath_reprio() in order to not
use ``rt_node'' with ART.
Diffstat (limited to 'sys/net/route.c')
-rw-r--r-- | sys/net/route.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/net/route.c b/sys/net/route.c index 0530ffac748..bc92bd4d346 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -1,4 +1,4 @@ -/* $OpenBSD: route.c,v 1.292 2015/12/11 08:58:23 mpi Exp $ */ +/* $OpenBSD: route.c,v 1.293 2015/12/21 10:51:55 mpi Exp $ */ /* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */ /* @@ -1771,7 +1771,9 @@ rt_if_linkstate_change(struct rtentry *rt, void *arg, u_int id) if (!(rt->rt_flags & RTF_UP)) { /* bring route up */ rt->rt_flags |= RTF_UP; - rtable_mpath_reprio(rt, rt->rt_priority & RTP_MASK); + rtable_mpath_reprio(id, rt_key(rt), + rt_plen2mask(rt, &sa_mask), + rt->rt_priority & RTP_MASK, rt); } } else { if (rt->rt_flags & RTF_UP) { @@ -1786,7 +1788,9 @@ rt_if_linkstate_change(struct rtentry *rt, void *arg, u_int id) } /* take route down */ rt->rt_flags &= ~RTF_UP; - rtable_mpath_reprio(rt, rt->rt_priority | RTP_DOWN); + rtable_mpath_reprio(id, rt_key(rt), + rt_plen2mask(rt, &sa_mask), + rt->rt_priority | RTP_DOWN, rt); } } if_group_routechange(rt_key(rt), rt_plen2mask(rt, &sa_mask)); |