summaryrefslogtreecommitdiff
path: root/src/network/networkd-ndisc.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-07-14 05:23:01 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-07-14 06:52:07 +0900
commit3be64aa462642de9fbe9f95536f8d167c19994bb (patch)
treeeef4fb5006f5e0f3a271a0b704d90575bcb4ebdf /src/network/networkd-ndisc.c
parent56bb67180a18562b04cb66e07f7fa53d6014ecf8 (diff)
downloadsystemd-3be64aa462642de9fbe9f95536f8d167c19994bb.tar.gz
network: do not set invalid MAC address for non-ethernet interface
Diffstat (limited to 'src/network/networkd-ndisc.c')
-rw-r--r--src/network/networkd-ndisc.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
index 8ace451f7f..2b02978ab4 100644
--- a/src/network/networkd-ndisc.c
+++ b/src/network/networkd-ndisc.c
@@ -1054,9 +1054,11 @@ static int ndisc_configure(Link *link) {
if (r < 0)
return r;
- r = sd_ndisc_set_mac(link->ndisc, &link->hw_addr.ether);
- if (r < 0)
- return r;
+ if (link->hw_addr.length == ETH_ALEN) {
+ r = sd_ndisc_set_mac(link->ndisc, &link->hw_addr.ether);
+ if (r < 0)
+ return r;
+ }
r = sd_ndisc_set_ifindex(link->ndisc, link->ifindex);
if (r < 0)