summaryrefslogtreecommitdiff
path: root/lib/command.c
diff options
context:
space:
mode:
authorSebastien Merle <sebastien@netdef.org>2020-10-16 16:55:51 +0200
committerSebastien Merle <sebastien@netdef.org>2020-12-18 16:47:52 +0100
commitefba0985fcddee80df257147f7e398b52dad089b (patch)
treec668019fceae6ee01caf43fd7fcacf3df58fccb4 /lib/command.c
parent4d7b695d3abe80fbb1b666aed8faa1b9e9387fdb (diff)
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 <brady@voltanet.io> Co-authored-by: Emanuele Di Pascale <emanuele@voltanet.io> Co-authored-by: GalaxyGorilla <sascha@netdef.org> Co-authored-by: Javier Garcia <javier.garcia@voltanet.io> Co-authored-by: Renato Westphal <renato@opensourcerouting.org> Co-authored-by: Sebastien Merle <sebastien@netdef.org> Signed-off-by: Sebastien Merle <sebastien@netdef.org>
Diffstat (limited to 'lib/command.c')
-rw-r--r--lib/command.c12
1 files changed, 12 insertions, 0 deletions
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;