]>
Commit | Line | Data |
---|---|---|
718e3744 | 1 | /* |
508e53e2 | 2 | * Copyright (C) 2003 Yasuhiro Ohara |
718e3744 | 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 OSPF_AREA_H | |
23 | #define OSPF_AREA_H | |
24 | ||
718e3744 | 25 | #include "ospf6_top.h" |
26 | ||
27 | struct ospf6_area | |
28 | { | |
508e53e2 | 29 | /* Reference to Top data structure */ |
30 | struct ospf6 *ospf6; | |
718e3744 | 31 | |
508e53e2 | 32 | /* Area-ID */ |
33 | u_int32_t area_id; | |
718e3744 | 34 | |
508e53e2 | 35 | /* Area-ID string */ |
36 | char name[16]; | |
718e3744 | 37 | |
508e53e2 | 38 | /* flag */ |
39 | u_char flag; | |
718e3744 | 40 | |
508e53e2 | 41 | /* OSPF Option */ |
42 | u_char options[3]; | |
718e3744 | 43 | |
049207c3 | 44 | /* TransitCapability */ |
45 | int transit_capability; | |
46 | ||
47 | /* Summary routes to be originated (includes Configured Address Ranges) */ | |
48 | struct ospf6_route_table *summary_table; | |
49 | ||
508e53e2 | 50 | /* OSPF interface list */ |
51 | list if_list; | |
718e3744 | 52 | |
508e53e2 | 53 | struct ospf6_lsdb *lsdb; |
54 | struct ospf6_route_table *spf_table; | |
718e3744 | 55 | struct ospf6_route_table *route_table; |
718e3744 | 56 | |
508e53e2 | 57 | struct thread *thread_spf_calculation; |
58 | struct thread *thread_route_calculation; | |
718e3744 | 59 | |
60 | struct thread *thread_router_lsa; | |
508e53e2 | 61 | struct thread *thread_intra_prefix_lsa; |
62 | u_int32_t router_lsa_size_limit; | |
718e3744 | 63 | }; |
64 | ||
508e53e2 | 65 | #define OSPF6_AREA_DISABLE 0x01 |
66 | #define OSPF6_AREA_STUB 0x02 | |
718e3744 | 67 | |
68 | /* prototypes */ | |
508e53e2 | 69 | int ospf6_area_cmp (void *va, void *vb); |
718e3744 | 70 | int ospf6_area_is_stub (struct ospf6_area *o6a); |
508e53e2 | 71 | struct ospf6_area *ospf6_area_create (u_int32_t, struct ospf6 *); |
718e3744 | 72 | void ospf6_area_delete (struct ospf6_area *); |
508e53e2 | 73 | struct ospf6_area *ospf6_area_lookup (u_int32_t, struct ospf6 *); |
74 | ||
75 | void ospf6_area_enable (struct ospf6_area *); | |
76 | void ospf6_area_disable (struct ospf6_area *); | |
718e3744 | 77 | |
508e53e2 | 78 | void ospf6_area_show (struct vty *, struct ospf6_area *); |
718e3744 | 79 | void ospf6_area_init (); |
80 | ||
81 | #endif /* OSPF_AREA_H */ | |
82 |