mbox series

[v4,0/3] ethdev: introduce protocol type based header split

Message ID 20220402104109.472078-1-wenxuanx.wu@intel.com (mailing list archive)
Headers
Series ethdev: introduce protocol type based header split |

Message

Wu, WenxuanX April 2, 2022, 10:41 a.m. UTC
  From: Xuan Ding <xuan.ding@intel.com>

Header split consists of splitting a received packet into two separate
regions based on the packet content. It is useful in some scenarios,
such as GPU acceleration. The splitting will help to enable true zero
copy and hence improve the performance significantly.

This patchset extends the current buffer split to support protocol based
header split. When Rx queue is configured with header split feature,
packets received will be directly splitted into two different mempools.

v3->v4:
* Use RTE_ETH_RX_HEADER_SPLIT_NONE instead of 0.

v2->v3:
* Fix a PMD bug.
* Add rx queue header split check.
* Revise the log and doc.

v1->v2:
* Add support for all header split protocol types.

Xuan Ding (3):
  ethdev: introduce protocol type based header split
  app/testpmd: add header split configuration
  net/ice: support header split in Rx data path

 app/test-pmd/cmdline.c                | 117 ++++++++++++++
 app/test-pmd/testpmd.c                |   6 +-
 app/test-pmd/testpmd.h                |   2 +
 drivers/net/ice/ice_ethdev.c          |  10 +-
 drivers/net/ice/ice_rxtx.c            | 223 ++++++++++++++++++++++----
 drivers/net/ice/ice_rxtx.h            |  16 ++
 drivers/net/ice/ice_rxtx_vec_common.h |   3 +
 lib/ethdev/rte_ethdev.c               |  34 +++-
 lib/ethdev/rte_ethdev.h               |  48 +++++-
 9 files changed, 417 insertions(+), 42 deletions(-)