af_xdp: fix thread 0 and 1 using one txq slot 03/34403/3
authorarikachen <eaglesora@gmail.com>
Tue, 9 Nov 2021 05:49:04 +0000 (13:49 +0800)
committerBeno�t Ganne <bganne@cisco.com>
Wed, 10 Nov 2021 07:40:48 +0000 (07:40 +0000)
Type: fix

Signed-off-by: arikachen <eaglesora@gmail.com>
Change-Id: Id0e98e0a1b04f2c1aba2c261b4e51fd53a4ee824

src/plugins/af_xdp/output.c

index aac5df0..c5b73f9 100644 (file)
@@ -216,8 +216,8 @@ VNET_DEVICE_CLASS_TX_FN (af_xdp_device_class) (vlib_main_t * vm,
   vnet_interface_output_runtime_t *ord = (void *) node->runtime_data;
   af_xdp_device_t *ad = pool_elt_at_index (rm->devices, ord->dev_instance);
   u32 thread_index = vm->thread_index;
-  af_xdp_txq_t *txq =
-    vec_elt_at_index (ad->txqs, (thread_index - 1) % ad->txq_num);
+  af_xdp_txq_t *txq = vec_elt_at_index (
+    ad->txqs, (thread_index - 1 + ad->txq_num) % ad->txq_num);
   u32 *from;
   u32 n, n_tx;
   int i;