summaryrefslogtreecommitdiffstats
path: root/ospf6d
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2021-12-07 12:39:00 +0100
committerGitHub <noreply@github.com>2021-12-07 12:39:00 +0100
commit6e3a134e0904d22e2f53d5a1606fc25b4568d7a4 (patch)
tree7a667171e3085feffd82b76a5ca8acdfb2db6f0b /ospf6d
parentMerge pull request #10120 from idryzhov/bfd-detect-to (diff)
parentospf6d: do not originate Type-4 into NSSA (diff)
downloadfrr-6e3a134e0904d22e2f53d5a1606fc25b4568d7a4.tar.xz
frr-6e3a134e0904d22e2f53d5a1606fc25b4568d7a4.zip
Merge pull request #10081 from ckishimo/ospf6d_type4
ospf6d: do not originate Type-4 lsa when NSSA
Diffstat (limited to 'ospf6d')
-rw-r--r--ospf6d/ospf6_abr.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/ospf6d/ospf6_abr.c b/ospf6d/ospf6_abr.c
index a9b4c7756..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");
@@ -447,6 +448,18 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
return 0;
}
+ /* Do not generate if area is NSSA */
+ route_area =
+ ospf6_area_lookup(route->path.area_id, area->ospf6);
+ if (IS_AREA_NSSA(route_area)) {
+ if (is_debug)
+ zlog_debug(
+ "%s: The route comes from NSSA area, skip",
+ __func__);
+ ospf6_abr_delete_route(summary, summary_table, old);
+ return 0;
+ }
+
/* Do not generate if the area is stub */
/* XXX */
}