diff --git a/feeds/ipq807x/ipq807x/patches/130-proxy-arp.patch b/feeds/ipq807x/ipq807x/patches/130-proxy-arp.patch new file mode 100644 index 000000000..f60ea1d04 --- /dev/null +++ b/feeds/ipq807x/ipq807x/patches/130-proxy-arp.patch @@ -0,0 +1,14 @@ +Index: linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016/net/bridge/br_input.c +=================================================================== +--- linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016.orig/net/bridge/br_input.c ++++ linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016/net/bridge/br_input.c +@@ -125,7 +125,8 @@ static void br_do_proxy_arp(struct sk_bu + + f = __br_fdb_get(br, n->ha, vid); + if (f && ((p->flags & BR_PROXYARP) || +- (f->dst && (f->dst->flags & BR_PROXYARP_WIFI)))) { ++ (f->dst && (f->dst->flags & BR_PROXYARP_WIFI))) ++ && memcmp(sha, n->ha, 6)) { + arp_send(ARPOP_REPLY, ETH_P_ARP, sip, skb->dev, tip, + sha, n->ha, sha); + BR_INPUT_SKB_CB(skb)->proxyarp_replied = true;