summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_flood.c
diff options
context:
space:
mode:
authorhasso <hasso>2004-08-25 09:10:37 +0000
committerhasso <hasso>2004-08-25 09:10:37 +0000
commitccb59b11047c71430eb55ed58eda94865bab20c8 (patch)
treec135d58534331ff4fd04223f512d317dbd4c8ed8 /ospf6d/ospf6_flood.c
parent3e0b3a56217dab13b26e7f7fd634e7450dde55e2 (diff)
SVN revisions 935-940 merge from Zebra CVS.
Diffstat (limited to 'ospf6d/ospf6_flood.c')
-rw-r--r--ospf6d/ospf6_flood.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/ospf6d/ospf6_flood.c b/ospf6d/ospf6_flood.c
index 05112021..660e6369 100644
--- a/ospf6d/ospf6_flood.c
+++ b/ospf6d/ospf6_flood.c
@@ -220,7 +220,7 @@ ospf6_install_lsa (struct ospf6_lsa *lsa)
}
gettimeofday (&now, (struct timezone *) NULL);
- if (ospf6_lsa_age_current (lsa) != MAXAGE)
+ if (! OSPF6_LSA_IS_MAXAGE (lsa))
lsa->expire = thread_add_timer (master, ospf6_lsa_expire, lsa,
MAXAGE + lsa->birth.tv_sec - now.tv_sec);
else
@@ -843,11 +843,17 @@ ospf6_receive_lsa (struct ospf6_neighbor *from,
}
}
+ gettimeofday (&new->received, (struct timezone *) NULL);
+
if (IS_OSPF6_DEBUG_LSA (RECV))
zlog_info ("Flood, Install, Possibly acknowledge the received LSA");
/* (b) immediately flood and (c) remove from all retrans-list */
- ospf6_flood (from, new);
+ /* Prevent self-originated LSA to be flooded. this is to make
+ reoriginated instance of the LSA not to be rejected by other routers
+ due to MinLSArrival. */
+ if (new->header->adv_router != from->ospf6_if->area->ospf6->router_id)
+ ospf6_flood (from, new);
/* (c) Remove the current database copy from all neighbors' Link
state retransmission lists. */