]> git.proxmox.com Git - mirror_frr.git/blob - pathd/path_pcep_lib.h
Merge pull request #12791 from taspelund/loc_rib_json_fix
[mirror_frr.git] / pathd / path_pcep_lib.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * Copyright (C) 2020 NetDEF, Inc.
4 */
5
6 #ifndef _PATH_PCEP_LIB_H_
7 #define _PATH_PCEP_LIB_H_
8
9 #include <stdbool.h>
10 #include "pceplib/pcep_pcc_api.h"
11 #include "frr_pthread.h"
12 #include "pathd/path_pcep.h"
13
14 int pcep_lib_initialize(struct frr_pthread *fpt);
15 void pcep_lib_finalize(void);
16 pcep_session *
17 pcep_lib_connect(struct ipaddr *src_addr, int src_port, struct ipaddr *dst_addr,
18 int dst_port, short msd,
19 const struct pcep_config_group_opts *pcep_options);
20 void pcep_lib_disconnect(pcep_session *sess);
21 struct pcep_message *pcep_lib_format_report(struct pcep_caps *caps,
22 struct path *path);
23 struct pcep_message *pcep_lib_format_request(struct pcep_caps *caps,
24 struct path *path);
25 struct pcep_message *pcep_lib_format_request_cancelled(uint32_t reqid);
26
27 struct pcep_message *pcep_lib_format_error(int error_type, int error_value,
28 struct path *path);
29 struct path *pcep_lib_parse_path(struct pcep_message *msg);
30 void pcep_lib_parse_capabilities(struct pcep_message *msg,
31 struct pcep_caps *caps);
32 struct counters_group *pcep_lib_copy_counters(pcep_session *sess);
33 void pcep_lib_free_counters(struct counters_group *counters);
34 pcep_session *pcep_lib_copy_pcep_session(pcep_session *sess);
35
36 #endif // _PATH_PCEP_LIB_H_