X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-api%2Fsrc%2Fmain%2Fyang%2Fopenflow-augments.yang;h=910dfa5fe0fd97eb049983fcc9b3a7f0fa5ec451;hb=05bc9fb5cb06c747be728f8d695d2723db911514;hp=71718bc770b3ca1a037741fdc0f70063471d1535;hpb=8d785e650476b80189b86f6ad44c5a24d5ccbf6d;p=openflowjava.git diff --git a/openflow-protocol-api/src/main/yang/openflow-augments.yang b/openflow-protocol-api/src/main/yang/openflow-augments.yang index 71718bc7..910dfa5f 100644 --- a/openflow-protocol-api/src/main/yang/openflow-augments.yang +++ b/openflow-protocol-api/src/main/yang/openflow-augments.yang @@ -1,4 +1,12 @@ -module openflow-augments { +/* + * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + + module openflow-augments { namespace "urn:opendaylight:openflow:augments"; prefix "aug"; @@ -13,7 +21,10 @@ module openflow-augments { import openflow-extensible-match {prefix oxm;} revision "2013-10-02" { - description "OpenFlow 1.3 - augments model"; + description "OpenFlow 1.3 - augments model. + Please visit + https://wiki.opendaylight.org/view/File:OpenFlow_Protocol_Library_-_Project_documentation.pdf + - Augmentation Tables chapter"; } // OFP_MATCH AUGMENTS @@ -161,126 +172,113 @@ module openflow-augments { augment "/oxm:oxm-container/oxm:match-entries" { ext:augment-identifier "pseudo-field-match-entry"; leaf pseudo-field { - type bits { - bit nonext { - description " encountered."; - position 0; - } - bit esp { - description "Encrypted Sec Payload header present."; - position 1; - } - bit auth { - description "Authentication header present."; - position 2; - } - bit dest { - description "1 or 2 dest headers present."; - position 3; - } - bit frag { - description "Fragment header present."; - position 4; - } - bit router { - description "Router header present."; - position 5; - } - bit hop { - description "Hop-by-hop header present."; - position 6; - } - bit unrep { - description "Unexpected repeats encountered."; - position 7; - } - bit unseq { - description "Unexpected sequencing encountered."; - position 8; - } - } + type oft:ipv6-exthdr-flags; + } + } + augment "/oxm:oxm-container/oxm:match-entries" { + ext:augment-identifier "experimenter-id-match-entry"; + leaf experimenter { + type oft:experimenter-id; + } + } + augment "/oxm:oxm-container/oxm:match-entries" { + ext:augment-identifier "tcp-flag-match-entry"; + leaf tcp-flag { + type uint16; + } + } + augment "/oxm:oxm-container/oxm:match-entries" { + ext:augment-identifier "tunnel-ipv4-dst-match-entry"; + leaf tunnel-ipv4-dst { + type inet:ipv4-address; + } + } + augment "/oxm:oxm-container/oxm:match-entries" { + ext:augment-identifier "tunnel-ipv4-src-match-entry"; + leaf tunnel-ipv4-src { + type inet:ipv4-address; } } // OFP_ACTION AUGMENTS - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "port-action"; leaf port { type oft:port-number; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "max-length-action"; leaf max-length { type uint16; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "mpls-ttl-action"; leaf mpls-ttl { type uint8; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "ethertype-action"; leaf ethertype { type oft:ether-type; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "queue-id-action"; leaf queue-id { type uint32; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "group-id-action"; leaf group-id { type uint32; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "nw-ttl-action"; leaf nw-ttl { type uint8; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "oxm-fields-action"; - uses oxm:oxm-fields; + uses oxm:oxm-fields-grouping; } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { - ext:augment-identifier "experimenter-action"; + augment "/ofaction:actions-container/ofaction:action" { + ext:augment-identifier "experimenter-id-action"; leaf experimenter { - type uint32; + type oft:experimenter-id; } } // OF1.0 structures - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "vlan-vid-action"; leaf vlan-vid { type uint16; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "vlan-pcp-action"; leaf vlan-pcp { type uint8; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "dl-address-action"; leaf dl-address { type yang:mac-address; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "nw-tos-action"; leaf nw-tos { type uint8; } } - augment "/ofaction:actions-container/ofaction:actions-list/ofaction:action" { + augment "/ofaction:actions-container/ofaction:action" { ext:augment-identifier "ip-address-action"; leaf ip-address { type inet:ipv4-address; @@ -290,12 +288,12 @@ module openflow-augments { // OFP_TABLE_FEATURES_PROPERTIES AUGMENTS augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { ext:augment-identifier "instruction-related-table-feature-property"; - uses ofinstruction:instructions; + uses ofinstruction:instructions-grouping; } augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { ext:augment-identifier "next-table-related-table-feature-property"; list next-table-ids { - key "table-id"; + config false; leaf table-id { type uint8; } @@ -303,33 +301,30 @@ module openflow-augments { } augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { ext:augment-identifier "action-related-table-feature-property"; - uses ofaction:actions; + uses ofaction:actions-grouping; } augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { ext:augment-identifier "oxm-related-table-feature-property"; - uses oxm:oxm-fields; + uses oxm:oxm-fields-grouping; } augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { - ext:augment-identifier "experimenter-related-table-feature-property"; + ext:augment-identifier "experimenter-id-table-feature-property"; leaf experimenter { - type uint32; + type oft:experimenter-id; } leaf exp-type { type uint32; } - leaf data { - type binary; - } } // OFP_INSTRUCTION AUGMENTS - augment "/ofinstruction:instruction-container/ofinstruction:instructions" { + augment "/ofinstruction:instruction-container/ofinstruction:instruction" { ext:augment-identifier "table-id-instruction"; leaf table-id { type uint8; } } - augment "/ofinstruction:instruction-container/ofinstruction:instructions" { + augment "/ofinstruction:instruction-container/ofinstruction:instruction" { ext:augment-identifier "metadata-instruction"; leaf metadata { type binary; @@ -338,23 +333,20 @@ module openflow-augments { type binary; } } - augment "/ofinstruction:instruction-container/ofinstruction:instructions" { + augment "/ofinstruction:instruction-container/ofinstruction:instruction" { ext:augment-identifier "actions-instruction"; - uses ofaction:actions; + uses ofaction:actions-grouping; } - augment "/ofinstruction:instruction-container/ofinstruction:instructions" { + augment "/ofinstruction:instruction-container/ofinstruction:instruction" { ext:augment-identifier "meter-id-instruction"; leaf meter-id { type uint32; } } - augment "/ofinstruction:instruction-container/ofinstruction:instructions" { - ext:augment-identifier "experimenter-instruction"; + augment "/ofinstruction:instruction-container/ofinstruction:instruction" { + ext:augment-identifier "experimenter-id-instruction"; leaf experimenter { - type uint32; - } - leaf data { - type binary; + type oft:experimenter-id; } } @@ -366,24 +358,45 @@ module openflow-augments { } } augment "/ofproto:queue-prop-container/ofproto:queue-property" { - ext:augment-identifier "experimenter-queue-property"; + ext:augment-identifier "experimenter-id-queue-property"; leaf experimenter { - type uint32; - } - leaf data { - type binary; + type oft:experimenter-id; } } // OFP_ERROR_AUGMENTS (only experimenter till OpenFlow v1.3) - augment "/ofproto:error-message" { - ext:augment-identifier "experimenter-error"; - leaf exp_type { - type uint16; + augment "/ofproto:error-message" { + ext:augment-identifier "experimenter-id-error"; + leaf experimenter { + type oft:experimenter-id; } + } + +// OFP_MULTIPART AUGMENTS + augment "/ofproto:multipart-request/input/ofproto:multipart-request-body/ofproto:multipart-request-experimenter-case/ofproto:multipart-request-experimenter" { + ext:augment-identifier "experimenter-id-multipart-request"; leaf experimenter { + type oft:experimenter-id; + } + leaf exp-type { + type uint32; + } + } + augment "/ofproto:multipart-reply-message/ofproto:multipart-reply-body/ofproto:multipart-reply-experimenter-case/ofproto:multipart-reply-experimenter" { + ext:augment-identifier "experimenter-id-multipart-reply"; + leaf experimenter { + type oft:experimenter-id; + } + leaf exp-type { type uint32; } } +// OFP_METER_BAND AUGMENTS + augment "/ofproto:meter-band-container/ofproto:meter-band/ofproto:meter-band-experimenter-case/ofproto:meter-band-experimenter" { + ext:augment-identifier "experimenter-id-meter-band"; + leaf experimenter { + type oft:experimenter-id; + } + } } \ No newline at end of file