[PATCH v8 0/3] ethdev: introduce protocol type based header split
Andrew Rybchenko
andrew.rybchenko at oktetlabs.ru
Thu Jun 2 15:20:02 CEST 2022
On 6/1/22 16:50, wenxuanx.wu at intel.com wrote:
> From: Wenxuan Wu <wenxuanx.wu at intel.com>
>
> Buffer split consists of splitting a received packet into two separate
'two' is misleading above. Buffer split supports many segments.
> regions based on the packet content.
As far as I know buffer split is not based on 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 multi protocol
> headers split. When Rx queue is configured with buffer split feature,
> packets received will be directly splitted into two different mempools.
v8?
>
> v6->v7:
> *fix supported header protocol check.
> *add rxhdrs commands and parameters.
> v5->v6:
> *Change doc and designi of struct rte_eth_rxseg_split, support multi
> segments protocol_hdr configuration.
> v4->v5:
> * Use protocol and mbuf_offset based buffer split instead of header split.
> * Use RTE_PTYPE* instead of enum rte_eth_rx_header_split_protocol_type.
> * Improve the description of rte_eth_rxseg_split.proto.
>
> 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.
>
> Wenxuan Wu (3):
> ethdev: introduce protocol header based buffer split
> net/ice: support buffer split in Rx path
> app/testpmd: add rxhdrs commands and parameters
>
> app/test-pmd/cmdline.c | 127 ++++++++++++++-
> app/test-pmd/config.c | 81 ++++++++++
> app/test-pmd/parameters.c | 15 +-
> app/test-pmd/testpmd.c | 6 +-
> app/test-pmd/testpmd.h | 6 +
> drivers/net/ice/ice_ethdev.c | 10 +-
> drivers/net/ice/ice_rxtx.c | 220 ++++++++++++++++++++++----
> drivers/net/ice/ice_rxtx.h | 16 ++
> drivers/net/ice/ice_rxtx_vec_common.h | 3 +
> lib/ethdev/rte_ethdev.c | 40 ++++-
> lib/ethdev/rte_ethdev.h | 28 +++-
> 11 files changed, 505 insertions(+), 47 deletions(-)
>
More information about the dev
mailing list