diff options
author | Michael Brown | 2016-07-19 17:57:32 +0200 |
---|---|---|
committer | Michael Brown | 2016-07-19 18:07:53 +0200 |
commit | 4ad3c73b3099cfe3b7f1c79ddfe9061809e4ac6d (patch) | |
tree | 6d576931282819e6f62db87b9c917a6740dc0176 /src/net/udp | |
parent | [settings] Allow settings blocks to specify a sibling ordering (diff) | |
download | ipxe-4ad3c73b3099cfe3b7f1c79ddfe9061809e4ac6d.tar.gz ipxe-4ad3c73b3099cfe3b7f1c79ddfe9061809e4ac6d.tar.xz ipxe-4ad3c73b3099cfe3b7f1c79ddfe9061809e4ac6d.zip |
[ipv6] Match user expectations for IPv6 settings priorities
A reasonable user expectation is that ${net0/ip6} should show the
"highest-priority" of the IPv6 addresses, even when multiple IPv6
addresses are active. The expected order of priority is likely to be
manually-assigned addresses first, then stateful DHCPv6 addresses,
then SLAAC addresses, and lastly link-local addresses.
Using ${priority} to enforce an ordering is undesirable since that
would affect the priority assigned to each of the net<N> blocks as a
whole, so use the sibling ordering capability instead.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/udp')
-rw-r--r-- | src/net/udp/dhcpv6.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/net/udp/dhcpv6.c b/src/net/udp/dhcpv6.c index ac701042..a2c69aaa 100644 --- a/src/net/udp/dhcpv6.c +++ b/src/net/udp/dhcpv6.c @@ -375,6 +375,7 @@ static int dhcpv6_register ( struct in6_addr *lease, ref_init ( &dhcpv6set->refcnt, NULL ); settings_init ( &dhcpv6set->settings, &dhcpv6_settings_operations, &dhcpv6set->refcnt, &dhcpv6_scope ); + dhcpv6set->settings.order = IPV6_ORDER_DHCPV6; data = ( ( ( void * ) dhcpv6set ) + sizeof ( *dhcpv6set ) ); len = options->len; memcpy ( data, options->data, len ); |