dpdk: enable DPDK iAVF PMD 66/25666/2
authorChenmin Sun <chenmin.sun@intel.com>
Wed, 4 Mar 2020 16:46:57 +0000 (00:46 +0800)
committerDamjan Marion <dmarion@me.com>
Fri, 27 Mar 2020 10:59:22 +0000 (10:59 +0000)
This patch adds support for the DPDK iAVF PMD

Type: feature

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I7bb0f621774e4c55b9b7309462e6591ce1b88fb6

src/plugins/dpdk/device/dpdk.h
src/plugins/dpdk/device/format.c
src/plugins/dpdk/device/init.c

index 68d9e71..a044181 100644 (file)
@@ -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)      \
index 693f92d..0eb2726 100644 (file)
@@ -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;
index ac79ac4..c994416 100644 (file)
@@ -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;