[PATCH] net: ipv6: IPv6 environment variable cleanup

Ramon Fried rfried.dev at gmail.com
Sat Feb 18 21:09:56 CET 2023


On Thu, Feb 16, 2023 at 6:39 AM <seanedmond at linux.microsoft.com> wrote:
>
> From: Sean Edmond <seanedmond at microsoft.com>
>
> Fix "setenv gatewayip6".
>
> Synchronize IPv6 local variables with environment variables
> in netboot_update_env()
>
> Signed-off-by: Sean Edmond <seanedmond at microsoft.com>
> ---
>  cmd/net.c           | 23 ++++++++++++++++++++++-
>  include/env_flags.h |  2 +-
>  2 files changed, 23 insertions(+), 2 deletions(-)
>
> diff --git a/cmd/net.c b/cmd/net.c
> index 88d53d14d5..0161c87529 100644
> --- a/cmd/net.c
> +++ b/cmd/net.c
> @@ -208,7 +208,7 @@ U_BOOT_CMD(
>
>  static void netboot_update_env(void)
>  {
> -       char tmp[22];
> +       char tmp[44];
>
>         if (net_gateway.s_addr) {
>                 ip_to_string(net_gateway, tmp);
> @@ -269,6 +269,27 @@ static void netboot_update_env(void)
>                 env_set("ntpserverip", tmp);
>         }
>  #endif
> +
> +       if (IS_ENABLED(CONFIG_IPV6)) {
> +               if (!ip6_is_unspecified_addr(&net_ip6) ||
> +                   net_prefix_length != 0) {
> +                       sprintf(tmp, "%pI6c", &net_ip6);
> +                       if (net_prefix_length != 0)
> +                               sprintf(tmp, "%s/%d", tmp, net_prefix_length);
> +
> +                       env_set("ip6addr", tmp);
> +               }
> +
> +               if (!ip6_is_unspecified_addr(&net_server_ip6)) {
> +                       sprintf(tmp, "%pI6c", &net_server_ip6);
> +                       env_set("serverip6", tmp);
> +               }
> +
> +               if (!ip6_is_unspecified_addr(&net_gateway6)) {
> +                       sprintf(tmp, "%pI6c", &net_gateway6);
> +                       env_set("gatewayip6", tmp);
> +               }
> +       }
>  }
>
>  /**
> diff --git a/include/env_flags.h b/include/env_flags.h
> index 6bd574c2bd..7df40c59be 100644
> --- a/include/env_flags.h
> +++ b/include/env_flags.h
> @@ -71,7 +71,7 @@ enum env_flags_varaccess {
>  #define NET6_FLAGS \
>         "ip6addr:s," \
>         "serverip6:s," \
> -       "gatewayip6:s"
> +       "gatewayip6:s,"
Why is this needed ?
>  #else
>  #define NET6_FLAGS
>  #endif
> --
> 2.39.0
>


More information about the U-Boot mailing list