diff options
-rw-r--r-- | sys/netinet6/nd6_nbr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index 8465682..5381854 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -390,8 +390,6 @@ nd6_ns_output(struct ifnet *ifp, const struct in6_addr *daddr6, caddr_t mac; struct route_in6 ro; - bzero(&ro, sizeof(ro)); - if (IN6_IS_ADDR_MULTICAST(taddr6)) return; @@ -418,6 +416,8 @@ nd6_ns_output(struct ifnet *ifp, const struct in6_addr *daddr6, return; m->m_pkthdr.rcvif = NULL; + bzero(&ro, sizeof(ro)); + if (daddr6 == NULL || IN6_IS_ADDR_MULTICAST(daddr6)) { m->m_flags |= M_MCAST; im6o.im6o_multicast_ifp = ifp; |