diff options
author | hasso <hasso> | 2004-08-25 11:10:37 +0200 |
---|---|---|
committer | hasso <hasso> | 2004-08-25 11:10:37 +0200 |
commit | ccb59b11047c71430eb55ed58eda94865bab20c8 (patch) | |
tree | c135d58534331ff4fd04223f512d317dbd4c8ed8 /ospf6d/ospf6_flood.c | |
parent | 2004-08-23 Paul Jakma <paul@dishone.st> (diff) | |
download | frr-ccb59b11047c71430eb55ed58eda94865bab20c8.tar.xz frr-ccb59b11047c71430eb55ed58eda94865bab20c8.zip |
SVN revisions 935-940 merge from Zebra CVS.
Diffstat (limited to 'ospf6d/ospf6_flood.c')
-rw-r--r-- | ospf6d/ospf6_flood.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ospf6d/ospf6_flood.c b/ospf6d/ospf6_flood.c index 05112021c..660e63695 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. */ |