From ccb59b11047c71430eb55ed58eda94865bab20c8 Mon Sep 17 00:00:00 2001 From: hasso Date: Wed, 25 Aug 2004 09:10:37 +0000 Subject: SVN revisions 935-940 merge from Zebra CVS. --- ospf6d/ospf6_flood.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'ospf6d/ospf6_flood.c') 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. */ -- cgit v1.2.1