From: Chenmin Sun Date: Wed, 4 Mar 2020 16:46:57 +0000 (+0800) Subject: dpdk: enable DPDK iAVF PMD X-Git-Tag: v20.09-rc0~328 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=162ea767cbd494996738dfd785fb39085ee85144 dpdk: enable DPDK iAVF PMD This patch adds support for the DPDK iAVF PMD Type: feature Signed-off-by: Chenmin Sun Change-Id: I7bb0f621774e4c55b9b7309462e6591ce1b88fb6 --- diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 68d9e712b4e..a0441818899 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -68,6 +68,7 @@ extern vlib_node_registration_t admin_up_down_process_node; _ ("net_i40e", I40E) \ _ ("net_i40e_vf", I40EVF) \ _ ("net_ice", ICE) \ + _ ("net_iavf", IAVF) \ _ ("net_virtio", VIRTIO) \ _ ("net_enic", ENIC) \ _ ("net_vmxnet3", VMXNET3) \ diff --git a/src/plugins/dpdk/device/format.c b/src/plugins/dpdk/device/format.c index 693f92d4a81..0eb2726110a 100644 --- a/src/plugins/dpdk/device/format.c +++ b/src/plugins/dpdk/device/format.c @@ -282,6 +282,10 @@ format_dpdk_device_type (u8 * s, va_list * args) dev_type = "Intel E810 Family"; break; + case VNET_DPDK_PMD_IAVF: + dev_type = "Intel iAVF"; + break; + case VNET_DPDK_PMD_FM10K: dev_type = "Intel FM10000 Family Ethernet Switch"; break; diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index ac79ac4b627..c994416ff4d 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -476,6 +476,24 @@ dpdk_lib_init (dpdk_main_t * dm) } break; + /* iAVF */ + case VNET_DPDK_PMD_IAVF: + xd->port_type = VNET_DPDK_PORT_TYPE_ETH_VF; + xd->supported_flow_actions = VNET_FLOW_ACTION_MARK | + VNET_FLOW_ACTION_REDIRECT_TO_NODE | + VNET_FLOW_ACTION_REDIRECT_TO_QUEUE | + VNET_FLOW_ACTION_BUFFER_ADVANCE | + VNET_FLOW_ACTION_COUNT | VNET_FLOW_ACTION_DROP; + + if (dm->conf->no_tx_checksum_offload == 0) + { + xd->port_conf.txmode.offloads |= DEV_TX_OFFLOAD_TCP_CKSUM; + xd->port_conf.txmode.offloads |= DEV_TX_OFFLOAD_UDP_CKSUM; + xd->flags |= + DPDK_DEVICE_FLAG_TX_OFFLOAD | + DPDK_DEVICE_FLAG_INTEL_PHDR_CKSUM; + } + case VNET_DPDK_PMD_THUNDERX: xd->port_type = VNET_DPDK_PORT_TYPE_ETH_VF;