[Olsr-dev] [quagga-dev 9393] [PATCH] quagga: Enable support for HSLS, OLSR and BATMAN protocols

David Lamparter (spam-protected)
Sat Jun 2 10:33:35 CEST 2012


On Fri, Jun 01, 2012 at 06:37:27PM +0300, Vasilis Tsiligiannis wrote:
> diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
> index 15475e2..2624580 100644
> --- a/zebra/rt_netlink.c
> +++ b/zebra/rt_netlink.c
> @@ -1623,6 +1623,9 @@ netlink_route_multipath (int cmd, struct prefix *p, struct rib *rib,
>                          addattr_l (&req.n, sizeof req, RTA_PREFSRC,
>  				 &nexthop->src.ipv4, bytelen);
>  
> +		      if (rib->type == ZEBRA_ROUTE_OLSR)
> +			req.r.rtm_scope = RT_SCOPE_LINK;
> +

This kind of hardcoding semantics deep into the actual kernel backend is
not workable.  We'll need some kind of proper handling here.

> +	  else if (match->type == ZEBRA_ROUTE_OLSR)
> +	    {
> +	      for (newhop = match->nexthop; newhop; newhop = newhop->next)
> +		if (CHECK_FLAG (newhop->flags, NEXTHOP_FLAG_FIB)
> +		    && newhop->type == NEXTHOP_TYPE_IFINDEX)
> +		  {
> +		    if (nexthop->type == NEXTHOP_TYPE_IPV4)
> +		      nexthop->ifindex = newhop->ifindex;
> +		    return 1;
> +		  }

Same here, also ifindex handling is relevant for BABEL too.  There was a
thread a short while back; Joakim has some patches that need to be
brought up to current HEAD.  The whole issue is also remotely related to
recursive nexthop handling, which is a big issue yet to be tackled.

Also, regarding olsrd integration, please look at
http://git.nowhere.ws/?p=olsrd-zclient.git
which, last time I checked, worked considerably better than the old
plugin drifting around in the olsrd source.  If I find the time, I'll
comment on the olsr-dev list too, I'm subscribed and have read half of
the thread there.


-David
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: Digital signature
URL: <http://lists.olsr.org/pipermail/olsr-dev/attachments/20120602/9930c4df/attachment.sig>


More information about the Olsr-dev mailing list