On 5/24/23 15:39, Frode Nordahl wrote:
> The bareudp tests depend on specific kernel configuration to
> succeed.  Skip the test if the feature is not enabled in the
> running kernel.
> 
> Signed-off-by: Frode Nordahl <[email protected]>
> ---
>  tests/system-kmod-macros.at      | 10 ++++++++++
>  tests/system-layer3-tunnels.at   |  2 ++
>  tests/system-userspace-macros.at |  8 ++++++++
>  3 files changed, 20 insertions(+)
> 
> diff --git a/tests/system-kmod-macros.at b/tests/system-kmod-macros.at
> index fb15a5a7c..55e7821ce 100644
> --- a/tests/system-kmod-macros.at
> +++ b/tests/system-kmod-macros.at
> @@ -237,3 +237,13 @@ m4_define([CHECK_L3L4_CONNTRACK_REASM])
>  #
>  # The kernel module tests do not use TC offload.
>  m4_define([CHECK_NO_TC_OFFLOAD])
> +
> +# OVS_CHECK_BAREUDP()
> +#
> +# The feature needs to be enabled in the kernel configuration 
> (CONFIG_BAREUDP)
> +# to work.
> +m4_define([OVS_CHECK_BAREUDP],
> +[
> +    AT_SKIP_IF([! ip link add dev bareudp0 type bareudp dstport 6635 
> ethertype mpls_uc 2>&1 >/dev/null])
> +    AT_CHECK([ip link del dev bareudp0])

Maybe call it ovs_bareudp0 or something like that?  Just to decrease chances
for random collisions.

> +])
> diff --git a/tests/system-layer3-tunnels.at b/tests/system-layer3-tunnels.at
> index c37852b21..5546bc879 100644
> --- a/tests/system-layer3-tunnels.at
> +++ b/tests/system-layer3-tunnels.at
> @@ -155,6 +155,7 @@ AT_CLEANUP
>  
>  AT_SETUP([layer3 - ping over MPLS Bareudp])
>  OVS_CHECK_MIN_KERNEL(5, 7)
> +OVS_CHECK_BAREUDP()

This new check supersedes the kernel version check.  Should we remove it?
The original idea was that we can create bareudp tunnels even if the ip utility
didn't support them at a time.  But, I suppose, enough time passed since then
and the ip utility available in distributions caught up, so we can just check
it instead.


>  OVS_TRAFFIC_VSWITCHD_START([_ADD_BR([br1])])
>  ADD_NAMESPACES(at_ns0, at_ns1)
>  
> @@ -203,6 +204,7 @@ AT_CLEANUP
>  
>  AT_SETUP([layer3 - ping over Bareudp])
>  OVS_CHECK_MIN_KERNEL(5, 7)

Same here.

> +OVS_CHECK_BAREUDP()
>  OVS_TRAFFIC_VSWITCHD_START([_ADD_BR([br1])])
>  ADD_NAMESPACES(at_ns0, at_ns1)
>  
> diff --git a/tests/system-userspace-macros.at 
> b/tests/system-userspace-macros.at
> index 482079386..1cb67d6f6 100644
> --- a/tests/system-userspace-macros.at
> +++ b/tests/system-userspace-macros.at
> @@ -336,3 +336,11 @@ m4_define([CHECK_L3L4_CONNTRACK_REASM],
>  #
>  # Userspace tests do not use TC offload.
>  m4_define([CHECK_NO_TC_OFFLOAD])
> +
> +# OVS_CHECK_BAREUDP()
> +#
> +# The userspace skips all tests that check kernel configuration.

This should probably say that userspace datapath doesn't support bareudp tunnels
instead.

> +m4_define([OVS_CHECK_BAREUDP],
> +[
> +    AT_SKIP_IF([:])
> +])

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to