From: claudio Date: Mon, 28 Jul 2008 13:25:10 +0000 (+0000) Subject: Fix the tracking of RTF_MPATH. Until now the magic happend on the first route X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=5c7dd751ecfd324f3ba7c1f7edf43a3831754ce4;p=openbsd Fix the tracking of RTF_MPATH. Until now the magic happend on the first route and not on the routes with the right prio. So pick up the correct route by calling rn_mpath_prio() first. OK henning@ --- diff --git a/sys/net/route.c b/sys/net/route.c index 139c48eef38..cd73b910fe3 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -1,4 +1,4 @@ -/* $OpenBSD: route.c,v 1.93 2008/06/08 19:12:28 claudio Exp $ */ +/* $OpenBSD: route.c,v 1.94 2008/07/28 13:25:10 claudio Exp $ */ /* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */ /* @@ -885,7 +885,8 @@ makeroute: #ifndef SMALL_KERNEL if (rn_mpath_capable(rnh) && (rn = rnh->rnh_lookup(info->rti_info[RTAX_DST], - info->rti_info[RTAX_NETMASK], rnh)) != NULL) { + info->rti_info[RTAX_NETMASK], rnh)) != NULL && + (rn = rn_mpath_prio(rn, prio)) != NULL) { if (rn_mpath_next(rn) == NULL) ((struct rtentry *)rn)->rt_flags &= ~RTF_MPATH; else