aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorChenmin Sun <chenmin.sun@intel.com>2020-03-05 00:46:57 +0800
committerDamjan Marion <dmarion@me.com>2020-03-27 10:59:22 +0000
commit162ea767cbd494996738dfd785fb39085ee85144 (patch)
tree4f7120c39d58016ae4b2c41b820994f92b0165c8 /src/plugins
parent492a5d0bd79c3c0913f1b8fb4ad35d9ad23d821b (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
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/dpdk/device/dpdk.h1
-rw-r--r--src/plugins/dpdk/device/format.c4
-rw-r--r--src/plugins/dpdk/device/init.c18
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;