[PATCH v2 00/17] IPv6 support

Vyacheslav Mitrofanov V v.v.mitrofanov at yadro.com
Sat Sep 3 12:50:59 CEST 2022


On Wed, 2022-08-31 at 20:27 -0600, Simon Glass wrote:
> «Внимание! Данное письмо от внешнего адресата!»
> 
> 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

Hello, Simon!
Many thanks for your response! I do agree with your notes. I'm going to
follow them, so sooner I'll send new patch series.

Thanks!


More information about the U-Boot mailing list