Kevin C Miller <kevinm@andrew.cmu.edu>
[zebra 16681] OSPF NSSA Patches
diff --git a/ospfd/ospf_flood.c b/ospfd/ospf_flood.c
index bd33c34..00a4c64 100644
--- a/ospfd/ospf_flood.c
+++ b/ospfd/ospf_flood.c
@@ -622,6 +622,7 @@
{
listnode node;
int lsa_ack_flag;
+ struct as_external_lsa *extlsa;
lsa_ack_flag = 0;
@@ -646,6 +647,7 @@
{
int continue_flag = 0;
struct ospf_area *area = getdata (node);
+ struct in_addr fwd;
listnode if_node;
switch (area->external_routing)
@@ -657,11 +659,13 @@
case OSPF_AREA_NSSA: /* Sending Type 5 or 7 into NSSA area */
#ifdef HAVE_NSSA
/* Type-7, flood NSSA area */
- if (lsa->data->type == OSPF_AS_NSSA_LSA)
+ if (lsa->data->type == OSPF_AS_NSSA_LSA &&
+ area == lsa->area) {
/* We will send it. */
continue_flag = 0;
- else
+ } else {
continue_flag = 1; /* Skip this NSSA area for Type-5's et al */
+ }
break;
#endif /* HAVE_NSSA */