[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