summaryrefslogtreecommitdiff
path: root/system-linux.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2020-11-30 12:34:13 +0100
committerFelix Fietkau <nbd@nbd.name>2020-11-30 12:39:25 +0100
commit42c48866f1c1fce068f41536baa8dd2e80fc08d7 (patch)
tree439389ff79d44a5eb48c3fd5d3c60c0a5f36f024 /system-linux.c
parent524310276f2084d419cb0f2de58b0f42641d987f (diff)
downloadnetifd-42c48866f1c1fce068f41536baa8dd2e80fc08d7.tar.gz
config: parse default mac address from board.json
Example: { "network-device": { "eth0": { "macaddr": "bc:a5:11:16:76:d7" } } } Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'system-linux.c')
-rw-r--r--system-linux.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/system-linux.c b/system-linux.c
index 880cd23..bf746f9 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -28,8 +28,8 @@
#include <limits.h>
#include <arpa/inet.h>
-#include <netinet/ether.h>
#include <netinet/in.h>
+#include <netinet/ether.h>
#include <linux/rtnetlink.h>
#include <linux/neighbour.h>
@@ -1659,7 +1659,7 @@ system_if_apply_settings(struct device *dev, struct device_settings *s, unsigned
if (ioctl(sock_ioctl, SIOCSIFTXQLEN, &ifr) < 0)
s->flags &= ~DEV_OPT_TXQUEUELEN;
}
- if ((apply_mask & DEV_OPT_MACADDR) && !dev->external) {
+ if ((apply_mask & (DEV_OPT_MACADDR | DEV_OPT_DEFAULT_MACADDR)) && !dev->external) {
ifr.ifr_hwaddr.sa_family = ARPHRD_ETHER;
memcpy(&ifr.ifr_hwaddr.sa_data, s->macaddr, sizeof(s->macaddr));
if (ioctl(sock_ioctl, SIOCSIFHWADDR, &ifr) < 0)