[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