]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ice: implement configurable header split for regular Rx
authorAlexander Lobakin <aleksander.lobakin@intel.com>
Mon, 6 Oct 2025 16:20:53 +0000 (18:20 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 29 Oct 2025 20:55:21 +0000 (13:55 -0700)
commit8adfcfd6a2eedbe4007ad6732bed829f41ec720f
treebfbd5c654f852a69d0a5d894c1a83b76ee1c9042
parent93f53db9f9dc4a16b40ecd18e6d338ad57e4b670
ice: implement configurable header split for regular Rx

Add second page_pool for header buffers to each Rx queue and ability
to toggle the header split on/off using Ethtool (default to off to
match the current behaviour).
Unlike idpf, all HW backed up by ice doesn't require any W/As and
correctly splits all types of packets as configured: after L4 headers
for TCP/UDP/SCTP, after L3 headers for other IPv4/IPv6 frames, after
the Ethernet header otherwise (in case of tunneling, same as above,
but after innermost headers).
This doesn't affect the XSk path as there are no benefits of having
it there.

Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Tested-by: Alexander Nowlin <alexander.nowlin@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice.h
drivers/net/ethernet/intel/ice/ice_base.c
drivers/net/ethernet/intel/ice/ice_ethtool.c
drivers/net/ethernet/intel/ice/ice_lan_tx_rx.h
drivers/net/ethernet/intel/ice/ice_txrx.c
drivers/net/ethernet/intel/ice/ice_txrx.h