diff options
Diffstat (limited to 'system-linux.c')
-rw-r--r-- | system-linux.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/system-linux.c b/system-linux.c index d2e3d06..b3b58be 100644 --- a/system-linux.c +++ b/system-linux.c @@ -632,7 +632,7 @@ system_if_get_settings(struct device *dev, struct device_settings *s) } } -static void +void system_if_apply_settings(struct device *dev, struct device_settings *s) { struct ifreq ifr; @@ -649,7 +649,7 @@ system_if_apply_settings(struct device *dev, struct device_settings *s) if (ioctl(sock_ioctl, SIOCSIFTXQLEN, &ifr) < 0) s->flags &= ~DEV_OPT_TXQUEUELEN; } - if (s->flags & DEV_OPT_MACADDR) { + if ((s->flags & DEV_OPT_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) |