diff options
Diffstat (limited to 'system-linux.c')
-rw-r--r-- | system-linux.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/system-linux.c b/system-linux.c index c0ba279..e9a19f7 100644 --- a/system-linux.c +++ b/system-linux.c @@ -460,9 +460,11 @@ static void system_bridge_set_startup_query_interval(struct device *dev, const c dev->ifname, val); } -static void system_bridge_set_stp_state(struct device *dev, const char *val) +void system_bridge_set_stp_state(struct device *dev, bool val) { - system_set_dev_sysctl("/sys/devices/virtual/net/%s/bridge/stp_state", dev->ifname, val); + const char *valstr = val ? "1" : "0"; + + system_set_dev_sysctl("/sys/devices/virtual/net/%s/bridge/stp_state", dev->ifname, valstr); } static void system_bridge_set_forward_delay(struct device *dev, const char *val) @@ -1263,7 +1265,7 @@ int system_bridge_addbr(struct device *bridge, struct bridge_config *cfg) if (ioctl(sock_ioctl, SIOCBRADDBR, bridge->ifname) < 0) return -1; - system_bridge_set_stp_state(bridge, cfg->stp ? "1" : "0"); + system_bridge_set_stp_state(bridge, cfg->stp); snprintf(buf, sizeof(buf), "%lu", sec_to_jiffies(cfg->forward_delay)); system_bridge_set_forward_delay(bridge, buf); |