]> git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_csm.h
Merge pull request #3502 from donaldsharp/socket_to_me_baby
[mirror_frr.git] / isisd / isis_csm.h
1 /*
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; see the file COPYING; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 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
43 struct isis_circuit *
44 isis_csm_state_change(int event, struct isis_circuit *circuit, void *arg);
45
46 #endif /* _ZEBRA_ISIS_CSM_H */