diff mbox

Revert "ipv4: arp announce, arp_proxy and windows ip conflict verification"

Message ID m17hytrvcq.fsf_-_@fess.ebiederm.org
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Eric W. Biederman July 1, 2009, 2:27 a.m. UTC
This reverts commit 73ce7b01b4496a5fbf9caf63033c874be692333f.

After discovering that we don't listen to gratuitious arps in 2.6.30
I tracked the failure down to this commit.

The patch makes absolutely no sense.  RFC2131 RFC3927 and RFC5227.
are all in agreement that an arp request with sip == 0 should be used
for the probe (to prevent learning) and an arp request with sip == tip
should be used for the gratitous announcement that people can learn
from.

It appears the author of the broken patch got those two cases confused
and modified the code to drop all gratuitous arp traffic.  Ouch!

Cc: stable@kernel.org
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
---
 net/ipv4/arp.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

Comments

David Miller July 1, 2009, 3:10 a.m. UTC | #1
From: ebiederm@xmission.com (Eric W. Biederman)
Date: Tue, 30 Jun 2009 19:27:17 -0700

> This reverts commit 73ce7b01b4496a5fbf9caf63033c874be692333f.
> 
> After discovering that we don't listen to gratuitious arps in 2.6.30
> I tracked the failure down to this commit.
> 
> The patch makes absolutely no sense.  RFC2131 RFC3927 and RFC5227.
> are all in agreement that an arp request with sip == 0 should be used
> for the probe (to prevent learning) and an arp request with sip == tip
> should be used for the gratitous announcement that people can learn
> from.
> 
> It appears the author of the broken patch got those two cases confused
> and modified the code to drop all gratuitous arp traffic.  Ouch!
> 
> Cc: stable@kernel.org
> Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>

Applied and queued up for -stable, thanks Eric.

To be honest I didn't want to apply that patch, but it seemed
to match up with the RFC in question so I figured I had no
arguments against it :)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index f11931c..9c22032 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -801,11 +801,8 @@  static int arp_process(struct sk_buff *skb)
  *  cache.
  */
 
-	/*
-	 *  Special case: IPv4 duplicate address detection packet (RFC2131)
-	 *  and Gratuitous ARP/ARP Announce. (RFC3927, Section 2.4)
-	 */
-	if (sip == 0 || tip == sip) {
+	/* Special case: IPv4 duplicate address detection packet (RFC2131) */
+	if (sip == 0) {
 		if (arp->ar_op == htons(ARPOP_REQUEST) &&
 		    inet_addr_type(net, tip) == RTN_LOCAL &&
 		    !arp_ignore(in_dev, sip, tip))