This series fixes TCP HDS configuration in the fbnic driver and adds a
devmem selftest for the intended behavior.
The issues fixed include setting the correct CSR for EN_HDR_SPLIT,
adjusting the hds threshold clamp to avoid long headers overflowing into
the payload page, and configuring the device to use L4/L3/L2 header
boundaries when present by programming the DMA hint bit unconditionally
for all steering rule types.
Prior to these fixes, small payloads fail devmem.check_rx_hds().
Testing:
IFC0=enp1s0
IFC1=eth0
export REMOTE_TYPE=netns
export REMOTE_ARGS=ns-remote
export NETIF=$IFC0
export LOCAL_V4=192.0.3.1
export REMOTE_V4=192.0.3.2
sysctl -w net.ipv6.conf.$IFC0.keep_addr_on_down=1
./tools/testing/selftests/drivers/net/hw/devmem.py
TAP version 13
1..4
ok 1 devmem.check_rx
ok 2 devmem.check_tx
ok 3 devmem.check_tx_chunks
ok 4 devmem.check_rx_hds
To: Alexander Duyck <alexanderduyck@fb.com>
To: Jakub Kicinski <kuba@kernel.org>
To: kernel-team@meta.com
To: Andrew Lunn <andrew+netdev@lunn.ch>
To: David S. Miller <davem@davemloft.net>
To: Eric Dumazet <edumazet@google.com>
To: Paolo Abeni <pabeni@redhat.com>
To: Mohsin Bashir <mohsin.bashr@gmail.com>
To: Shuah Khan <shuah@kernel.org>
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-kselftest@vger.kernel.org
Signed-off-by: Bobby Eshleman <bobbyeshleman@meta.com>
---
Bobby Eshleman (4):
eth: fbnic: set FBNIC_QUEUE_RDE_CTL0_EN_HDR_SPLIT on RDE_CTL0
eth: fbnic: increase FBNIC_HDR_BYTES_MIN from 128 to 256 bytes
eth: fbnic: set DMA_HINT_L4 for all flows
selftests: drv-net: add HDS payload sweep test for devmem TCP
drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c | 3 +++
drivers/net/ethernet/meta/fbnic/fbnic_rpc.c | 5 ++---
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c | 25 +++++++++++++----------
drivers/net/ethernet/meta/fbnic/fbnic_txrx.h | 2 +-
tools/testing/selftests/drivers/net/hw/devmem.py | 19 ++++++++++++++++-
tools/testing/selftests/drivers/net/hw/ncdevmem.c | 11 +++++++++-
6 files changed, 48 insertions(+), 17 deletions(-)
---
base-commit: bf9cf80cab81e39701861a42877a28295ade266f
change-id: 20260211-fbnic-tcp-hds-fixes-e38149aabab8
Best regards,
--
Bobby Eshleman <bobbyeshleman@meta.com>