2 * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 module openflow-augments {
10 namespace "urn:opendaylight:openflow:augments";
13 import yang-ext {prefix ext;}
14 import ietf-inet-types {prefix inet;}
15 import ietf-yang-types {prefix yang;}
17 import openflow-types {prefix oft;}
18 import openflow-protocol {prefix ofproto;}
19 import openflow-action {prefix ofaction;}
20 import openflow-instruction {prefix ofinstruction;}
21 import openflow-extensible-match {prefix oxm;}
23 revision "2015-02-25" {
24 description "OpenFlow 1.3 - augments model.
26 https://wiki.opendaylight.org/view/File:OpenFlow_Protocol_Library_-_Project_documentation.pdf
27 - Augmentation Tables chapter";
31 augment "/oxm:oxm-container/oxm:match-entry-value" {
32 ext:augment-identifier "experimenter-id-match-entry";
33 case experimenter-id-case {
34 container experimenter {
36 type oft:experimenter-id;
42 // OFP_ACTION AUGMENTS
43 augment "/ofaction:action-container/ofaction:action-choice" {
44 ext:augment-identifier "experimenter-id-action";
45 case experimenter-id-case {
46 container experimenter {
48 type oft:experimenter-id;
52 base ofaction:experimenter-action-sub-type;
59 // OFP_TABLE_FEATURES_PROPERTIES AUGMENTS
60 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
61 ext:augment-identifier "instruction-related-table-feature-property";
62 uses ofinstruction:instructions-grouping;
64 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
65 ext:augment-identifier "next-table-related-table-feature-property";
73 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
74 ext:augment-identifier "action-related-table-feature-property";
75 uses ofaction:actions-grouping;
77 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
78 ext:augment-identifier "oxm-related-table-feature-property";
79 uses oxm:match-entries-grouping;
81 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
82 ext:augment-identifier "experimenter-id-table-feature-property";
84 type oft:experimenter-id;
91 // OFP_INSTRUCTION AUGMENTS
92 augment "/ofinstruction:instruction-container/ofinstruction:instruction-choice" {
93 case experimenter-id-case {
94 container experimenter {
95 leaf experimenter-id {
96 type oft:experimenter-id;
102 // OFP_QUEUE_PROP AUGMENTS
103 augment "/ofproto:queue-prop-container/ofproto:queue-property" {
104 ext:augment-identifier "rate-queue-property";
109 augment "/ofproto:queue-prop-container/ofproto:queue-property" {
110 ext:augment-identifier "experimenter-id-queue-property";
112 type oft:experimenter-id;
116 // OFP_ERROR_AUGMENTS (only experimenter till OpenFlow v1.3)
117 augment "/ofproto:error-message" {
118 ext:augment-identifier "experimenter-id-error";
120 type oft:experimenter-id;
124 // OFP_MULTIPART AUGMENTS
125 augment "/ofproto:multipart-request/input/ofproto:multipart-request-body/ofproto:multipart-request-experimenter-case/ofproto:multipart-request-experimenter" {
126 ext:augment-identifier "experimenter-id-multipart-request";
128 type oft:experimenter-id;
134 augment "/ofproto:multipart-reply-message/ofproto:multipart-reply-body/ofproto:multipart-reply-experimenter-case/ofproto:multipart-reply-experimenter" {
135 ext:augment-identifier "experimenter-id-multipart-reply";
137 type oft:experimenter-id;
144 // OFP_METER_BAND AUGMENTS
145 augment "/ofproto:meter-band-container/ofproto:meter-band/ofproto:meter-band-experimenter-case/ofproto:meter-band-experimenter" {
146 ext:augment-identifier "experimenter-id-meter-band";
148 type oft:experimenter-id;