sfxge: set correct RSS hash type instead of opaque
Reviewed by: adrian, gnn Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D2124
This commit is contained in:
parent
45b602753a
commit
f2c2be04b5
@ -330,11 +330,16 @@ sfxge_rx_deliver(struct sfxge_softc *sc, struct sfxge_rx_sw_desc *rx_desc)
|
||||
if (rx_desc->flags & EFX_CKSUM_TCPUDP)
|
||||
csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR;
|
||||
|
||||
/* The hash covers a 4-tuple for TCP only */
|
||||
if (rx_desc->flags & EFX_PKT_TCP) {
|
||||
if (rx_desc->flags & (EFX_PKT_IPV4 | EFX_PKT_IPV6)) {
|
||||
m->m_pkthdr.flowid = EFX_RX_HASH_VALUE(EFX_RX_HASHALG_TOEPLITZ,
|
||||
mtod(m, uint8_t *));
|
||||
M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE);
|
||||
/* The hash covers a 4-tuple for TCP only */
|
||||
M_HASHTYPE_SET(m,
|
||||
(rx_desc->flags & EFX_PKT_IPV4) ?
|
||||
((rx_desc->flags & EFX_PKT_TCP) ?
|
||||
M_HASHTYPE_RSS_TCP_IPV4 : M_HASHTYPE_RSS_IPV4) :
|
||||
((rx_desc->flags & EFX_PKT_TCP) ?
|
||||
M_HASHTYPE_RSS_TCP_IPV6 : M_HASHTYPE_RSS_IPV6));
|
||||
}
|
||||
m->m_data += sc->rx_prefix_size;
|
||||
m->m_len = rx_desc->size - sc->rx_prefix_size;
|
||||
@ -385,7 +390,9 @@ sfxge_lro_deliver(struct sfxge_lro_state *st, struct sfxge_lro_conn *c)
|
||||
}
|
||||
|
||||
m->m_pkthdr.flowid = c->conn_hash;
|
||||
M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE);
|
||||
M_HASHTYPE_SET(m,
|
||||
SFXGE_LRO_CONN_IS_TCPIPV4(c) ?
|
||||
M_HASHTYPE_RSS_TCP_IPV4 : M_HASHTYPE_RSS_TCP_IPV6);
|
||||
|
||||
m->m_pkthdr.csum_flags = csum_flags;
|
||||
__sfxge_rx_deliver(sc, m);
|
||||
|
@ -32,6 +32,6 @@
|
||||
#ifndef _SFXGE_VERSION_H
|
||||
#define _SFXGE_VERSION_H
|
||||
|
||||
#define SFXGE_VERSION_STRING "v3.3.4.6363"
|
||||
#define SFXGE_VERSION_STRING "v3.3.4.6365"
|
||||
|
||||
#endif /* _SFXGE_DRIVER_VERSION_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user