[ospf6d] Import GNU Zebra CVSps#3559: Fix inter-area as-ext bug, cleanup debug

2005-10-06  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>

	* ospf6_asbr.c: fix bug of calculating AS-External routes
	  in other areas. Add debugging function for border-router
	  calculation.
	* ospf6d.h: version 0.9.7p
diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c
index 286b5c1..7980a64 100644
--- a/ospf6d/ospf6_asbr.c
+++ b/ospf6d/ospf6_asbr.c
@@ -294,45 +294,43 @@
 void
 ospf6_asbr_lsentry_add (struct ospf6_route *asbr_entry)
 {
-  char buf[64];
   struct ospf6_lsa *lsa;
   u_int16_t type;
   u_int32_t router;
 
-  if (IS_OSPF6_DEBUG_EXAMIN (AS_EXTERNAL))
+  if (! CHECK_FLAG (asbr_entry->flag, OSPF6_ROUTE_BEST))
     {
-      ospf6_linkstate_prefix2str (&asbr_entry->prefix, buf, sizeof (buf));
-      zlog_debug ("New ASBR %s found", buf);
+      char buf[16];
+      inet_ntop (AF_INET, &ADV_ROUTER_IN_PREFIX (&asbr_entry->prefix),
+                 buf, sizeof (buf));
+       zlog_info ("ignore non-best path: lsentry %s add", buf);
+      return;
     }
 
   type = htons (OSPF6_LSTYPE_AS_EXTERNAL);
   router = ospf6_linkstate_prefix_adv_router (&asbr_entry->prefix);
-  for (lsa = ospf6_lsdb_type_router_head (type, router, ospf6->lsdb);
-       lsa; lsa = ospf6_lsdb_type_router_next (type, router, lsa))
+  for (lsa = ospf6_lsdb_type_router_head (type, router, ospf6->lsdb); lsa;
+       lsa = ospf6_lsdb_type_router_next (type, router, lsa))
     {
       if (! OSPF6_LSA_IS_MAXAGE (lsa))
         ospf6_asbr_lsa_add (lsa);
     }
-
-  if (IS_OSPF6_DEBUG_EXAMIN (AS_EXTERNAL))
-    {
-      ospf6_linkstate_prefix2str (&asbr_entry->prefix, buf, sizeof (buf));
-      zlog_debug ("Calculation for new ASBR %s done", buf);
-    }
 }
 
 void
 ospf6_asbr_lsentry_remove (struct ospf6_route *asbr_entry)
 {
-  char buf[64];
   struct ospf6_lsa *lsa;
   u_int16_t type;
   u_int32_t router;
 
-  if (IS_OSPF6_DEBUG_EXAMIN (AS_EXTERNAL))
+  if (! CHECK_FLAG (asbr_entry->flag, OSPF6_ROUTE_BEST))  
     {
-      ospf6_linkstate_prefix2str (&asbr_entry->prefix, buf, sizeof (buf));
-      zlog_debug ("ASBR %s disappeared", buf);
+      char buf[16];
+      inet_ntop (AF_INET, &ADV_ROUTER_IN_PREFIX (&asbr_entry->prefix),
+                 buf, sizeof (buf));
+      zlog_info ("ignore non-best path: lsentry %s remove", buf);
+      return;
     }
 
   type = htons (OSPF6_LSTYPE_AS_EXTERNAL);
@@ -340,12 +338,6 @@
   for (lsa = ospf6_lsdb_type_router_head (type, router, ospf6->lsdb);
        lsa; lsa = ospf6_lsdb_type_router_next (type, router, lsa))
     ospf6_asbr_lsa_remove (lsa);
-
-  if (IS_OSPF6_DEBUG_EXAMIN (AS_EXTERNAL))
-    {
-      ospf6_linkstate_prefix2str (&asbr_entry->prefix, buf, sizeof (buf));
-      zlog_debug ("Calculation for old ASBR %s done", buf);
-    }
 }