[dpdk-dev] [PATCH 11/12] pmd/vmxnet3: add dev_ptype_info_get implementation

Jianfeng Tan jianfeng.tan at intel.com
Thu Dec 31 07:53:18 CET 2015


Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>
---
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index c363bf6..6bc8d9a 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -86,6 +86,8 @@ static void vmxnet3_dev_stats_get(struct rte_eth_dev *dev,
 				struct rte_eth_stats *stats);
 static void vmxnet3_dev_info_get(struct rte_eth_dev *dev,
 				struct rte_eth_dev_info *dev_info);
+static int vmxnet3_dev_ptype_info_get(struct rte_eth_dev *dev,
+		uint32_t ptype_mask, uint32_t ptypes[]);
 static int vmxnet3_dev_vlan_filter_set(struct rte_eth_dev *dev,
 				       uint16_t vid, int on);
 static void vmxnet3_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask);
@@ -118,6 +120,7 @@ static const struct eth_dev_ops vmxnet3_eth_dev_ops = {
 	.link_update          = vmxnet3_dev_link_update,
 	.stats_get            = vmxnet3_dev_stats_get,
 	.dev_infos_get        = vmxnet3_dev_info_get,
+	.dev_ptype_info_get   = vmxnet3_dev_ptype_info_get,
 	.vlan_filter_set      = vmxnet3_dev_vlan_filter_set,
 	.vlan_offload_set     = vmxnet3_dev_vlan_offload_set,
 	.rx_queue_setup       = vmxnet3_dev_rx_queue_setup,
@@ -718,6 +721,23 @@ vmxnet3_dev_info_get(__attribute__((unused))struct rte_eth_dev *dev, struct rte_
 	};
 }
 
+static int
+vmxnet3_dev_ptype_info_get(struct rte_eth_dev *dev,
+		uint32_t ptype_mask, uint32_t ptypes[])
+{
+	int num = 0;
+
+	if (dev->rx_pkt_burst == vmxnet3_recv_pkts) {
+		if ((ptype_mask & RTE_PTYPE_L3_MASK) == RTE_PTYPE_L3_MASK) {
+			ptypes[num++] = RTE_PTYPE_L3_IPV4_EXT;
+			ptypes[num++] = RTE_PTYPE_L3_IPV4;
+		}
+	} else
+		num = -ENOTSUP;
+
+	return num;
+}
+
 /* return 0 means link status changed, -1 means not changed */
 static int
 vmxnet3_dev_link_update(struct rte_eth_dev *dev, __attribute__((unused)) int wait_to_complete)
-- 
2.1.4



More information about the dev mailing list