[openwrt/openwrt] kernel: fix forwarding locally generated packages in bridge isolation patch

LEDE Commits lede-commits at lists.infradead.org
Mon Feb 5 01:18:19 PST 2018


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/653af8ffd3a743048e17c01261cee987935fe9a3

commit 653af8ffd3a743048e17c01261cee987935fe9a3
Author: Daniel Danzberger <daniel at dd-wrt.com>
AuthorDate: Wed Jan 31 14:46:08 2018 +0100

    kernel: fix forwarding locally generated packages in bridge isolation patch
    
    Locally generated packets weren't forwarded to the isolated interfaces in a
    bridge. Isolation should only prevent the flooding of incomming packets to
    other interfaces in the bridge.
    
    Signed-off-by: Daniel Danzberger <daniel at dd-wrt.com>
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 target/linux/generic/hack-4.14/641-bridge_port_isolate.patch | 2 +-
 target/linux/generic/hack-4.9/641-bridge_port_isolate.patch  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/linux/generic/hack-4.14/641-bridge_port_isolate.patch b/target/linux/generic/hack-4.14/641-bridge_port_isolate.patch
index ab9f476..538dbd1 100644
--- a/target/linux/generic/hack-4.14/641-bridge_port_isolate.patch
+++ b/target/linux/generic/hack-4.14/641-bridge_port_isolate.patch
@@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  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)) {
diff --git a/target/linux/generic/hack-4.9/641-bridge_port_isolate.patch b/target/linux/generic/hack-4.9/641-bridge_port_isolate.patch
index 5625932..0d0b2c7 100644
--- a/target/linux/generic/hack-4.9/641-bridge_port_isolate.patch
+++ b/target/linux/generic/hack-4.9/641-bridge_port_isolate.patch
@@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  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)) {



More information about the lede-commits mailing list