summaryrefslogtreecommitdiffstats
path: root/ospf6d/ospf6_asbr.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-05-20 03:03:40 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2015-05-20 03:03:40 +0200
commitca1f4309e6dfbbed7823ff76160c0b2401a58115 (patch)
tree8b9d6170e8bf94182517a24c30579eb9cb367105 /ospf6d/ospf6_asbr.c
parentospf6d: ospfv3-abr-ecmp-support.patch (diff)
downloadfrr-ca1f4309e6dfbbed7823ff76160c0b2401a58115.tar.xz
frr-ca1f4309e6dfbbed7823ff76160c0b2401a58115.zip
ospf6d: ospfv3-stub-area-support.patch
Support stubby and totally stubby areas in OSPFv3 Signed-off-by: Dinesh G Dutt <ddutt at cumulusnetworks.com> Reviewed-by: Pradosh Mohapatra <pmohapat at cumulusnetworks.com>
Diffstat (limited to 'ospf6d/ospf6_asbr.c')
-rw-r--r--ospf6d/ospf6_asbr.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c
index 880e10ed6..97e9473ef 100644
--- a/ospf6d/ospf6_asbr.c
+++ b/ospf6d/ospf6_asbr.c
@@ -412,6 +412,23 @@ ospf6_asbr_redistribute_unset (int type)
ospf6_asbr_routemap_unset (type);
}
+/* When an area is unstubified, flood all the external LSAs in the area */
+void
+ospf6_asbr_send_externals_to_area (struct ospf6_area *oa)
+{
+ struct ospf6_lsa *lsa;
+
+ for (lsa = ospf6_lsdb_head (oa->ospf6->lsdb); lsa;
+ lsa = ospf6_lsdb_next (lsa))
+ {
+ if (ntohs (lsa->header->type) == OSPF6_LSTYPE_AS_EXTERNAL)
+ {
+ zlog_debug ("%s: Flooding AS-External LSA %s\n", __func__, lsa->name);
+ ospf6_flood_area (NULL, lsa, oa);
+ }
+ }
+}
+
void
ospf6_asbr_redistribute_add (int type, int ifindex, struct prefix *prefix,
u_int nexthop_num, struct in6_addr *nexthop)