[ipv6] Create routing table based on IPv6 settings
authorMichael Brown <mcb30@ipxe.org>
Tue, 19 Jul 2016 16:49:50 +0000 (17:49 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 20 Jul 2016 12:02:44 +0000 (13:02 +0100)
commitc34d1518eb446d596087ed2b9dda33a513f7e980
treea15c1ffcaccdbe92803a55e0d41784039db46643
parent4ad3c73b3099cfe3b7f1c79ddfe9061809e4ac6d
[ipv6] Create routing table based on IPv6 settings

Use the IPv6 settings to construct the routing table, in a matter
analogous to the construction of the IPv4 routing table.

This allows for manual assignment of IPv6 addresses via e.g.

  set net0/ip6 2001:ba8:0:1d4::6950:5845
  set net0/len6 64
  set net0/gateway6 fe80::226:bff:fedd:d3c0

The prefix length ("len6") may be omitted, in which case a default
prefix length of 64 will be assumed.

Multiple IPv6 addresses may be assigned manually by implicitly
creating child settings blocks.  For example:

  set net0/ip6 2001:ba8:0:1d4::6950:5845
  set net0.ula/ip6 fda4:2496:e992::6950:5845

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/include/ipxe/ipv6.h
src/net/ipv6.c
src/net/ndp.c
src/net/udp/dhcpv6.c