Created experimenter subtype for vendor's actions
[openflowjava.git] / openflow-protocol-api / src / main / yang / openflow-action.yang
1 /*
2  * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved.
3  *
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
7  */
8  
9  module openflow-action {
10     namespace "urn:opendaylight:openflow:common:action";
11     prefix "ofaction";
12
13     import openflow-types { prefix oft; }
14
15     revision "2013-07-31" {
16         description "OpenFlow 1.3 - action model";
17     }
18
19     identity output {
20         description " Output to switch port. (both OF v1.0 and v1.3)";
21         base oft:action-base;
22     }
23     identity copy_ttl_out {
24         description " Copy TTL \"outwards\" -- from next-to-outermost to outermost ";
25         base oft:action-base;
26     }
27     identity copy_ttl_in {
28         description " Copy TTL \"inwards\" -- from outermost to next-to-outermost ";
29         base oft:action-base;
30     }
31     identity set_mpls_ttl {
32         description " MPLS TTL ";
33         base oft:action-base;
34     }
35     identity dec_mpls_ttl {
36         description " Decrement MPLS TTL ";
37         base oft:action-base;
38     }
39     identity push_vlan {
40         description " Push a new VLAN tag ";
41         base oft:action-base;
42     }
43     identity pop_vlan {
44         description " Pop the outer VLAN tag ";
45         base oft:action-base;
46     }
47     identity push_mpls {
48         description " Push a new MPLS tag ";
49         base oft:action-base;
50     }
51     identity pop_mpls {
52         description " Pop the outer MPLS tag ";
53         base oft:action-base;
54     }
55     identity set_queue {
56         description " Set queue id when outputting to a port ";
57         base oft:action-base;
58     }
59     identity group {
60         description " Apply group. ";
61         base oft:action-base;
62     }
63     identity set_nw_ttl {
64         description " IP TTL. ";
65         base oft:action-base;
66     }
67     identity dec_nw_ttl {
68         description " Decrement IP TTL. ";
69         base oft:action-base;
70     }
71     identity set_field {
72         description " Set a header field using OXM TLV format. ";
73         base oft:action-base;
74     }
75     identity push_pbb {
76         description " Push a new PBB service tag (I-TAG) ";
77         base oft:action-base;
78     }
79     identity pop_pbb {
80         description " Pop the outer PBB service tag (I-TAG) ";
81         base oft:action-base;
82     }
83     identity experimenter {
84         description "";
85         base oft:action-base;
86     }
87
88     identity experimenter-action-sub-type {
89         description "The base identity for vendor's actions.";
90     }
91
92     container actions-container {
93         uses actions-grouping;
94     }
95     
96     grouping actions-grouping {
97         list action {
98             config false;
99             leaf type {
100                 type identityref {
101                     base oft:action-base;
102                 }
103             }
104         }
105     }
106     
107     // OF1.0 structures
108     identity set_vlan_vid {
109         description "Set the 802.1q VLAN id (OF v1.0).";
110         base oft:action-base;
111     }
112     identity set_vlan_pcp {
113         description "Set the 802.1q priority (OF v1.0).";
114         base oft:action-base;
115     }
116     identity strip_vlan {
117         description "Strip the 802.1q header (OF v1.0).";
118         base oft:action-base;
119     }
120     identity set_dl_src {
121         description "Ethernet source address (OF v1.0).";
122         base oft:action-base;
123     }
124     identity set_dl_dst {
125         description "Ethernet destination address (OF v1.0).";
126         base oft:action-base;
127     }
128     identity set_nw_src {
129         description "IP source address (OF v1.0).";
130         base oft:action-base;
131     }
132     identity set_nw_dst {
133         description "IP destination address (OF v1.0).";
134         base oft:action-base;
135     }
136     identity set_nw_tos {
137         description "IP ToS (DSCP field, 6 bits) (OF v1.0).";
138         base oft:action-base;
139     }
140     identity set_tp_src {
141         description "TCP/UDP source port (OF v1.0).";
142         base oft:action-base;
143     }
144     identity set_tp_dst {
145         description "TCP/UDP destination port (OF v1.0).";
146         base oft:action-base;
147     }
148     identity enqueue {
149         description "Output to queue (OF v1.0).";
150         base oft:action-base;
151     }
152
153 }