summaryrefslogtreecommitdiffstats
path: root/zebra
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@diac24.net>2009-08-26 22:34:39 +0200
committerDavid Lamparter <equinox@diac24.net>2010-02-03 05:22:49 +0100
commit42a1488105379be37a5f4c39f7a99d1c53e092e3 (patch)
treef347d7be5282ec7ecfbaafda36066f28348c3eea /zebra
parentec22de20ab78db7be405e7361df8e98188c1ece5 (diff)
downloadquagga-42a1488105379be37a5f4c39f7a99d1c53e092e3.tar.bz2
quagga-42a1488105379be37a5f4c39f7a99d1c53e092e3.tar.xz
zebra: accept "connected" routes from protocols other than Connected
OLSR injects a /32 route for each connected router. treat these routes as connected for route nexthop/interface resolution.
Diffstat (limited to 'zebra')
-rw-r--r--zebra/zebra_rib.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 8228350f..7374f73d 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -366,7 +366,8 @@ nexthop_active_ipv4 (struct rib *rib, struct nexthop *nexthop, int set,
}
else
{
- if (match->type == ZEBRA_ROUTE_CONNECT)
+ if (match->type == ZEBRA_ROUTE_CONNECT
+ || (match->nexthop && match->nexthop->type == NEXTHOP_TYPE_IFINDEX))
{
/* Directly point connected route. */
newhop = match->nexthop;