af_xdp: remove the previous program before loading a new one 71/38971/2
authorArtem Glazychev <artem.glazychev@xored.com>
Mon, 5 Jun 2023 08:02:46 +0000 (15:02 +0700)
committerBeno�t Ganne <bganne@cisco.com>
Thu, 8 Jun 2023 09:15:09 +0000 (09:15 +0000)
Otherwise, we will get an error. The program could remain from the previous run.

Type: fix

Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: I68e4072bd3b327592013804d67ccab7eb0ed3a0e

src/plugins/af_xdp/device.c

index 570f34c..da8b58c 100644 (file)
@@ -650,7 +650,8 @@ af_xdp_create_if (vlib_main_t * vm, af_xdp_create_if_args_t * args)
       goto err1;
     }
 
-  if (args->prog && af_xdp_load_program (args, ad))
+  if (args->prog &&
+      (af_xdp_remove_program (ad) || af_xdp_load_program (args, ad)))
     goto err2;
 
   q_num = clib_max (rxq_num, txq_num);