> 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]>

Reply via email to