X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fmodel%2Fmodel-flow-service%2Fsrc%2Fmain%2Fyang%2Fflow-node-inventory.yang;h=0f5cc71e8bc7052b1743d7e13d85ea3914e08bfd;hp=61980d99d4e1f98a7f05b6de399865a637ff3de4;hb=91d7c1ee52322acad08e9f81228ac36b3aa684f5;hpb=d805abae07e62d594115eb04f8dfd02d9f34b999 diff --git a/opendaylight/md-sal/model/model-flow-service/src/main/yang/flow-node-inventory.yang b/opendaylight/md-sal/model/model-flow-service/src/main/yang/flow-node-inventory.yang index 61980d99d4..0f5cc71e8b 100644 --- a/opendaylight/md-sal/model/model-flow-service/src/main/yang/flow-node-inventory.yang +++ b/opendaylight/md-sal/model/model-flow-service/src/main/yang/flow-node-inventory.yang @@ -2,16 +2,72 @@ module flow-node-inventory { namespace "urn:opendaylight:flow:inventory"; prefix flownode; - import yang-ext {prefix ext;} - import ietf-inet-types {prefix inet;} - import ietf-yang-types {prefix yang;} - import opendaylight-port-types {prefix port;} - import opendaylight-inventory {prefix inv;} + import yang-ext {prefix ext; revision-date "2013-07-09";} + import ietf-inet-types {prefix inet; revision-date "2010-09-24";} + import ietf-yang-types {prefix yang; revision-date "2010-09-24";} + import opendaylight-port-types {prefix port;revision-date "2013-09-25";} + import opendaylight-inventory {prefix inv;revision-date "2013-08-19";} + import opendaylight-table-types {prefix table;revision-date "2013-10-26";} + import opendaylight-flow-types {prefix flow;revision-date "2013-10-26";} + import opendaylight-group-types {prefix group;revision-date "2013-10-18";} + import opendaylight-meter-types {prefix meter;revision-date "2013-09-18";} revision "2013-08-19" { - description "Flow Capable Node extensions to the nventory model"; + description "Flow Capable Node extensions to the Inventory model"; } + identity feature-capability { + } + + identity flow-feature-capability-flow-stats { + description "Flow statistics"; + base feature-capability; + } + + identity flow-feature-capability-table-stats { + description "Table statistics"; + base feature-capability; + } + + identity flow-feature-capability-port-stats { + description "Port statistics"; + base feature-capability; + } + + identity flow-feature-capability-stp { + description "802.1d spanning tree"; + base feature-capability; + } + + identity flow-feature-capability-reserved { + description "Reserved, must be zero"; + base feature-capability; + } + + identity flow-feature-capability-ip-reasm { + description "Can reassemble IP fragments"; + base feature-capability; + } + + identity flow-feature-capability-queue-stats { + description "Queue statistics"; + base feature-capability; + } + + identity flow-feature-capability-arp-match-ip { + description "Match IP addresses in ARP pkts"; + base feature-capability; + } + + identity flow-feature-capability-group-stats { + description "Group statistics"; + base feature-capability; + } + + identity flow-feature-capability-port-blocked { + description "Switch will block looping ports"; + base feature-capability; + } grouping feature { leaf support-state { @@ -35,11 +91,40 @@ module flow-node-inventory { } } - grouping table { - - + typedef flow-id { + type inet:uri; } + grouping tables { + list table { + key "id"; + + leaf id { + type uint8; + } + + uses table:table-features; + + list flow { + key "id"; + + leaf id { + type flow-id; + } + + uses flow:flow; + } + } + } + + grouping meters { + list meter { + key "meter-id"; + uses meter:meter; + } + } + + grouping flow-node { leaf manufacturer { @@ -58,16 +143,10 @@ module flow-node-inventory { type string; } - container tables { - uses feature; - list table { - uses table; - } - } - - container group-tables { - uses feature; - } + uses tables; + uses group:groups; + uses meters; + // TODO: ports container supported-match-types { list match-type { @@ -97,6 +176,24 @@ module flow-node-inventory { } } } + + container switch-features { + + leaf max_buffers { + type uint32; + } + + leaf max_tables { + type uint8; + } + + leaf-list capabilities { + type identityref { + base feature-capability; + } + } + + } } grouping flow-node-connector { @@ -124,9 +221,10 @@ module flow-node-inventory { ext:augment-identifier "flow-capable-node-connector-update-fields"; uses flow-node-connector; } - + augment "/inv:node-connector-updated" { ext:augment-identifier "flow-capable-node-connector-updated"; uses flow-node-connector; } + } \ No newline at end of file