memif: fix input vector rate of memif-input node 12/37912/3
authorLiangxing Wang <liangxing.wang@arm.com>
Fri, 13 Jan 2023 05:19:47 +0000 (05:19 +0000)
committerDamjan Marion <dmarion@0xa5.net>
Mon, 6 Mar 2023 17:13:48 +0000 (17:13 +0000)
Explicitly set the ptd->n_packets to 0 if no packet is received in
memif_device_input_inline(). Otherwise ptd->n_packets just keeps
last time rx packets number, then this stale number is added to
memif_input_node->vectors_since_last_overflow in every dispatch_node()
call for memif_input_node.

Type: fix

Signed-off-by: Liangxing Wang <liangxing.wang@arm.com>
Change-Id: Ide98a481c925262f9a609535a314f784cab424d8

src/plugins/memif/node.c

index 2d7b71f..40dcf68 100644 (file)
@@ -534,7 +534,10 @@ memif_device_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node,
     }
 
   if (n_slots == 0)
-    goto refill;
+    {
+      ptd->n_packets = 0;
+      goto refill;
+    }
 
   n_desc = memif_parse_desc (ptd, mif, mq, cur_slot, n_slots);