From: Renato Westphal Date: Tue, 5 Sep 2017 14:38:25 +0000 (-0300) Subject: zebra: pay attention to metric from kernel (ECMP version) X-Git-Tag: frr-4.0-dev~277^2~5 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=eb327fa59048349c31e20a81e6509cdeea339d89;p=matthieu%2Ffrr.git zebra: pay attention to metric from kernel (ECMP version) Commit f19435a8 fixed rib_add() but didn't fix rib_add_multipath(). While here, remove the unnecessary 'same->table == re->table' check as it always evaluate to true. Signed-off-by: Renato Westphal --- diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 297a4ab95b..bc39ffeacf 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -2253,8 +2253,14 @@ int rib_add_multipath(afi_t afi, safi_t safi, struct prefix *p, if (CHECK_FLAG(same->status, ROUTE_ENTRY_REMOVED)) continue; - if (same->type == re->type && same->instance == re->instance - && same->table == re->table && !RIB_SYSTEM_ROUTE(same)) + if (same->type != re->type) + continue; + if (same->instance != re->instance) + continue; + if (same->type == ZEBRA_ROUTE_KERNEL && + same->metric != re->metric) + continue; + if (!RIB_SYSTEM_ROUTE(same)) break; }