Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Sep 2015 10:24:35 +0000 (UTC)
From:      "Alexander V. Chernikov" <melifaro@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r288060 - head/sys/netinet6
Message-ID:  <201509211024.t8LAOZsJ053214@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: melifaro
Date: Mon Sep 21 10:24:34 2015
New Revision: 288060
URL: https://svnweb.freebsd.org/changeset/base/288060

Log:
  Add "stale" timer back to nd6_cache_lladdr().
  Setting timer was accidentally removed in r276844 due to misleading
    comment on its meaningless. Add it back to restore proper behaviour.

Modified:
  head/sys/netinet6/nd6.c

Modified: head/sys/netinet6/nd6.c
==============================================================================
--- head/sys/netinet6/nd6.c	Mon Sep 21 09:37:49 2015	(r288059)
+++ head/sys/netinet6/nd6.c	Mon Sep 21 10:24:34 2015	(r288060)
@@ -1729,7 +1729,6 @@ nd6_cache_lladdr(struct ifnet *ifp, stru
 		if (lladdr != NULL) {
 			bcopy(lladdr, &ln->ll_addr, ifp->if_addrlen);
 			ln->la_flags |= LLE_VALID;
-			ln->ln_state = ND6_LLINFO_STALE;
 		}
 		IF_AFDATA_WLOCK(ifp);
 		LLE_WLOCK(ln);
@@ -1738,10 +1737,12 @@ nd6_cache_lladdr(struct ifnet *ifp, stru
 		if (ln_tmp == NULL)
 			lltable_link_entry(LLTABLE6(ifp), ln);
 		IF_AFDATA_WUNLOCK(ifp);
-		if (ln_tmp == NULL)
+		if (ln_tmp == NULL) {
 			/* No existing lle, mark as new entry */
 			is_newentry = 1;
-		else {
+			ln->ln_state = ND6_LLINFO_STALE;
+			nd6_llinfo_settimer_locked(ln, (long)V_nd6_gctimer * hz);
+		} else {
 			lltable_free_entry(LLTABLE6(ifp), ln);
 			ln = ln_tmp;
 			ln_tmp = NULL;
@@ -1788,6 +1789,7 @@ nd6_cache_lladdr(struct ifnet *ifp, stru
 		bcopy(lladdr, &ln->ll_addr, ifp->if_addrlen);
 		ln->la_flags |= LLE_VALID;
 		ln->ln_state = ND6_LLINFO_STALE;
+		nd6_llinfo_settimer_locked(ln, (long)V_nd6_gctimer * hz);
 
 		EVENTHANDLER_INVOKE(lle_event, ln, LLENTRY_RESOLVED);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201509211024.t8LAOZsJ053214>