[dpdk-dev] [PATCH 02/12] pmd/cxgbe: add dev_ptype_info_get implementation

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


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

diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 97ef152..f17d5d5 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -767,6 +767,22 @@ static int cxgbe_flow_ctrl_set(struct rte_eth_dev *eth_dev,
 			     &pi->link_cfg);
 }
 
+static int cxgbe_dev_ptype_info_get(struct rte_eth_dev *eth_dev __rte_unused,
+		uint32_t ptype_mask, uint32_t ptypes[])
+{
+	int num = 0;
+
+	if (eth_dev->rx_pkt_burst == cxgbe_recv_pkts) {
+		if ((ptype_mask & RTE_PTYPE_L3_MASK) == RTE_PTYPE_L3_MASK) {
+			ptypes[num++] = RTE_PTYPE_L3_IPV4;
+			ptypes[num++] = RTE_PTYPE_L3_IPV6;
+		}
+	} else
+		num = -ENOTSUP;
+
+	return num;
+}
+
 static struct eth_dev_ops cxgbe_eth_dev_ops = {
 	.dev_start		= cxgbe_dev_start,
 	.dev_stop		= cxgbe_dev_stop,
@@ -777,6 +793,7 @@ static struct eth_dev_ops cxgbe_eth_dev_ops = {
 	.allmulticast_disable	= cxgbe_dev_allmulticast_disable,
 	.dev_configure		= cxgbe_dev_configure,
 	.dev_infos_get		= cxgbe_dev_info_get,
+	.dev_ptype_info_get		= cxgbe_dev_ptype_info_get,
 	.link_update		= cxgbe_dev_link_update,
 	.mtu_set		= cxgbe_dev_mtu_set,
 	.tx_queue_setup         = cxgbe_dev_tx_queue_setup,
-- 
2.1.4



More information about the dev mailing list