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 --- lib/command.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib/command.c') diff --git a/lib/command.c b/lib/command.c index eeb14b734d..f40fe6e2c5 100644 --- a/lib/command.c +++ b/lib/command.c @@ -875,6 +875,18 @@ enum node_type node_parent(enum node_type node) case SR_CANDIDATE_DYN_NODE: ret = SR_POLICY_NODE; break; + case PCEP_NODE: + ret = SR_TRAFFIC_ENG_NODE; + break; + case PCEP_PCE_CONFIG_NODE: + ret = PCEP_NODE; + break; + case PCEP_PCE_NODE: + ret = PCEP_NODE; + break; + case PCEP_PCC_NODE: + ret = PCEP_NODE; + break; default: ret = CONFIG_NODE; break; -- cgit v1.2.3