summaryrefslogtreecommitdiffstats
path: root/pathd/path_pcep_pcc.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* *: Convert thread_cancelXXX to event_cancelXXXDonald Sharp2023-03-241-5/+5
| | | | | | Modify the code base so that thread_cancel becomes event_cancel Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* Merge pull request #12780 from opensourcerouting/spdx-license-idDonald Sharp2023-02-171-14/+1
|\ | | | | *: convert to SPDX License identifiers
| * *: auto-convert to SPDX License IDsDavid Lamparter2023-02-091-14/+1
| | | | | | | | | | | | Done with a combination of regex'ing and banging my head against a wall. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | pathd: Remove extraneous include of version.hDonald Sharp2023-02-101-1/+0
|/ | | | | | It's not needed in these compiles. So let's remove it. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* pathd: Add missing enum's to switch statementDonald Sharp2023-01-311-6/+19
| | | | Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* pathd: Ensure path is free'd after we no longer need it.Donald Sharp2022-08-151-1/+1
| | | | Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* pathd: Handle srp_id correctly (2/2)Javier Garcia2021-06-281-1/+0
| | | | | | | | Based on RFC 8231 #5.8.3 PcUpd RFC 8181 #5.1 Pcinit Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
* pathd: If pce ret no-path to PcReq don't retry PcReq nor delegate(1/2)Javier Garcia2021-06-241-1/+51
| | | | | | | | | | Based in RFC 5440 @4.2.2 ""...after a no-path , the pcc may decide" and RFC 8231 #5.8.3 "... pcc must not set PcReq after path is delegated" So will not (try) to delegate the path with no-path neither must do further retries. Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
* pathd: Handle PCInitiated messages, thread controller. (2/4)Javier Garcia2021-06-221-21/+136
| | | | | | Co-authored-by: Javier Garcia <javier.garcia@voltanet.io> Signed-off-by: Sebastien Merle <sebastien@netdef.org> Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
* pathd: Clean coverity issues after merge pathd link state feature.Javier Garcia2021-05-181-1/+2
| | | | Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
* build: make builddir include path consistentDavid Lamparter2021-04-211-1/+1
| | | | | | | ... by referencing all autogenerated headers relative to the root directory. (90% of the changes here is `version.h`.) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* pathd: kill *_memory.[ch]David Lamparter2021-03-221-1/+0
| | | | | | Ouch, MTYPE_PCEP is used in 81 places :( Signed-off-by: David Lamparter <equinox@diac24.net>
* Merge pull request #8121 from opensourcerouting/macro-cleanupDonatas Abraitis2021-03-221-3/+3
|\ | | | | *: require ISO C11 + semicolons after file-scope macros
| * *: require semicolon after DEFINE_<typesafe...>David Lamparter2021-03-171-3/+3
| | | | | | | | | | | | Again, see previous commits. Signed-off-by: David Lamparter <equinox@diac24.net>
* | pathd: remove mid-string line breaksDavid Lamparter2021-03-171-14/+7
| | | | | | | | | | | | | | | | cf. workflow.rst ("lines over 80 characters are allowed for text strings to make it possible to search the code for them"), matching Linux kernel coding style. Signed-off-by: David Lamparter <equinox@diac24.net>
* | pathd: use %pIA to print struct ipaddr *David Lamparter2021-03-171-25/+13
|/ | | | Signed-off-by: David Lamparter <equinox@diac24.net>
* pceplib: Integrate pcelib into frrJavier Garcia2021-03-051-17/+56
| | | | | | Signed-off-by: Brady Johnson <brady@voltanet.io> Co-authored-by: Javier Garcia <javier.garcia@voltanet.io> Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
* pathd: Add level of confidence to show pcep-sessionJavier Garcia2020-12-221-0/+1
| | | | | | | Show 'low' if a pce has disconnect or 'normal' . It's only a boolean so it's like a token that mark the pce that has recenty disconnect. Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
* pathd: Add optional support for PCEP to pathdSebastien Merle2020-12-181-0/+1817
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>