[PATCH v2 00/17] IPv6 support

Simon Glass sjg at chromium.org
Thu Sep 1 04:27:44 CEST 2022


Hi Viacheslav,

On Tue, 30 Aug 2022 at 07:00, Viacheslav Mitrofanov
<v.v.mitrofanov at yadro.com> wrote:
>
> This patch set adds basic IPv6 support to U-boot.
> It is based on Chris's Packham patches
> (https://lists.denx.de/pipermail/u-boot/2017-January/279366.html)
> Chris's patches were taken as base. There were efforts to launch it on HiFive
> SiFive Unmatched board but the board didn't work well. The code was refactored,
> fixed some bugs as CRC for little-endian, some parts were implemented in our own
> way, something was taken from Linux. Finally we did manual tests and the board
> worked well.
>
> Testing was done on HiFive SiFive Unmatched board (RISC-V)
>
> Signed-off-by: Viacheslav Mitrofanov <v.v.mitrofanov at yadro.com>
>
> ---
> Changes in v2:
>  - Split big patches into smaller
>  - If an address in tftpboot is IPv6 than use IPv6 to boot
>  - Add tests
>
> Viacheslav Mitrofanov (17):
>   net: ipv6: Add IPv6 basic primitives
>   net: ipv6: Add IPv6 build options
>   net: ipv6: Add callbacks declarations to get access to IPv6 variables
>   net: ipv6: Add Neighbor Discovery Protocol (NDP)
>   net: ipv6: Add string_to_ip6 converter
>   net: ipv6: Enable IPv6 typeconversion specifier
>   net: ipv6: Add ip6addr, gatewayip6, serverip6 variables callbacks
>   net: ipv6: Add implementation of main IPv6 functions
>   net: ipv6: Incorporate IPv6 support into u-boot net subsystem
>   net: tftp: Add IPv6 support for tftpboot
>   net: ping6: Add ping6 command
>   test: dm: eth: Add string_to_ip6 test
>   test: dm: eth: Add csum_ipv6_magic test
>   test: dm: eth: Add ip6_addr_in_subnet test
>   test: dm: eth: Add ip6_make_snma test
>   test: dm: eth: Add ip6_make_lladdr test
>   test/py: add a ping6 test
>
>  cmd/Kconfig               |   7 +
>  cmd/net.c                 |  48 ++++
>  include/env_callback.h    |  10 +
>  include/env_flags.h       |  10 +
>  include/ndisc.h           |  65 +++++
>  include/net.h             |   4 +-
>  include/net6.h            | 312 ++++++++++++++++++++++++
>  lib/net_utils.c           | 122 ++++++++++
>  lib/vsprintf.c            |  11 +-
>  net/Kconfig               |   4 +
>  net/Makefile              |   3 +
>  net/ndisc.c               | 276 ++++++++++++++++++++++
>  net/net.c                 |  70 +++++-
>  net/net6.c                | 484 ++++++++++++++++++++++++++++++++++++++
>  net/ping6.c               | 117 +++++++++
>  net/tftp.c                |  62 ++++-
>  test/dm/eth.c             | 140 +++++++++++
>  test/py/tests/test_net.py |  15 ++
>  18 files changed, 1741 insertions(+), 19 deletions(-)
>  create mode 100644 include/ndisc.h
>  create mode 100644 include/net6.h
>  create mode 100644 net/ndisc.c
>  create mode 100644 net/net6.c
>  create mode 100644 net/ping6.c

This is very nicely put together. I added some comments about missing
comments and other minor things.

I didn't try the ping6 test - does it need any special environment to work?

Regards,
Simon


More information about the U-Boot mailing list