[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