* 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))