[olsr-dev] Why are 1-hop routes with destination==gateway added

spoggle (spam-protected)
Mon Jul 24 19:20:16 CEST 2006


i would like to propose that a patch that alters the behavior of
writing these routes be wrapped in a conditional, defaulting to the
original behavior.

thanks,
dave c

On 7/24/06, Erik Tromp <(spam-protected)> wrote:
> Bill,
>
> Thanks, so I was right that this is blocking interworking with Quagga, and it is ok to have these routes not copied into the routing
> table.
>
> Could you point me to the URL of the mail thread you refer to?
>
> Erik
>
>
> ----- Original Message -----
> From: "Acinonyx" <(spam-protected)>
> To: "OLSR development" <(spam-protected)>
> Sent: Friday, July 21, 2006 11:58 PM
> Subject: Re: [olsr-dev] Why are 1-hop routes with destination==gateway added
>
>
> > Hello Erik,
> >
> > this issue has been discussed before in this list.
> >
> > The problem originates from quagga (zebra daemon) which doesn't accept
> > as valid, routes with destination equal to gateway if they are not
> > assigned to a p-t-p interface.
> >
> > Either case, destintation ==gateway routes in olsr seems practically
> > useless so I removed this part of code to work with quagga.
> >
> > Regards,
> > Bill
> >
> > P.S. A patch for 0.4.10 follows.
> >
> > diff -Naur olsrd-0.4.10/src/linux/kernel_routes.c
> > olsrd-0.4.10-patched/src/linux/kernel_routes.c
> > --- olsrd-0.4.10/src/linux/kernel_routes.c      2005-02-27
> > 20:39:43.000000000 +0200
> > +++ olsrd-0.4.10-patched/src/linux/kernel_routes.c      2006-05-02
> > 03:37:21.000000000 +0300
> > @@ -87,7 +87,6 @@
> >   if(destination->rt_dst.v4 != destination->rt_router.v4)
> >     {
> >       ((struct sockaddr_in
> > *)&kernel_route.rt_gateway)->sin_addr.s_addr=destination->rt_router.v4;
> > -    }
> >
> >   kernel_route.rt_flags = destination->rt_flags;
> >
> > @@ -130,6 +129,7 @@
> >
> >   tmp = ioctl(ioctl_s,SIOCADDRT,&kernel_route);
> >   /*  kernel_route.rt_dev=*/
> > +    } else tmp = 0;
> >
> >   /*
> >    *Send IPC route update message
> > @@ -256,6 +256,7 @@
> >
> >   ((struct sockaddr_in *)&kernel_route.rt_dst)->sin_addr.s_addr =
> > destination->rt_dst.v4;
> >   if(destination->rt_dst.v4 != destination->rt_router.v4)
> > +    {
> >     ((struct sockaddr_in *)&kernel_route.rt_gateway)->sin_addr.s_addr =
> > destination->rt_router.v4;
> >   ((struct sockaddr_in *)&kernel_route.rt_genmask)->sin_addr.s_addr =
> > destination->rt_mask.v4;
> >
> > @@ -275,6 +276,7 @@
> >   */
> >
> >   tmp = ioctl(ioctl_s, SIOCDELRT, &kernel_route);
> > +    } else tmp = 0;
> >
> >
> >     /*
> >
> >
> >
> > _______________________________________________
> > olsr-dev mailing list
> > (spam-protected)
> > https://www.olsr.org/mailman/listinfo/olsr-dev
> >
>
> _______________________________________________
> olsr-dev mailing list
> (spam-protected)
> https://www.olsr.org/mailman/listinfo/olsr-dev
>




More information about the Olsr-dev mailing list