On Fri, Jul 21, 2017 at 03:42:21PM +0200, Florian Riehm wrote:
> On 03/03/14 00:33, Florian Riehm wrote:
> > Hi all,
> > 
> > ospfd can't export the default gateway via route label because
> > get_rtaddrs gets confused by a netmask (RTAX_NETMASK) of 0 because
> > sa->sa_len in get_rtaddrs is 0 and ROUNDUP then returns 0 also.
> > 
> > The bug has been fixed in ospf6d in the same way a couple of years ago.
> > Ospf6d uses the ROUNDUP macro from route/show.c now.
> > I think ospfd should do the same.
> > 
> > Regards,
> > 
> > Florian
> 
> Diff is long-term production tested by many customers now.
> ok?
> 

OK claudio@

> Thanks & Regards
> 
> friehm
> 
> 
> Index: kroute.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ospfd/kroute.c,v
> retrieving revision 1.107
> diff -u -p -r1.107 kroute.c
> --- kroute.c  27 Dec 2016 09:15:16 -0000      1.107
> +++ kroute.c  21 Jul 2017 13:37:42 -0000
> @@ -983,8 +983,8 @@ prefixlen2mask(u_int8_t prefixlen)
>       return (htonl(0xffffffff << (32 - prefixlen)));
>  }
>  
> -#define      ROUNDUP(a)      \
> -    (((a) & (sizeof(long) - 1)) ? (1 + ((a) | (sizeof(long) - 1))) : (a))
> +#define ROUNDUP(a) \
> +     ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
>  
>  void
>  get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info) 
> 

-- 
:wq Claudio

Reply via email to