]> git.puffer.fish Git - matthieu/frr.git/commitdiff
ospf6d: do not originate Type-4 into NSSA
authorckishimo <carles.kishimoto@gmail.com>
Mon, 8 Nov 2021 23:07:35 +0000 (00:07 +0100)
committerckishimo <carles.kishimoto@gmail.com>
Tue, 16 Nov 2021 21:03:05 +0000 (22:03 +0100)
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>
ospf6d/ospf6_abr.c

index b60cf7125a1efbc57d8b8099f92f859899705cfa..5d9e315adb1d8efb27794a68586c16109c53b5ce 100644 (file)
@@ -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");