Skip to content

Commit 70620c4

Browse files
tgrafdavem330
authored andcommitted
net: Don't proxy arp respond if iif == rt->dst.dev if private VLAN is disabled
Commit 653241 (net: RFC3069, private VLAN proxy arp support) changed the behavior of arp proxy to send arp replies back out on the interface the request came in even if the private VLAN feature is disabled. Previously we checked rt->dst.dev != skb->dev for in scenarios, when proxy arp is enabled on for the netdevice and also when individual proxy neighbour entries have been added. This patch adds the check back for the pneigh_lookup() scenario. Signed-off-by: Thomas Graf <[email protected]> Acked-by: Jesper Dangaard Brouer <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 5dc7883 commit 70620c4

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

net/ipv4/arp.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -863,7 +863,8 @@ static int arp_process(struct sk_buff *skb)
863863
if (addr_type == RTN_UNICAST &&
864864
(arp_fwd_proxy(in_dev, dev, rt) ||
865865
arp_fwd_pvlan(in_dev, dev, rt, sip, tip) ||
866-
pneigh_lookup(&arp_tbl, net, &tip, dev, 0))) {
866+
(rt->dst.dev != dev &&
867+
pneigh_lookup(&arp_tbl, net, &tip, dev, 0)))) {
867868
n = neigh_event_ns(&arp_tbl, sha, &sip, dev);
868869
if (n)
869870
neigh_release(n);

0 commit comments

Comments
 (0)