Subject: Re: [ovs-dev] [RFC net-next 5/7] selftests: openvswitch: Support implicit ipv6 arguments.

From: Simon Horman <[email-masked]>
Date: Sun, 16 Jun 2024 17:28:55 +0100

On Thu, Jun 13, 2024 at 02:13:31PM -0400, Aaron Conole wrote:
> The current iteration of IPv6 support requires explicit fields to be set
> in addition to not properly support the actual IPv6 addresses properly.
> With this change, make it so that the ipv6() bare option is usable to
> create wildcarded flows to match broad swaths of ipv6 traffic.
> 
> Signed-off-by: Aaron Conole <[email-masked]>
> ---
>  .../selftests/net/openvswitch/ovs-dpctl.py    | 43 ++++++++++++-------
>  1 file changed, 28 insertions(+), 15 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/openvswitch/ovs-dpctl.py b/tools/testing/selftests/net/openvswitch/ovs-dpctl.py
> index 5545e5cab1d6..2577a06c58cf 100644
> --- a/tools/testing/selftests/net/openvswitch/ovs-dpctl.py
> +++ b/tools/testing/selftests/net/openvswitch/ovs-dpctl.py
> @@ -200,6 +200,19 @@ def convert_ipv4(data):
>  
>      return int(ipaddress.IPv4Address(ip)), int(ipaddress.IPv4Address(mask))
>  
> +def convert_ipv6(data):
> +    ip, _, mask = data.partition('/')
> +
> +    if not ip:
> +        ip = mask = 0
> +    elif not mask:
> +        mask = 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff'
> +    elif mask.isdigit():
> +        mask = ipaddress.IPv6Network("::/" + mask).hostmask
> +
> +    return ipaddress.IPv6Address(ip).packed, ipaddress.IPv6Address(mask).packed
> +
> +

nit: Perhaps one blank line is enough

>  def convert_int(size):
>      def convert_int_sized(data):
>          value, _, mask = data.partition('/')

...

The nit above notwithstanding, this patch looks good to me.

Reviewed-by: Simon Horman <[email-masked]>
Tested-by: Simon Horman <[email-masked]>