Module Name: src
Committed By: roy
Date: Sat Nov 5 20:03:15 UTC 2016
Modified Files:
src/sys/netinet: if_arp.c
Log Message:
Don't handle ARP duplication for the unspecified address.
To generate a diff of this commit:
cvs rdiff -u -r1.231 -r1.232 src/sys/netinet/if_arp.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netinet/if_arp.c
diff -u src/sys/netinet/if_arp.c:1.231 src/sys/netinet/if_arp.c:1.232
--- src/sys/netinet/if_arp.c:1.231 Tue Oct 18 07:30:31 2016
+++ src/sys/netinet/if_arp.c Sat Nov 5 20:03:15 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: if_arp.c,v 1.231 2016/10/18 07:30:31 ozaki-r Exp $ */
+/* $NetBSD: if_arp.c,v 1.232 2016/11/05 20:03:15 roy Exp $ */
/*-
* Copyright (c) 1998, 2000, 2008 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_arp.c,v 1.231 2016/10/18 07:30:31 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_arp.c,v 1.232 2016/11/05 20:03:15 roy Exp $");
#ifdef _KERNEL_OPT
#include "opt_ddb.h"
@@ -1137,8 +1137,15 @@ in_arpinput(struct mbuf *m)
else if (in_hosteq(isaddr, myaddr))
ARP_STATINC(ARP_STAT_RCVLOCALSPA);
- if (in_nullhost(itaddr))
+ /*
+ * If the target IP address is zero, ignore the packet.
+ * This prevents the code below from tring to answer
+ * when we are using IP address zero (booting).
+ */
+ if (in_nullhost(itaddr)) {
ARP_STATINC(ARP_STAT_RCVZEROTPA);
+ goto out;
+ }
/* DAD check, RFC 5227 */
if (in_hosteq(isaddr, myaddr) ||
@@ -1149,14 +1156,6 @@ in_arpinput(struct mbuf *m)
goto out;
}
- /*
- * If the target IP address is zero, ignore the packet.
- * This prevents the code below from tring to answer
- * when we are using IP address zero (booting).
- */
- if (in_nullhost(itaddr))
- goto out;
-
if (in_nullhost(isaddr))
goto reply;