git: 95aced446a8c - stable/13 - ixgbe: Change if condition for RSS and rxcsum

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

URL: https://cgit.FreeBSD.org/src/commit/?id=95aced446a8c6ada94a5a9dead6e2c68ce48ecb3

commit 95aced446a8c6ada94a5a9dead6e2c68ce48ecb3
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:27:45 +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 c985e89b4cca..54bc16e73763 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -755,7 +755,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;
 	}