> 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 <[email protected]> > --- > Applies on top of Tony's next-queue, depends on MichaĆ's Page Pool conversion > series. > > Sending for review and validation purposes. > > Testing hints: traffic testing with and without header split enabled. > The header split can be turned on/off using Ethtool: > > sudo ethtool -G <iface> tcp-data-split on (or off) > --- > drivers/net/ethernet/intel/ice/ice.h | 1 + > .../net/ethernet/intel/ice/ice_lan_tx_rx.h | 3 + > drivers/net/ethernet/intel/ice/ice_txrx.h | 7 ++ > drivers/net/ethernet/intel/ice/ice_base.c | 89 +++++++++++++++---- > drivers/net/ethernet/intel/ice/ice_ethtool.c | 15 +++- > drivers/net/ethernet/intel/ice/ice_txrx.c | 89 +++++++++++++++---- > 6 files changed, 168 insertions(+), 36 deletions(-)
Tested-by: Priya Singh <[email protected]>
