Hi Viacheslav, On Tue, 30 Aug 2022 at 07:00, Viacheslav Mitrofanov <[email protected]> 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 <[email protected]> > > --- > 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

