[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