summaryrefslogtreecommitdiff
path: root/sys/netmpls
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2015-09-12 20:26:08 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2015-09-12 20:26:08 +0000
commit62488894e357cef741a48eeff848f58431ce07ed (patch)
treef70491c5141d8697d0b27819c26bbca957b26bf1 /sys/netmpls
parentd4533dcdd79582de2b7d8682334227be2c589776 (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.c4
-rw-r--r--sys/netmpls/mpls_output.c4
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));
}