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