[PATCH 1/3] bridge: Base the BR_PROXYARP decision on the target port flag
From: Jouni Malinen <hidden>
Date: 2015-02-04 09:52:04
From: Kyeyoon Park <redacted> When doing proxy ARP, instead of checking the bridge port flag for BR_PROXYARP on the bridge port on which the frame was received, check the bridge port flag of the bridge port to which the target device belongs. Signed-off-by: Kyeyoon Park <redacted> Signed-off-by: Jouni Malinen <redacted> --- net/bridge/br_input.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
index e2aa7be..cfd46c6 100644
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c@@ -105,7 +105,7 @@ static void br_do_proxy_arp(struct sk_buff *skb, struct net_bridge *br, } f = __br_fdb_get(br, n->ha, vid); - if (f) + if (f && f->dst->flags & BR_PROXYARP) arp_send(ARPOP_REPLY, ETH_P_ARP, sip, skb->dev, tip, sha, n->ha, sha);
@@ -155,7 +155,6 @@ int br_handle_frame_finish(struct sk_buff *skb) if (is_broadcast_ether_addr(dest)) { if (IS_ENABLED(CONFIG_INET) && - p->flags & BR_PROXYARP && skb->protocol == htons(ETH_P_ARP)) br_do_proxy_arp(skb, br, vid);
--
1.9.1