[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