On Thu, Dec 06, 2018 at 08:03:01PM +0100, Florian Obser wrote:
> Spotted this when reviewing Claudio's m_align diff and wondered why we
> bail right at the end just before we send the packet. Is there stuff
> happening before that's important? Turns out no.
> 
> (I suspect this is a belt for suspenders somewhere else in the stack
> and we never get here on a carp backup interface).
> 
> OK?

Sure OK claudio@
 
> diff --git netinet6/nd6_nbr.c netinet6/nd6_nbr.c
> index a90f852b25e..6aa2586a082 100644
> --- netinet6/nd6_nbr.c
> +++ netinet6/nd6_nbr.c
> @@ -891,6 +891,12 @@ nd6_na_output(struct ifnet *ifp, struct in6_addr *daddr6,
>       int icmp6len, maxlen;
>       caddr_t mac = NULL;
>  
> +#if NCARP > 0
> +     /* Do not send NAs for carp addresses if we're not the CARP master. */
> +     if (ifp->if_type == IFT_CARP && !carp_iamatch(ifp))
> +             return;
> +#endif
> +
>       /* estimate the size of message */
>       maxlen = sizeof(*ip6) + sizeof(*nd_na);
>       maxlen += (sizeof(struct nd_opt_hdr) + ifp->if_addrlen + 7) & ~7;
> @@ -1010,12 +1016,6 @@ nd6_na_output(struct ifnet *ifp, struct in6_addr 
> *daddr6,
>       } else
>               flags &= ~ND_NA_FLAG_OVERRIDE;
>  
> -#if NCARP > 0
> -     /* Do not send NAs for carp addresses if we're not the CARP master. */
> -     if (ifp->if_type == IFT_CARP && !carp_iamatch(ifp))
> -             goto bad;
> -#endif
> -
>       ip6->ip6_plen = htons((u_short)icmp6len);
>       nd_na->nd_na_flags_reserved = flags;
>       nd_na->nd_na_cksum = 0;
> 
> 
> -- 
> I'm not entirely sure you are real.
> 

-- 
:wq Claudio

Reply via email to