From: Sean Edmond Date: Fri, 6 Jan 2023 22:22:55 +0000 (-0800) Subject: net: ipv6: Fix IPv6 netmask parsing X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=796e549822bdb49128578d8ae82d28a5249b4816;p=u-boot.git net: ipv6: Fix IPv6 netmask parsing It should be possible to specify a netmask when setting a static IPv6 address. For example: setenv ip6addr 2001:cafe:cafe:cafe::100/64 The net_prefix_length and net_ip6 should be updated properly. Signed-off-by: Sean Edmond Reviewed-by: Viacheslav Mitrofanov Reviewed-by: Ramon Fried --- diff --git a/net/net6.c b/net/net6.c index fdea078788..75577bcea1 100644 --- a/net/net6.c +++ b/net/net6.c @@ -47,10 +47,13 @@ static int on_ip6addr(const char *name, const char *value, enum env_op op, } mask = strchr(value, '/'); - len = strlen(value); - if (mask) - net_prefix_length = simple_strtoul(value + len, NULL, 10); + if (mask) { + net_prefix_length = simple_strtoul(mask + 1, NULL, 10); + len = mask - value; + } else { + len = strlen(value); + } return string_to_ip6(value, len, &net_ip6); }