summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2011-03-09 23:31:26 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2011-03-09 23:31:26 +0000
commit6375390cfcbe8536aacd3428678ea19109b89522 (patch)
tree03fffb80e83f2a0825c975369c4a9ae537ee3215 /sys
parent2f472db8d99d36d0895060a59c1036e6899db321 (diff)
Log MAC address changes in the IPv6 neighbor discovery protocol
cache as "ndp info overwritten". This makes the behavior similar to ARP. ok todd@, deraadt@, henning@, giovanni@, claudio@
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet6/nd6.c6
-rw-r--r--sys/netinet6/nd6_nbr.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c
index a33efa70276..4135ca28847 100644
--- a/sys/netinet6/nd6.c
+++ b/sys/netinet6/nd6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: nd6.c,v 1.85 2010/06/28 16:48:15 bluhm Exp $ */
+/* $OpenBSD: nd6.c,v 1.86 2011/03/09 23:31:24 bluhm Exp $ */
/* $KAME: nd6.c,v 1.280 2002/06/08 19:52:07 itojun Exp $ */
/*
@@ -1571,6 +1571,10 @@ fail:
* 1 -- y -- (7) * STALE
*/
+ if (llchange) {
+ log(LOG_INFO, "ndp info overwritten for %s by %s on %s\n",
+ ip6_sprintf(from), ether_sprintf(lladdr), ifp->if_xname);
+ }
if (lladdr) { /* (3-5) and (7) */
/*
* Record source link-layer address
diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c
index 66640769cf3..f1ef2abc899 100644
--- a/sys/netinet6/nd6_nbr.c
+++ b/sys/netinet6/nd6_nbr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: nd6_nbr.c,v 1.55 2010/02/08 11:56:09 jsing Exp $ */
+/* $OpenBSD: nd6_nbr.c,v 1.56 2011/03/09 23:31:25 bluhm Exp $ */
/* $KAME: nd6_nbr.c,v 1.61 2001/02/10 16:06:14 jinmei Exp $ */
/*
@@ -750,6 +750,11 @@ nd6_na_input(struct mbuf *m, int off, int icmp6len)
/*
* Update link-local address, if any.
*/
+ if (llchange) {
+ log(LOG_INFO, "ndp info overwritten for %s "
+ "by %s on %s\n", ip6_sprintf(&taddr6),
+ ether_sprintf(lladdr), ifp->if_xname);
+ }
if (lladdr) {
sdl->sdl_alen = ifp->if_addrlen;
bcopy(lladdr, LLADDR(sdl), ifp->if_addrlen);