From owner-svn-src-head@freebsd.org Fri Sep 18 07:18:11 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AC4FF9CEA46; Fri, 18 Sep 2015 07:18:11 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 837821CDB; Fri, 18 Sep 2015 07:18:11 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.70]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t8I7IB6d095485; Fri, 18 Sep 2015 07:18:11 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t8I7IBYS095484; Fri, 18 Sep 2015 07:18:11 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201509180718.t8I7IBYS095484@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Fri, 18 Sep 2015 07:18:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r287952 - head/sys/netinet6 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Sep 2015 07:18:11 -0000 Author: melifaro Date: Fri Sep 18 07:18:10 2015 New Revision: 287952 URL: https://svnweb.freebsd.org/changeset/base/287952 Log: * Simplify logic besides llchange variable. * Refresh nd6_is_router() comment. Modified: head/sys/netinet6/nd6.c Modified: head/sys/netinet6/nd6.c ============================================================================== --- head/sys/netinet6/nd6.c Fri Sep 18 06:54:52 2015 (r287951) +++ head/sys/netinet6/nd6.c Fri Sep 18 07:18:10 2015 (r287952) @@ -1618,15 +1618,15 @@ nd6_is_router(int type, int code, int is * neighbor cache, this is similar to (6). * This case is rare but we figured that we MUST NOT set IsRouter. * - * newentry olladdr lladdr llchange NS RS RA redir + * is_new old_addr new_addr NS RS RA redir * D R - * 0 n n -- (1) c ? s - * 0 y n -- (2) c s s - * 0 n y -- (3) c s s - * 0 y y n (4) c s s - * 0 y y y (5) c s s - * 1 -- n -- (6) c c c s - * 1 -- y -- (7) c c s c s + * 0 n n (1) c ? s + * 0 y n (2) c s s + * 0 n y (3) c s s + * 0 y y (4) c s s + * 0 y y (5) c s s + * 1 -- n (6) c c c s + * 1 -- y (7) c c s c s * * (c=clear s=set) */ @@ -1751,14 +1751,16 @@ nd6_cache_lladdr(struct ifnet *ifp, stru if (olladdr && lladdr) { llchange = bcmp(lladdr, &ln->ll_addr, ifp->if_addrlen); - } else + } else if (!olladdr && lladdr) + llchange = 1; + else llchange = 0; /* * newentry olladdr lladdr llchange (*=record) * 0 n n -- (1) * 0 y n -- (2) - * 0 n y -- (3) * STALE + * 0 n y y (3) * STALE * 0 y y n (4) * * 0 y y y (5) * STALE * 1 -- n -- (6) NOSTATE(= PASSIVE) @@ -1776,8 +1778,7 @@ nd6_cache_lladdr(struct ifnet *ifp, stru } if (!is_newentry) { - if ((!olladdr && lladdr != NULL) || /* (3) */ - (olladdr && lladdr != NULL && llchange)) { /* (5) */ + if (llchange != 0) { /* (3,5) */ do_update = 1; newstate = ND6_LLINFO_STALE; } else /* (1-2,4) */