diff options
Diffstat (limited to 'src/network/networkd-radv.c')
-rw-r--r-- | src/network/networkd-radv.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/network/networkd-radv.c b/src/network/networkd-radv.c index 04bbb8a62b..81350a3e05 100644 --- a/src/network/networkd-radv.c +++ b/src/network/networkd-radv.c @@ -602,12 +602,24 @@ int radv_emit_dns(Link *link) { return 0; } +static bool link_radv_enabled(Link *link) { + assert(link); + + if (!link_ipv6ll_enabled(link)) + return false; + + return link->network->router_prefix_delegation != RADV_PREFIX_DELEGATION_NONE; +} + int radv_configure(Link *link) { int r; assert(link); assert(link->network); + if (!link_radv_enabled(link)) + return 0; + r = sd_radv_new(&link->radv); if (r < 0) return r; |