summaryrefslogtreecommitdiff
path: root/ospfd/ospf_asbr.h
diff options
context:
space:
mode:
authorpaul <paul>2003-07-12 21:30:57 +0000
committerpaul <paul>2003-07-12 21:30:57 +0000
commitd4a53d583c56462864b2fce08b1cf94493c041ab (patch)
treed43535a754e3474669bdddc7e463c2146bdc25d3 /ospfd/ospf_asbr.h
parent22e0a9e6c7bd7775da6bfb00d9a4114643cf9369 (diff)
2003-07-12 Paul Jakma <paul@dishone.st>
* (global): Add/fixup NSSA ABR translation functionality * ospfd.h: Adjust the NSSA ROLE defines. Rename STATE to TRANSLATE. Rename the LSA_NSSA_GET define to LSA_OPTIONS_NSSA_GET. * ospfd.c: Adjust to match changes to ospfd.h * ospf_te.c: Adjust to match change to LSA_NSSA_GET. * ospf_lsa.h: slights reformatting. Add new NSSA functions, ospf_translated_nssa_compare() (not currently used), ospf_translated_nssa_refresh() and ospf_translated_nssa_originate(). * ospf_lsa.c: Implemented aforementioned new functions. Fix up several NSSA hooks to /not/ be called for Type-5s which are translated. Add additional hooks. Set the ROUTER_LSA_NT bit in router-lsa flags if ABR does translation. New function, ospf_lsa_translated_nssa_new() implemented. Dont register translated LSAs for refreshing - instead we implicitly rely on the ASBR refreshing the Type-7, and refresh the translated Type-5 at the same time. Some minor reformatting. Extra debug info added. Also, existing debug statements modified to report LSA Id. * ospf_flood.c: call ospf_translated_nssa_refresh() when refreshing Type-7. minor reformatting. * ospf_dump.c: Dump NSSA LSAs. * ospf_asbr.h: slight reformatting. Export ospf_external_route_lookup() (though, not used. probably will undo this). * ospf_abr.c: Slight reformatting in many places. Update to match ospfd.h changes. (ospf_abr_translate_nssa): make it work, using the new ospf_lsa translation functions. (Several places): change struct prefix * to struct prefix_ipv4 *. (might as well do the casts at higher levels). Add more debug info. (ospf_abr_announce_stub_defaults): announce default to NSSA areas too. (ospf_abr_announce_nssa_defaults): do nothing. this function probably should die. (see ospf_abr_announce_stub_defaults). (ospf_abr_task_timer): run NSSA tasks.
Diffstat (limited to 'ospfd/ospf_asbr.h')
-rw-r--r--ospfd/ospf_asbr.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/ospfd/ospf_asbr.h b/ospfd/ospf_asbr.h
index f368246d..34947747 100644
--- a/ospfd/ospf_asbr.h
+++ b/ospfd/ospf_asbr.h
@@ -54,22 +54,27 @@ struct external_info
#define OSPF_ASBR_CHECK_DELAY 30
-void ospf_external_route_remove (struct prefix_ipv4 *p);
+void ospf_external_route_remove (struct ospf *, struct prefix_ipv4 *);
struct external_info *ospf_external_info_new (u_char);
-void ospf_reset_route_map_set_values (struct route_map_set_values *values);
-int ospf_route_map_set_compare (struct route_map_set_values *values1,
- struct route_map_set_values *values2);
-struct external_info *ospf_external_info_add (u_char, struct prefix_ipv4,
- unsigned int, struct in_addr);
+void ospf_reset_route_map_set_values (struct route_map_set_values *);
+int ospf_route_map_set_compare (struct route_map_set_values *,
+ struct route_map_set_values *);
+struct external_info *ospf_external_info_add (u_char,
+ struct prefix_ipv4,
+ unsigned int,
+ struct in_addr);
void ospf_external_info_delete (u_char, struct prefix_ipv4);
-struct external_info *ospf_external_info_lookup (u_char, struct prefix_ipv4 *);
-
-void ospf_asbr_status_update (u_char);
+struct external_info *ospf_external_info_lookup (u_char,
+ struct prefix_ipv4 *);
+struct ospf_route *ospf_external_route_lookup (struct ospf *,
+ struct prefix_ipv4 *);
+void ospf_asbr_status_update (struct ospf *, u_char);
void ospf_redistribute_withdraw (u_char);
void ospf_asbr_check ();
void ospf_schedule_asbr_check ();
void ospf_asbr_route_install_lsa (struct ospf_lsa *);
-struct ospf_lsa *ospf_external_info_find_lsa (struct prefix_ipv4 *p);
+struct ospf_lsa *ospf_external_info_find_lsa (struct ospf *,
+ struct prefix_ipv4 *p);
#endif /* _ZEBRA_OSPF_ASBR_H */