Date: Tue, 16 Dec 2008 01:21:20 +0000 (UTC) From: Qing Li <qingli@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r186153 - head/sys/netinet6 Message-ID: <200812160121.mBG1LKEF022357@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: qingli Date: Tue Dec 16 01:21:19 2008 New Revision: 186153 URL: http://svn.freebsd.org/changeset/base/186153 Log: Initialize the variable "router", and apply "static_route" flag across the entire nd6_cache_lladdr() function. Modified: head/sys/netinet6/nd6.c Modified: head/sys/netinet6/nd6.c ============================================================================== --- head/sys/netinet6/nd6.c Tue Dec 16 01:18:10 2008 (r186152) +++ head/sys/netinet6/nd6.c Tue Dec 16 01:21:19 2008 (r186153) @@ -1405,9 +1405,10 @@ nd6_cache_lladdr(struct ifnet *ifp, stru int llchange; int flags = 0; int newstate = 0; - uint16_t router; + uint16_t router = 0; struct sockaddr_in6 sin6; struct mbuf *chain = NULL; + int static_route = 0; IF_AFDATA_UNLOCK_ASSERT(ifp); @@ -1441,8 +1442,10 @@ nd6_cache_lladdr(struct ifnet *ifp, stru is_newentry = 1; } else { /* do nothing if static ndp is set */ - if (ln->la_flags & LLE_STATIC) + if (ln->la_flags & LLE_STATIC) { + static_route = 1; goto done; + } is_newentry = 0; } if (ln == NULL) @@ -1600,7 +1603,7 @@ nd6_cache_lladdr(struct ifnet *ifp, stru } if (ln) { - int static_route = (ln->la_flags & LLE_STATIC); + static_route = (ln->la_flags & LLE_STATIC); router = ln->ln_router; if (flags & ND6_EXCLUSIVE) @@ -1642,7 +1645,7 @@ done: LLE_WUNLOCK(ln); else LLE_RUNLOCK(ln); - if (ln->la_flags & LLE_STATIC) + if (static_route) ln = NULL; } return (ln);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812160121.mBG1LKEF022357>