[PATCH 05/17] net: ipv6: Add string_to_ip6 converter
Simon Glass
sjg at chromium.org
Fri Sep 9 16:44:44 CEST 2022
On Thu, 8 Sept 2022 at 05:59, Viacheslav Mitrofanov
<v.v.mitrofanov at yadro.com> wrote:
>
> This functions is used as a converter from IPv6 address string notation
> to struct ip6_addr that is used everywhere in IPv6 implementation. For
> example it is used to parse and convert IPv6 address from tftpboot
> command. Conversion algorithm uses two passes, first to verify syntax and
> locate colons and second pass to read the address. In case of valid IPv6
> address it returns 0.
>
> Examples of valid strings:
> 2001:db8::0:1234:1
> 2001:0db8:0000:0000:0000:0000:1234:0001
> ::1
> ::ffff:192.168.1.1
>
> Examples of invalid strings
> 2001:db8::0::0 (:: can only appear once)
> 2001:db8:192.168.1.1::1 (v4 part can only appear at the end)
> 192.168.1.1 (we don't implicity map v4)
>
> Series-changes: 3
> - Added function description
> - Added length parameter to string_to_ip6()
>
> Series-changes: 4
> - Fixed function description style
>
> Signed-off-by: Viacheslav Mitrofanov <v.v.mitrofanov at yadro.com>
> ---
> include/net6.h | 4 ++
> lib/net_utils.c | 109 ++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 113 insertions(+)
Reviewed-by: Simon Glass <sjg at chromium.org>
More information about the U-Boot
mailing list