summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zebra/zebra_rib.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index bc39ffeacf..13057e0ae4 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -2260,7 +2260,11 @@ int rib_add_multipath(afi_t afi, safi_t safi, struct prefix *p,
if (same->type == ZEBRA_ROUTE_KERNEL &&
same->metric != re->metric)
continue;
- if (!RIB_SYSTEM_ROUTE(same))
+ /*
+ * We should allow duplicate connected routes because of
+ * IPv6 link-local routes and unnumbered interfaces on Linux.
+ */
+ if (same->type != ZEBRA_ROUTE_CONNECT)
break;
}