diff options
author | paul <paul> | 2003-07-12 21:30:57 +0000 |
---|---|---|
committer | paul <paul> | 2003-07-12 21:30:57 +0000 |
commit | d4a53d583c56462864b2fce08b1cf94493c041ab (patch) | |
tree | d43535a754e3474669bdddc7e463c2146bdc25d3 /ospfd/ospfd.h | |
parent | 22e0a9e6c7bd7775da6bfb00d9a4114643cf9369 (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/ospfd.h')
-rw-r--r-- | ospfd/ospfd.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/ospfd/ospfd.h b/ospfd/ospfd.h index ca9d9a9f..23a83ff7 100644 --- a/ospfd/ospfd.h +++ b/ospfd/ospfd.h @@ -344,11 +344,11 @@ struct ospf_area u_char NSSATranslatorRole; /* NSSA configured role */ #define OSPF_NSSA_ROLE_NEVER 0 -#define OSPF_NSSA_ROLE_ALWAYS 1 -#define OSPF_NSSA_ROLE_CANDIDATE 2 +#define OSPF_NSSA_ROLE_CANDIDATE 1 +#define OSPF_NSSA_ROLE_ALWAYS 2 u_char NSSATranslatorState; /* NSSA operational role */ -#define OSPF_NSSA_STATE_DISABLED 0 -#define OSPF_NSSA_STATE_ENABLED 2 +#define OSPF_NSSA_TRANSLATE_DISABLED 0 +#define OSPF_NSSA_TRANSLATE_ENABLED 1 int NSSATranslatorStabilityInterval; u_char transit; /* TransitCapability. */ @@ -474,9 +474,8 @@ struct ospf_nbr_nbma #define LSA_OPTIONS_GET(area) \ (((area)->external_routing == OSPF_AREA_DEFAULT) ? OSPF_OPTION_E : 0) #ifdef HAVE_NSSA -#define LSA_NSSA_GET(area) \ - (((area)->external_routing == OSPF_AREA_NSSA) ? \ - (area)->NSSATranslatorState : 0) +#define LSA_OPTIONS_NSSA_GET(area) \ + (((area)->external_routing == OSPF_AREA_NSSA) ? OSPF_OPTION_NP : 0) #endif /* HAVE_NSSA */ #define OSPF_TIMER_ON(T,F,V) \ |