diff options
Diffstat (limited to 'target/linux/generic/pending-3.18')
-rw-r--r-- | target/linux/generic/pending-3.18/642-bridge_port_isolate.patch | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/target/linux/generic/pending-3.18/642-bridge_port_isolate.patch b/target/linux/generic/pending-3.18/642-bridge_port_isolate.patch index d231f881b9..47f8eb160b 100644 --- a/target/linux/generic/pending-3.18/642-bridge_port_isolate.patch +++ b/target/linux/generic/pending-3.18/642-bridge_port_isolate.patch @@ -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 }; |