]> git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_csm.h
Merge pull request #8540 from donaldsharp/kill_them_all
[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 enum isis_circuit_state {
31 C_STATE_NA,
32 C_STATE_INIT, /* Connected to interface */
33 C_STATE_CONF, /* Configured for ISIS */
34 C_STATE_UP, /* CONN | CONF */
35 };
36
37 /*
38 * Circuit events
39 */
40 enum isis_circuit_event {
41 ISIS_ENABLE = 1,
42 IF_UP_FROM_Z,
43 ISIS_DISABLE,
44 IF_DOWN_FROM_Z,
45 };
46
47 struct isis_circuit *isis_csm_state_change(enum isis_circuit_event event,
48 struct isis_circuit *circuit,
49 void *arg);
50
51 #endif /* _ZEBRA_ISIS_CSM_H */