blob: 23cc21508c650791450481d6132bb3e73a775c7f [file] [log] [blame]
jardineb5d44e2003-12-23 08:09:43 +00001/*
2 * IS-IS Rout(e)ing protocol - isis_csm.h
3 * IS-IS circuit state machine
4 *
5 * Copyright (C) 2001,2002 Sampo Saaristo
6 * Tampere University of Technology
7 * Institute of Communications Engineering
8 *
9 *
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public Licenseas published by the Free
12 * Software Foundation; either version 2 of the License, or (at your option)
13 * any later version.
14 *
15 * This program is distributed in the hope that it will be useful,but WITHOUT
16 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
17 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
18 * more details.
19
20 * You should have received a copy of the GNU General Public License along
21 * with this program; if not, write to the Free Software Foundation, Inc.,
22 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 */
24#ifndef _ZEBRA_ISIS_CSM_H
25#define _ZEBRA_ISIS_CSM_H
26
27/*
28 * Circuit states
29 */
30#define C_STATE_NA 0
31#define C_STATE_INIT 1 /* Connected to interface */
32#define C_STATE_CONF 2 /* Configured for ISIS */
33#define C_STATE_UP 3 /* CONN | CONF */
34
35/*
36 * Circuit events
37 */
38#define ISIS_ENABLE 1
39#define IF_UP_FROM_Z 2
40#define ISIS_DISABLE 3
41#define IF_DOWN_FROM_Z 4
42
43struct isis_circuit *isis_csm_state_change (int event,
44 struct isis_circuit *circuit,
45 void *arg);
46
47#endif /* _ZEBRA_ISIS_CSM_H */