From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 0203A47CE for ; Mon, 14 Mar 2016 15:43:33 +0100 (CET) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP; 14 Mar 2016 07:43:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,335,1455004800"; d="scan'208";a="763833658" Received: from dpdk06.sh.intel.com ([10.239.128.225]) by orsmga003.jf.intel.com with ESMTP; 14 Mar 2016 07:43:31 -0700 From: Jianfeng Tan To: dev@dpdk.org Cc: helin.zhang@intel.com, konstantin.ananyev@intel.com, adrien.mazarguil@6wind.com, Jianfeng Tan Date: Mon, 14 Mar 2016 15:42:45 +0800 Message-Id: <1457941376-15852-1-git-send-email-jianfeng.tan@intel.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1451544799-70776-1-git-send-email-jianfeng.tan@intel.com> References: <1451544799-70776-1-git-send-email-jianfeng.tan@intel.com> Subject: [dpdk-dev] [PATCH v8 00/11] Add API to get supported packet types X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2016 14:43:34 -0000 To achieve this, a new function pointer, dev_supported_ptypes_get, is added into struct eth_dev_ops. For those devices who do not implement it, it means it does not support any ptypes. v8: - Rebased on dpdk-next-net/rel_16_04 branch. - Rename ptypes_info -> supported_ptypes. - Abandon info about newly added API in release_16_04.rst. - concise -> correct. v7: - 2.2 -> 16.04 - Add note: this API better invoked after device is already started. - Update release_16_04.rst for newly added API. v6: - Remove extern in function declaration. - Update rte_ether_version.map. 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 Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil Jianfeng Tan (11): ethdev: add API to query supported packet types cxgbe: add dev_supported_ptypes_get implementation e1000: add dev_supported_ptypes_get implementation enic: add dev_supported_ptypes_get implementation fm10k: add dev_supported_ptypes_get implementation i40e: add dev_supported_ptypes_get implementation ixgbe: add dev_supported_ptypes_get implementation mlx4: add dev_supported_ptypes_get implementation mlx5: add dev_supported_ptypes_get implementation nfp: add dev_supported_ptypes_get implementation vmxnet3: add dev_supported_ptypes_get implementation drivers/net/cxgbe/cxgbe_ethdev.c | 15 ++++++++++ drivers/net/e1000/igb_ethdev.c | 30 ++++++++++++++++++++ drivers/net/enic/enic_ethdev.c | 14 ++++++++++ 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 | 3 ++ 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 | 17 ++++++++++++ lib/librte_ether/rte_ethdev.c | 27 ++++++++++++++++++ lib/librte_ether/rte_ethdev.h | 27 ++++++++++++++++++ lib/librte_ether/rte_ether_version.map | 5 ++++ 23 files changed, 347 insertions(+), 2 deletions(-) -- 2.1.4