From efba0985fcddee80df257147f7e398b52dad089b Mon Sep 17 00:00:00 2001 From: Sebastien Merle Date: Fri, 16 Oct 2020 16:55:51 +0200 Subject: pathd: Add optional support for PCEP to pathd This new dynamic module makes pathd behave as a PCC for dynamic candidate path using the external library pcpelib https://github.com/volta-networks/pceplib . The candidate paths defined as dynamic will trigger computation requests to the configured PCE, and the PCE response will be used to update the policy. It supports multiple PCE. The one with smaller precedence will be elected as the master PCE, and only if the connection repeatedly fails, the PCC will switch to another PCE. Example of configuration: segment-routing traffic-eng pcep pce-config CONF source-address ip 10.10.10.10 sr-draft07 ! pce PCE1 config CONF address ip 1.1.1.1 ! pce PCE2 config CONF address ip 2.2.2.2 ! pcc peer PCE1 precedence 10 peer PCE2 precedence 20 ! ! ! ! Co-authored-by: Brady Johnson Co-authored-by: Emanuele Di Pascale Co-authored-by: GalaxyGorilla Co-authored-by: Javier Garcia Co-authored-by: Renato Westphal Co-authored-by: Sebastien Merle Signed-off-by: Sebastien Merle --- pathd/path_errors.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'pathd/path_errors.h') diff --git a/pathd/path_errors.h b/pathd/path_errors.h index 366878f300..72e127f26b 100644 --- a/pathd/path_errors.h +++ b/pathd/path_errors.h @@ -23,6 +23,21 @@ enum path_log_refs { EC_PATH_PCEP_INIT = PATH_FERR_START, + EC_PATH_SYSTEM_CALL, + EC_PATH_PCEP_PCC_INIT, + EC_PATH_PCEP_PCC_FINI, + EC_PATH_PCEP_PCC_CONF_UPDATE, + EC_PATH_PCEP_LIB_CONNECT, + EC_PATH_PCEP_MISSING_SOURCE_ADDRESS, + EC_PATH_PCEP_RECOVERABLE_INTERNAL_ERROR, + EC_PATH_PCEP_UNSUPPORTED_PCEP_FEATURE, + EC_PATH_PCEP_UNEXPECTED_PCEP_MESSAGE, + EC_PATH_PCEP_UNEXPECTED_PCEPLIB_EVENT, + EC_PATH_PCEP_UNEXPECTED_PCEP_OBJECT, + EC_PATH_PCEP_UNEXPECTED_PCEP_TLV, + EC_PATH_PCEP_UNEXPECTED_PCEP_ERO_SUBOBJ, + EC_PATH_PCEP_UNEXPECTED_SR_NAI, + EC_PATH_PCEP_COMPUTATION_REQUEST_TIMEOUT }; extern void path_error_init(void); -- cgit v1.2.3