On Wed, Jun 22, 2022 at 04:37:44PM +0200, Theo Buehler wrote:
> On Wed, Jun 22, 2022 at 04:13:43PM +0200, Claudio Jeker wrote:
> > Do not leak the address family specific struct kroute into bgpctl if there
> > is struct kroute_full which is address family independent.
> > The result is mostly minus because the code no longer needs address family
> > specific code paths.  This changes 'bgpctl show nexthop' but not its output.
> > 
> > OK?
> 
> This reads fine.
> 
> ok
> 
> One thing I noticed while comparing the code paths: should the KAME hack
> in log_in6addr() not be synced with route/show.c similar to the recent
> change in sa2addr()?
> 
> Index: util.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/util.c,v
> retrieving revision 1.66
> diff -u -p -r1.66 util.c
> --- util.c    19 Jun 2022 10:30:10 -0000      1.66
> +++ util.c    22 Jun 2022 14:32:39 -0000
> @@ -66,8 +66,10 @@ log_in6addr(const struct in6_addr *addr)
>  
>  #ifdef __KAME__
>       /* XXX thanks, KAME, for this ugliness... adopted from route/show.c */
> -     if (IN6_IS_ADDR_LINKLOCAL(&sa_in6.sin6_addr) ||
> -         IN6_IS_ADDR_MC_LINKLOCAL(&sa_in6.sin6_addr)) {
> +     if ((IN6_IS_ADDR_LINKLOCAL(&sa_in6.sin6_addr) ||
> +         IN6_IS_ADDR_MC_LINKLOCAL(&sa_in6.sin6_addr) ||
> +         IN6_IS_ADDR_MC_INTFACELOCAL(&sa_in6.sin6_addr)) &&
> +         sa_in6.sin6_scope_id == 0) {
>               uint16_t tmp16;
>               memcpy(&tmp16, &sa_in6.sin6_addr.s6_addr[2], sizeof(tmp16));
>               sa_in6.sin6_scope_id = ntohs(tmp16);
> 

Probably a good idea. OK claudio@

-- 
:wq Claudio

Reply via email to