summaryrefslogtreecommitdiff
path: root/yang/frr-isisd.yang
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2019-08-07 13:35:07 -0300
committerOlivier Dugeon <olivier.dugeon@orange.com>2020-04-30 11:37:38 +0200
commit7e405d3b19152838dd6e8f03e4ba288940f3b9d5 (patch)
tree44250b512a35f8f4da81f8260cc874aa100b9e2b /yang/frr-isisd.yang
parent885e241337e2975b7318f316bb690ad8267ea70c (diff)
isisd: add segment-routing YANG nodes and skeleton callbacks
Most definitions were borrowed from the IETF IS-IS SR YANG module, with a few adaptations. Of particular notice are the following: * No support for the configuration of multiple SRGBs. * No distinction between local and connected Prefix-SIDs, both are configured the same way. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'yang/frr-isisd.yang')
-rw-r--r--yang/frr-isisd.yang101
1 files changed, 101 insertions, 0 deletions
diff --git a/yang/frr-isisd.yang b/yang/frr-isisd.yang
index 57f81892e0..fc0110c24a 100644
--- a/yang/frr-isisd.yang
+++ b/yang/frr-isisd.yang
@@ -1161,6 +1161,107 @@ module frr-isisd {
"Stable IP address of the advertising router.";
}
}
+
+ container segment-routing {
+ description
+ "Segment Routing global configuration.";
+ leaf enabled {
+ type boolean;
+ default "false";
+ description
+ "Enables segment-routing protocol extensions.";
+ }
+ container srgb {
+ description
+ "Global blocks to be advertised.";
+ must "./upper-bound > ./lower-bound";
+ leaf lower-bound {
+ type uint32;
+ default "16000";
+ description
+ "Lower value in the label range.";
+ }
+ leaf upper-bound {
+ type uint32;
+ default "23999";
+ description
+ "Upper value in the label range.";
+ }
+ }
+ container msd {
+ description
+ "MSD configuration.";
+ leaf node-msd {
+ type uint8;
+ description
+ "Node MSD is the lowest MSD supported by the node.";
+ }
+ }
+ container prefix-sid-map {
+ description
+ "Prefix SID configuration.";
+ list prefix-sid {
+ key "prefix";
+ unique "sid-value-type sid-value";
+ description
+ "List of prefix SID mapped to IPv4/IPv6
+ local prefixes.";
+ leaf prefix {
+ type inet:ip-prefix;
+ description
+ "Connected prefix sid.";
+ }
+ leaf sid-value-type {
+ type enumeration {
+ enum "index" {
+ value 0;
+ description
+ "The value will be interpreted as an index.";
+ }
+ enum "absolute" {
+ value 1;
+ description
+ "The value will become interpreted as an absolute
+ value.";
+ }
+ }
+ default "index";
+ description
+ "This leaf defines how value must be interpreted.";
+ }
+ leaf sid-value {
+ type uint32;
+ mandatory true;
+ description
+ "Value associated with prefix. The value must be
+ interpreted in the context of sid-value-type.";
+ }
+ leaf last-hop-behavior {
+ type enumeration {
+ enum "explicit-null" {
+ value 0;
+ description
+ "Use explicit-null for the SID.";
+ }
+ enum "no-php" {
+ value 1;
+ description
+ "Do not use Penultimate Hop Popping (PHP)
+ for the SID.";
+ }
+ enum "php" {
+ value 2;
+ description
+ "Use PHP for the SID.";
+ }
+ }
+ default "php";
+ description
+ "Configure last hop behavior.";
+ }
+ }
+ }
+ }
}
}