X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-api%2Fsrc%2Fmain%2Fyang%2Fopenflow-augments.yang;h=4a60c37e35ec54bf967e82f644b72905949e3027;hb=e522c58d71ba5eed20ec5199b8cad6ad22550079;hp=17de70ccc48654f908fc6a45a46e6b2f01ca3392;hpb=6e281c3bd04d002508d7f56256d84c72d0cedede;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 old mode 100644 new mode 100755 index 17de70cc..4a60c37e --- a/openflow-protocol-api/src/main/yang/openflow-augments.yang +++ b/openflow-protocol-api/src/main/yang/openflow-augments.yang @@ -1,351 +1,136 @@ -module openflow-augments { - namespace "urn:opendaylight:openflow:augments"; - prefix "aug"; - - import ietf-inet-types {prefix inet;} - import ietf-yang-types {prefix yang;} - - import openflow-types {prefix oft;} - import openflow-protocol {prefix ofproto;} - import openflow-action {prefix ofaction;} - import openflow-instruction {prefix ofinstruction;} - import openflow-extensible-match {prefix oxm;} - - - revision "2013-10-02" { - description "Initial model"; - } -// OFP_MATCH AUGMENTS - augment "/oxm:oxm-container/oxm:match-entries" { - leaf port-number { - type uint32; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf metadata { - type binary; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf mask { - type binary; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf mac-address { - type yang:mac-address; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf eth-type { - type oft:ether-type; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf vlan-vid { - type uint16; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf vlan-pcp { - type uint8; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf dscp { - type inet:dscp; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf ecn { - type uint8; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf protocol-number { - type uint8; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf ipv4-prefix { - type inet:ipv4-prefix; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf port { - type inet:port-number; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf icmpv4-type { - type uint8; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf icmpv4-code { - type uint8; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf op-code { - type uint16; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf ipv6-prefix { - type inet:ipv6-prefix; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf ipv6-flabel { - type inet:ipv6-flow-label; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf icmpv6-type { - type uint8; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf icmpv6-code { - type uint8; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf ipv6-address { - type inet:ipv6-address; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf mpls-label { - type uint32; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf tc { - type uint8; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf bos { - type boolean; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - leaf isid { - type uint32; - } - } - - augment "/oxm:oxm-container/oxm:match-entries" { - 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; - } - } - } - } - -// OFP_ACTION AUGMENTS - augment "/ofaction:actions" { - leaf port { - type oft:any-port-number; - } - } - - augment "/ofaction:actions" { - leaf max-length { - description "Maximum packet length to be send to controller."; - type union { - type uint16 { - range "0..65294"; // 0..0xff0e - } - type enumeration { - enum max { - desription - "maximum max_len value which can be used - to request a specific byte length"; - value 65509; //0xffe5 - } - enum no-buffer { - description - "indicates that no buffering should be - applied and the whole packet is to be - sent to the controller"; - value 65535; //0xffff - } - } - } - } - } - - augment "/ofaction:actions" { - leaf mpls-ttl { - type uint8; - } - } - - augment "/ofaction:actions" { - leaf ethertype { - type oft:ether-type; - } - } - - augment "/ofaction:actions" { - leaf queue-id { - type uint32; - } - } - - augment "/ofaction:actions" { - leaf group-id { - type uint32; - } - } - - augment "/ofaction:actions" { - leaf nw-ttl { - type uint8; - } - } - - augment "/ofaction:actions" { - uses oxm:oxm-fields; - } - - augment "/ofaction:actions" { - leaf experimenter { - type uint32; - } - } - -// OFP_TABLE_FEATURES_PROPERTIES AUGMENTS - augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { - list instruction-ids { - uses ofinstruction:instructions; - } - } - - augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { - list next-table-ids { - leaf table-id { - type uint8; - } - } - } - - augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { - list action-ids { - uses ofaction:action-header; - } - } - - augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { - list oxm-ids { - uses oxm:oxm-fields; - } - } - - augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { - leaf experimenter { - type uint32; - } - leaf exp-type { - type uint32; - } - leaf data { - type binary; - } - } - -// OFP_INSTRUCTION AUGMENTS - augment "/ofinstruction:instruction" { - leaf table-id { - type uint8; - } - } - - augment "/ofinstruction:instruction" { - leaf metadata { - type binary; - } - leaf metadata-mask { - type binary; - } - } - - augment "/ofinstruction:instruction" { - list actions { - uses ofaction:action-header; - } - } - - augment "/ofinstruction:instruction" { - leaf meter-id { - type uint32; - } - } - - augment "/ofinstruction:instruction" { - leaf experimenter { - type uint32; - } - } -} \ No newline at end of file +/* + * 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"; + + import yang-ext {prefix ext;} + import ietf-inet-types {prefix inet;} + import ietf-yang-types {prefix yang;} + + import openflow-types {prefix oft;} + import openflow-protocol {prefix ofproto;} + import openflow-action {prefix ofaction;} + import openflow-instruction {prefix ofinstruction;} + import openflow-extensible-match {prefix oxm;} + + revision "2015-02-25" { + description "#NOT_PUBLISHED# 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 + augment "/oxm:oxm-container/oxm:match-entry-value" { + ext:augment-identifier "experimenter-id-match-entry"; + case experimenter-id-case { + container experimenter { + leaf experimenter { + type oft:experimenter-id; + } + } + } + } + +// OFP_ACTION AUGMENTS + augment "/ofaction:action-container/ofaction:action-choice" { + ext:augment-identifier "experimenter-id-action"; + case experimenter-id-case { + container experimenter { + leaf experimenter { + type oft:experimenter-id; + } + leaf sub-type { + type identityref { + base ofaction:experimenter-action-sub-type; + } + } + } + } + } + +// 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-grouping; + } + augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { + ext:augment-identifier "next-table-related-table-feature-property"; + list next-table-ids { + config false; + leaf table-id { + type uint8; + } + } + } + augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { + ext:augment-identifier "action-related-table-feature-property"; + uses ofaction:actions-grouping; + } + augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { + ext:augment-identifier "oxm-related-table-feature-property"; + uses oxm:match-entries-grouping; + } + augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" { + ext:augment-identifier "experimenter-id-table-feature-property"; + leaf experimenter { + type oft:experimenter-id; + } + leaf exp-type { + type uint32; + } + } + +// OFP_INSTRUCTION AUGMENTS + augment "/ofinstruction:instruction-container/ofinstruction:instruction-choice" { + case experimenter-id-case { + container experimenter { + leaf experimenter-id { + type oft:experimenter-id; + } + } + } + } + +// OFP_QUEUE_PROP AUGMENTS + augment "/ofproto:queue-prop-container/ofproto:queue-property" { + ext:augment-identifier "rate-queue-property"; + leaf rate { + type uint16; + } + } + augment "/ofproto:queue-prop-container/ofproto:queue-property" { + ext:augment-identifier "experimenter-id-queue-property"; + leaf experimenter { + type oft:experimenter-id; + } + } + +// OFP_ERROR_AUGMENTS (only experimenter till OpenFlow v1.3) + augment "/ofproto:error-message" { + ext:augment-identifier "experimenter-id-error"; + leaf experimenter { + type oft:experimenter-id; + } + } + +// 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; + } + leaf sub-type { + type identityref { + base oft:experimenter-meter-band-sub-type; + } + } + } +}