mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-11-01 19:07:47 +00:00
ip807x: backport bridge port forwarding patch
Fixes: WIFI-13234 Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
Index: linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c
|
||||||
|
===================================================================
|
||||||
|
--- linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/net/bridge/br_forward.c
|
||||||
|
+++ linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c
|
||||||
|
@@ -24,8 +24,7 @@ static inline int should_deliver(const s
|
||||||
|
struct net_bridge_vlan_group *vg;
|
||||||
|
|
||||||
|
vg = nbp_vlan_group_rcu(p);
|
||||||
|
- return (((p->flags & BR_HAIRPIN_MODE) && !is_multicast_ether_addr(eth_hdr(skb)->h_dest))
|
||||||
|
- || (skb->dev != p->dev)) &&
|
||||||
|
+ return (((p->flags & BR_HAIRPIN_MODE)) || (skb->dev != p->dev)) &&
|
||||||
|
br_allowed_egress(vg, skb) && (p->state == BR_STATE_FORWARDING) &&
|
||||||
|
nbp_switchdev_allowed_egress(p, skb) &&
|
||||||
|
!br_skb_isolated(p, skb);
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
Index: linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c
|
||||||
|
===================================================================
|
||||||
|
--- linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/net/bridge/br_forward.c
|
||||||
|
+++ linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c
|
||||||
|
@@ -24,8 +24,7 @@ static inline int should_deliver(const s
|
||||||
|
struct net_bridge_vlan_group *vg;
|
||||||
|
|
||||||
|
vg = nbp_vlan_group_rcu(p);
|
||||||
|
- return (((p->flags & BR_HAIRPIN_MODE) && !is_multicast_ether_addr(eth_hdr(skb)->h_dest))
|
||||||
|
- || (skb->dev != p->dev)) &&
|
||||||
|
+ return (((p->flags & BR_HAIRPIN_MODE)) || (skb->dev != p->dev)) &&
|
||||||
|
br_allowed_egress(vg, skb) && (p->state == BR_STATE_FORWARDING) &&
|
||||||
|
nbp_switchdev_allowed_egress(p, skb) &&
|
||||||
|
!br_skb_isolated(p, skb);
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
Index: linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c
|
||||||
|
===================================================================
|
||||||
|
--- linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/net/bridge/br_forward.c
|
||||||
|
+++ linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c
|
||||||
|
@@ -24,8 +24,7 @@ static inline int should_deliver(const s
|
||||||
|
struct net_bridge_vlan_group *vg;
|
||||||
|
|
||||||
|
vg = nbp_vlan_group_rcu(p);
|
||||||
|
- return (((p->flags & BR_HAIRPIN_MODE) && !is_multicast_ether_addr(eth_hdr(skb)->h_dest))
|
||||||
|
- || (skb->dev != p->dev)) &&
|
||||||
|
+ return (((p->flags & BR_HAIRPIN_MODE)) || (skb->dev != p->dev)) &&
|
||||||
|
br_allowed_egress(vg, skb) && (p->state == BR_STATE_FORWARDING) &&
|
||||||
|
nbp_switchdev_allowed_egress(p, skb) &&
|
||||||
|
!br_skb_isolated(p, skb);
|
||||||
Reference in New Issue
Block a user