diff options
author | Renato Westphal <renato@opensourcerouting.org> | 2019-08-04 03:02:37 +0200 |
---|---|---|
committer | Olivier Dugeon <olivier.dugeon@orange.com> | 2020-04-30 12:15:47 +0200 |
commit | 26f6acafc369f1c126870b4282d5e252cc830f26 (patch) | |
tree | a61a225ed9eddcd972abf6216e533606e559789c /zebra/zebra_mpls.h | |
parent | isisd: add segment-routing CLI commands (diff) | |
download | frr-26f6acafc369f1c126870b4282d5e252cc830f26.tar.xz frr-26f6acafc369f1c126870b4282d5e252cc830f26.zip |
isisd: add support for segment routing
This is an implementation of the IS-IS SR draft [1] for FRR.
The following features are supported:
* IPv4 and IPv6 Prefix-SIDs;
* IPv4 and IPv6 Adj-SIDs and LAN-Adj-SIDs;
* Index and absolute labels;
* The no-php and explicit-null Prefix-SID flags;
* Full integration with the Label Manager.
Known limitations:
* No support for Anycast-SIDs;
* No support for the SID/Label Binding TLV (required for LDP interop).
* No support for persistent Adj-SIDs;
* No support for multiple SRGBs.
[1] draft-ietf-isis-segment-routing-extensions-25
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'zebra/zebra_mpls.h')
-rw-r--r-- | zebra/zebra_mpls.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/zebra_mpls.h b/zebra/zebra_mpls.h index 33cb61434..e468fb9c1 100644 --- a/zebra/zebra_mpls.h +++ b/zebra/zebra_mpls.h @@ -430,6 +430,7 @@ static inline uint8_t lsp_distance(enum lsp_types_t type) case ZEBRA_LSP_NONE: case ZEBRA_LSP_SHARP: case ZEBRA_LSP_OSPF_SR: + case ZEBRA_LSP_ISIS_SR: return 150; } @@ -457,6 +458,8 @@ static inline enum lsp_types_t lsp_type_from_re_type(int re_type) return ZEBRA_LSP_BGP; case ZEBRA_ROUTE_OSPF: return ZEBRA_LSP_OSPF_SR; + case ZEBRA_ROUTE_ISIS: + return ZEBRA_LSP_ISIS_SR; case ZEBRA_ROUTE_SHARP: return ZEBRA_LSP_SHARP; default: @@ -478,6 +481,8 @@ static inline int re_type_from_lsp_type(enum lsp_types_t lsp_type) return ZEBRA_ROUTE_BGP; case ZEBRA_LSP_OSPF_SR: return ZEBRA_ROUTE_OSPF; + case ZEBRA_LSP_ISIS_SR: + return ZEBRA_ROUTE_ISIS; case ZEBRA_LSP_NONE: return ZEBRA_ROUTE_KERNEL; case ZEBRA_LSP_SHARP: @@ -505,6 +510,8 @@ static inline const char *nhlfe_type2str(enum lsp_types_t lsp_type) return "BGP"; case ZEBRA_LSP_OSPF_SR: return "SR (OSPF)"; + case ZEBRA_LSP_ISIS_SR: + return "SR (IS-IS)"; case ZEBRA_LSP_SHARP: return "SHARP"; case ZEBRA_LSP_NONE: |