summaryrefslogtreecommitdiffstats
path: root/sys/net/if_aggr.c
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2020-06-17 06:45:22 +0000
committerdlg <dlg@openbsd.org>2020-06-17 06:45:22 +0000
commit379654e8aeea3de2831b9211617a4fafc616564f (patch)
tree31f423dd4b6977b4a150c60b61410f8545f09578 /sys/net/if_aggr.c
parentRemove some of the unnecessary complications in the calculation of the (diff)
downloadwireguard-openbsd-379654e8aeea3de2831b9211617a4fafc616564f.tar.xz
wireguard-openbsd-379654e8aeea3de2831b9211617a4fafc616564f.zip
make ph_flowid in mbufs 16bits by storing whether it's set in csum_flags.
i've been wanting to do this for a while, and now that we've got stoeplitz and it gives us 16 bits, it seems like the right time.
Diffstat (limited to 'sys/net/if_aggr.c')
-rw-r--r--sys/net/if_aggr.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/net/if_aggr.c b/sys/net/if_aggr.c
index dfbd2e1310b..5b45c3dcfe7 100644
--- a/sys/net/if_aggr.c
+++ b/sys/net/if_aggr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_aggr.c,v 1.30 2020/06/02 00:58:09 jmatthew Exp $ */
+/* $OpenBSD: if_aggr.c,v 1.31 2020/06/17 06:45:22 dlg Exp $ */
/*
* Copyright (c) 2019 The University of Queensland
@@ -660,7 +660,7 @@ aggr_transmit(struct aggr_softc *sc, const struct aggr_map *map, struct mbuf *m)
}
#endif
- if (ISSET(m->m_pkthdr.ph_flowid, M_FLOWID_VALID))
+ if (ISSET(m->m_pkthdr.csum_flags, M_FLOWID))
flow = m->m_pkthdr.ph_flowid;
ifp0 = map->m_ifp0s[flow % AGGR_MAX_PORTS];
@@ -765,10 +765,8 @@ aggr_input(struct ifnet *ifp0, struct mbuf *m, void *cookie)
if (__predict_false(!p->p_collecting))
goto drop;
- if (!ISSET(m->m_pkthdr.ph_flowid, M_FLOWID_VALID)) {
- m->m_pkthdr.ph_flowid = M_FLOWID_VALID |
- (ifp0->if_index ^ sc->sc_mix);
- }
+ if (!ISSET(m->m_pkthdr.csum_flags, M_FLOWID))
+ m->m_pkthdr.ph_flowid = ifp0->if_index ^ sc->sc_mix;
if_vinput(ifp, m);