diff options
author | Lee Roberts <lee.roberts@hpe.com> | 2018-03-07 20:18:48 -0700 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-03-09 19:46:27 +0000 |
commit | 03f47f1e738051db1412a93c2b90a7426f81f648 (patch) | |
tree | e795043ed30adef8c3a17495b0c6a9d88f9bdb94 /src/plugins/dpdk/device/init.c | |
parent | 45a09462ad4f64251d1302fb6fdca5cfef1d2f24 (diff) |
Coordinate known Ethernet speeds with Linux kernel and DPDK
Linux kernel and DPDK recognize the following Ethernet speeds:
10M, 100M, 1G, 2.5G, 5G, 10G, 20G, 25G, 40G, 50G, 56G and 100G.
Add consistent Ethernet speeds to VPP.
Change-Id: I4cfcf378fb34425c1206db5aa2f6bdcc66e0a6ab
Signed-off-by: Lee Roberts <lee.roberts@hpe.com>
Diffstat (limited to 'src/plugins/dpdk/device/init.c')
-rwxr-xr-x | src/plugins/dpdk/device/init.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 95c5e5ccae8..a425c585dad 100755 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -62,14 +62,22 @@ port_type_from_speed_capa (struct rte_eth_dev_info *dev_info) if (dev_info->speed_capa & ETH_LINK_SPEED_100G) return VNET_DPDK_PORT_TYPE_ETH_100G; + else if (dev_info->speed_capa & ETH_LINK_SPEED_56G) + return VNET_DPDK_PORT_TYPE_ETH_56G; else if (dev_info->speed_capa & ETH_LINK_SPEED_50G) return VNET_DPDK_PORT_TYPE_ETH_50G; else if (dev_info->speed_capa & ETH_LINK_SPEED_40G) return VNET_DPDK_PORT_TYPE_ETH_40G; else if (dev_info->speed_capa & ETH_LINK_SPEED_25G) return VNET_DPDK_PORT_TYPE_ETH_25G; + else if (dev_info->speed_capa & ETH_LINK_SPEED_20G) + return VNET_DPDK_PORT_TYPE_ETH_20G; else if (dev_info->speed_capa & ETH_LINK_SPEED_10G) return VNET_DPDK_PORT_TYPE_ETH_10G; + else if (dev_info->speed_capa & ETH_LINK_SPEED_5G) + return VNET_DPDK_PORT_TYPE_ETH_5G; + else if (dev_info->speed_capa & ETH_LINK_SPEED_2_5G) + return VNET_DPDK_PORT_TYPE_ETH_2_5G; else if (dev_info->speed_capa & ETH_LINK_SPEED_1G) return VNET_DPDK_PORT_TYPE_ETH_1G; @@ -1387,15 +1395,30 @@ dpdk_update_link_state (dpdk_device_t * xd, f64 now) case ETH_SPEED_NUM_1G: hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_1G; break; + case ETH_SPEED_NUM_2_5G: + hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_2_5G; + break; + case ETH_SPEED_NUM_5G: + hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_5G; + break; case ETH_SPEED_NUM_10G: hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_10G; break; + case ETH_SPEED_NUM_20G: + hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_20G; + break; case ETH_SPEED_NUM_25G: hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_25G; break; case ETH_SPEED_NUM_40G: hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_40G; break; + case ETH_SPEED_NUM_50G: + hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_50G; + break; + case ETH_SPEED_NUM_56G: + hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_56G; + break; case ETH_SPEED_NUM_100G: hw_flags |= VNET_HW_INTERFACE_FLAG_SPEED_100G; break; |