[PATCH net 0/4] eth: fbnic: fix and improve header/data split configuration

Bobby Eshleman posted 4 patches 1 month, 2 weeks ago
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(-)
[PATCH net 0/4] eth: fbnic: fix and improve header/data split configuration
Posted by Bobby Eshleman 1 month, 2 weeks ago
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>