[U-Boot] [RFC PATCH 0/8] IPv6 support

Chris Packham judge.packham at gmail.com
Mon Oct 12 09:43:06 CEST 2015


This series adds basic IPv6 support to U-boot. It is a reboot of my
earlier work on this[1]. Technically this is v4 of the series but with
the amount of time that has passed, rebasing and running though
checkpatch as well as the support for TFTP I've decided to reset the
counter back to 1.

Most of this is ported from Allied Telesis' additions to u-boot[2].
(Note that I am employed by Allied Telesis[3]). The hard work was done
some time ago by Angga, I've cleaned it up and made some improvements
with the hope of getting it accepted upstream.

A few open issues/questions

1) Presumably the majority of the actual V6 code would be included by a
config option. How far should I take that? Should the vsprintf code be
conditional? I'm also not sure where to draw the line between
CONFIG_NET6 and CONFIG_CMD_NET6, CONFIG_NET and CONFIG_CMD_NET look
similarly confused.

2) This code parallels net.c and net.h. Should I
continue this for the final version or integrate it into net.[ch].

3) rxhand_f currently takes an struct in_addr *. TFTP doesn't use this
(I haven't looked at other users). To support V6 this may need to be a
new union, a void * with some kind of flag or nothing if no rxhandler
actually cares.

Regards,
Chris
--
[1] - http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/151390
[2] - http://www.alliedtelesis.co.nz/support/gpl/other.html
[3] - some of this has been done on work time, other parts have been
      done in my personal time. Since I'm subscribed to the list using
      my gmail account I've signed using that.



Chris Packham (8):
  Initial net6.h
  lib: vsprintf: add IPv6 compressed format %pI6c
  lib: net_utils: make string_to_ip stricter
  lib: net_utils: add string_to_ip6
  net: ipv6 support
  net: TFTP over IPv6
  net: IPv6 documentation
  net: e1000 enable multicast reception

 README                 |   3 +
 common/Kconfig         |  15 ++
 common/cmd_net.c       |  41 +++++
 doc/README.ipv6        |  34 ++++
 drivers/net/e1000.c    |   5 +
 include/env_callback.h |   9 +
 include/env_flags.h    |  10 ++
 include/net.h          |   5 +-
 include/net6.h         | 280 +++++++++++++++++++++++++++++++
 lib/net_utils.c        | 132 ++++++++++++++-
 lib/vsprintf.c         | 144 +++++++++++++---
 net/Kconfig            |   5 +
 net/Makefile           |   3 +
 net/ndisc.c            | 269 ++++++++++++++++++++++++++++++
 net/ndisc.h            |  27 +++
 net/net.c              |  39 ++++-
 net/net6.c             | 439 +++++++++++++++++++++++++++++++++++++++++++++++++
 net/ping6.c            | 111 +++++++++++++
 net/tftp.c             |  37 +++++
 19 files changed, 1583 insertions(+), 25 deletions(-)
 create mode 100644 doc/README.ipv6
 create mode 100644 include/net6.h
 create mode 100644 net/ndisc.c
 create mode 100644 net/ndisc.h
 create mode 100644 net/net6.c
 create mode 100644 net/ping6.c

-- 
2.5.3



More information about the U-Boot mailing list