80a4ccf0878de6bd5a9b2775377fc7ec133e5162
[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-inventory {prefix inv;}
9     
10     revision "2013-08-19" {
11         description "Flow Capable Node extensions to the nventory model";
12     }
13     
14     
15     grouping queue {
16          leaf queue-id {
17             type uint32;
18             description "id for the specific queue";
19             mandatory true; 
20         }
21         container properties {
22             leaf minimum-rate {
23                 type uint32;
24             }
25             leaf maximum-rate{
26                 type uint32;
27             }
28         }
29     }
30
31     grouping flow-capable-node-capabilities {
32         container tables {
33             leaf support-state {
34                 type inv:support-type;
35             }
36             
37         }
38         
39         container group-tables {
40         
41         }
42         
43         container supported-match-types {
44             list match-type {
45                 leaf match {
46                     type string; // FIXME: Add identity
47                 }
48                 leaf support-state {
49                     type inv:support-type;
50                 }
51             }
52         }
53         
54         container supported-instructions {
55             list instruction-type {
56                 leaf instruction {
57                     type string; // FIXME: Add identity
58                 }
59                 
60                 leaf support-state {
61                     type inv:support-type;
62                 }
63             }
64         }
65
66         container supported-actions {
67             list action-type {
68                 leaf action {
69                     type string; // FIXME: Add identity
70                 }
71                 
72                 leaf support-state {
73                     type inv:support-type;
74                 }
75             }
76         }
77     }
78     
79     grouping flow-capable-node-connector {
80         
81     }
82
83     notification node-capabilities-updated {
84         uses flow-capable-node-capabilities;
85     }
86
87     notification node-connector-capabilities-updated {
88         uses flow-capable-node-connector;
89     }
90
91     augment "/inv:nodes/inv:node" {
92         augment-identifier "flow-capable-node";
93         uses flow-capable-node-capabilities;
94     }
95 }