diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-09-12 20:26:08 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-09-12 20:26:08 +0000 |
commit | 62488894e357cef741a48eeff848f58431ce07ed (patch) | |
tree | f70491c5141d8697d0b27819c26bbca957b26bf1 /sys/netmpls | |
parent | d4533dcdd79582de2b7d8682334227be2c589776 (diff) |
Stop overwriting the rt_ifp pointer of RTF_LOCAL routes with lo0ifp.
Use instead the RTF_LOCAL flag to loop local traffic back to the
corresponding protocol queue.
With this change rt_ifp is now always the same as rt_ifa->ifa_ifp.
ok claudio@
Diffstat (limited to 'sys/netmpls')
-rw-r--r-- | sys/netmpls/mpls_input.c | 4 | ||||
-rw-r--r-- | sys/netmpls/mpls_output.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/netmpls/mpls_input.c b/sys/netmpls/mpls_input.c index 2ae6cb7b9fc..1b8243ec991 100644 --- a/sys/netmpls/mpls_input.c +++ b/sys/netmpls/mpls_input.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mpls_input.c,v 1.47 2015/07/29 00:04:03 rzalamena Exp $ */ +/* $OpenBSD: mpls_input.c,v 1.48 2015/09/12 20:26:07 mpi Exp $ */ /* * Copyright (c) 2008 Claudio Jeker <claudio@openbsd.org> @@ -240,7 +240,7 @@ do_v6: } #endif if (ifp->if_type == IFT_MPLSTUNNEL) { - ifp->if_output(ifp, m, rt_key(rt), rt); + if_output(ifp, m, rt_key(rt), rt); goto done; } diff --git a/sys/netmpls/mpls_output.c b/sys/netmpls/mpls_output.c index 07bc343afc5..6d21a76b86f 100644 --- a/sys/netmpls/mpls_output.c +++ b/sys/netmpls/mpls_output.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mpls_output.c,v 1.22 2015/09/12 14:21:04 claudio Exp $ */ +/* $OpenBSD: mpls_output.c,v 1.23 2015/09/12 20:26:07 mpi Exp $ */ /* * Copyright (c) 2008 Claudio Jeker <claudio@openbsd.org> @@ -58,7 +58,7 @@ mpls_output(struct ifnet *ifp0, struct mbuf *m, struct sockaddr *dst, if (rt0 == NULL || (dst->sa_family != AF_INET && dst->sa_family != AF_INET6 && dst->sa_family != AF_MPLS)) { if (!ISSET(ifp->if_xflags, IFXF_MPLS)) - return (ifp->if_output(ifp, m, dst, rt0)); + return (if_output(ifp, m, dst, rt0)); else return (ifp->if_ll_output(ifp, m, dst, rt0)); } |