From c6f7b415d0b3eac6c8be8cb54985fae180f1f64b Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 17 Jan 2022 14:31:45 +0100 Subject: [PATCH] ipq807x: fix arp in hairpin mode Fixes: WIFI-7056 Signed-off-by: John Crispin --- ...e-allow-bcast-mcast-same-port-hairpinmode.patch | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 feeds/ipq807x/ipq807x/patches/107-bridge-allow-bcast-mcast-same-port-hairpinmode.patch diff --git a/feeds/ipq807x/ipq807x/patches/107-bridge-allow-bcast-mcast-same-port-hairpinmode.patch b/feeds/ipq807x/ipq807x/patches/107-bridge-allow-bcast-mcast-same-port-hairpinmode.patch new file mode 100644 index 000000000..99989b306 --- /dev/null +++ b/feeds/ipq807x/ipq807x/patches/107-bridge-allow-bcast-mcast-same-port-hairpinmode.patch @@ -0,0 +1,14 @@ +Index: linux-4.4.60-qsdk-10fd7d14853b7020b804acae690c8acec5d954ce/net/bridge/br_forward.c +=================================================================== +--- linux-4.4.60-qsdk-10fd7d14853b7020b804acae690c8acec5d954ce.orig/net/bridge/br_forward.c ++++ linux-4.4.60-qsdk-10fd7d14853b7020b804acae690c8acec5d954ce/net/bridge/br_forward.c +@@ -33,8 +33,7 @@ static inline int should_deliver(const s + struct net_bridge_vlan_group *vg; + + vg = nbp_vlan_group_rcu(p); +- return ((skb->dev != p->dev) || ((p->flags & BR_HAIRPIN_MODE) && +- (!is_multicast_ether_addr(eth_hdr(skb)->h_dest)))) && ++ return ((skb->dev != p->dev) || (p->flags & BR_HAIRPIN_MODE)) && + br_allowed_egress(vg, skb) && p->state == BR_STATE_FORWARDING; + } +