summaryrefslogtreecommitdiff
path: root/ospfd/ospfd.h
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2023-03-07 21:13:53 -0300
committerRenato Westphal <renato@opensourcerouting.org>2023-03-31 19:28:15 -0300
commitf07ff222f8683f2f54681bb55b03db830656afe7 (patch)
tree3c7472f5af2b049e3b74064dea2ab1574dd94fc3 /ospfd/ospfd.h
parent271588ace08cda6d0c882c71f3ef24a48c3adaae (diff)
ospfd: add support for NSSA Type-7 address ranges
Implement NSSA address ranges as specified by RFC 3101: NSSA border routers may be configured with Type-7 address ranges. Each Type-7 address range is defined as an [address,mask] pair. Many separate Type-7 networks may fall into a single Type-7 address range, just as a subnetted network is composed of many separate subnets. NSSA border routers may aggregate Type-7 routes by advertising a single Type-5 LSA for each Type-7 address range. The Type-5 LSA resulting from a Type-7 address range match will be distributed to all Type-5 capable areas. Syntax: area A.B.C.D nssa range A.B.C.D/M [<not-advertise|cost (0-16777215)>] Example: router ospf router-id 1.1.1.1 area 1 nssa area 1 nssa range 172.16.0.0/16 area 1 nssa range 10.1.0.0/16 ! Since regular area ranges and NSSA ranges have a lot in common, this commit reuses the existing infrastructure for area ranges as much as possible to avoid code duplication. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'ospfd/ospfd.h')
-rw-r--r--ospfd/ospfd.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/ospfd/ospfd.h b/ospfd/ospfd.h
index ee09acf118..af60e6cad0 100644
--- a/ospfd/ospfd.h
+++ b/ospfd/ospfd.h
@@ -529,6 +529,7 @@ struct ospf_area {
#define OSPF_TRANSIT_FALSE 0
#define OSPF_TRANSIT_TRUE 1
struct route_table *ranges; /* Configured Area Ranges. */
+ struct route_table *nssa_ranges; /* Configured NSSA Area Ranges. */
/* RFC3137 stub router state flags for area */
uint8_t stub_router_state;