X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-impl%2Fsrc%2Fmain%2Fyang%2Fopenflow-switch-connection-provider-impl.yang;h=2f80d9576d510551787157ba4b5141b884ac088d;hb=07de1ed897da9d7dc70c6d550f38c59339ed751e;hp=dbc48866b02d1aed551d2382111d84122ed56939;hpb=0068c8a3d6c870a24f16a53fc64a0eed4b1367a9;p=openflowjava.git diff --git a/openflow-protocol-impl/src/main/yang/openflow-switch-connection-provider-impl.yang b/openflow-protocol-impl/src/main/yang/openflow-switch-connection-provider-impl.yang index dbc48866..2f80d957 100644 --- a/openflow-protocol-impl/src/main/yang/openflow-switch-connection-provider-impl.yang +++ b/openflow-protocol-impl/src/main/yang/openflow-switch-connection-provider-impl.yang @@ -7,6 +7,7 @@ module openflow-switch-connection-provider-impl { import openflow-switch-connection-provider {prefix openflow-switch-connection-provider; revision-date 2014-03-28; } import ietf-inet-types {prefix ietf-inet; revision-date 2010-09-24; } import openflow-configuration {prefix of-config; revision-date 2014-06-30; } + import rpc-context { prefix rpcx; revision-date 2013-06-17; } description "openflow-switch-connection-provider"; @@ -22,6 +23,13 @@ module openflow-switch-connection-provider-impl { config:java-name-prefix SwitchConnectionProvider; } + identity statistics-collection-service-impl { + description + "This is the definition of statistics collection module identity."; + base config:module-type; + config:provided-service openflow-switch-connection-provider:statistics-collection-service; + config:java-name-prefix StatisticsCollection; + } augment "/config:modules/config:module/config:configuration" { case openflow-switch-connection-provider-impl { @@ -36,6 +44,11 @@ module openflow-switch-connection-provider-impl { description "address of local listening interface"; type ietf-inet:ip-address; } + leaf transport-protocol { + description "Transport protocol used for communication."; + type of-config:transport-protocol; + mandatory true; + } leaf switch-idle-timeout { description "idle timeout in [ms]"; type uint32; @@ -88,5 +101,81 @@ module openflow-switch-connection-provider-impl { } } } + + case statistics-collection-service-impl { + when "/config:modules/config:module/config:type = 'statistics-collection-service-impl'"; + + container statistics { + leaf statistics-collect { + description "Toggle statistics collecting"; + type boolean; + } + leaf log-report-delay { + description "Delay between statistics logs"; + type uint16; + } + } + list openflow-switch-connection-provider { + uses config:service-ref { + refine type { + mandatory true; + config:required-identity openflow-switch-connection-provider:openflow-switch-connection-provider; + } + } + } + } + } + + augment "/config:modules/config:module/config:state" { + case statistics-collection-service-impl { + when "/config:modules/config:module/config:type = 'statistics-collection-service-impl'"; + + description + "MXBean designed for Message Statistic providing to JConsole."; + + leaf msgStatistics { + type string; + } + + rpcx:rpc-context-instance "print-ofjava-statistics-rpc"; + rpcx:rpc-context-instance "reset-ofjava-statistics-rpc"; + } + } + + identity print-ofjava-statistics-rpc; + identity reset-ofjava-statistics-rpc; + + rpc print-ofjava-statistics { + description + "Shortcut JMX call to printOfjavaStatistics."; + input { + uses rpcx:rpc-context-ref { + refine context-instance { + rpcx:rpc-context-instance print-ofjava-statistics-rpc; + } + } + } + output { + leaf result { + type string; + } + } + } + + rpc reset-ofjava-statistics { + description + "Shortcut JMX call to resetOfjavaStatistics."; + input { + uses rpcx:rpc-context-ref { + refine context-instance { + rpcx:rpc-context-instance reset-ofjava-statistics-rpc; + } + } + } + output { + leaf result { + type string; + } + } } } \ No newline at end of file