Updated flow capable node models.
[controller.git] / opendaylight / md-sal / model / model-flow-service / src / main / yang / flow-node-inventory.yang
1 module flow-node-inventory {
2     namespace "urn:opendaylight:flow:inventory";
3     prefix flownode;
4
5     import yang-ext {prefix ext;}
6     import ietf-inet-types {prefix inet;}
7     import ietf-yang-types {prefix yang;}
8     import opendaylight-port-types {prefix port;}
9     import opendaylight-inventory {prefix inv;}
10     
11     revision "2013-08-19" {
12         description "Flow Capable Node extensions to the nventory model";
13     }
14     
15     
16     grouping feature {
17         leaf support-state {
18             type inv:support-type;
19         }
20     }
21
22     grouping queue {
23          leaf queue-id {
24             type uint32;
25             description "id for the specific queue";
26             mandatory true; 
27         }
28         container properties {
29             leaf minimum-rate {
30                 type uint32;
31             }
32             leaf maximum-rate{
33                 type uint32;
34             }
35         }
36     }
37
38     grouping table {
39
40
41     }
42
43     grouping flow-node {
44         container tables {
45             uses feature;
46             list table {
47                 uses table;
48             }
49         }
50         
51         container group-tables {
52             uses feature;
53         }
54         
55         container supported-match-types {
56             list match-type {
57                 uses feature;
58                 leaf match {
59                     type string; // FIXME: Add identity
60                 }
61                 
62             }
63         }
64         
65         container supported-instructions {
66             list instruction-type {
67                 uses feature;
68                 leaf instruction {
69                     type string; // FIXME: Add identity
70                 }
71             }
72         }
73
74         container supported-actions {
75             list action-type {
76                 uses feature;
77
78                 leaf action {
79                     type string; // FIXME: Add identity
80                 }
81             }
82         }
83     }
84     
85     grouping flow-node-connector {
86
87         uses port:flow-capable-port;
88     }
89
90     augment "/inv:nodes/inv:node" {
91         ext:augment-identifier "flow-capable-node";
92         uses flow-node;
93     }
94
95     augment "/inv:nodes/inv:node/inv:node-connector" {
96         ext:augment-identifier "flow-capable-node-connector";
97         uses flow-node-connector;
98     }
99
100     augment "/inv:node-updated" {
101         ext:augment-identifier "flow-capable-node-updated";
102         uses flow-node;
103     }
104
105     augment "/inv:node-updated/inv:node-connector" {
106         //ext:identical-augment "flow-capable-node-connector";
107         ext:augment-identifier "flow-capable-node-connector-update-fields";
108         uses flow-node-connector;
109     }
110
111     augment "/inv:node-connector-updated" {
112         ext:augment-identifier "flow-capable-node-connector-updated";   
113     }
114 }