module openflow-provider-config { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:openflow:provider:config"; prefix "openflow-provider-config"; description "Configuration for an Openflow provider."; revision "2016-05-10" { description "Initial revision"; } typedef non-zero-uint32-type { type uint32 { range "1..max"; } } typedef non-zero-uint16-type { type uint16 { range "1..max"; } } container openflow-provider-config { leaf rpc-requests-quota { description "Quota for maximum number of RPC requests"; type non-zero-uint16-type; default 20000; } leaf switch-features-mandatory { description "This parameter indicates whether it is mandatory for switch to support OF1.3 features : table, flow, meter,group. If this is set to true and switch doesn't support these features its connection will be denied."; type boolean; default false; } leaf global-notification-quota { description "Global notification quota"; type uint32; default 64000; } leaf is-statistics-polling-on { description "If enabled, periodic statistics gathering will be turned on. If false takes precedence over the per-capability configuration."; type boolean; default "true"; } leaf is-table-statistics-polling-on { description "If enabled, periodic table statistics gathering will be turned on"; type boolean; default "true"; } leaf is-flow-statistics-polling-on { description "If enabled, periodic flow statistics gathering will be turned on"; type boolean; default "true"; } leaf is-group-statistics-polling-on { description "If enabled, periodic group statistics gathering will be turned on"; type boolean; default "true"; } leaf is-meter-statistics-polling-on { description "If enabled, periodic meter statistics gathering will be turned on"; type boolean; default "true"; } leaf is-port-statistics-polling-on { description "If enabled, periodic port statistics gathering will be turned on"; type boolean; default "true"; } leaf is-queue-statistics-polling-on { description "If enabled, periodic queue statistics gathering will be turned on"; type boolean; default "true"; } leaf is-statistics-rpc-enabled { status deprecated; description "Expose backward compatible statistics rpcs providing result in form of async notification. This is deprecated, use direct statistics instead."; type boolean; default "false"; } leaf barrier-interval-timeout-limit { description "Barrier timeout"; type non-zero-uint32-type; default 500; } leaf barrier-count-limit { description "Barrier limit"; type non-zero-uint16-type; default 25600; } leaf echo-reply-timeout { description "How long we should wait for echo reply (value is in milliseconds"; type non-zero-uint32-type; default 2000; } leaf thread-pool-min-threads { description "Mininum (starting) number of threads in thread pool"; type uint16; default 1; } leaf thread-pool-max-threads { description "Maximum number of threads in thread pool"; type non-zero-uint16-type; default 32000; } leaf thread-pool-timeout { description "After how much time (in seconds) of inactivity will be threads in pool terminated"; type uint32; default 60; } leaf enable-flow-removed-notification { description "Turning on flow removed notification"; type boolean; default "true"; } leaf skip-table-features { description "Ability to skip pulling and storing of large table features. These features are still available via rpc but if set to true then maintenance in DS will be omitted"; type boolean; default "true"; } leaf basic-timer-delay { description "Initial delay used in polling the statistics, value is in milliseconds"; type non-zero-uint32-type; default 3000; } leaf maximum-timer-delay { description "Maximum timer delay is the wait time to collect next statistics used in polling the statistics, value is in milliseconds"; type non-zero-uint32-type; default 900000; } leaf use-single-layer-serialization { description "When true, Yang models are serialized and deserialized directly to and from format supported by device, so serialization and deserialization is faster. Otherwise, models are first serialized to Openflow specification models and then to format supported by device, and reversed when deserializing."; type boolean; default "true"; } leaf enable-equal-role { description "When true, openflowplugin won't send any specific role request down to the switch after plugin internally decides the ownership of the device using Entity Ownership Service. In this scenario, controller connection for the device will be in equal role. The behavior will be same for single node setup and clustered setup. In clustered scenario, all the controller will be in equal role for the device. In this case device will send all asynchronous event messages (e.g packet_in) to all the controllers, but openflowplugin will drop these events for the controller instances that is internally not owning the device."; type boolean; default "false"; } leaf device-connection-rate-limit-per-min { description "To limit the number of datapath nodes connecting to odl controller instance per minute. Default value 0 indicates that the device connection rate limiter will be disabled."; type uint16; default 0; } leaf device-connection-hold-time-in-seconds { description "device connection hold time is the least time delay in seconds a device has to maintain between its consecutive connection attempts. If time delay between the previous connection and the current connection is within device connection hold time, the device will not be allowed to connect to the controller. Default value of the device connection hold time is 0 second."; type uint16; default 0; } leaf device-datastore-removal-delay { description "Delay (in milliseconds) before device is removed from the operational data store in the event of device disconnection from the controller."; type non-zero-uint32-type; default 500; } } }