1/*
2 * Copyright (C) 1999 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_NSM_H
23#define OSPF6_NSM_H
24
25/* Neighbor state */
26#define NBS_DOWN                      1
27#define OSPF6_NEIGHBOR_STATE_DOWN     1
28#define NBS_ATTEMPT                   2
29#define OSPF6_NEIGHBOR_STATE_ATTEMPT  2
30#define NBS_INIT                      3
31#define OSPF6_NEIGHBOR_STATE_INIT     3
32#define NBS_TWOWAY                    4
33#define OSPF6_NEIGHBOR_STATE_TWOWAY   4
34#define NBS_EXSTART                   5
35#define OSPF6_NEIGHBOR_STATE_EXSTART  5
36#define NBS_EXCHANGE                  6
37#define OSPF6_NEIGHBOR_STATE_EXCHANGE 6
38#define NBS_LOADING                   7
39#define OSPF6_NEIGHBOR_STATE_LOADING  7
40#define NBS_FULL                      8
41#define OSPF6_NEIGHBOR_STATE_FULL     8
42
43
44
45/* Function Prototypes */
46
47#include "ospf6_types.h"
48
49int need_adjacency (struct ospf6_neighbor *);
50
51
52/* Neighbor event */
53int hello_received (struct thread *);
54int twoway_received (struct thread *);
55int negotiation_done (struct thread *);
56int exchange_done (struct thread *);
57int loading_done (struct thread *);
58int adj_ok (struct thread *);
59int seqnumber_mismatch (struct thread *);
60int bad_lsreq (struct thread *);
61int oneway_received (struct thread *);
62int inactivity_timer (struct thread *);
63
64int dr_election (struct ospf6_interface *);
65
66#endif /* OSPF6_NSM_H */
67
68