mirror of
https://github.com/ipxe/ipxe
synced 2026-02-12 21:29:39 +03:00
[settings] Allow for IPv6 setting types in non-IPv6 builds
Allow for the existence of references to IPv6 setting types without dragging in the whole IPv6 stack, by placing the definition of setting_type_ipv6 in core/settings.c and providing weak stub methods for parse_ipv6_setting() and format_ipv6_setting(). Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -255,9 +255,6 @@ static int dhcpv6_iaaddr ( struct dhcpv6_option_list *options, uint32_t iaid,
|
||||
*
|
||||
*/
|
||||
|
||||
/** DHCPv6 settings scope */
|
||||
static const struct settings_scope dhcpv6_settings_scope;
|
||||
|
||||
/** A DHCPv6 settings block */
|
||||
struct dhcpv6_settings {
|
||||
/** Reference count */
|
||||
@@ -278,7 +275,7 @@ struct dhcpv6_settings {
|
||||
static int dhcpv6_applies ( struct settings *settings __unused,
|
||||
const struct setting *setting ) {
|
||||
|
||||
return ( setting->scope == &dhcpv6_settings_scope );
|
||||
return ( setting->scope == &ipv6_scope );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -339,7 +336,7 @@ static int dhcpv6_register ( struct dhcpv6_option_list *options,
|
||||
}
|
||||
ref_init ( &dhcpv6set->refcnt, NULL );
|
||||
settings_init ( &dhcpv6set->settings, &dhcpv6_settings_operations,
|
||||
&dhcpv6set->refcnt, &dhcpv6_settings_scope );
|
||||
&dhcpv6set->refcnt, &ipv6_scope );
|
||||
data = ( ( ( void * ) dhcpv6set ) + sizeof ( *dhcpv6set ) );
|
||||
len = options->len;
|
||||
memcpy ( data, options->data, len );
|
||||
|
||||
Reference in New Issue
Block a user