]> Pileus Git - ~andy/linux/blobdiff - net/bridge/br_sysfs_if.c
Merge tag 'drm-intel-next-2012-12-21' of git://people.freedesktop.org/~danvet/drm...
[~andy/linux] / net / bridge / br_sysfs_if.c
index d1dfa40261858f20d14432726bb58f0e207ab327..a1ef1b6e14dc0df71bc72bf6a5ca18bdc8d255cc 100644 (file)
@@ -157,6 +157,7 @@ static BRPORT_ATTR(flush, S_IWUSR, NULL, store_flush);
 
 BRPORT_ATTR_FLAG(hairpin_mode, BR_HAIRPIN_MODE);
 BRPORT_ATTR_FLAG(bpdu_guard, BR_BPDU_GUARD);
+BRPORT_ATTR_FLAG(root_block, BR_ROOT_BLOCK);
 
 #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
 static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
@@ -171,6 +172,8 @@ static int store_multicast_router(struct net_bridge_port *p,
 }
 static BRPORT_ATTR(multicast_router, S_IRUGO | S_IWUSR, show_multicast_router,
                   store_multicast_router);
+
+BRPORT_ATTR_FLAG(multicast_fast_leave, BR_MULTICAST_FAST_LEAVE);
 #endif
 
 static const struct brport_attribute *brport_attrs[] = {
@@ -191,8 +194,10 @@ static const struct brport_attribute *brport_attrs[] = {
        &brport_attr_flush,
        &brport_attr_hairpin_mode,
        &brport_attr_bpdu_guard,
+       &brport_attr_root_block,
 #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
        &brport_attr_multicast_router,
+       &brport_attr_multicast_fast_leave,
 #endif
        NULL
 };
@@ -219,7 +224,7 @@ static ssize_t brport_store(struct kobject * kobj,
        char *endp;
        unsigned long val;
 
-       if (!capable(CAP_NET_ADMIN))
+       if (!ns_capable(dev_net(p->dev)->user_ns, CAP_NET_ADMIN))
                return -EPERM;
 
        val = simple_strtoul(buf, &endp, 0);