diff options
author | thompsa <thompsa@FreeBSD.org> | 2009-04-30 14:25:44 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2009-04-30 14:25:44 +0000 |
commit | f55b83f9f421359d17e270b990f81bb041172fad (patch) | |
tree | 1674bd711224007df031a0dde2850a7ab54f8f1f /sys/net/if_lagg.c | |
parent | e9ac1c9e24c461671fa0c6556edd38161c420c56 (diff) | |
download | FreeBSD-src-f55b83f9f421359d17e270b990f81bb041172fad.zip FreeBSD-src-f55b83f9f421359d17e270b990f81bb041172fad.tar.gz |
Use the flowid if its available for selecting the tx port.
Diffstat (limited to 'sys/net/if_lagg.c')
-rw-r--r-- | sys/net/if_lagg.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 0479b90..583cc41 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -1604,7 +1604,10 @@ lagg_lb_start(struct lagg_softc *sc, struct mbuf *m) struct lagg_port *lp = NULL; uint32_t p = 0; - p = lagg_hashmbuf(m, lb->lb_key); + if (m->m_flags & M_FLOWID) + p = m->m_pkthdr.flowid; + else + p = lagg_hashmbuf(m, lb->lb_key); p %= sc->sc_count; lp = lb->lb_ports[p]; |