Annotation of embedaddon/quagga/ospf6d/ospf6_top.h, revision 1.1.1.2

1.1       misho       1: /*
                      2:  * Copyright (C) 2003 Yasuhiro Ohara
                      3:  *
                      4:  * This file is part of GNU Zebra.
                      5:  *
                      6:  * GNU Zebra is free software; you can redistribute it and/or modify it
                      7:  * under the terms of the GNU General Public License as published by the
                      8:  * Free Software Foundation; either version 2, or (at your option) any
                      9:  * later version.
                     10:  *
                     11:  * GNU Zebra is distributed in the hope that it will be useful, but
                     12:  * WITHOUT ANY WARRANTY; without even the implied warranty of
                     13:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     14:  * General Public License for more details.
                     15:  *
                     16:  * You should have received a copy of the GNU General Public License
                     17:  * along with GNU Zebra; see the file COPYING.  If not, write to the 
                     18:  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 
                     19:  * Boston, MA 02111-1307, USA.  
                     20:  */
                     21: 
                     22: #ifndef OSPF6_TOP_H
                     23: #define OSPF6_TOP_H
                     24: 
                     25: #include "routemap.h"
                     26: 
                     27: /* OSPFv3 top level data structure */
                     28: struct ospf6
                     29: {
                     30:   /* my router id */
                     31:   u_int32_t router_id;
                     32: 
                     33:   /* static router id */
                     34:   u_int32_t router_id_static;
                     35: 
                     36:   /* start time */
                     37:   struct timeval starttime;
                     38: 
                     39:   /* list of areas */
                     40:   struct list *area_list;
1.1.1.2 ! misho      41:   struct ospf6_area *backbone;
1.1       misho      42: 
                     43:   /* AS scope link state database */
                     44:   struct ospf6_lsdb *lsdb;
                     45:   struct ospf6_lsdb *lsdb_self;
                     46: 
                     47:   struct ospf6_route_table *route_table;
                     48:   struct ospf6_route_table *brouter_table;
                     49: 
                     50:   struct ospf6_route_table *external_table;
                     51:   struct route_table *external_id_table;
                     52:   u_int32_t external_id;
                     53: 
                     54:   /* redistribute route-map */
                     55:   struct
                     56:   {
                     57:     char *name;
                     58:     struct route_map *map;
                     59:   } rmap[ZEBRA_ROUTE_MAX];
                     60: 
                     61:   u_char flag;
                     62: 
1.1.1.2 ! misho      63:   /* Configured flags */
        !            64:   u_char config_flags;
        !            65: #define OSPF6_LOG_ADJACENCY_CHANGES      (1 << 0)
        !            66: #define OSPF6_LOG_ADJACENCY_DETAIL       (1 << 1)
        !            67: 
        !            68:   /* SPF parameters */
        !            69:   unsigned int spf_delay;              /* SPF delay time. */
        !            70:   unsigned int spf_holdtime;           /* SPF hold time. */
        !            71:   unsigned int spf_max_holdtime;       /* SPF maximum-holdtime */
        !            72:   unsigned int spf_hold_multiplier;    /* Adaptive multiplier for hold time */
        !            73:   unsigned int spf_reason;              /* reason bits while scheduling SPF */
        !            74: 
        !            75:   struct timeval ts_spf;               /* SPF calculation time stamp. */
        !            76:   struct timeval ts_spf_duration;      /* Execution time of last SPF */
        !            77:   unsigned int last_spf_reason;         /* Last SPF reason */
        !            78: 
        !            79:   /* Threads */
        !            80:   struct thread *t_spf_calc;           /* SPF calculation timer. */
        !            81:   struct thread *t_ase_calc;           /* ASE calculation timer. */
1.1       misho      82:   struct thread *maxage_remover;
1.1.1.2 ! misho      83: 
        !            84:   u_int32_t ref_bandwidth;
1.1       misho      85: };
                     86: 
                     87: #define OSPF6_DISABLED    0x01
1.1.1.2 ! misho      88: #define OSPF6_STUB_ROUTER 0x02
1.1       misho      89: 
                     90: /* global pointer for OSPF top data structure */
                     91: extern struct ospf6 *ospf6;
                     92: 
                     93: /* prototypes */
                     94: extern void ospf6_top_init (void);
                     95: extern void ospf6_delete (struct ospf6 *o);
                     96: 
                     97: extern void ospf6_maxage_remove (struct ospf6 *o);
                     98: 
                     99: #endif /* OSPF6_TOP_H */
                    100: 
                    101: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>