summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Cai <rucai@microsoft.com>2018-05-11 22:13:58 +0000
committerDamjan Marion <dmarion.lists@gmail.com>2018-05-12 07:14:09 +0000
commit257d8d4f0fc5019b6d62682d61b07fe02ab4f24a (patch)
tree22eb4a98842eba6e7be5358feaaa66fd23763037
parent60bd3028270b1ae297def6f14b65e24a3697a3ed (diff)
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 <rucai@microsoft.com>
-rw-r--r--src/plugins/dpdk/device/dpdk.h4
-rw-r--r--src/plugins/dpdk/device/format.c11
2 files changed, 13 insertions, 2 deletions
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 ###";