summaryrefslogtreecommitdiff
path: root/sys/netinet
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2003-06-25 16:56:05 +0000
committerRobert Watson <rwatson@FreeBSD.org>2003-06-25 16:56:05 +0000
commit4826e117a69d7e6d381b9ecadd8e2f8e067d0305 (patch)
tree45ec55082ae710412adeb4b4a7fae0a2c9d9da1b /sys/netinet
parent98055f6d6eacbee4900c6a69196d4f41ace163d2 (diff)
Notes
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/if_ether.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index f4757b3c214d..64817c13b3dc 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -556,10 +556,15 @@ arpintr()
* but formerly didn't normally send requests.
*/
static int log_arp_wrong_iface = 1;
+static int log_arp_movements = 1;
SYSCTL_INT(_net_link_ether_inet, OID_AUTO, log_arp_wrong_iface, CTLFLAG_RW,
&log_arp_wrong_iface, 0,
"log arp packets arriving on the wrong interface");
+SYSCTL_INT(_net_link_ether_inet, OID_AUTO, log_arp_movements, CTLFLAG_RW,
+ &log_arp_movements, 0,
+ "log arp replies from MACs different than the one in the cache");
+
static void
in_arpinput(m)
@@ -664,13 +669,14 @@ match:
}
if (sdl->sdl_alen &&
bcmp(ar_sha(ah), LLADDR(sdl), sdl->sdl_alen)) {
- if (rt->rt_expire)
- log(LOG_INFO, "arp: %s moved from %*D to %*D on %s%d\n",
- inet_ntoa(isaddr),
- ifp->if_addrlen, (u_char *)LLADDR(sdl), ":",
- ifp->if_addrlen, (u_char *)ar_sha(ah), ":",
- ifp->if_name, ifp->if_unit);
- else {
+ if (rt->rt_expire) {
+ if (log_arp_movements)
+ log(LOG_INFO, "arp: %s moved from %*D to %*D on %s%d\n",
+ inet_ntoa(isaddr),
+ ifp->if_addrlen, (u_char *)LLADDR(sdl), ":",
+ ifp->if_addrlen, (u_char *)ar_sha(ah), ":",
+ ifp->if_name, ifp->if_unit);
+ } else {
log(LOG_ERR,
"arp: %*D attempts to modify permanent entry for %s on %s%d\n",
ifp->if_addrlen, (u_char *)ar_sha(ah), ":",