summaryrefslogtreecommitdiffstats
path: root/sys/net/if_ppp.c
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2009-07-08 15:01:50 +0000
committerclaudio <claudio@openbsd.org>2009-07-08 15:01:50 +0000
commit9a7604c03ed2103c196662476bc4226a0f308477 (patch)
tree03d4da2e95fa0092ad9c26feed89d4e4159df4b1 /sys/net/if_ppp.c
parentremove redundant comment. (diff)
downloadwireguard-openbsd-9a7604c03ed2103c196662476bc4226a0f308477.tar.xz
wireguard-openbsd-9a7604c03ed2103c196662476bc4226a0f308477.zip
Add the same routing domain assignments and checks into the not so used
protocols as it is currently in if_ethersubr.c. OK reyk@
Diffstat (limited to 'sys/net/if_ppp.c')
-rw-r--r--sys/net/if_ppp.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c
index 1caa5c66354..607c9948a92 100644
--- a/sys/net/if_ppp.c
+++ b/sys/net/if_ppp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ppp.c,v 1.53 2009/03/15 19:40:41 miod Exp $ */
+/* $OpenBSD: if_ppp.c,v 1.54 2009/07/08 15:01:50 claudio Exp $ */
/* $NetBSD: if_ppp.c,v 1.39 1997/05/17 21:11:59 christos Exp $ */
/*
@@ -727,6 +727,16 @@ pppoutput(ifp, m0, dst, rtp)
goto bad;
}
+#ifdef DIAGNOSTIC
+ if (ifp->if_rdomain != m0->m_pkthdr.rdomain) {
+ printf("%s: trying to send packet on wrong domain. "
+ "%d vs. %d, AF %d\n", ifp->if_xname, ifp->if_rdomain,
+ m0->m_pkthdr.rdomain, dst->sa_family);
+ error = ENETDOWN;
+ goto bad;
+ }
+#endif
+
/*
* Compute PPP header.
*/
@@ -1466,6 +1476,9 @@ ppp_inproc(sc, m)
m->m_pkthdr.len = ilen;
m->m_pkthdr.rcvif = ifp;
+ /* mark incomming routing domain */
+ m->m_pkthdr.rdomain = ifp->if_rdomain;
+
if ((proto & 0x8000) == 0) {
#if NBPFILTER > 0
/*