af_xdp: processing free buffer 25/43425/3
authorSteven Luong <[email protected]>
Wed, 9 Jul 2025 22:59:59 +0000 (15:59 -0700)
committerDave Wallace <[email protected]>
Tue, 5 Aug 2025 18:11:46 +0000 (18:11 +0000)
af_xdp does not support big packets and they got dropped.
When that happens, we need to bump up the buffer pointer
and decrement packet count prior to going back to the
while loop.

Type: fix

Change-Id: I4722b15eb7ba5467f37e52ab532998c35caa3e2e
Signed-off-by: Steven Luong <[email protected]>
src/plugins/af_xdp/output.c

index a59c01c..00dc0e5 100644 (file)
@@ -209,6 +209,8 @@ wrap_around:
              af_xdp_log (VLIB_LOG_LEVEL_ERR, ad,
                          "vlib_buffer_chain_linearize failed");
              vlib_buffer_free_one (vm, vlib_get_buffer_index (vm, b[0]));
+             b += 1;
+             n -= 1;
              continue;
            }
        }