The interface metric is initialized to 0 in the commit
db19c85:
zebra: set metric for directly connected routes via netlink to 0
Ripd and ripngd must be aware of it and avoid increase the
route metric by 0.
Signed-off-by: Feng Lu <lu.feng@6wind.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
/* If offset-list does not modify the metric use interface's
metric. */
if (!ret)
- rte->metric += ifp->metric;
+ rte->metric += ifp->metric ? ifp->metric : 1;
if (rte->metric > RIP_METRIC_INFINITY)
rte->metric = RIP_METRIC_INFINITY;
/* If offset-list does not modify the metric use interface's
* one. */
if (! ret)
- rte->metric += ifp->metric;
+ rte->metric += ifp->metric ? ifp->metric : 1;
if (rte->metric > RIPNG_METRIC_INFINITY)
rte->metric = RIPNG_METRIC_INFINITY;