]>
git.proxmox.com Git - mirror_frr.git/blob - pathd/path_pcep_lib.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (C) 2020 NetDEF, Inc.
6 #ifndef _PATH_PCEP_LIB_H_
7 #define _PATH_PCEP_LIB_H_
10 #include "pceplib/pcep_pcc_api.h"
11 #include "frr_pthread.h"
12 #include "pathd/path_pcep.h"
14 int pcep_lib_initialize(struct frr_pthread
*fpt
);
15 void pcep_lib_finalize(void);
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
,
23 struct pcep_message
*pcep_lib_format_request(struct pcep_caps
*caps
,
25 struct pcep_message
*pcep_lib_format_request_cancelled(uint32_t reqid
);
27 struct pcep_message
*pcep_lib_format_error(int error_type
, int error_value
,
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
);
36 #endif // _PATH_PCEP_LIB_H_