Page MenuHomeFreeBSD

D2124.diff
No OneTemporary

D2124.diff

Index: head/sys/dev/sfxge/sfxge_rx.c
===================================================================
--- head/sys/dev/sfxge/sfxge_rx.c
+++ head/sys/dev/sfxge/sfxge_rx.c
@@ -330,11 +330,16 @@
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 @@
}
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);
Index: head/sys/dev/sfxge/sfxge_version.h
===================================================================
--- head/sys/dev/sfxge/sfxge_version.h
+++ head/sys/dev/sfxge/sfxge_version.h
@@ -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 */

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 9, 2:34 AM (12 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28527146
Default Alt Text
D2124.diff (1 KB)

Event Timeline