bridge: Add multicast_querier toggle and disable queries by default
[deliverable/linux.git] / net / bridge / br_sysfs_br.c
index c236c0e439848342f2d5c3825b33b6c8bdc6ab47..c5c059333eab675aeb73d4bf640f2b784d274902 100644 (file)
@@ -297,7 +297,7 @@ static ssize_t store_group_addr(struct device *d,
                                const char *buf, size_t len)
 {
        struct net_bridge *br = to_bridge(d);
-       unsigned new_addr[6];
+       unsigned int new_addr[6];
        int i;
 
        if (!capable(CAP_NET_ADMIN))
@@ -379,6 +379,23 @@ static ssize_t store_multicast_snooping(struct device *d,
 static DEVICE_ATTR(multicast_snooping, S_IRUGO | S_IWUSR,
                   show_multicast_snooping, store_multicast_snooping);
 
+static ssize_t show_multicast_querier(struct device *d,
+                                     struct device_attribute *attr,
+                                     char *buf)
+{
+       struct net_bridge *br = to_bridge(d);
+       return sprintf(buf, "%d\n", br->multicast_querier);
+}
+
+static ssize_t store_multicast_querier(struct device *d,
+                                      struct device_attribute *attr,
+                                      const char *buf, size_t len)
+{
+       return store_bridge_parm(d, buf, len, br_multicast_set_querier);
+}
+static DEVICE_ATTR(multicast_querier, S_IRUGO | S_IWUSR,
+                  show_multicast_querier, store_multicast_querier);
+
 static ssize_t show_hash_elasticity(struct device *d,
                                    struct device_attribute *attr, char *buf)
 {
@@ -702,6 +719,7 @@ static struct attribute *bridge_attrs[] = {
 #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
        &dev_attr_multicast_router.attr,
        &dev_attr_multicast_snooping.attr,
+       &dev_attr_multicast_querier.attr,
        &dev_attr_hash_elasticity.attr,
        &dev_attr_hash_max.attr,
        &dev_attr_multicast_last_member_count.attr,
This page took 0.028939 seconds and 5 git commands to generate.