]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Invoke lle_event for new entry iff it has lladdr set.
authormelifaro <melifaro@FreeBSD.org>
Sun, 4 Oct 2015 19:10:27 +0000 (19:10 +0000)
committermelifaro <melifaro@FreeBSD.org>
Sun, 4 Oct 2015 19:10:27 +0000 (19:10 +0000)
sys/netinet6/nd6.c

index 474457493a502297506ec7a90626bcd784db1380..23e7a9bbe97f977ce897aaa6a7b9300dd0e2d6ba 100644 (file)
@@ -1750,10 +1750,12 @@ nd6_cache_lladdr(struct ifnet *ifp, struct in6_addr *from, char *lladdr,
                        lltable_link_entry(LLTABLE6(ifp), ln);
                IF_AFDATA_WUNLOCK(ifp);
                if (ln_tmp == NULL) {
-                       /* No existing lle, mark as new entry */
+                       /* No existing lle, mark as new entry (6,7) */
                        is_newentry = 1;
                        nd6_llinfo_setstate(ln, ND6_LLINFO_STALE);
-                       EVENTHANDLER_INVOKE(lle_event, ln, LLENTRY_RESOLVED);
+                       if (lladdr != NULL)     /* (7) */
+                               EVENTHANDLER_INVOKE(lle_event, ln,
+                                   LLENTRY_RESOLVED);
                } else {
                        lltable_free_entry(LLTABLE6(ifp), ln);
                        ln = ln_tmp;