misc: refactor clib_bitmap_foreach macro
[vpp.git] / src / plugins / dpdk / device / device.c
index e58dd6f..4d26abd 100644 (file)
@@ -539,8 +539,8 @@ dpdk_subif_add_del_function (vnet_main_t * vnm,
   if ((xd->flags & DPDK_DEVICE_FLAG_PMD) == 0)
     goto done;
 
-  /* currently we program VLANS only for IXGBE VF and I40E VF */
-  if ((xd->pmd != VNET_DPDK_PMD_IXGBEVF) && (xd->pmd != VNET_DPDK_PMD_I40EVF))
+  /* currently we program VLANS only for IXGBE VF */
+  if (xd->pmd != VNET_DPDK_PMD_IXGBEVF)
     goto done;
 
   if (t->sub.eth.flags.no_tags == 1)
@@ -629,16 +629,23 @@ dpdk_interface_set_rss_queues (struct vnet_main_t *vnm,
 
   valid_queue_count = 0;
   /* *INDENT-OFF* */
-  clib_bitmap_foreach (i, bitmap, ({
+  clib_bitmap_foreach (i, bitmap)  {
     if (i >= dev_info.nb_rx_queues)
       {
         err = clib_error_return (0, "illegal queue number");
         goto done;
       }
     reta[valid_queue_count++] = i;
-  }));
+  }
   /* *INDENT-ON* */
 
+  /* check valid_queue_count not zero, make coverity happy */
+  if (valid_queue_count == 0)
+    {
+      err = clib_error_return (0, "must assign at least one valid rss queue");
+      goto done;
+    }
+
   valid_queue = reta;
   for (i = valid_queue_count, j = 0; i < dev_info.reta_size; i++, j++)
     {