misc: fix coverity warnings
[vpp.git] / src / plugins / dpdk / device / init.c
index 6d327cb..2922ed3 100644 (file)
@@ -349,6 +349,14 @@ dpdk_lib_init (dpdk_main_t * dm)
          xd->flags |= DPDK_DEVICE_FLAG_RX_IP4_CKSUM;
        }
 
+      if (dm->conf->enable_tcp_udp_checksum)
+       {
+         if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_UDP_CKSUM)
+           xd->port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_UDP_CKSUM;
+         if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_CKSUM)
+           xd->port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_TCP_CKSUM;
+       }
+
       if (dm->conf->no_multi_seg)
        {
          xd->port_conf.txmode.offloads &= ~DEV_TX_OFFLOAD_MULTI_SEGS;
@@ -468,6 +476,25 @@ 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;
+               }
+              break;
+
            case VNET_DPDK_PMD_THUNDERX:
              xd->port_type = VNET_DPDK_PORT_TYPE_ETH_VF;
 
@@ -502,6 +529,7 @@ dpdk_lib_init (dpdk_main_t * dm)
 
              /* virtio */
            case VNET_DPDK_PMD_VIRTIO:
+             xd->port_conf.rxmode.mq_mode = ETH_MQ_RX_NONE;
              xd->port_type = VNET_DPDK_PORT_TYPE_ETH_1G;
              xd->nb_rx_desc = DPDK_NB_RX_DESC_VIRTIO;
              xd->nb_tx_desc = DPDK_NB_TX_DESC_VIRTIO;
@@ -915,16 +943,21 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf)
     /* Cavium FastlinQ QL41000 Series */
     else if (d->vendor_id == 0x1077 && d->device_id >= 0x8070 && d->device_id <= 0x8090)
       ;
-    /* Mellanox mlx4 */
+    /* Mellanox CX3, CX3VF */
     else if (d->vendor_id == 0x15b3 && d->device_id >= 0x1003 && d->device_id <= 0x1004)
       {
         continue;
       }
-    /* Mellanox mlx5 */
+    /* Mellanox CX4, CX4VF, CX4LX, CX4LXVF, CX5, CX5VF, CX5EX, CX5EXVF */
     else if (d->vendor_id == 0x15b3 && d->device_id >= 0x1013 && d->device_id <= 0x101a)
       {
         continue;
       }
+    /* Mellanox CX6, CX6VF, CX6DX, CX6DXVF */
+    else if (d->vendor_id == 0x15b3 && d->device_id >= 0x101b && d->device_id <= 0x101e)
+      {
+        continue;
+      }
     /* Broadcom NetXtreme S, and E series only */
     else if (d->vendor_id == 0x14e4 &&
        ((d->device_id >= 0x16c0 &&