Add method to register listener for unknown msg
[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     import openflow-action {prefix ofaction;}
15
16     revision "2013-07-31" {
17         description "#NOT_PUBLISHED# OpenFlow 1.3 - instruction model";
18     }
19
20     container instruction-container {
21         uses instruction-grouping;
22     }
23
24     grouping instructions-grouping {
25         list instruction {
26             config false;
27             uses instruction-grouping;
28             leaf experimenter-id {
29                 type oft:experimenter-id;
30             }
31         }
32     }
33
34     grouping instruction-grouping {
35         choice instruction-choice {
36             case goto-table-case {
37                 container goto-table {
38                     leaf table-id {
39                         type uint8;
40                     }
41                 }
42             }
43             case write-metadata-case {
44                 container write-metadata {
45                     leaf metadata {
46                         type binary;
47                     }
48                     leaf metadata-mask {
49                         type binary;
50                     }
51                 }
52             }
53             case write-actions-case {
54                 container write-actions {
55                     uses ofaction:actions-grouping;
56                 }
57             }
58             case apply-actions-case {
59                 container apply-actions {
60                     uses ofaction:actions-grouping;
61                 }
62             }
63             case clear-actions-case {
64                 // empty instruction
65             }
66             case meter-case {
67                 container meter {
68                     leaf meter-id {
69                         type uint32;
70                     }
71                 }
72             }
73         }
74     }
75 }