Subject: Re: [PATCH bpf-next] bpf: fix load XDP program error in test_xdp_vlan

From: [email-masked]
Date: Wed, 12 Aug 2020 13:40:17 -0700

On 08/12, Jianlin Lv wrote:
> test_xdp_vlan.sh reports the error as below:

> $ sudo ./test_xdp_vlan_mode_native.sh
> + '[' -z xdp_vlan_mode_native ']'
> + XDP_MODE=xdpgeneric
> ……
> + export XDP_PROG=xdp_vlan_remove_outer2
> + XDP_PROG=xdp_vlan_remove_outer2
> + ip netns exec ns1 ip link set veth1 xdpdrv off
> Error: XDP program already attached.

> ip will throw an error in case a XDP program is already attached to the
> networking interface, to prevent it from being overridden by accident.
> In order to replace the currently running XDP program with a new one,
> the -force option must be used.

> Signed-off-by: Jianlin Lv <[email-masked]>
> ---
>   tools/testing/selftests/bpf/test_xdp_vlan.sh | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

> diff --git a/tools/testing/selftests/bpf/test_xdp_vlan.sh  
> b/tools/testing/selftests/bpf/test_xdp_vlan.sh
> index bb8b0da91686..034e603aeb50 100755
> --- a/tools/testing/selftests/bpf/test_xdp_vlan.sh
> +++ b/tools/testing/selftests/bpf/test_xdp_vlan.sh
> @@ -220,7 +220,7 @@ ip netns exec ns1 ping -i 0.2 -W 2 -c 2 $IPADDR2
>   # ETH_P_8021Q indication, and this cause overwriting of our changes.
>   #
>   export XDP_PROG=xdp_vlan_remove_outer2
> -ip netns exec ns1 ip link set $DEVNS1 $XDP_MODE off
> +ip netns exec ns1 ip -force link set $DEVNS1 $XDP_MODE off
>   ip netns exec ns1 ip link set $DEVNS1 $XDP_MODE object $FILE section  
> $XDP_PROG

>   # Now the namespaces should still be able reach each-other, test with  
> ping:
> --
> 2.17.1

This should be already fixed by:
https://lore.kernel.org/bpf/CAKH8qBuz48Ww6S=[email-masked]/T/#t