diff options
author | paul <paul> | 2002-12-13 21:44:27 +0000 |
---|---|---|
committer | paul <paul> | 2002-12-13 21:44:27 +0000 |
commit | fdc64b8740747007d9fc8587f1ecbd4c4e2b50c0 (patch) | |
tree | 1dd622d1305d29f9d934406298dbb35bdc4eebf4 /ospfd/ospf_flood.c | |
parent | da773e4239ae3046bfe66b53a3f32b4948ff5724 (diff) | |
download | quagga-patch.z16681.ospfd.nssa.tar.bz2 quagga-patch.z16681.ospfd.nssa.tar.xz |
Kevin C Miller <kevinm@andrew.cmu.edu>patch.z16681.ospfd.nssa
[zebra 16681] OSPF NSSA Patches
Diffstat (limited to 'ospfd/ospf_flood.c')
-rw-r--r-- | ospfd/ospf_flood.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ospfd/ospf_flood.c b/ospfd/ospf_flood.c index bd33c345..00a4c644 100644 --- a/ospfd/ospf_flood.c +++ b/ospfd/ospf_flood.c @@ -622,6 +622,7 @@ ospf_flood_through_as (struct ospf_neighbor *inbr, struct ospf_lsa *lsa) { listnode node; int lsa_ack_flag; + struct as_external_lsa *extlsa; lsa_ack_flag = 0; @@ -646,6 +647,7 @@ ospf_flood_through_as (struct ospf_neighbor *inbr, struct ospf_lsa *lsa) { 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 @@ ospf_flood_through_as (struct ospf_neighbor *inbr, struct ospf_lsa *lsa) 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 */ |