namespace "urn:opendaylight:openflow:augments";\r
prefix "aug";\r
\r
- import openflow-protocol {prefix ofproto;}\r
+ import yang-ext {prefix ext;}\r
+ import ietf-inet-types {prefix inet;}\r
+ import ietf-yang-types {prefix yang;}\r
\r
+ import openflow-types {prefix oft;}\r
+ import openflow-protocol {prefix ofproto;}\r
+ import openflow-action {prefix ofaction;}\r
+ import openflow-instruction {prefix ofinstruction;}\r
+ import openflow-extensible-match {prefix oxm;}\r
\r
revision "2013-10-02" {\r
- description "Initial model";\r
+ description "OpenFlow 1.3 - augments model";\r
}\r
\r
- augment "/ofproto:hello-message/ofproto:elements" {\r
- leaf uid {\r
- type uint16;\r
- }\r
+// OFP_MATCH AUGMENTS\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "port-number-match-entry";\r
+ leaf port-number {\r
+ type oft:port-number;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "metadata-match-entry";\r
+ leaf metadata {\r
+ type binary;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "mask-match-entry";\r
+ leaf mask {\r
+ type binary;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "mac-address-match-entry";\r
+ leaf mac-address {\r
+ type yang:mac-address;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "eth-type-match-entry";\r
+ leaf eth-type {\r
+ type oft:ether-type;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "vlan-vid-match-entry";\r
+ leaf vlan-vid {\r
+ type uint16;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "vlan-pcp-match-entry";\r
+ leaf vlan-pcp {\r
+ type uint8;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "dscp-match-entry";\r
+ leaf dscp {\r
+ type inet:dscp;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "ecn-match-entry";\r
+ leaf ecn {\r
+ type uint8;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "protocol-number-match-entry";\r
+ leaf protocol-number {\r
+ type uint8;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "port-match-entry";\r
+ leaf port {\r
+ type inet:port-number;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "icmpv4-type-match-entry";\r
+ leaf icmpv4-type {\r
+ type uint8;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "icmpv4-code-match-entry";\r
+ leaf icmpv4-code {\r
+ type uint8;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "op-code-match-entry";\r
+ leaf op-code {\r
+ type uint16;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "ipv6-flabel-match-entry";\r
+ leaf ipv6-flabel {\r
+ type inet:ipv6-flow-label;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "icmpv6-type-match-entry";\r
+ leaf icmpv6-type {\r
+ type uint8;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "icmpv6-code-match-entry";\r
+ leaf icmpv6-code {\r
+ type uint8;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "ipv6-address-match-entry";\r
+ leaf ipv6-address {\r
+ type inet:ipv6-address;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "ipv4-address-match-entry";\r
+ leaf ipv4-address {\r
+ type inet:ipv4-address;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "mpls-label-match-entry";\r
+ leaf mpls-label {\r
+ type uint32;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "tc-match-entry";\r
+ leaf tc {\r
+ type uint8;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "bos-match-entry";\r
+ leaf bos {\r
+ type boolean;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "isid-match-entry";\r
+ leaf isid {\r
+ type uint32;\r
+ }\r
+ }\r
+ augment "/oxm:oxm-container/oxm:match-entries" {\r
+ ext:augment-identifier "pseudo-field-match-entry";\r
+ leaf pseudo-field {\r
+ type bits {\r
+ bit nonext {\r
+ description "<No next header> encountered.";\r
+ position 0;\r
+ }\r
+ bit esp {\r
+ description "Encrypted Sec Payload header present.";\r
+ position 1;\r
+ }\r
+ bit auth {\r
+ description "Authentication header present.";\r
+ position 2;\r
+ }\r
+ bit dest {\r
+ description "1 or 2 dest headers present.";\r
+ position 3;\r
+ }\r
+ bit frag {\r
+ description "Fragment header present.";\r
+ position 4;\r
+ }\r
+ bit router {\r
+ description "Router header present.";\r
+ position 5;\r
+ }\r
+ bit hop {\r
+ description "Hop-by-hop header present.";\r
+ position 6;\r
+ }\r
+ bit unrep {\r
+ description "Unexpected repeats encountered.";\r
+ position 7;\r
+ }\r
+ bit unseq {\r
+ description "Unexpected sequencing encountered.";\r
+ position 8;\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+// OFP_ACTION AUGMENTS\r
+ augment "/ofaction:actions-container/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
+ ext:augment-identifier "max-length-action";\r
+ leaf max-length {\r
+ type uint16;\r
+ }\r
+ }\r
+ augment "/ofaction:actions-container/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
+ ext:augment-identifier "ethertype-action";\r
+ leaf ethertype {\r
+ type oft:ether-type;\r
+ }\r
+ }\r
+ augment "/ofaction:actions-container/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
+ ext:augment-identifier "group-id-action";\r
+ leaf group-id {\r
+ type uint32;\r
+ }\r
+ }\r
+ augment "/ofaction:actions-container/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
+ ext:augment-identifier "oxm-fields-action";\r
+ uses oxm:oxm-fields;\r
+ }\r
+ augment "/ofaction:actions-container/ofaction:action" {\r
+ ext:augment-identifier "experimenter-action";\r
+ leaf experimenter {\r
+ type uint32;\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
+ }\r
+ augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {\r
+ ext:augment-identifier "next-table-ids-table-feature-properties";\r
+ list next-table-ids {\r
+ leaf table-id {\r
+ type uint8;\r
+ }\r
+ }\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
+ }\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
+ }\r
+ augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {\r
+ ext:augment-identifier "experimenter-table-feature-properties";\r
+ leaf experimenter {\r
+ type uint32;\r
+ }\r
+ leaf exp-type {\r
+ type uint32;\r
+ }\r
+ leaf data {\r
+ type binary;\r
+ }\r
+ }\r
+\r
+// OFP_INSTRUCTION AUGMENTS\r
+ augment "/ofinstruction:instruction-container/ofinstruction:instruction" {\r
+ ext:augment-identifier "table-id-instruction";\r
+ leaf table-id {\r
+ type uint8;\r
+ }\r
+ }\r
+ augment "/ofinstruction:instruction-container/ofinstruction:instruction" {\r
+ ext:augment-identifier "metadata-instruction";\r
+ leaf metadata {\r
+ type binary;\r
+ }\r
+ leaf metadata-mask {\r
+ 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
+ }\r
+ augment "/ofinstruction:instruction-container/ofinstruction:instruction" {\r
+ ext:augment-identifier "meter-id-instruction";\r
+ leaf meter-id {\r
+ type uint32;\r
+ }\r
+ }\r
+ augment "/ofinstruction:instruction-container/ofinstruction:instruction" {\r
+ ext:augment-identifier "experimenter-instruction";\r
+ leaf experimenter {\r
+ type uint32;\r
+ }\r
}\r
}
\ No newline at end of file