Sat, Feb 18, 2023 at 10:09:56PM +0200, Ramon Fried wrote: > On Thu, Feb 16, 2023 at 6:39 AM <seanedm...@linux.microsoft.com> wrote: > > > > From: Sean Edmond <seanedm...@microsoft.com> > > > > Fix "setenv gatewayip6". > > > > Synchronize IPv6 local variables with environment variables > > in netboot_update_env() > > > > Signed-off-by: Sean Edmond <seanedm...@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 ?
Without the comma, we see the following error when trying to set the gatewayip6 environment variable: => setenv gatewayip6 fe80::f0c7:7cff:fea9:c4ec ## Warning: Unknown environment variable access method 's' ## Error inserting "gatewayip6" variable, errno=3 > > #else > > #define NET6_FLAGS > > #endif > > -- > > 2.39.0 > >