Browse Source

[ospf6d] GNU Zebra 3563: Fix as-external forwarding address

2006-03-01  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>

	* ospf6_asbr.c: fix bug of needless forwarding address
	* ospf6d.h: version 0.9.7r
Paul Jakma 15 years ago
parent
commit
0b26f81bf9
3 changed files with 9 additions and 3 deletions
  1. 5 0
      ospf6d/ChangeLog
  2. 3 2
      ospf6d/ospf6_asbr.c
  3. 1 1
      ospf6d/ospf6d.h

+ 5 - 0
ospf6d/ChangeLog

@@ -1,3 +1,8 @@
+2006-03-01  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* ospf6_asbr.c: fix bug of needless forwarding address
+	* ospf6d.h: version 0.9.7r
+
 2006-02-22  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
 
 	* valgrind check and memory fix

+ 3 - 2
ospf6d/ospf6_asbr.c

@@ -59,6 +59,7 @@ ospf6_as_external_lsa_originate (struct ospf6_route *route)
   char buffer[OSPF6_MAX_LSASIZE];
   struct ospf6_lsa_header *lsa_header;
   struct ospf6_lsa *old, *lsa;
+  struct ospf6_external_info *info = route->route_option;
 
   struct ospf6_as_external_lsa *as_external_lsa;
   char buf[64];
@@ -91,7 +92,7 @@ ospf6_as_external_lsa_originate (struct ospf6_route *route)
     UNSET_FLAG (as_external_lsa->bits_metric, OSPF6_ASBR_BIT_E);
 
   /* forwarding address */
-  if (! IN6_IS_ADDR_UNSPECIFIED (&route->nexthop[0].address))
+  if (! IN6_IS_ADDR_UNSPECIFIED (&info->forwarding))
     SET_FLAG (as_external_lsa->bits_metric, OSPF6_ASBR_BIT_F);
   else
     UNSET_FLAG (as_external_lsa->bits_metric, OSPF6_ASBR_BIT_F);
@@ -120,7 +121,7 @@ ospf6_as_external_lsa_originate (struct ospf6_route *route)
   /* Forwarding address */
   if (CHECK_FLAG (as_external_lsa->bits_metric, OSPF6_ASBR_BIT_F))
     {
-      memcpy (p, &route->nexthop[0].address, sizeof (struct in6_addr));
+      memcpy (p, &info->forwarding, sizeof (struct in6_addr));
       p += sizeof (struct in6_addr);
     }
 

+ 1 - 1
ospf6d/ospf6d.h

@@ -22,7 +22,7 @@
 #ifndef OSPF6D_H
 #define OSPF6D_H
 
-#define OSPF6_DAEMON_VERSION    "0.9.7q"
+#define OSPF6_DAEMON_VERSION    "0.9.7r"
 
 /* global variables */
 extern int errno;