* ripng_zebra.c, ripngd.[ch]: Pass metric info to the zebra daemon.

	Forwardport from stable branch.
diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c
index 453637c..cf0d578 100644
--- a/ripngd/ripngd.c
+++ b/ripngd/ripngd.c
@@ -783,7 +783,8 @@
 	  rinfo->type = ZEBRA_ROUTE_RIPNG;
 	  rinfo->sub_type = RIPNG_ROUTE_RTE;
 
-	  ripng_zebra_ipv6_add (&p, &rinfo->nexthop, rinfo->ifindex);
+	  ripng_zebra_ipv6_add (&p, &rinfo->nexthop, rinfo->ifindex,
+				rinfo->metric);
 	  rinfo->flags |= RIPNG_RTF_FIB;
 
 	  /* Aggregate check. */
@@ -835,9 +836,9 @@
 	      RIPNG_TIMER_OFF (rinfo->t_garbage_collect);
 
 	      if (! IPV6_ADDR_SAME (&rinfo->nexthop, nexthop))
-	    IPV6_ADDR_COPY (&rinfo->nexthop, nexthop);
+		IPV6_ADDR_COPY (&rinfo->nexthop, nexthop);
 
-	      ripng_zebra_ipv6_add (&p, nexthop, ifp->ifindex);
+	      ripng_zebra_ipv6_add (&p, nexthop, ifp->ifindex, rinfo->metric);
 	      rinfo->flags |= RIPNG_RTF_FIB;
 
 	      /* The aggregation counter needs to be updated because
@@ -850,7 +851,7 @@
 	  if (oldmetric != RIPNG_METRIC_INFINITY)
 	    {
 	      ripng_zebra_ipv6_delete (&p, &rinfo->nexthop, rinfo->ifindex);
-	      ripng_zebra_ipv6_add (&p, nexthop, ifp->ifindex);
+	      ripng_zebra_ipv6_add (&p, nexthop, ifp->ifindex, rinfo->metric);
 	      rinfo->flags |= RIPNG_RTF_FIB;
 
 	      if (! IPV6_ADDR_SAME (&rinfo->nexthop, nexthop))