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";
// 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;
}
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;
}
grouping label-subobject {
+ uses c-subobject;
leaf c-type {
type uint8;
mandatory true;
}
grouping unnumbered-subobject {
+ uses c-subobject;
leaf router-id {
type uint32;
mandatory true;
}
}
+ grouping srlg-subobject {
+ uses c-subobject;
+ leaf srlg-id {
+ type srlg-id;
+ mandatory true;
+ }
+ }
+
grouping record-route-subobjects {
leaf protection-available {
type boolean;
}
}
}
+
+ 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;
+ }
+ }
+ }
+
}