public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v4 00/17] IPv6 support
@ 2022-09-08 11:58 Viacheslav Mitrofanov
  2022-09-08 11:58 ` [PATCH 01/17] net: ipv6: Add IPv6 basic primitives Viacheslav Mitrofanov
                   ` (18 more replies)
  0 siblings, 19 replies; 40+ messages in thread
From: Viacheslav Mitrofanov @ 2022-09-08 11:58 UTC (permalink / raw)
  Cc: v.v.mitrofanov, rfried.dev, joe.hershberger, wd, u-boot,
	judge.packham, linux, sjg

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@yadro.com>

---
Changes in v2:
 - Split big patches into smaller
 - If an address in tftpboot is IPv6 than use IPv6 to boot
 - Add tests

Changes in v3:
 - Added functions and structures description in whole patch-series
 - Removed memory allocation in on_ip6addr()
 - Some functions got return code from errno.h
 - Add to string_to_ip6() length parameter to avoid obligatory null termination
 - Add a lot of small decorative cnages

Changes in v4:
 - Fixed funcs and structures style description
 - Added omitted tags 

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                 |  61 ++++++
 include/env_callback.h    |  10 +
 include/env_flags.h       |  10 +
 include/ndisc.h           | 102 +++++++++
 include/net.h             |   4 +-
 include/net6.h            | 432 ++++++++++++++++++++++++++++++++++++
 lib/net_utils.c           | 109 ++++++++++
 lib/vsprintf.c            |   7 +-
 net/Kconfig               |  10 +
 net/Makefile              |   3 +
 net/ndisc.c               | 289 +++++++++++++++++++++++++
 net/net.c                 |  53 ++++-
 net/net6.c                | 445 ++++++++++++++++++++++++++++++++++++++
 net/ping6.c               | 118 ++++++++++
 net/tftp.c                |  63 +++++-
 test/dm/eth.c             | 146 +++++++++++++
 test/py/tests/test_net.py |  15 ++
 18 files changed, 1865 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

-- 
2.25.1


^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2022-12-02  7:13 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-08 11:58 [PATCH v4 00/17] IPv6 support Viacheslav Mitrofanov
2022-09-08 11:58 ` [PATCH 01/17] net: ipv6: Add IPv6 basic primitives Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-08 11:58 ` [PATCH 02/17] net: ipv6: Add IPv6 build options Viacheslav Mitrofanov
2022-09-12  7:34   ` Ramon Fried
2022-09-08 11:58 ` [PATCH 03/17] net: ipv6: Add callbacks declarations to get access to IPv6 variables Viacheslav Mitrofanov
2022-09-12  7:34   ` Ramon Fried
2022-09-08 11:58 ` [PATCH 04/17] net: ipv6: Add Neighbor Discovery Protocol (NDP) Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-11  6:08     ` Vyacheslav Mitrofanov V
2022-09-12 13:34       ` Simon Glass
2022-09-08 11:58 ` [PATCH 05/17] net: ipv6: Add string_to_ip6 converter Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-08 11:58 ` [PATCH 06/17] net: ipv6: Enable IPv6 typeconversion specifier Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-08 11:58 ` [PATCH 07/17] net: ipv6: Add ip6addr, gatewayip6, serverip6 variables callbacks Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-08 11:58 ` [PATCH 08/17] net: ipv6: Add implementation of main IPv6 functions Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-08 11:58 ` [PATCH 09/17] net: ipv6: Incorporate IPv6 support into u-boot net subsystem Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-08 11:58 ` [PATCH 10/17] net: tftp: Add IPv6 support for tftpboot Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-08 11:58 ` [PATCH 11/17] net: ping6: Add ping6 command Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-08 11:59 ` [PATCH 12/17] test: dm: eth: Add string_to_ip6 test Viacheslav Mitrofanov
2022-09-08 11:59 ` [PATCH 13/17] test: dm: eth: Add csum_ipv6_magic test Viacheslav Mitrofanov
2022-09-09 14:44   ` Simon Glass
2022-09-08 11:59 ` [PATCH 14/17] test: dm: eth: Add ip6_addr_in_subnet test Viacheslav Mitrofanov
2022-09-08 11:59 ` [PATCH 15/17] test: dm: eth: Add ip6_make_snma test Viacheslav Mitrofanov
2022-09-08 11:59 ` [PATCH 16/17] test: dm: eth: Add ip6_make_lladdr test Viacheslav Mitrofanov
2022-09-08 11:59 ` [PATCH 17/17] test/py: add a ping6 test Viacheslav Mitrofanov
2022-09-11  6:04 ` [PATCH v4 00/17] IPv6 support Vyacheslav Mitrofanov V
2022-11-28 15:34 ` Tom Rini
2022-11-29  8:35   ` Vyacheslav Mitrofanov V
2022-11-29  8:39     ` Vyacheslav Mitrofanov V
2022-11-29 13:49       ` Tom Rini
2022-11-29 13:53         ` Vyacheslav Mitrofanov V
2022-12-01 13:03         ` Peter Robinson
2022-12-02  7:13           ` Vyacheslav Mitrofanov V

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox