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 <renato@opensourcerouting.org>
This commit is contained in:
Renato Westphal 2017-09-05 11:38:25 -03:00
parent 7865c65d23
commit eb327fa590

View File

@ -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)) if (CHECK_FLAG(same->status, ROUTE_ENTRY_REMOVED))
continue; continue;
if (same->type == re->type && same->instance == re->instance if (same->type != re->type)
&& same->table == re->table && !RIB_SYSTEM_ROUTE(same)) continue;
if (same->instance != re->instance)
continue;
if (same->type == ZEBRA_ROUTE_KERNEL &&
same->metric != re->metric)
continue;
if (!RIB_SYSTEM_ROUTE(same))
break; break;
} }