diff options
| author | 2009-07-08 15:01:50 +0000 | |
|---|---|---|
| committer | 2009-07-08 15:01:50 +0000 | |
| commit | 9a7604c03ed2103c196662476bc4226a0f308477 (patch) | |
| tree | 03d4da2e95fa0092ad9c26feed89d4e4159df4b1 /sys/net/if_ppp.c | |
| parent | remove redundant comment. (diff) | |
| download | wireguard-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.c | 15 |
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 /* |
