[ipxe-devel] iPXE IPv6 improvements
Michael Brown
mcb30 at ipxe.org
Mon Jul 25 14:46:36 UTC 2016
I have pushed a series of patches which aims to pull together various
IPv6 improvements. This includes exposing IPv6 addresses via the
settings mechanism, allowing for manual assignment of IPv6 addresses via
the settings mechanism, and selecting an appropriate routing table entry
when there are multiple routers available.
Automatically assigned IPv6 addresses can be observed using e.g.
${net0.link/ip6} - link-local IPv6 address
${net0.ndp.0/ip6} - SLAAC IPv6 address from first advertised prefix
${net0.ndp.1/ip6} - SLAAC IPv6 address from second advertised prefix
${net0.dhcpv6/ip6} - stateful DHCPv6 IPv6 address
The ordering of settings blocks is such that ${net0/ip6} should evaluate
to give the intuitively most relevant address. For example, it will
evaluate to ${net0.link/ip6} if only a link-local address is available,
but to ${net0.dhcpv6/ip6} if stateful DHCPv6 is used.
Manual assignment of IPv6 addresses can be done 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
The routing mechanism should now correctly handle ULAs and site-local
addresses. There are routing table unit tests using ipv6_route_ok().
Thank you to everyone who has sent IPv6-related patches.
Michael
More information about the ipxe-devel
mailing list