blob: d6b13ac695ae1d40102d32a647f83e19fd65decd [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
hassof390d2c2004-09-10 20:48:21 +000031#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 */
jardineb5d44e2003-12-23 08:09:43 +000034
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
hassof390d2c2004-09-10 20:48:21 +000043struct isis_circuit *isis_csm_state_change (int event,
44 struct isis_circuit *circuit,
45 void *arg);
jardineb5d44e2003-12-23 08:09:43 +000046
47#endif /* _ZEBRA_ISIS_CSM_H */