BUG-608 : added prefix-sid tlv
[bgpcep.git] / bgp / linkstate / src / main / yang / bgp-segment-routing.yang
index 1b789ab85704dae95f22de6ab15e1ddd586a9fe2..57eb75da5e0e3f2d97f4a7d33d0867178f08ca78 100644 (file)
@@ -27,6 +27,15 @@ module bgp-segment-routing {
             "Initial revision.";
     }
 
+    typedef algorithm {
+        reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-02#section-2.1";
+        type enumeration {
+            enum shortest-path-first {
+                value 0;
+            }
+        }
+    }
+
     typedef adjacency-flags {
         reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-02#section-2.2.1";
         type bits {
@@ -124,7 +133,7 @@ module bgp-segment-routing {
 
     grouping sid-label-binding {
         reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-02#section-2.4";
-        leaf flags {
+        leaf sid-label-flags {
             type bits {
                 bit address-family {
                     position 0;
@@ -151,36 +160,36 @@ module bgp-segment-routing {
 
     grouping adjacency-segment-identifier {
         reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-02#section-2.2.1";
-        leaf flags {
+        leaf adj-flags {
             type adjacency-flags;
         }
-        leaf weight {
+        leaf adj-weight {
             type weight;
         }
-        leaf sid {
+        leaf adj-sid {
             type sid-label;
         }
     }
 
     grouping lan-adjacency-segment-identifier {
         reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-02#section-2.2.2";
-        leaf flags {
+        leaf lan-flags {
             type adjacency-flags;
         }
-        leaf weight {
+        leaf lan-weight {
             type weight;
         }
-        leaf iso-system-id {
+        leaf lan-iso-system-id {
             type netc:iso-system-identifier;
         }
-        leaf sid {
+        leaf lan-sid {
             type sid-label;
         }
     }
 
     grouping sr-capabilities {
         reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-02#section-3.1";
-        leaf flags {
+        leaf cap-flags {
             type bits {
                 bit ipv4 {
                     position 0;
@@ -190,7 +199,7 @@ module bgp-segment-routing {
                 }
             }
         }
-        leaf value-range {
+        leaf cap-value-range {
             type uint32 {
                 range "0..16777215";
             }
@@ -203,7 +212,39 @@ module bgp-segment-routing {
     grouping sr-algorithm {
         reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-02#section-3.2";
         leaf-list algorithm {
-            type uint8;
+            type algorithm;
+        }
+    }
+
+    grouping prefix-sid {
+        reference "https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-02#section-2.1";
+        leaf prefix-sid-flags {
+            type bits {
+                bit readvertisement {
+                    position 0;
+                }
+                bit node-sid {
+                    position 1;
+                }
+                bit no-php {
+                    position 2;
+                }
+                bit explicit-null {
+                    position 3;
+                }
+                bit value {
+                    position 4;
+                }
+                bit local {
+                    position 5;
+                }
+            }
+        }
+        leaf algorithm {
+            type algorithm;
+        }
+        leaf sid {
+            type sid-label;
         }
     }
 }