diff options
author | 2019-04-02 10:46:02 +0000 | |
---|---|---|
committer | 2019-04-02 10:46:02 +0000 | |
commit | db4e5757b257c757cec8d8fb2c0031ebfa994d76 (patch) | |
tree | 36518b93869dec2b9cc7d43cf000dff06a12d70c /sys/net/if_mpe.c | |
parent | When curve25519 was added to iked, it was based on the internet-draft and (diff) | |
download | wireguard-openbsd-db4e5757b257c757cec8d8fb2c0031ebfa994d76.tar.xz wireguard-openbsd-db4e5757b257c757cec8d8fb2c0031ebfa994d76.zip |
some mbuf ph_rtableid fixes
consistently set the rtabled for "outgoing" packets to the encap
rdomain. use this for rtallocs in mpip too instead of assuming 0.
Diffstat (limited to 'sys/net/if_mpe.c')
-rw-r--r-- | sys/net/if_mpe.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/net/if_mpe.c b/sys/net/if_mpe.c index e50d5a45930..bafe9d661bc 100644 --- a/sys/net/if_mpe.c +++ b/sys/net/if_mpe.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_mpe.c,v 1.87 2019/03/18 03:21:20 dlg Exp $ */ +/* $OpenBSD: if_mpe.c,v 1.88 2019/04/02 10:46:02 dlg Exp $ */ /* * Copyright (c) 2008 Pierre-Yves Ritschard <pyr@spootnik.org> @@ -196,6 +196,9 @@ mpe_start(struct ifnet *ifp) m->m_pkthdr.len += sizeof(struct shim_hdr); } #endif + + m->m_pkthdr.ph_rtableid = sc->sc_rdomain; + mpls_output(ifp0, m, &smpls, rt); if_put(ifp0); rtfree(rt); @@ -276,9 +279,6 @@ mpe_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, memcpy(mtod(m, struct sockaddr *), rt->rt_gateway, slen); mtod(m, struct sockaddr *)->sa_len = slen; /* to be sure */ - m->m_pkthdr.ph_ifidx = ifp->if_index; - /* XXX assumes MPLS is always in rdomain 0 */ - m->m_pkthdr.ph_rtableid = 0; m->m_pkthdr.ph_family = dst->sa_family; error = if_enqueue(ifp, m); |