1/*
2 * Copyright (C) 2001 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_ABR_H
23#define OSPF6_ABR_H
24
25/* Inter-Area-Prefix-LSA */
26struct ospf6_inter_area_prefix_lsa
27{
28  u_int32_t metric;           /* 12bits reserved, 20bits metric */
29  struct ospf6_prefix prefix; /* followed by one address prefix */
30};
31
32/* Inter-Area-Router-LSA */
33struct ospf6_inter_area_router_lsa
34{
35  u_char reserved;
36  u_char options[3];      /* Optional Capability */
37  u_int32_t metric;       /* 12bits reserved, 20bits metric */
38  u_int32_t router_id;    /* Destination Router ID */
39};
40
41void ospf6_abr_prefix_lsa_add (struct ospf6_lsa *);
42void ospf6_abr_prefix_lsa_remove (struct ospf6_lsa *);
43void ospf6_abr_prefix_lsa_change (struct ospf6_lsa *, struct ospf6_lsa *);
44
45void ospf6_abr_abr_entry_add (struct ospf6_route_req *);
46void ospf6_abr_abr_entry_remove (struct ospf6_route_req *);
47
48void ospf6_abr_route_add (struct ospf6_route_req *);
49void ospf6_abr_route_remove (struct ospf6_route_req *);
50
51void ospf6_abr_inter_route_calculation (struct ospf6_area *);
52
53void ospf6_abr_init ();
54
55#endif /* OSPF6_ABR_H */
56
57