diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-11-18 13:05:59 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-11-18 13:05:59 +0000 |
commit | 3268e10f54da796ed1e17863fb36bbd15cbd29c0 (patch) | |
tree | 8143d2e6354b15888b4fee1e548a80b4a6eb9181 /sys/net/route.c | |
parent | 086eaf760880558ddfc44ecbb7e1be1829229a3c (diff) |
Revert previous workaround now that multipath route selection has been
fixed.
ok sthen@, dlg@
Diffstat (limited to 'sys/net/route.c')
-rw-r--r-- | sys/net/route.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/sys/net/route.c b/sys/net/route.c index 34abcd70071..a63d4311a7e 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -1,4 +1,4 @@ -/* $OpenBSD: route.c,v 1.272 2015/11/18 12:45:59 mpi Exp $ */ +/* $OpenBSD: route.c,v 1.273 2015/11/18 13:05:58 mpi Exp $ */ /* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */ /* @@ -419,14 +419,8 @@ _rtalloc(struct sockaddr *dst, uint32_t *src, int flags, unsigned int rtableid) return (rt); } - /* Next hop entry must be UP... */ - if (!ISSET(nhrt->rt_flags, RTF_UP)) { - rtfree(nhrt); - return (rt); - } - - /* ...and on the same interface unless we have multiple gateways. */ - if (nhrt->rt_ifidx != rt->rt_ifidx && !ISSET(rt->rt_flags, RTF_MPATH)) { + /* Next hop entry must be UP and on the same interface. */ + if (!ISSET(nhrt->rt_flags, RTF_UP) || nhrt->rt_ifidx != rt->rt_ifidx) { rtfree(nhrt); return (rt); } |