projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
device: ignore MTU values below minimum
[project/netifd.git]
/
system-linux.c
diff --git
a/system-linux.c
b/system-linux.c
index
eb785b5
..
6e4a194
100644
(file)
--- a/
system-linux.c
+++ b/
system-linux.c
@@
-326,6
+326,11
@@
static void system_bridge_set_multicast_to_unicast(struct device *dev, const cha
system_set_dev_sysctl("/sys/class/net/%s/brport/multicast_to_unicast", dev->ifname, val);
}
system_set_dev_sysctl("/sys/class/net/%s/brport/multicast_to_unicast", dev->ifname, val);
}
+static void system_bridge_set_multicast_fast_leave(struct device *dev, const char *val)
+{
+ system_set_dev_sysctl("/sys/class/net/%s/brport/multicast_fast_leave", dev->ifname, val);
+}
+
static void system_bridge_set_hairpin_mode(struct device *dev, const char *val)
{
system_set_dev_sysctl("/sys/class/net/%s/brport/hairpin_mode", dev->ifname, val);
static void system_bridge_set_hairpin_mode(struct device *dev, const char *val)
{
system_set_dev_sysctl("/sys/class/net/%s/brport/hairpin_mode", dev->ifname, val);
@@
-548,7
+553,7
@@
handle_hotplug_msg(char *data, int size)
return;
found:
return;
found:
- dev = device_
get(interface, fals
e);
+ dev = device_
find(interfac
e);
if (!dev)
return;
if (!dev)
return;
@@
-680,6
+685,10
@@
int system_bridge_addif(struct device *bridge, struct device *dev)
system_bridge_set_multicast_router(dev, buf, false);
}
system_bridge_set_multicast_router(dev, buf, false);
}
+ if (dev->settings.flags & DEV_OPT_MULTICAST_FAST_LEAVE &&
+ dev->settings.multicast_fast_leave)
+ system_bridge_set_multicast_fast_leave(dev, "1");
+
if (dev->settings.flags & DEV_OPT_LEARNING &&
!dev->settings.learning)
system_bridge_set_learning(dev, "0");
if (dev->settings.flags & DEV_OPT_LEARNING &&
!dev->settings.learning)
system_bridge_set_learning(dev, "0");