mbox

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

Message ID 20220329064945.54777-1-xuan.ding@intel.com (mailing list archive)
Headers

Message

Ding, Xuan March 29, 2022, 6:49 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 spliting 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 splited into two different mempools.

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

rfc 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(-)