BUG-47 : PCEP migration to generated DTOs.
[bgpcep.git] / pcep / api / src / main / yang / rsvp.yang
index 5a4846fddbbd1497b1638f54b90f793e9e41b07d..91edabca0f2b5ccf43c29604b48cc66dd9ae760d 100644 (file)
@@ -67,6 +67,10 @@ module rsvp {
                reference "https://tools.ietf.org/html/rfc3209#section-4.6.1.2";
        }
 
+       typedef srlg-id {
+               type uint32;
+       }
+
        grouping error-spec {
                reference "https://tools.ietf.org/html/rfc2205#page-81";
 
@@ -124,8 +128,14 @@ module rsvp {
                        // Filled by enterprise-specific augmentations
                }
        }
+       
+       //marker
+       grouping c-subobject {
+       
+       }
 
        grouping ip-prefix-subobject {
+               uses c-subobject;
                leaf ip-prefix {
                        reference "http://tools.ietf.org/html/rfc3209#section-4.3.3.1";
                        type inet:ip-prefix;
@@ -134,6 +144,7 @@ module rsvp {
        }
 
        grouping as-number-subobject {
+               uses c-subobject;
                leaf as-number {
                        reference "http://tools.ietf.org/html/rfc3209#section-4.3.3.4";
                        type inet:as-number;
@@ -142,6 +153,7 @@ module rsvp {
        }
 
        grouping label-subobject {
+               uses c-subobject;
                leaf c-type {
                        type uint8;
                        mandatory true;
@@ -158,6 +170,7 @@ module rsvp {
        }
 
        grouping unnumbered-subobject {
+               uses c-subobject;
                leaf router-id {
                        type uint32;
                        mandatory true;
@@ -169,6 +182,14 @@ module rsvp {
                }
        }
 
+       grouping srlg-subobject {
+               uses c-subobject;
+               leaf srlg-id {
+                       type srlg-id;
+                       mandatory true;
+               }
+       }
+
        grouping record-route-subobjects {
                leaf protection-available {
                        type boolean;
@@ -214,5 +235,36 @@ module rsvp {
                        }
                }
        }
+
+       grouping exclude-route-subobjects {
+               description "Subobject of an Exclude Route Object";
+               reference "https://tools.ietf.org/html/rfc4874#section-3.1";
+
+               leaf mandatory {
+                       type boolean;
+                       default false;
+               }
+
+               leaf attribute {
+                       type uint8;
+                       mandatory true;
+               }
+
+               choice subobject-type {
+                       case as-number {
+                               uses as-number-subobject;
+                       }
+                       case ip-prefix {
+                               uses ip-prefix-subobject;
+                       }
+                       case srlg {
+                               uses srlg-subobject;
+                       }
+                       case unnumbered {
+                               uses unnumbered-subobject;
+                       }
+               }
+       }
+
 }