summaryrefslogtreecommitdiff
path: root/src/network/networkd-radv.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-01-31 13:02:57 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-01-31 13:10:28 +0900
commit218a850268ca7839d1eecdc47fc6d602931e1e4f (patch)
tree16345987f27a593bfee92b06f79d4a59970df06a /src/network/networkd-radv.c
parentf4ef1c196c6133a4048eb12766eb0822274e69a2 (diff)
downloadsystemd-218a850268ca7839d1eecdc47fc6d602931e1e4f.tar.gz
network: currently RADV requires MAC address whose length is ETH_ALEN
Diffstat (limited to 'src/network/networkd-radv.c')
-rw-r--r--src/network/networkd-radv.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/network/networkd-radv.c b/src/network/networkd-radv.c
index 0c5eebc815..507f0a0ccc 100644
--- a/src/network/networkd-radv.c
+++ b/src/network/networkd-radv.c
@@ -57,6 +57,9 @@ bool link_radv_enabled(Link *link) {
if (!link_may_have_ipv6ll(link))
return false;
+ if (link->hw_addr.length != ETH_ALEN)
+ return false;
+
return link->network->router_prefix_delegation;
}
@@ -547,6 +550,9 @@ static int radv_is_ready_to_configure(Link *link) {
if (in6_addr_is_null(&link->ipv6ll_address))
return false;
+ if (link->hw_addr.length != ETH_ALEN || hw_addr_is_null(&link->hw_addr))
+ return false;
+
if (link->network->router_emit_dns && !link->network->router_dns) {
_cleanup_free_ struct in6_addr *dns = NULL;
size_t n_dns;