From: Rui Cai Date: Fri, 11 May 2018 22:13:58 +0000 (+0000) Subject: dpdk: Add constants for failsafe PMD X-Git-Tag: v18.07-rc1~347 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F47%2F12547%2F2;p=vpp.git dpdk: Add constants for failsafe PMD Adding name, enum constants and formatting code for failsafe PMD. This is part of initial effort to enable vpp running over dpdk on failsafe PMD in Microsoft Azure(2/4). Change-Id: I4eb0093db9f666e2635f7ddff451e3c9064bd0c4 Signed-off-by: Rui Cai --- diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index e1966e438c0..eed1126da74 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -80,7 +80,8 @@ extern vlib_node_registration_t dpdk_input_node; _ ("net_dpaa2", DPAA2) \ _ ("net_virtio_user", VIRTIO_USER) \ _ ("net_vhost", VHOST_ETHER) \ - _ ("net_ena", ENA) + _ ("net_ena", ENA) \ + _ ("net_failsafe", FAILSAFE) typedef enum { @@ -109,6 +110,7 @@ typedef enum VNET_DPDK_PORT_TYPE_ETH_VF, VNET_DPDK_PORT_TYPE_VIRTIO_USER, VNET_DPDK_PORT_TYPE_VHOST_ETHER, + VNET_DPDK_PORT_TYPE_FAILSAFE, VNET_DPDK_PORT_TYPE_UNKNOWN, } dpdk_port_type_t; diff --git a/src/plugins/dpdk/device/format.c b/src/plugins/dpdk/device/format.c index 38090244f27..6dd80e01ede 100644 --- a/src/plugins/dpdk/device/format.c +++ b/src/plugins/dpdk/device/format.c @@ -235,6 +235,10 @@ format_dpdk_device_name (u8 * s, va_list * args) device_name = "VhostEthernet"; break; + case VNET_DPDK_PORT_TYPE_FAILSAFE: + device_name = "FailsafeEthernet"; + break; + default: case VNET_DPDK_PORT_TYPE_UNKNOWN: device_name = "UnknownEthernet"; @@ -243,7 +247,8 @@ format_dpdk_device_name (u8 * s, va_list * args) rte_eth_dev_info_get (i, &dev_info); - if (dev_info.pci_dev) + if (dev_info.pci_dev && + dm->devices[i].port_type != VNET_DPDK_PORT_TYPE_FAILSAFE) ret = format (s, devname_format, device_name, dev_info.pci_dev->addr.bus, dev_info.pci_dev->addr.devid, dev_info.pci_dev->addr.function); @@ -363,6 +368,10 @@ format_dpdk_device_type (u8 * s, va_list * args) dev_type = "AWS ENA VF"; break; + case VNET_DPDK_PMD_FAILSAFE: + dev_type = "Failsafe Ethernet"; + break; + default: case VNET_DPDK_PMD_UNKNOWN: dev_type = "### UNKNOWN ###";