summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSachin <sachin.saxena@nxp.com>2016-06-17 09:24:20 +0530
committerDamjan Marion <damarion@cisco.com>2016-06-17 07:10:55 +0000
commita29f20068841a05ee5813c1601ba2f07d9398afa (patch)
treea91b8bbc1c6816f0933d8ed9faad929059c291c4
parentb84ccc614d2032b5ddee9ab145d82d2eb70723e8 (diff)
VNET: Initialization support for NXP DPAA2 poll mode driver
- NXP proposed a poll mode driver "rte_dpaa2_dpni" in DPDK upstream. - When using external DPDK with the given dpaa2 driver, VPP needs modification to initialize the PMD and to understand the DPAA2 N/W interfaces. Change-Id: I00eb127fa88c71fb430d3def238d50ba68fd595f Signed-off-by: Sachin <sachin.saxena@nxp.com>
-rw-r--r--vnet/vnet/devices/dpdk/dpdk.h7
-rw-r--r--vnet/vnet/devices/dpdk/format.c4
-rw-r--r--vnet/vnet/devices/dpdk/init.c3
3 files changed, 13 insertions, 1 deletions
diff --git a/vnet/vnet/devices/dpdk/dpdk.h b/vnet/vnet/devices/dpdk/dpdk.h
index 116be3632fd..6d4ded19879 100644
--- a/vnet/vnet/devices/dpdk/dpdk.h
+++ b/vnet/vnet/devices/dpdk/dpdk.h
@@ -92,7 +92,8 @@ typedef enum {
_ ("AF_PACKET PMD", AF_PACKET) \
_ ("rte_bond_pmd", BOND) \
_ ("rte_pmd_fm10k", FM10K) \
- _ ("rte_cxgbe_pmd", CXGBE)
+ _ ("rte_cxgbe_pmd", CXGBE) \
+ _ ("rte_dpaa2_dpni", DPAA2)
typedef enum {
VNET_DPDK_PMD_NONE,
@@ -684,6 +685,10 @@ dpdk_pmd_constructor_init()
_(bond_drv)
#endif
+#ifdef RTE_LIBRTE_DPAA2_PMD
+ _(pmd_dpaa2_drv)
+#endif
+
#undef _
/*
diff --git a/vnet/vnet/devices/dpdk/format.c b/vnet/vnet/devices/dpdk/format.c
index c9d8636fedc..777014b6d03 100644
--- a/vnet/vnet/devices/dpdk/format.c
+++ b/vnet/vnet/devices/dpdk/format.c
@@ -359,6 +359,10 @@ static u8 * format_dpdk_device_type (u8 * s, va_list * args)
dev_type = "Ethernet Bonding";
break;
+ case VNET_DPDK_PMD_DPAA2:
+ dev_type = "NXP DPAA2 Mac";
+ break;
+
default:
case VNET_DPDK_PMD_UNKNOWN:
dev_type = "### UNKNOWN ###";
diff --git a/vnet/vnet/devices/dpdk/init.c b/vnet/vnet/devices/dpdk/init.c
index 6661c2a117d..2ae39222e34 100644
--- a/vnet/vnet/devices/dpdk/init.c
+++ b/vnet/vnet/devices/dpdk/init.c
@@ -399,6 +399,9 @@ dpdk_lib_init (dpdk_main_t * dm)
xd->nb_rx_desc = DPDK_NB_RX_DESC_10GE;
xd->nb_tx_desc = DPDK_NB_TX_DESC_10GE;
break;
+ case VNET_DPDK_PMD_DPAA2:
+ xd->port_type = VNET_DPDK_PORT_TYPE_ETH_10G;
+ break;
/* Cisco VIC */
case VNET_DPDK_PMD_VICE: