[dpdk-dev] [PATCH v5 00/11] Add API to get packet type info

Jianfeng Tan jianfeng.tan at intel.com
Fri Feb 26 08:34:16 CET 2016


To achieve this, a new function pointer, dev_ptype_info_get, is added
into struct eth_dev_ops. For those devices who do not implement it, it
means it will not provide any ptype info.

v5:
  - Exclude l3fwd change from this series, as a separated one.
  - Fix malposition of mlx4 code in mlx5 commit introduced in v4.

v4:
  - Change how to use this API: to previously agreement reached in mail.

v3:
  - Change how to use this API: api to allocate mem for storing ptype
    array; and caller to free the mem.
  - Change how to return back ptypes from PMDs: return a pointer to
    corresponding static const array of supported ptypes, terminated
    by RTE_PTYPE_UNKNOWN.
  - Fix l3fwd parse_packet_type() when EXACT_MATCH is enabled.
  - Fix l3fwd memory leak when calling the API.

v2:
  - Move ptype_mask filter function from each PMDs into ether layer.
  - Add ixgbe vPMD's ptype info.
  - Fix code style issues.

Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>

Jianfeng Tan (11):
  ethdev: add API to query packet type filling info
  pmd/cxgbe: add dev_ptype_info_get implementation
  pmd/e1000: add dev_ptype_info_get implementation
  pmd/enic: add dev_ptype_info_get implementation
  pmd/fm10k: add dev_ptype_info_get implementation
  pmd/i40e: add dev_ptype_info_get implementation
  pmd/ixgbe: add dev_ptype_info_get implementation
  pmd/mlx4: add dev_ptype_info_get implementation
  pmd/mlx5: add dev_ptype_info_get implementation
  pmd/nfp: add dev_ptype_info_get implementation
  pmd/vmxnet3: add dev_ptype_info_get implementation

 drivers/net/cxgbe/cxgbe_ethdev.c     | 14 ++++++++++
 drivers/net/e1000/igb_ethdev.c       | 30 ++++++++++++++++++++++
 drivers/net/enic/enic_ethdev.c       | 17 ++++++++++++
 drivers/net/fm10k/fm10k_ethdev.c     | 50 ++++++++++++++++++++++++++++++++++++
 drivers/net/fm10k/fm10k_rxtx.c       |  3 +++
 drivers/net/fm10k/fm10k_rxtx_vec.c   |  3 +++
 drivers/net/i40e/i40e_ethdev.c       |  1 +
 drivers/net/i40e/i40e_ethdev_vf.c    |  1 +
 drivers/net/i40e/i40e_rxtx.c         | 46 ++++++++++++++++++++++++++++++++-
 drivers/net/i40e/i40e_rxtx.h         |  1 +
 drivers/net/ixgbe/ixgbe_ethdev.c     | 38 +++++++++++++++++++++++++++
 drivers/net/ixgbe/ixgbe_ethdev.h     |  2 ++
 drivers/net/ixgbe/ixgbe_rxtx.c       |  4 ++-
 drivers/net/mlx4/mlx4.c              | 21 +++++++++++++++
 drivers/net/mlx5/mlx5.c              |  1 +
 drivers/net/mlx5/mlx5.h              |  1 +
 drivers/net/mlx5/mlx5_ethdev.c       | 20 +++++++++++++++
 drivers/net/mlx5/mlx5_rxtx.c         |  2 ++
 drivers/net/nfp/nfp_net.c            | 19 ++++++++++++++
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 16 ++++++++++++
 lib/librte_ether/rte_ethdev.c        | 26 +++++++++++++++++++
 lib/librte_ether/rte_ethdev.h        | 26 +++++++++++++++++++
 22 files changed, 340 insertions(+), 2 deletions(-)

-- 
2.1.4



More information about the dev mailing list