From: Beilei Xing <beilei.x...@intel.com>

This patch adds hairpin_cap_get ops support.

Signed-off-by: Xiao Wang <xiao.w.w...@intel.com>
Signed-off-by: Mingxia Liu <mingxia....@intel.com>
Signed-off-by: Beilei Xing <beilei.x...@intel.com>
---
 drivers/net/cpfl/cpfl_ethdev.c | 13 +++++++++++++
 drivers/net/cpfl/cpfl_rxtx.h   |  4 ++++
 2 files changed, 17 insertions(+)

diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
index 4a507f05d5..114fc18f5f 100644
--- a/drivers/net/cpfl/cpfl_ethdev.c
+++ b/drivers/net/cpfl/cpfl_ethdev.c
@@ -154,6 +154,18 @@ cpfl_dev_link_update(struct rte_eth_dev *dev,
        return rte_eth_linkstatus_set(dev, &new_link);
 }
 
+static int
+cpfl_hairpin_cap_get(__rte_unused struct rte_eth_dev *dev,
+                    struct rte_eth_hairpin_cap *cap)
+{
+       cap->max_nb_queues = CPFL_MAX_P2P_NB_QUEUES;
+       cap->max_rx_2_tx = CPFL_MAX_HAIRPINQ_RX_2_TX;
+       cap->max_tx_2_rx = CPFL_MAX_HAIRPINQ_TX_2_RX;
+       cap->max_nb_desc = CPFL_MAX_HAIRPINQ_NB_DESC;
+
+       return 0;
+}
+
 static int
 cpfl_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 {
@@ -889,6 +901,7 @@ static const struct eth_dev_ops cpfl_eth_dev_ops = {
        .xstats_get                     = cpfl_dev_xstats_get,
        .xstats_get_names               = cpfl_dev_xstats_get_names,
        .xstats_reset                   = cpfl_dev_xstats_reset,
+       .hairpin_cap_get                = cpfl_hairpin_cap_get,
 };
 
 static int
diff --git a/drivers/net/cpfl/cpfl_rxtx.h b/drivers/net/cpfl/cpfl_rxtx.h
index bfb9ad97bd..b2b3537d10 100644
--- a/drivers/net/cpfl/cpfl_rxtx.h
+++ b/drivers/net/cpfl/cpfl_rxtx.h
@@ -13,6 +13,10 @@
 #define CPFL_MIN_RING_DESC     32
 #define CPFL_MAX_RING_DESC     4096
 #define CPFL_DMA_MEM_ALIGN     4096
+#define CPFL_MAX_HAIRPINQ_RX_2_TX      1
+#define CPFL_MAX_HAIRPINQ_TX_2_RX      1
+#define CPFL_MAX_HAIRPINQ_NB_DESC      1024
+#define CPFL_MAX_P2P_NB_QUEUES         16
 /* Base address of the HW descriptor ring should be 128B aligned. */
 #define CPFL_RING_BASE_ALIGN   128
 
-- 
2.26.2

Reply via email to