]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospf6d/ospf6_top.h
*: Convert thread_timer_remain_XXX to event_timer_remain_XXX
[mirror_frr.git] / ospf6d / ospf6_top.h
index 77156f961d3d5b0fee3f23e17c92e35d0e5eb395..73c875124a25edb32381bf339df1287eb378d675 100644 (file)
@@ -1,21 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  * Copyright (C) 2003 Yasuhiro Ohara
- *
- * This file is part of GNU Zebra.
- *
- * GNU Zebra is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * GNU Zebra is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; see the file COPYING; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #ifndef OSPF6_TOP_H
@@ -66,11 +51,11 @@ struct ospf6_gr_info {
        bool prepare_in_progress;
        bool finishing_restart;
        uint32_t grace_period;
-       struct thread *t_grace_period;
+       struct event *t_grace_period;
 };
 
 struct ospf6_gr_helper {
-       /* Gracefull restart Helper supported configs*/
+       /* Graceful restart Helper supported configs*/
        /* Supported grace interval*/
        uint32_t supported_grace_time;
 
@@ -183,14 +168,14 @@ struct ospf6 {
 
        int fd;
        /* Threads */
-       struct thread *t_spf_calc; /* SPF calculation timer. */
-       struct thread *t_ase_calc; /* ASE calculation timer. */
-       struct thread *maxage_remover;
-       struct thread *t_distribute_update; /* Distirbute update timer. */
-       struct thread *t_ospf6_receive; /* OSPF6 receive timer */
-       struct thread *t_external_aggr; /* OSPF6 aggregation timer */
+       struct event *t_spf_calc; /* SPF calculation timer. */
+       struct event *t_ase_calc; /* ASE calculation timer. */
+       struct event *maxage_remover;
+       struct event *t_distribute_update; /* Distirbute update timer. */
+       struct event *t_ospf6_receive;     /* OSPF6 receive timer */
+       struct event *t_external_aggr;     /* OSPF6 aggregation timer */
 #define OSPF6_WRITE_INTERFACE_COUNT_DEFAULT 20
-       struct thread *t_write;
+       struct event *t_write;
 
        int write_oi_count; /* Num of packets sent per thread invocation */
        uint32_t ref_bandwidth;
@@ -220,7 +205,7 @@ struct ospf6 {
 
        /* Count of NSSA areas */
        uint8_t anyNSSA;
-       struct thread *t_abr_task; /* ABR task timer. */
+       struct event *t_abr_task; /* ABR task timer. */
        struct list *oi_write_q;
 
        uint32_t redist_count;
@@ -228,9 +213,11 @@ struct ospf6 {
        /* Action for aggregation of external LSAs */
        int aggr_action;
 
+       uint32_t seqnum_l; /* lower order Sequence Number */
+       uint32_t seqnum_h; /* higher order Sequence Number */
 #define OSPF6_EXTL_AGGR_DEFAULT_DELAY 5
        /* For ASBR summary delay timer */
-       int aggr_delay_interval;
+       uint16_t aggr_delay_interval;
        /* Table of configured Aggregate addresses */
        struct route_table *rt_aggr_tbl;
 
@@ -251,6 +238,7 @@ extern void install_element_ospf6_clear_process(void);
 extern void ospf6_top_init(void);
 extern void ospf6_delete(struct ospf6 *o);
 extern bool ospf6_router_id_update(struct ospf6 *ospf6, bool init);
+void ospf6_restart_spf(struct ospf6 *ospf6);
 
 extern void ospf6_maxage_remove(struct ospf6 *o);
 extern struct ospf6 *ospf6_instance_create(const char *name);