diff options
author | Chenmin Sun <chenmin.sun@intel.com> | 2020-03-05 00:46:57 +0800 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2020-03-27 10:59:22 +0000 |
commit | 162ea767cbd494996738dfd785fb39085ee85144 (patch) | |
tree | 4f7120c39d58016ae4b2c41b820994f92b0165c8 | |
parent | 492a5d0bd79c3c0913f1b8fb4ad35d9ad23d821b (diff) |
dpdk: enable DPDK iAVF PMD
This patch adds support for the DPDK iAVF PMD
Type: feature
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I7bb0f621774e4c55b9b7309462e6591ce1b88fb6
-rw-r--r-- | src/plugins/dpdk/device/dpdk.h | 1 | ||||
-rw-r--r-- | src/plugins/dpdk/device/format.c | 4 | ||||
-rw-r--r-- | src/plugins/dpdk/device/init.c | 18 |
3 files changed, 23 insertions, 0 deletions
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; |