diff options
author | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2011-03-09 23:31:26 +0000 |
---|---|---|
committer | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2011-03-09 23:31:26 +0000 |
commit | 6375390cfcbe8536aacd3428678ea19109b89522 (patch) | |
tree | 03fffb80e83f2a0825c975369c4a9ae537ee3215 /sys | |
parent | 2f472db8d99d36d0895060a59c1036e6899db321 (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.c | 6 | ||||
-rw-r--r-- | sys/netinet6/nd6_nbr.c | 7 |
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); |