summaryrefslogtreecommitdiffstats
path: root/ospf6d/ospf6_abr.c
diff options
context:
space:
mode:
authorckishimo <carles.kishimoto@gmail.com>2021-11-09 00:07:35 +0100
committerckishimo <carles.kishimoto@gmail.com>2021-11-16 22:03:05 +0100
commitc01326c6fb26a19677f70f99bc5edc22babadcc8 (patch)
tree83a1a4b094da9e5a92618df2ffefd1d8d51ddab0 /ospf6d/ospf6_abr.c
parentospf6d: do not originate Type-4 for NSSA ASBR (diff)
downloadfrr-c01326c6fb26a19677f70f99bc5edc22babadcc8.tar.xz
frr-c01326c6fb26a19677f70f99bc5edc22babadcc8.zip
ospf6d: do not originate Type-4 into NSSA
In a topology like: r1(ASBR) ---- 0.0.0.0 ---- r2(ABR) ---- 1.1.1.1 -----r3 where r1 is redistributing statics and area 1.1.1.1 is NSSA, the ABR r2 should not originate type-4 LSA into the NSSA area. From RFC 3101: "NSSA border routers should not originate Type-4 summary-LSAs into their NSSAs." This PR prevents the above LSA of being originated by the ABR r2 Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
Diffstat (limited to 'ospf6d/ospf6_abr.c')
-rw-r--r--ospf6d/ospf6_abr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ospf6d/ospf6_abr.c b/ospf6d/ospf6_abr.c
index b60cf7125..5d9e315ad 100644
--- a/ospf6d/ospf6_abr.c
+++ b/ospf6d/ospf6_abr.c
@@ -394,7 +394,8 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
return 0;
}
- if ((route->type == OSPF6_DEST_TYPE_ROUTER) && IS_AREA_STUB(area)) {
+ if ((route->type == OSPF6_DEST_TYPE_ROUTER)
+ && (IS_AREA_STUB(area) || IS_AREA_NSSA(area))) {
if (is_debug)
zlog_debug(
"Area has been stubbed, purge Inter-Router LSA");