ripd & ripngd: avoid the zero interface metric

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>
diff --git a/ripd/ripd.c b/ripd/ripd.c
index 55a1a75..01bd69e 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -433,7 +433,7 @@
   /* 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;
diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c
index 8e97c2f..318f600 100644
--- a/ripngd/ripngd.c
+++ b/ripngd/ripngd.c
@@ -717,7 +717,7 @@
   /* 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;