diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index 3e9629f..61b8b41 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,12 @@
+2005-08-27 Hasso Tepper <hasso at quagga.net>
+
+	* zebra_rib.c, rib.h: Add distance and metric arguments to the
+	  rib_add_ipv6() function so that IPv6 routes in RIB can have correct
+	  metric. No IPv6 routing daemon uses distance yet though.
+	* zserv.c, connected.c, kernel_socket.c, rt_netlink.c,
+	  rtread_proc.c,zserv.c: Pass metric and distance info to the
+	  rib_add_ipv6().
+
 2005-07-29 Paul Jakma <paul.jakma@sun.com>
 
 	* interface.c: (if_delete_update) should always be available, not
diff --git a/zebra/connected.c b/zebra/connected.c
index 46d2aab..6826908 100644
--- a/zebra/connected.c
+++ b/zebra/connected.c
@@ -308,7 +308,7 @@
     return;
 #endif
 
-  rib_add_ipv6 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, ifp->ifindex, 0);
+  rib_add_ipv6 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, ifp->ifindex, 0, 0, 0);
 
   rib_update ();
 }
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
index b2985c9..fe7411e 100644
--- a/zebra/kernel_socket.c
+++ b/zebra/kernel_socket.c
@@ -654,7 +654,7 @@
 
       if (rtm->rtm_type == RTM_GET || rtm->rtm_type == RTM_ADD)
 	rib_add_ipv6 (ZEBRA_ROUTE_KERNEL, zebra_flags,
-		      &p, &gate.sin6.sin6_addr, ifindex, 0);
+		      &p, &gate.sin6.sin6_addr, ifindex, 0, 0, 0);
       else
 	rib_delete_ipv6 (ZEBRA_ROUTE_KERNEL, zebra_flags,
 			 &p, &gate.sin6.sin6_addr, ifindex, 0);
diff --git a/zebra/rib.h b/zebra/rib.h
index dbd2a6b..12ed8b7 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -244,7 +244,8 @@
 #ifdef HAVE_IPV6
 extern int
 rib_add_ipv6 (int type, int flags, struct prefix_ipv6 *p,
-	      struct in6_addr *gate, unsigned int ifindex, u_int32_t vrf_id);
+	      struct in6_addr *gate, unsigned int ifindex, u_int32_t vrf_id,
+	      u_int32_t metric, u_char distance);
 
 extern int
 rib_delete_ipv6 (int type, int flags, struct prefix_ipv6 *p,
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index 3f22a6c..62d166b 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -793,7 +793,8 @@
       memcpy (&p.prefix, dest, 16);
       p.prefixlen = rtm->rtm_dst_len;
 
-      rib_add_ipv6 (ZEBRA_ROUTE_KERNEL, flags, &p, gate, index, table);
+      rib_add_ipv6 (ZEBRA_ROUTE_KERNEL, flags, &p, gate, index, table,
+		    metric, 0);
     }
 #endif /* HAVE_IPV6 */
 
@@ -943,7 +944,7 @@
         }
 
       if (h->nlmsg_type == RTM_NEWROUTE)
-        rib_add_ipv6 (ZEBRA_ROUTE_KERNEL, 0, &p, gate, index, 0);
+        rib_add_ipv6 (ZEBRA_ROUTE_KERNEL, 0, &p, gate, index, 0, 0, 0);
       else
         rib_delete_ipv6 (ZEBRA_ROUTE_KERNEL, 0, &p, gate, index, 0);
     }
diff --git a/zebra/rtread_proc.c b/zebra/rtread_proc.c
index ab3891a..93ec238 100644
--- a/zebra/rtread_proc.c
+++ b/zebra/rtread_proc.c
@@ -156,7 +156,8 @@
       str2in6_addr (gate, &gateway);
       p.prefixlen = dest_plen;
 
-      rib_add_ipv6 (ZEBRA_ROUTE_KERNEL, zebra_flags, &p, &gateway, 0, 0);
+      rib_add_ipv6 (ZEBRA_ROUTE_KERNEL, zebra_flags, &p, &gateway, 0, 0,
+		    metric, 0);
     }
 
   fclose (fp);
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index da6a3a8..6d947c8 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -1748,7 +1748,8 @@
 
 int
 rib_add_ipv6 (int type, int flags, struct prefix_ipv6 *p,
-	      struct in6_addr *gate, unsigned int ifindex, u_int32_t vrf_id)
+	      struct in6_addr *gate, unsigned int ifindex, u_int32_t vrf_id,
+	      u_int32_t metric, u_char distance)
 {
   struct rib *rib;
   struct rib *same = NULL;
@@ -1756,9 +1757,6 @@
   struct route_node *rn;
   struct nexthop *nexthop;
 
-  int distance;
-  u_int32_t metric = 0;
-
   /* Lookup table.  */
   table = vrf_table (AFI_IP6, SAFI_UNICAST, 0);
   if (! table)
@@ -1768,7 +1766,8 @@
   apply_mask_ipv6 (p);
 
   /* Set default distance by route type. */
-  distance = route_info[type].distance;
+  if (!distance)
+    distance = route_info[type].distance;
   
   if (type == ZEBRA_ROUTE_BGP && CHECK_FLAG (flags, ZEBRA_FLAG_IBGP))
     distance = 200;
diff --git a/zebra/zserv.c b/zebra/zserv.c
index eb126fe..872ddb8 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -999,9 +999,11 @@
     api.metric = 0;
     
   if (IN6_IS_ADDR_UNSPECIFIED (&nexthop))
-    rib_add_ipv6 (api.type, api.flags, &p, NULL, ifindex, 0);
+    rib_add_ipv6 (api.type, api.flags, &p, NULL, ifindex, 0, api.metric,
+		  api.distance);
   else
-    rib_add_ipv6 (api.type, api.flags, &p, &nexthop, ifindex, 0);
+    rib_add_ipv6 (api.type, api.flags, &p, &nexthop, ifindex, 0, api.metric,
+		  api.distance);
   return 0;
 }
 
