|
|
@@ -15,34 +15,19 @@ Isolating individual bridge ports
|
|
|
struct bridge_mcast_own_query ip4_own_query;
|
|
|
--- a/net/bridge/br_sysfs_if.c
|
|
|
+++ b/net/bridge/br_sysfs_if.c
|
|
|
-@@ -171,6 +171,22 @@ BRPORT_ATTR_FLAG(root_block, BR_ROOT_BLO
|
|
|
+@@ -170,6 +170,7 @@ BRPORT_ATTR_FLAG(bpdu_guard, BR_BPDU_GUA
|
|
|
+ BRPORT_ATTR_FLAG(root_block, BR_ROOT_BLOCK);
|
|
|
BRPORT_ATTR_FLAG(learning, BR_LEARNING);
|
|
|
BRPORT_ATTR_FLAG(unicast_flood, BR_FLOOD);
|
|
|
++BRPORT_ATTR_FLAG(isolated, BR_ISOLATE_MODE);
|
|
|
|
|
|
-+static ssize_t show_isolate_mode(struct net_bridge_port *p, char *buf)
|
|
|
-+{
|
|
|
-+ int isolate_mode = (p->flags & BR_ISOLATE_MODE) ? 1 : 0;
|
|
|
-+ return sprintf(buf, "%d\n", isolate_mode);
|
|
|
-+}
|
|
|
-+static ssize_t store_isolate_mode(struct net_bridge_port *p, unsigned long v)
|
|
|
-+{
|
|
|
-+ if (v)
|
|
|
-+ p->flags |= BR_ISOLATE_MODE;
|
|
|
-+ else
|
|
|
-+ p->flags &= ~BR_ISOLATE_MODE;
|
|
|
-+ return 0;
|
|
|
-+}
|
|
|
-+static BRPORT_ATTR(isolate_mode, S_IRUGO | S_IWUSR,
|
|
|
-+ show_isolate_mode, store_isolate_mode);
|
|
|
-+
|
|
|
#ifdef CONFIG_BRIDGE_IGMP_SNOOPING
|
|
|
static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
|
|
|
- {
|
|
|
-@@ -213,6 +229,7 @@ static const struct brport_attribute *br
|
|
|
+@@ -213,6 +214,7 @@ static const struct brport_attribute *br
|
|
|
&brport_attr_multicast_router,
|
|
|
&brport_attr_multicast_fast_leave,
|
|
|
#endif
|
|
|
-+ &brport_attr_isolate_mode,
|
|
|
++ &brport_attr_isolated,
|
|
|
NULL
|
|
|
};
|
|
|
|