671556e104bc83a4e2503d31a2e4c3f62391049f
[openflowjava.git] / openflow-protocol-api / src / main / yang / openflow-instruction.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-instruction {
10     namespace "urn:opendaylight:openflow:common:instruction";
11     prefix "ofinstruction";
12
13     import openflow-types { prefix oft; }
14
15     revision "2013-07-31" {
16         description "OpenFlow 1.3 - instruction model";
17     }
18
19     identity goto_table {
20         description " Setup the next table in the lookup pipeline";
21         base oft:instruction-base;
22     }
23     identity write_metadata {
24         description " Setup the metadata field for use later in     pipeline";
25         base oft:instruction-base;
26     }
27     identity write_actions {
28         description " Write the action(s) onto the datapath action set";
29         base oft:instruction-base;
30     }
31     identity apply_actions {
32         description " Applies the action(s) immediately";
33         base oft:instruction-base;
34     }
35     identity clear_actions {
36         description " Clears all actions from the datapath action set";
37         base oft:instruction-base;
38     }
39     identity meter {
40         description " Apply meter (rate limiter)";
41         base oft:instruction-base;
42     }
43     identity experimenter {
44         description "Experimenter instruction";
45         base oft:instruction-base;
46     }
47
48     container instruction-container {
49         uses instructions-grouping;
50     }
51
52     grouping instructions-grouping {
53         list instruction {
54             config false;
55             leaf type {
56                 type identityref {
57                     base oft:instruction-base;
58                 }
59             }
60         }
61     }
62
63 }