return 0;
}
+void
+system_if_apply_settings(struct device *dev, struct device_settings *s)
+{
+}
+
int system_add_address(struct device *dev, struct device_addr *addr)
{
uint8_t *a = (uint8_t *) &addr->addr.in;
}
}
-static void
+void
system_if_apply_settings(struct device *dev, struct device_settings *s)
{
struct ifreq ifr;
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)
int system_if_dump_stats(struct device *dev, struct blob_buf *b);
struct device *system_if_get_parent(struct device *dev);
bool system_if_force_external(const char *ifname);
+void system_if_apply_settings(struct device *dev, struct device_settings *s);
+
int system_add_address(struct device *dev, struct device_addr *addr);
int system_del_address(struct device *dev, struct device_addr *addr);