A new ether API rte_eth_dev_get_ptype_info() is added to query what packet type information will be provided by current pmd driver of the specifed port.
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. v2: - Move ptype_mask filter function from each PMDs into ether layer. - Add ixgbe vPMD's ptype info. - Fix code style issues. Jianfeng Tan (12): 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 examples/l3fwd: add option to parse ptype 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 | 43 +++++++++++++++++ drivers/net/fm10k/fm10k_rxtx.c | 5 ++ drivers/net/fm10k/fm10k_rxtx_vec.c | 5 ++ 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 | 5 +- drivers/net/mlx4/mlx4.c | 20 ++++++++ drivers/net/mlx5/mlx5.c | 1 + drivers/net/mlx5/mlx5.h | 1 + drivers/net/mlx5/mlx5_ethdev.c | 18 +++++++ drivers/net/mlx5/mlx5_rxtx.c | 2 + drivers/net/nfp/nfp_net.c | 17 +++++++ drivers/net/vmxnet3/vmxnet3_ethdev.c | 16 +++++++ examples/l3fwd/main.c | 91 ++++++++++++++++++++++++++++++++++++ lib/librte_ether/rte_ethdev.c | 20 ++++++++ lib/librte_ether/rte_ethdev.h | 27 +++++++++++ lib/librte_mbuf/rte_mbuf.h | 6 +++ 24 files changed, 425 insertions(+), 2 deletions(-) -- 2.1.4