diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c index 3ac03c3eee..e87d9d1e7c 100644 --- a/src/network/networkd-dhcp6.c +++ b/src/network/networkd-dhcp6.c @@ -430,9 +430,7 @@ bool link_dhcp6_pd_is_enabled(Link *link) { if (!link->network) return false; - return IN_SET(link->network->router_prefix_delegation, - RADV_PREFIX_DELEGATION_DHCP6, - RADV_PREFIX_DELEGATION_BOTH); + return link->network->router_prefix_delegation & RADV_PREFIX_DELEGATION_DHCP6; } static bool link_has_preferred_subnet_id(Link *link) { diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 47bdd2a0dc..0057d184f7 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -1394,9 +1394,7 @@ static int link_request_set_addresses(Link *link) { return r; } - if (IN_SET(link->network->router_prefix_delegation, - RADV_PREFIX_DELEGATION_STATIC, - RADV_PREFIX_DELEGATION_BOTH)) + if (link->network->router_prefix_delegation & RADV_PREFIX_DELEGATION_STATIC) LIST_FOREACH(prefixes, p, link->network->static_prefixes) { _cleanup_(address_freep) Address *address = NULL; diff --git a/src/network/networkd-radv.c b/src/network/networkd-radv.c index 88ca9ee7fa..dbc8fd8074 100644 --- a/src/network/networkd-radv.c +++ b/src/network/networkd-radv.c @@ -650,10 +650,7 @@ int radv_configure(Link *link) { return r; } - if (IN_SET(link->network->router_prefix_delegation, - RADV_PREFIX_DELEGATION_STATIC, - RADV_PREFIX_DELEGATION_BOTH)) { - + if (link->network->router_prefix_delegation & RADV_PREFIX_DELEGATION_STATIC) { LIST_FOREACH(prefixes, p, link->network->static_prefixes) { r = sd_radv_add_prefix(link->radv, p->radv_prefix, false); if (r == -EEXIST) @@ -673,7 +670,6 @@ int radv_configure(Link *link) { if (r < 0) return r; } - } return 0; diff --git a/src/network/networkd-radv.h b/src/network/networkd-radv.h index fbd56d32a6..73143e7493 100644 --- a/src/network/networkd-radv.h +++ b/src/network/networkd-radv.h @@ -14,10 +14,10 @@ typedef struct Prefix Prefix; typedef struct RoutePrefix RoutePrefix; typedef enum RADVPrefixDelegation { - RADV_PREFIX_DELEGATION_NONE, - RADV_PREFIX_DELEGATION_STATIC, - RADV_PREFIX_DELEGATION_DHCP6, - RADV_PREFIX_DELEGATION_BOTH, + RADV_PREFIX_DELEGATION_NONE = 0, + RADV_PREFIX_DELEGATION_STATIC = 1 << 0, + RADV_PREFIX_DELEGATION_DHCP6 = 1 << 1, + RADV_PREFIX_DELEGATION_BOTH = RADV_PREFIX_DELEGATION_STATIC | RADV_PREFIX_DELEGATION_DHCP6, _RADV_PREFIX_DELEGATION_MAX, _RADV_PREFIX_DELEGATION_INVALID = -1, } RADVPrefixDelegation;