GroupId and MeterId used in model (as requested)
[openflowjava.git] / openflow-protocol-api / src / main / yang / openflow-augments.yang
index a62f91ac0ffc026a39ba5cbe02358c268055e6ea..866acfe26f8971ec8997d71e39af599380ef192b 100644 (file)
@@ -52,6 +52,9 @@ module openflow-augments {
          leaf vlan-vid {\r
              type uint16;\r
          }\r
+         leaf cfi-bit {\r
+             type boolean;\r
+         }\r
      }\r
      augment "/oxm:oxm-container/oxm:match-entries" {\r
          ext:augment-identifier "vlan-pcp-match-entry";\r
@@ -200,68 +203,97 @@ module openflow-augments {
      }\r
 \r
 // OFP_ACTION AUGMENTS\r
-     augment "/ofaction:actions-container/ofaction:action" {\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
          ext:augment-identifier "port-action";\r
          leaf port {\r
              type oft:port-number;\r
          }\r
      }\r
-     augment "/ofaction:actions-container/ofaction:action" {\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
          ext:augment-identifier "max-length-action";\r
          leaf max-length {\r
              type uint16;\r
          }\r
      }\r
-     augment "/ofaction:actions-container/ofaction:action" {\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
          ext:augment-identifier "mpls-ttl-action";\r
          leaf mpls-ttl {\r
              type uint8;\r
          }\r
      }\r
-     augment "/ofaction:actions-container/ofaction:action" {\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
          ext:augment-identifier "ethertype-action";\r
          leaf ethertype {\r
              type oft:ether-type;\r
          }\r
      }\r
-     augment "/ofaction:actions-container/ofaction:action" {\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
          ext:augment-identifier "queue-id-action";\r
          leaf queue-id {\r
              type uint32;\r
          }\r
      }\r
-     augment "/ofaction:actions-container/ofaction:action" {\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
          ext:augment-identifier "group-id-action";\r
          leaf group-id {\r
              type uint32;\r
          }\r
      }\r
-     augment "/ofaction:actions-container/ofaction:action" {\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
          ext:augment-identifier "nw-ttl-action";\r
          leaf nw-ttl {\r
              type uint8;\r
          }\r
      }\r
-     augment "/ofaction:actions-container/ofaction:action" {\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
          ext:augment-identifier "oxm-fields-action";\r
          uses oxm:oxm-fields;\r
      }\r
-     augment "/ofaction:actions-container/ofaction:action" {\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
          ext:augment-identifier "experimenter-action";\r
          leaf experimenter {\r
              type uint32;\r
          }\r
      }\r
+     // OF1.0 structures\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
+         ext:augment-identifier "vlan-vid-action";\r
+         leaf vlan-vid {\r
+             type uint16;\r
+         }\r
+     }\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
+         ext:augment-identifier "vlan-pcp-action";\r
+         leaf vlan-pcp {\r
+             type uint8;\r
+         }\r
+     }\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
+         ext:augment-identifier "dl-address-action";\r
+         leaf dl-address {\r
+             type yang:mac-address;\r
+         }\r
+     }\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
+         ext:augment-identifier "nw-tos-action";\r
+         leaf nw-tos {\r
+             type uint8;\r
+         }\r
+     }\r
+     augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" {\r
+         ext:augment-identifier "ip-address-action";\r
+         leaf ip-address {\r
+             type inet:ipv4-address;\r
+         }\r
+     }\r
 \r
 // OFP_TABLE_FEATURES_PROPERTIES AUGMENTS\r
      augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {\r
-         ext:augment-identifier "instruction-ids-table-feature-properties";\r
-         list instruction-ids {\r
-             uses ofinstruction:instructions;\r
-         }\r
+         ext:augment-identifier "instruction-related-table-feature-property";\r
+         uses ofinstruction:instructions;\r
      }\r
      augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {\r
-         ext:augment-identifier "next-table-ids-table-feature-properties";\r
+         ext:augment-identifier "next-table-related-table-feature-property";\r
          list next-table-ids {\r
              leaf table-id {\r
                  type uint8;\r
@@ -269,19 +301,15 @@ module openflow-augments {
          }\r
      }\r
      augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {\r
-         ext:augment-identifier "action-ids-table-feature-properties";\r
-         list action-ids {\r
-             uses ofaction:action-header;\r
-         }\r
+         ext:augment-identifier "action-related-table-feature-property";\r
+         uses ofaction:actions;\r
      }\r
      augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {\r
-         ext:augment-identifier "oxm-ids-table-feature-properties";\r
-         list oxm-ids {\r
-             uses oxm:oxm-fields;\r
-         }\r
+         ext:augment-identifier "oxm-related-table-feature-property";\r
+         uses oxm:oxm-fields;\r
      }\r
      augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {\r
-         ext:augment-identifier "experimenter-table-feature-properties";\r
+         ext:augment-identifier "experimenter-related-table-feature-property";\r
          leaf experimenter {\r
              type uint32;\r
          }\r
@@ -294,13 +322,13 @@ module openflow-augments {
      }\r
 \r
 // OFP_INSTRUCTION AUGMENTS\r
-     augment "/ofinstruction:instruction-container/ofinstruction:instruction" {\r
+     augment "/ofinstruction:instruction-container/ofinstruction:instructions" {\r
          ext:augment-identifier "table-id-instruction";\r
          leaf table-id {\r
              type uint8;\r
          }\r
      }\r
-     augment "/ofinstruction:instruction-container/ofinstruction:instruction" {\r
+     augment "/ofinstruction:instruction-container/ofinstruction:instructions" {\r
          ext:augment-identifier "metadata-instruction";\r
          leaf metadata {\r
              type binary;\r
@@ -309,22 +337,52 @@ module openflow-augments {
              type binary;\r
          }\r
      }\r
-     augment "/ofinstruction:instruction-container/ofinstruction:instruction" {\r
-         ext:augment-identifier "action-header-instruction";\r
-         list actions {\r
-             uses ofaction:action-header;\r
-         }\r
+     augment "/ofinstruction:instruction-container/ofinstruction:instructions" {\r
+         ext:augment-identifier "actions-instruction";\r
+         uses ofaction:actions;\r
      }\r
-     augment "/ofinstruction:instruction-container/ofinstruction:instruction" {\r
+     augment "/ofinstruction:instruction-container/ofinstruction:instructions" {\r
          ext:augment-identifier "meter-id-instruction";\r
          leaf meter-id {\r
              type uint32;\r
          }\r
      }\r
-     augment "/ofinstruction:instruction-container/ofinstruction:instruction" {\r
+     augment "/ofinstruction:instruction-container/ofinstruction:instructions" {\r
          ext:augment-identifier "experimenter-instruction";\r
          leaf experimenter {\r
              type uint32;\r
          }\r
+         leaf data {\r
+             type binary;\r
+         }\r
+     }\r
+     \r
+// OFP_QUEUE_PROP AUGMENTS\r
+     augment "/ofproto:queue-prop-container/ofproto:queue-property" {\r
+         ext:augment-identifier "rate-queue-property";\r
+         leaf rate {\r
+             type uint16;\r
+         }\r
+     }\r
+     augment "/ofproto:queue-prop-container/ofproto:queue-property" {\r
+         ext:augment-identifier "experimenter-queue-property";\r
+         leaf experimenter {\r
+             type uint32;\r
+         }\r
+         leaf data {\r
+             type binary;\r
+         }\r
      }\r
+     \r
+// OFP_ERROR_AUGMENTS (only experimenter till OpenFlow v1.3)\r
+    augment "/ofproto:error-message" {\r
+         ext:augment-identifier "experimenter-error";\r
+         leaf exp_type {\r
+             type uint16;\r
+         }\r
+         leaf experimenter {\r
+             type uint32;\r
+         }\r
+     }\r
+\r
 }
\ No newline at end of file