public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net 0/4] eth: fbnic: fix and improve header/data split configuration
@ 2026-02-12  1:00 Bobby Eshleman
  2026-02-12  1:00 ` [PATCH net 1/4] eth: fbnic: set FBNIC_QUEUE_RDE_CTL0_EN_HDR_SPLIT on RDE_CTL0 Bobby Eshleman
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Bobby Eshleman @ 2026-02-12  1:00 UTC (permalink / raw)
  To: Alexander Duyck, Jakub Kicinski, kernel-team, Andrew Lunn,
	David S. Miller, Eric Dumazet, Paolo Abeni, Mohsin Bashir,
	Shuah Khan
  Cc: netdev, linux-kernel, linux-kselftest, Bobby Eshleman

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>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-02-17  9:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-12  1:00 [PATCH net 0/4] eth: fbnic: fix and improve header/data split configuration Bobby Eshleman
2026-02-12  1:00 ` [PATCH net 1/4] eth: fbnic: set FBNIC_QUEUE_RDE_CTL0_EN_HDR_SPLIT on RDE_CTL0 Bobby Eshleman
2026-02-12  1:00 ` [PATCH net 2/4] eth: fbnic: increase FBNIC_HDR_BYTES_MIN from 128 to 256 bytes Bobby Eshleman
2026-02-12  1:00 ` [PATCH net 3/4] eth: fbnic: set DMA_HINT_L4 for all flows Bobby Eshleman
2026-02-12  1:00 ` [PATCH net 4/4] selftests: drv-net: add HDS payload sweep test for devmem TCP Bobby Eshleman
2026-02-17  9:50 ` [PATCH net 0/4] eth: fbnic: fix and improve header/data split configuration patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox