summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_asbr.h
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_asbr.h')
-rw-r--r--ospf6d/ospf6_asbr.h72
1 files changed, 23 insertions, 49 deletions
diff --git a/ospf6d/ospf6_asbr.h b/ospf6d/ospf6_asbr.h
index 153ed21e..f3aabc8d 100644
--- a/ospf6d/ospf6_asbr.h
+++ b/ospf6d/ospf6_asbr.h
@@ -22,53 +22,29 @@
#ifndef OSPF6_ASBR_H
#define OSPF6_ASBR_H
-#include "thread.h"
+/* Debug option */
+extern unsigned char conf_debug_ospf6_asbr;
+#define OSPF6_DEBUG_ASBR_ON() \
+ (conf_debug_ospf6_asbr = 1)
+#define OSPF6_DEBUG_ASBR_OFF() \
+ (conf_debug_ospf6_asbr = 0)
+#define IS_OSPF6_DEBUG_ASBR \
+ (conf_debug_ospf6_asbr)
struct ospf6_external_info
{
- int is_removed;
- struct thread *thread_originate;
-
- struct ospf6_external_route *route;
-
- struct ospf6_external_info *prev;
- struct ospf6_external_info *next;
-
- /* external route type */
+ /* External route type */
int type;
- /* external route ifindex */
- int ifindex;
-
- /* LS-ID */
+ /* Originating Link State ID */
u_int32_t id;
- /* nexthops */
- u_int nexthop_num;
- struct in6_addr *nexthop;
-
- u_int8_t prefix_options;
-
- u_int8_t metric_type;
- u_int32_t metric;
struct in6_addr forwarding;
/* u_int32_t tag; */
};
-struct ospf6_external_route
-{
- struct route_node *node;
-
- /* prefix */
- struct prefix prefix;
-
- /* external information */
- struct ospf6_external_info *info_head;
- struct ospf6_external_info *info_tail;
-};
-
/* AS-External-LSA */
-struct ospf6_lsa_as_external
+struct ospf6_as_external_lsa
{
u_int32_t bits_metric;
@@ -87,26 +63,24 @@ struct ospf6_lsa_as_external
{ (E)->bits_metric &= htonl (0xff000000); \
(E)->bits_metric |= htonl (0x00ffffff) & htonl (C); }
-void ospf6_asbr_routemap_update ();
-
-int ospf6_redistribute_config_write (struct vty *vty);
-void ospf6_redistribute_show_config (struct vty *vty);
+void ospf6_asbr_lsa_add (struct ospf6_lsa *lsa);
+void ospf6_asbr_lsa_remove (struct ospf6_lsa *lsa);
+void ospf6_asbr_lsentry_add (struct ospf6_route *asbr_entry);
+void ospf6_asbr_lsentry_remove (struct ospf6_route *asbr_entry);
+int ospf6_asbr_is_asbr (struct ospf6 *o);
void
-ospf6_asbr_route_add (int type, int ifindex, struct prefix *prefix,
- u_int nexthop_num, struct in6_addr *nexthop);
+ospf6_asbr_redistribute_add (int type, int ifindex, struct prefix *prefix,
+ u_int nexthop_num, struct in6_addr *nexthop);
void
-ospf6_asbr_route_remove (int type, int ifindex, struct prefix *prefix);
-
-void ospf6_asbr_external_lsa_add (struct ospf6_lsa *lsa);
-void ospf6_asbr_external_lsa_remove (struct ospf6_lsa *lsa);
-void ospf6_asbr_external_lsa_change (struct ospf6_lsa *old,
- struct ospf6_lsa *new);
+ospf6_asbr_redistribute_remove (int type, int ifindex, struct prefix *prefix);
-void ospf6_asbr_asbr_entry_add (struct ospf6_route_req *topo_entry);
-void ospf6_asbr_asbr_entry_remove (struct ospf6_route_req *topo_entry);
+int ospf6_redistribute_config_write (struct vty *vty);
void ospf6_asbr_init ();
+int config_write_ospf6_debug_asbr (struct vty *vty);
+void install_element_ospf6_debug_asbr ();
+
#endif /* OSPF6_ASBR_H */