mbox series

[v2,0/9] IPv6 Support

Message ID 20180524044742.25889-1-sam@mendozajonas.com
Headers show
Series IPv6 Support | expand

Message

samjonas May 24, 2018, 4:47 a.m. UTC
This adds support for parsing and configuring IPv6 addresses in
Petitboot. Changes largely include updating the URL parsing and tracking
which has been configured.
This depends on updates to Busybox's udhcpc6 client which add DHCPv6
support, which are now upstream.

Changes in v2:
Use DHCPv4 and DHCPv6 simultaneously, drop petitboot,ipv6 parameter.
Improve network availability check in load_url_async().
Simplify field validation

Samuel Mendoza-Jonas (9):
  lib: Add support and helpers for IPv6 host addresses
  discover/sysinfo: Set IPv6 addresses
  lib/system: Add udhcpc6
  utils/pb-udhcpc: Recognise DHCPv6 parameters
  discover: Support IPv6 addresses
  discover/user-event: Use bootfile_url if available
  discover/pxe-parser: Parse simple iPXE scripts
  discover: Determine connectivity with getaddrinfo()
  ui/ncurses: Allow IPv6 addresses in address fields

 configure.ac                        |   1 +
 discover/device-handler.c           |  51 ++++++++----
 discover/network.c                  |  86 ++++++++++++++++-----
 discover/paths.c                    |   8 +-
 discover/pxe-parser.c               |  96 ++++++++++++++++++++++-
 discover/sysinfo.c                  |  33 ++++----
 discover/sysinfo.h                  |   1 -
 discover/user-event.c               |  17 +++-
 lib/pb-protocol/pb-protocol.c       |   6 +-
 lib/system/system.c                 |   1 +
 lib/system/system.h                 |   1 +
 lib/types/types.h                   |   1 +
 lib/url/url.c                       |  45 +++++++++--
 lib/url/url.h                       |   2 +
 test/parser/Makefile.am             |   3 +
 test/parser/test-pxe-ipxe-default.c |  40 ++++++++++
 test/parser/test-pxe-ipxe-named.c   |  39 ++++++++++
 test/parser/test-pxe-ipxe.c         |  40 ++++++++++
 test/urls/Makefile.am               |   3 +
 test/urls/data/ipv6-full.test       |   7 ++
 test/urls/data/ipv6-multidirs.test  |   7 ++
 test/urls/data/ipv6-noport.test     |   7 ++
 ui/ncurses/nc-config.c              |   8 +-
 ui/ncurses/nc-sysinfo.c             |   3 +
 ui/ncurses/nc-widgets.c             | 115 +++++++++++++++++++---------
 ui/ncurses/nc-widgets.h             |   4 +-
 utils/pb-udhcpc                     |   3 +-
 27 files changed, 519 insertions(+), 109 deletions(-)
 create mode 100644 test/parser/test-pxe-ipxe-default.c
 create mode 100644 test/parser/test-pxe-ipxe-named.c
 create mode 100644 test/parser/test-pxe-ipxe.c
 create mode 100644 test/urls/data/ipv6-full.test
 create mode 100644 test/urls/data/ipv6-multidirs.test
 create mode 100644 test/urls/data/ipv6-noport.test

Comments

samjonas July 26, 2018, 1:25 a.m. UTC | #1
On Thu, 2018-05-24 at 14:47 +1000, Samuel Mendoza-Jonas wrote:
> This adds support for parsing and configuring IPv6 addresses in
> Petitboot. Changes largely include updating the URL parsing and tracking
> which has been configured.
> This depends on updates to Busybox's udhcpc6 client which add DHCPv6
> support, which are now upstream.
> 
> Changes in v2:
> Use DHCPv4 and DHCPv6 simultaneously, drop petitboot,ipv6 parameter.
> Improve network availability check in load_url_async().
> Simplify field validation

Now merged as 12abcbe.

> 
> Samuel Mendoza-Jonas (9):
>   lib: Add support and helpers for IPv6 host addresses
>   discover/sysinfo: Set IPv6 addresses
>   lib/system: Add udhcpc6
>   utils/pb-udhcpc: Recognise DHCPv6 parameters
>   discover: Support IPv6 addresses
>   discover/user-event: Use bootfile_url if available
>   discover/pxe-parser: Parse simple iPXE scripts
>   discover: Determine connectivity with getaddrinfo()
>   ui/ncurses: Allow IPv6 addresses in address fields
> 
>  configure.ac                        |   1 +
>  discover/device-handler.c           |  51 ++++++++----
>  discover/network.c                  |  86 ++++++++++++++++-----
>  discover/paths.c                    |   8 +-
>  discover/pxe-parser.c               |  96 ++++++++++++++++++++++-
>  discover/sysinfo.c                  |  33 ++++----
>  discover/sysinfo.h                  |   1 -
>  discover/user-event.c               |  17 +++-
>  lib/pb-protocol/pb-protocol.c       |   6 +-
>  lib/system/system.c                 |   1 +
>  lib/system/system.h                 |   1 +
>  lib/types/types.h                   |   1 +
>  lib/url/url.c                       |  45 +++++++++--
>  lib/url/url.h                       |   2 +
>  test/parser/Makefile.am             |   3 +
>  test/parser/test-pxe-ipxe-default.c |  40 ++++++++++
>  test/parser/test-pxe-ipxe-named.c   |  39 ++++++++++
>  test/parser/test-pxe-ipxe.c         |  40 ++++++++++
>  test/urls/Makefile.am               |   3 +
>  test/urls/data/ipv6-full.test       |   7 ++
>  test/urls/data/ipv6-multidirs.test  |   7 ++
>  test/urls/data/ipv6-noport.test     |   7 ++
>  ui/ncurses/nc-config.c              |   8 +-
>  ui/ncurses/nc-sysinfo.c             |   3 +
>  ui/ncurses/nc-widgets.c             | 115 +++++++++++++++++++---------
>  ui/ncurses/nc-widgets.h             |   4 +-
>  utils/pb-udhcpc                     |   3 +-
>  27 files changed, 519 insertions(+), 109 deletions(-)
>  create mode 100644 test/parser/test-pxe-ipxe-default.c
>  create mode 100644 test/parser/test-pxe-ipxe-named.c
>  create mode 100644 test/parser/test-pxe-ipxe.c
>  create mode 100644 test/urls/data/ipv6-full.test
>  create mode 100644 test/urls/data/ipv6-multidirs.test
>  create mode 100644 test/urls/data/ipv6-noport.test
>