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

Message ID 1452836759-63540-3-git-send-email-jianfeng.tan@intel.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Jianfeng Tan Jan. 15, 2016, 5:45 a.m. UTC
  Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
---
 drivers/net/cxgbe/cxgbe_ethdev.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
  

Patch

diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 97ef152..1699d8e 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -767,6 +767,19 @@  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,
+				    uint32_t ptypes[])
+{
+	int num = 0;
+
+	if (eth_dev->rx_pkt_burst == cxgbe_recv_pkts) {
+		ptypes[num++] = RTE_PTYPE_L3_IPV4;
+		ptypes[num++] = RTE_PTYPE_L3_IPV6;
+	} 
+
+	return num;
+}
+
 static struct eth_dev_ops cxgbe_eth_dev_ops = {
 	.dev_start		= cxgbe_dev_start,
 	.dev_stop		= cxgbe_dev_stop,
@@ -777,6 +790,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,