module uses-grouping {
- yang-version 1;
- namespace "urn:opendaylight:params:xml:ns:yang:uses-grouping";
- prefix "ug";
-
- import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
-
- organization "opendaylight";
- contact "asdf";
-
- revision "2013-07-30" {
- }
-
- typedef int-ext {
- type union {
- type uint8;
- type protocol-version;
- }
- }
-
- typedef protocol-version {
- type uint8 {
- range 1..7;
- }
- }
-
- grouping bandwidth-object {
- uses object-header;
-
- container bandwidth {
- uses ieee754-32;
- }
- }
-
- grouping base-header {
- leaf delete {
- type uint32;
- mandatory true;
- }
- leaf setup {
- type uint32;
- mandatory true;
- }
- }
-
- grouping endpoints-object {
- uses object;
-
- choice address-family {
- case ipv4 {
- leaf source-ipv4-address {
- type inet:ipv4-address;
- mandatory true;
- }
- }
- case ipv6 {
- leaf source-ipv6-address {
- type inet:ipv6-address;
- mandatory true;
- }
- }
- }
- }
-
- grouping ieee754-32 {
- reference "IEEE 754-2008";
- leaf fraction {
- type uint32 {
- range 0..1677215;
- }
- mandatory true;
- }
- }
-
- grouping lsp-attributes {
- container bandwidth {
- uses bandwidth-object;
- }
- }
-
- grouping message-header {
- leaf version {
- type protocol-version;
- default 1;
- }
- leaf type {
- type int-ext;
- }
- }
-
- grouping metric-object {
- uses object;
- leaf metric-type {
- type uint8;
- mandatory true;
- }
- }
-
- grouping object {
- uses object-header;
-
- container box {
- }
- }
-
- grouping object-header {
- leaf processing-rule {
- type boolean;
- }
- leaf ignore {
- type boolean;
- }
- }
-
- grouping path-key-object {
- uses object-header;
-
- list path-keys {
- }
- }
-
- grouping route-object {
- uses object-header;
-
- list subobjects {
- }
- }
-
- grouping rp-object {
- uses object {
- augment "box" {
- container order {
- uses base-header;
- }
- }
- }
-
- leaf priority {
- type uint8 {
- range 1..7;
- }
- }
- }
-
- grouping svec-object {
- uses object-header;
-
- leaf link-diverse {
- type boolean;
- default false;
- }
- }
-
-
- notification pcreq {
- uses message-header;
-
- list requests {
- container rp {
- uses rp-object;
- }
- container path-key-expansion {
- when "rp/path-key = true";
- container path-key {
- uses path-key-object {
- augment path-keys {
- uses message-header;
- }
- }
- }
- }
- container segment-computation {
- when "rp/path-key = false";
-
- container p2p {
- when "../rp/p2mp = false";
-
- container endpoints {
- uses endpoints-object;
- }
- container reported-route {
- uses route-object;
-
- container bandwidth {
- uses bandwidth-object;
- }
- }
-
- uses lsp-attributes;
- }
- }
- }
-
- list svec {
- uses svec-object;
- list metric {
- uses metric-object;
- }
- }
- }
+ yang-version 1;
+ namespace "urn:opendaylight:params:xml:ns:yang:uses-grouping";
+ prefix "ug";
+
+ import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
+ import grouping-definitions { prefix gd; revision-date 2013-09-04; }
+
+ organization "opendaylight";
+ contact "asdf";
+
+ revision "2013-07-30" {
+ }
+
+
+ grouping bandwidth-object {
+ uses gd:object-header;
+
+ container bandwidth {
+ uses gd:ieee754-32;
+ }
+ }
+
+ grouping endpoints-object {
+ uses gd:object;
+
+ choice address-family {
+ case ipv4 {
+ leaf source-ipv4-address {
+ type inet:ipv4-address;
+ mandatory true;
+ }
+ }
+ case ipv6 {
+ leaf source-ipv6-address {
+ type inet:ipv6-address;
+ mandatory true;
+ }
+ }
+ }
+ }
+
+ grouping lsp-attributes {
+ container bandwidth {
+ uses bandwidth-object;
+ }
+ }
+
+ grouping metric-object {
+ uses gd:object;
+ leaf metric-type {
+ type uint8;
+ mandatory true;
+ }
+ }
+
+ grouping path-key-object {
+ uses gd:object-header;
+
+ list path-keys {
+ }
+ }
+
+ grouping route-object {
+ uses gd:object-header;
+
+ list subobjects {
+ }
+ }
+
+ grouping svec-object {
+ uses gd:object-header;
+
+ leaf link-diverse {
+ type boolean;
+ default false;
+ }
+ }
+
+
+ notification pcreq {
+ uses gd:message-header;
+
+ list requests {
+ container rp {
+ uses gd:rp-object;
+ }
+ container path-key-expansion {
+ when "rp/path-key = true";
+ container path-key {
+ uses path-key-object {
+ augment path-keys {
+ uses gd:message-header;
+ }
+ }
+ }
+ }
+ container segment-computation {
+ when "rp/path-key = false";
+
+ container p2p {
+ when "../rp/p2mp = false";
+
+ container endpoints {
+ uses endpoints-object;
+ }
+ container reported-route {
+ uses route-object;
+
+ container bandwidth {
+ uses bandwidth-object;
+ }
+ }
+
+ uses lsp-attributes;
+ }
+ }
+ }
+
+ list svec {
+ uses svec-object;
+ list metric {
+ uses metric-object;
+ }
+ }
+ }
}