summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--zebra/zebra_rib.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index dc7e1ca1..b1d88369 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -1249,9 +1249,12 @@ rib_process (struct route_node *rn)
struct nexthop *nexthop = NULL, *tnexthop;
int recursing;
char buf[INET6_ADDRSTRLEN];
-
+ rib_table_info_t *info;
+
assert (rn);
-
+
+ info = rn->table->info;
+
if (IS_ZEBRA_DEBUG_RIB || IS_ZEBRA_DEBUG_RIB_Q)
inet_ntop (rn->p.family, &rn->p.u.prefix, buf, INET6_ADDRSTRLEN);
@@ -1286,6 +1289,9 @@ rib_process (struct route_node *rn)
if (! nexthop_active_update (rn, rib, 0))
continue;
+ if (info->safi == SAFI_MULTICAST)
+ continue;
+
/* Infinit distance. */
if (rib->distance == DISTANCE_INFINITY)
continue;