From a29f20068841a05ee5813c1601ba2f07d9398afa Mon Sep 17 00:00:00 2001 From: Sachin Date: Fri, 17 Jun 2016 09:24:20 +0530 Subject: [PATCH] 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 --- vnet/vnet/devices/dpdk/dpdk.h | 7 ++++++- vnet/vnet/devices/dpdk/format.c | 4 ++++ vnet/vnet/devices/dpdk/init.c | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) 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: -- 2.16.6