]>
Commit | Line | Data |
---|---|---|
1cbf96a8 | 1 | /* |
2 | * isis_ldp_sync.h: ISIS LDP-IGP Sync handling routines | |
3 | * Copyright (C) 2020 Volta Networks, Inc. | |
4 | * | |
5 | * This program is free software; you can redistribute it and/or modify it | |
6 | * under the terms of the GNU General Public License as published by the Free | |
7 | * Software Foundation; either version 2 of the License, or (at your option) | |
8 | * any later version. | |
9 | * | |
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | |
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
13 | * more details. | |
14 | * | |
15 | * You should have received a copy of the GNU General Public License along | |
16 | * with this program; see the file COPYING; if not, write to the Free Software | |
17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
18 | */ | |
19 | ||
20 | #ifndef _ZEBRA_ISIS_LDP_SYNC_H | |
21 | #define _ZEBRA_ISIS_LDP_SYNC_H | |
22 | ||
cb135cc9 KS |
23 | #include "zclient.h" |
24 | ||
1cbf96a8 | 25 | /* Macro to log debug message */ |
26 | #define ils_debug(...) \ | |
27 | do { \ | |
28 | if (IS_DEBUG_LDP_SYNC) \ | |
29 | zlog_debug(__VA_ARGS__); \ | |
30 | } while (0) | |
31 | ||
ec62fbaa IR |
32 | extern void isis_area_ldp_sync_enable(struct isis_area *area); |
33 | extern void isis_area_ldp_sync_disable(struct isis_area *area); | |
34 | extern void isis_area_ldp_sync_set_holddown(struct isis_area *area, | |
35 | uint16_t holddown); | |
36 | extern void isis_if_ldp_sync_enable(struct isis_circuit *circuit); | |
37 | extern void isis_if_ldp_sync_disable(struct isis_circuit *circuit); | |
1cbf96a8 | 38 | extern void isis_if_set_ldp_sync_holddown(struct isis_circuit *circuit); |
1cbf96a8 | 39 | extern void isis_ldp_sync_if_start(struct isis_circuit *circuit, |
40 | bool send_state_req); | |
1cbf96a8 | 41 | extern void isis_ldp_sync_if_complete(struct isis_circuit *circuit); |
42 | extern void isis_ldp_sync_holddown_timer_add(struct isis_circuit *circuit); | |
cb135cc9 KS |
43 | extern void |
44 | isis_ldp_sync_handle_client_close(struct zapi_client_close_info *info); | |
1cbf96a8 | 45 | extern void isis_ldp_sync_ldp_fail(struct isis_circuit *circuit); |
46 | extern int isis_ldp_sync_state_update(struct ldp_igp_sync_if_state state); | |
47 | extern int isis_ldp_sync_announce_update(struct ldp_igp_sync_announce announce); | |
1cbf96a8 | 48 | extern void isis_ldp_sync_state_req_msg(struct isis_circuit *circuit); |
49 | extern void isis_ldp_sync_set_if_metric(struct isis_circuit *circuit, | |
50 | bool run_regen); | |
51 | extern bool isis_ldp_sync_if_metric_config(struct isis_circuit *circuit, | |
52 | int level, int metric); | |
53 | extern void isis_ldp_sync_init(void); | |
1cbf96a8 | 54 | #endif /* _ZEBRA_ISIS_LDP_SYNC_H */ |