summaryrefslogtreecommitdiffstats
path: root/sys/net/route.c
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2015-12-21 10:51:55 +0000
committermpi <mpi@openbsd.org>2015-12-21 10:51:55 +0000
commit7d1be0da3ccf564c7d6460fa38750d1c449ffe15 (patch)
tree3ea398047baa5ab59466ca15934d1059e595c762 /sys/net/route.c
parentRevert, rc.d scripts have been fixed. (diff)
downloadwireguard-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.c10
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));