On 12/12/25 1:33 PM, Simon Horman wrote:
> It is common to run make check as an unprivileged user.
> And in that case calling dpif_netlink_rtnl_create() to add a tunnel
> fails due to insufficient privileges. Which is assumed
> to mean that OOT Kernel tunnels are used.
> 
> Reverse this assumption and assume they are not being used.
> An assumption in making this change is that the distinction
> is unimportant in terms of run-time tunnel usage as as
> make check doesn't use kernel tunnels.
> 
> However, a follow-up patch will add a deprecation notice, which prints
> in the case that OOT Kernel tunnels are used.  It does not seem useful
> to print in the case of make check.  And doing so breaks existing tests
> run by that target.
> 
> Signed-off-by: Simon Horman <[email protected]>
> --
> v2: New patch
> 
> This patch works on the principle that small, subtle changes,
> are accompanied by explanations and comments significantly larger
> than the code change.
> ---
>  lib/dpif-netlink-rtnl.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/dpif-netlink-rtnl.c b/lib/dpif-netlink-rtnl.c
> index 
> 08054aa28096f81ac069d261051652260de51423..2a76d6504f732de50047c158ff67d00b7b29fffc
>  100644
> --- a/lib/dpif-netlink-rtnl.c
> +++ b/lib/dpif-netlink-rtnl.c
> @@ -605,7 +605,15 @@ dpif_netlink_rtnl_probe_oot_tunnels(void)
>                                           "ovs_geneve",
>                                           (NLM_F_REQUEST | NLM_F_ACK
>                                            | NLM_F_CREATE));
> -        if (error != EOPNOTSUPP) {
> +        /* EOPNOTSUPP indicates that OOT tunnel support is not present
> +         * EPERM indicates insufficient permissions to add a tunnel.
> +         * This may occur when OVS is run by an unprivileged user,
> +         * e.g. when running make check.
> +         * As this case doesn't use kernel tunnels, assume that they
> +         * are not present for the sake of logic that warns if they are
> +         * used.
> +         */
> +        if (error != EOPNOTSUPP && error != EPERM) {
>              if (!error) {
>                  dpif_netlink_rtnl_destroy(name);
>              }
> 

Thanks!

Acked-by: Ilya Maximets <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to