]>
Commit | Line | Data |
---|---|---|
8e6fb83b CF |
1 | /* |
2 | * IS-IS Rout(e)ing protocol - OpenFabric extensions | |
3 | * | |
4 | * Copyright (C) 2018 Christian Franke | |
5 | * | |
8678d638 | 6 | * This file is part of FRRouting (FRR) |
8e6fb83b CF |
7 | * |
8 | * FRR is free software; you can redistribute it and/or modify it | |
9 | * under the terms of the GNU General Public License as published by the | |
10 | * Free Software Foundation; either version 2, or (at your option) any | |
11 | * later version. | |
12 | * | |
13 | * FRR is distributed in the hope that it will be useful, but | |
14 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
16 | * General Public License for more details. | |
17 | * | |
18 | * You should have received a copy of the GNU General Public License along | |
19 | * with this program; see the file COPYING; if not, write to the Free Software | |
20 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
21 | */ | |
22 | #ifndef FABRICD_H | |
23 | #define FABRICD_H | |
24 | ||
e923107c CF |
25 | #define FABRICD_DEFAULT_CSNP_DELAY 500 |
26 | ||
8e6fb83b CF |
27 | struct fabricd; |
28 | ||
29 | struct isis_circuit; | |
30 | struct isis_area; | |
b30e837b | 31 | struct isis_spftree; |
9d224819 | 32 | struct isis_lsp; |
92ed0cde | 33 | struct vty; |
8e6fb83b | 34 | |
b30e837b CF |
35 | struct fabricd *fabricd_new(struct isis_area *area); |
36 | void fabricd_finish(struct fabricd *f); | |
8e6fb83b | 37 | void fabricd_initial_sync_hello(struct isis_circuit *circuit); |
df0ba689 | 38 | bool fabricd_initial_sync_is_complete(struct isis_area *area); |
8e6fb83b CF |
39 | bool fabricd_initial_sync_is_in_progress(struct isis_area *area); |
40 | struct isis_circuit *fabricd_initial_sync_circuit(struct isis_area *area); | |
41 | void fabricd_initial_sync_finish(struct isis_area *area); | |
b30e837b CF |
42 | void fabricd_run_spf(struct isis_area *area); |
43 | struct isis_spftree *fabricd_spftree(struct isis_area *area); | |
92ed0cde CF |
44 | void fabricd_configure_tier(struct isis_area *area, uint8_t tier); |
45 | uint8_t fabricd_tier(struct isis_area *area); | |
46 | int fabricd_write_settings(struct isis_area *area, struct vty *vty); | |
1eb7c3a1 | 47 | void fabricd_lsp_flood(struct isis_lsp *lsp, struct isis_circuit *circuit); |
e923107c | 48 | void fabricd_trigger_csnp(struct isis_area *area, bool circuit_scoped); |
41415888 | 49 | struct list *fabricd_ip_addrs(struct isis_circuit *circuit); |
1eb7c3a1 | 50 | void fabricd_lsp_free(struct isis_lsp *lsp); |
a6b60da9 CF |
51 | void fabricd_update_lsp_no_flood(struct isis_lsp *lsp, |
52 | struct isis_circuit *circuit); | |
e923107c CF |
53 | void fabricd_configure_triggered_csnp(struct isis_area *area, int delay, |
54 | bool always_send_csnp); | |
2cd971af | 55 | void fabricd_init(void); |
f2971ce3 RZ |
56 | void isis_vty_daemon_init(void); |
57 | ||
8e6fb83b | 58 | #endif |