OpenWrt – Diff between revs 2 and 3
?pathlinks?
Rev 2 | Rev 3 | |||
---|---|---|---|---|
Line 23... | Line 23... | |||
23 | |
23 | |
|
Line 24... | Line 24... | |||
24 | #define BR_DEFAULT_AGEING_TIME (300 * HZ) |
24 | #define BR_DEFAULT_AGEING_TIME (300 * HZ) |
|
25 | |
25 | |
|
26 | --- a/net/bridge/br_forward.c |
26 | --- a/net/bridge/br_forward.c |
|
27 | +++ b/net/bridge/br_forward.c |
27 | +++ b/net/bridge/br_forward.c |
|
28 | @@ -140,6 +140,9 @@ static int deliver_clone(const struct ne |
28 | @@ -141,6 +141,9 @@ static int deliver_clone(const struct ne |
|
29 | void br_forward(const struct net_bridge_port *to, |
29 | void br_forward(const struct net_bridge_port *to, |
|
30 | struct sk_buff *skb, bool local_rcv, bool local_orig) |
30 | struct sk_buff *skb, bool local_rcv, bool local_orig) |
|
31 | { |
31 | { |
|
32 | + if (to->flags & BR_ISOLATE_MODE && !local_orig) |
32 | + if (to->flags & BR_ISOLATE_MODE && !local_orig) |
|
33 | + to = NULL; |
33 | + to = NULL; |
|
34 | + |
34 | + |
|
35 | if (to && should_deliver(to, skb)) { |
35 | if (to && should_deliver(to, skb)) { |
|
36 | if (local_rcv) |
36 | if (local_rcv) |
|
37 | deliver_clone(to, skb, local_orig); |
37 | deliver_clone(to, skb, local_orig); |
|
Line 38... | Line 38... | |||
38 | @@ -205,6 +208,8 @@ void br_flood(struct net_bridge *br, str |
38 | @@ -206,6 +209,8 @@ void br_flood(struct net_bridge *br, str |
|
39 | struct net_bridge_port *p; |
39 | struct net_bridge_port *p; |
|
40 | |
40 | |
|
Line 60... | Line 60... | |||
60 | +++ b/net/bridge/br_sysfs_if.c |
60 | +++ b/net/bridge/br_sysfs_if.c |
|
61 | @@ -172,6 +172,7 @@ BRPORT_ATTR_FLAG(unicast_flood, BR_FLOOD |
61 | @@ -172,6 +172,7 @@ BRPORT_ATTR_FLAG(unicast_flood, BR_FLOOD |
|
62 | BRPORT_ATTR_FLAG(proxyarp, BR_PROXYARP); |
62 | BRPORT_ATTR_FLAG(proxyarp, BR_PROXYARP); |
|
63 | BRPORT_ATTR_FLAG(proxyarp_wifi, BR_PROXYARP_WIFI); |
63 | BRPORT_ATTR_FLAG(proxyarp_wifi, BR_PROXYARP_WIFI); |
|
64 | BRPORT_ATTR_FLAG(multicast_flood, BR_MCAST_FLOOD); |
64 | BRPORT_ATTR_FLAG(multicast_flood, BR_MCAST_FLOOD); |
|
65 | +BRPORT_ATTR_FLAG(isolated, BR_ISOLATE_MODE); |
65 | +BRPORT_ATTR_FLAG(isolate_mode, BR_ISOLATE_MODE); |
|
Line 66... | Line 66... | |||
66 | |
66 | |
|
67 | #ifdef CONFIG_BRIDGE_IGMP_SNOOPING |
67 | #ifdef CONFIG_BRIDGE_IGMP_SNOOPING |
|
68 | static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf) |
68 | static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf) |
|
69 | @@ -220,6 +221,7 @@ static const struct brport_attribute *br |
69 | @@ -220,6 +221,7 @@ static const struct brport_attribute *br |
|
70 | &brport_attr_proxyarp, |
70 | &brport_attr_proxyarp, |
|
71 | &brport_attr_proxyarp_wifi, |
71 | &brport_attr_proxyarp_wifi, |
|
72 | &brport_attr_multicast_flood, |
72 | &brport_attr_multicast_flood, |
|
73 | + &brport_attr_isolated, |
73 | + &brport_attr_isolate_mode, |
|
74 | NULL |
74 | NULL |