kernel: bump 4.9 to 4.9.154
[openwrt/staging/wigyori.git] / target / linux / generic / hack-4.9 / 641-bridge_port_isolate.patch
index 56259329d2dce74e0af8301f4f12cb8ab6ebc162..a436dd2b1e0a85979bad5578c0958b6d52332b07 100644 (file)
@@ -25,17 +25,17 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/bridge/br_forward.c
 +++ b/net/bridge/br_forward.c
-@@ -141,6 +141,9 @@ static int deliver_clone(const struct ne
+@@ -140,6 +140,9 @@ static int deliver_clone(const struct ne
  void br_forward(const struct net_bridge_port *to,
                struct sk_buff *skb, bool local_rcv, bool local_orig)
  {
-+      if (to->flags & BR_ISOLATE_MODE)
++      if (to->flags & BR_ISOLATE_MODE && !local_orig)
 +              to = NULL;
 +
        if (to && should_deliver(to, skb)) {
                if (local_rcv)
                        deliver_clone(to, skb, local_orig);
-@@ -206,6 +209,8 @@ void br_flood(struct net_bridge *br, str
+@@ -205,6 +208,8 @@ void br_flood(struct net_bridge *br, str
        struct net_bridge_port *p;
  
        list_for_each_entry_rcu(p, &br->port_list, list) {
@@ -62,7 +62,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  BRPORT_ATTR_FLAG(proxyarp, BR_PROXYARP);
  BRPORT_ATTR_FLAG(proxyarp_wifi, BR_PROXYARP_WIFI);
  BRPORT_ATTR_FLAG(multicast_flood, BR_MCAST_FLOOD);
-+BRPORT_ATTR_FLAG(isolate_mode, BR_ISOLATE_MODE);
++BRPORT_ATTR_FLAG(isolated, BR_ISOLATE_MODE);
  
  #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
  static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
@@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        &brport_attr_proxyarp,
        &brport_attr_proxyarp_wifi,
        &brport_attr_multicast_flood,
-+      &brport_attr_isolate_mode,
++      &brport_attr_isolated,
        NULL
  };