[dpdk-dev] [PATCH v5 00/11] framework for advanced iAVF PMD

Leyi Rong leyi.rong at intel.com
Thu Apr 16 10:09:36 CEST 2020


This patchset enable framework for advanced iAVF, includes
flexible descriptor support, FDIR mark id and RSS hash support.

---
v5:
- Set rxdid = 0 in iavf_configure_queues() when it's supported and
  RTE_LIBRTE_IAVF_16BYTE_RX_DESC is y. So the error can be captured
  explicitly as kernel PF does not support it yet.
- Fix some build errors when RTE_LIBRTE_IAVF_16BYTE_RX_DESC is y.

v4:
- Avoid initial declaration in 'for' loop to backward-compatible
  with older gcc versions.

v3:
- Remove patch to query DDP package info as it's specific to DCF.
- Specify fdir_ref_cnt as per VF value for enable/disable FDIR ID parse.
- Move fdir_enabled flag to per Queue value for cache benefit when
  access in vector routines.
- Store extracted flow_id value to mbuf without judgement to avoid
  branch speculation fail, which is benefit to performance.

v2:
- Revert macro RTE_LIBRTE_IAVF_16BYTE_RX_DESC deletion as
  it's defined in AVF spec.
- Typo RTE_LIBRTE_ICE_16BYTE_RX_DESC fix in iavf_rxtx.c.
- Move flex desc definitions into iavf_rxtx.h.
- Up to date to match with the latest version of virtchnl.h.
- Extract a new internal func iavf_update_rx_tail to call.
- Remove
  iavf_dev_rxq_count_flex_rxd()/iavf_dev_rx_desc_status_flex_rxd(),
  as the accompanying legacy ones can deal with the flex desc cases.
- Move rxq->rxdid assignment from iavf_configure_queues()
  to iavf_dev_rx_queue_setup().
- Unfold _mm_extract_epi32(fdir_id0_3, i) to fix build error
  when using GCC compile option -O0.

Leyi Rong (11):
  net/iavf: flexible Rx descriptor definitions
  net/iavf: return error if opcode is mismatched
  net/iavf: flexible Rx descriptor support in normal path
  net/iavf: flexible Rx descriptor support in AVX path
  net/iavf: flexible Rx descriptor support in SSE path
  net/iavf: add flow director enabled switch value
  net/iavf: support flow mark in normal data path
  net/iavf: support flow mark in AVX path
  net/iavf: support flow mark in SSE path
  net/iavf: add RSS hash parsing in AVX path
  net/iavf: add RSS hash parsing in SSE path

 drivers/net/iavf/iavf.h               |   6 +
 drivers/net/iavf/iavf_ethdev.c        |   8 +
 drivers/net/iavf/iavf_rxtx.c          | 546 ++++++++++++++++++--
 drivers/net/iavf/iavf_rxtx.h          | 250 +++++++++
 drivers/net/iavf/iavf_rxtx_vec_avx2.c | 702 +++++++++++++++++++++++++-
 drivers/net/iavf/iavf_rxtx_vec_sse.c  | 520 +++++++++++++++++++
 drivers/net/iavf/iavf_vchnl.c         |  59 ++-
 7 files changed, 2042 insertions(+), 49 deletions(-)

-- 
2.17.1



More information about the dev mailing list