git: 197106cf41df - stable/12 - ixgbe: Change if condition for RSS and rxcsum

From: Eric Joyner <erj_at_FreeBSD.org>
Date: Fri, 02 Jun 2023 19:36:56 UTC
The branch stable/12 has been updated by erj:

URL: https://cgit.FreeBSD.org/src/commit/?id=197106cf41dff164a16d09cf84fe10321ca1ebdb

commit 197106cf41dff164a16d09cf84fe10321ca1ebdb
Author:     Przemyslaw Lewandowski <przemyslawx.lewandowski@intel.com>
AuthorDate: 2023-05-24 23:24:54 +0000
Commit:     Eric Joyner <erj@FreeBSD.org>
CommitDate: 2023-06-02 19:35:05 +0000

    ixgbe: Change if condition for RSS and rxcsum
    
    This patch fixes TCP connection hangs for 1 rxq and 1 txq without rxcsum
    enabled. Documentation for 10G cards and other drivers suggest enabling
    rxcsum for RSS and disabling otherwise. When PCSD bit is not set then
    fragment checksum and IP identification are reported in the rx
    descriptor. When PCSD bit is set then RSS hash value is reported in the
    rx descriptor. RSS and RX IPP checksum are mutually exclusive.
    
    Signed-off-by: Eric Joyner <erj@FreeBSD.org>
    
    PR:             268910
    Reviewed by:    erj@
    Tested by:      jeffrey.e.pieper@intel.com
    Sponsored by:   Intel Corporation
    Differential Revision:  https://reviews.freebsd.org/D38621
    
    (cherry picked from commit 156424fce98a0240c702da0a918b027d1979bfdb)
---
 sys/dev/ixgbe/if_ix.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c
index 47f3918fd8ee..e9c79681cd03 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -744,7 +744,7 @@ ixgbe_initialize_receive_units(if_ctx_t ctx)
 
 	ixgbe_initialize_rss_mapping(sc);
 
-	if (sc->num_rx_queues > 1) {
+	if (sc->feat_en & IXGBE_FEATURE_RSS) {
 		/* RSS and RX IPP Checksum are mutually exclusive */
 		rxcsum |= IXGBE_RXCSUM_PCSD;
 	}