diff options
Diffstat (limited to 'net/ipv4/arp.c')
| -rw-r--r-- | net/ipv4/arp.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 59402be133f..63e49890ad3 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c @@ -863,7 +863,8 @@ static int arp_process(struct sk_buff *skb)  			if (addr_type == RTN_UNICAST  &&  			    (arp_fwd_proxy(in_dev, dev, rt) ||  			     arp_fwd_pvlan(in_dev, dev, rt, sip, tip) || -			     pneigh_lookup(&arp_tbl, net, &tip, dev, 0))) { +			     (rt->dst.dev != dev && +			      pneigh_lookup(&arp_tbl, net, &tip, dev, 0)))) {  				n = neigh_event_ns(&arp_tbl, sha, &sip, dev);  				if (n)  					neigh_release(n);  |