summaryrefslogtreecommitdiff
path: root/net/ipv4/arp.c
diff options
context:
space:
mode:
authorClark Williams <williams@redhat.com>2012-03-01 09:15:01 -0600
committerClark Williams <williams@redhat.com>2012-03-01 09:15:01 -0600
commit5ee07f2a498e0a5f4a9994317c0f2e451e27b4f2 (patch)
tree8d8cc50a7de738e1e6b7a66ec27120f616b3919a /net/ipv4/arp.c
parent5f269e50cb10cd1a74b89f7fda87b0c9082754f0 (diff)
parent44fb3170ae46f8de964a4bb5b0504e865a6dd7da (diff)
Merge commit 'v3.2.9' into rt-3.2.9-rt13v3.2.9-rt13
Diffstat (limited to 'net/ipv4/arp.c')
-rw-r--r--net/ipv4/arp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index 96a164aa1367..59a70411c5ad 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -867,7 +867,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);