X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=southbound%2Fsouthbound-api%2Fsrc%2Fmain%2Fyang%2Fovsdb.yang;h=9d8b8a2ed5efb7534761cacc3093c6ff69a7653f;hb=91646badd0f066087774599e9cc002e9ff23bcdd;hp=bdfd953b24bd98cc86b404e2bc648a4af96ca05f;hpb=3bd4b5b9857e47b7637fe62e397987947a7a5a09;p=ovsdb.git diff --git a/southbound/southbound-api/src/main/yang/ovsdb.yang b/southbound/southbound-api/src/main/yang/ovsdb.yang index bdfd953b2..9d8b8a2ed 100755 --- a/southbound/southbound-api/src/main/yang/ovsdb.yang +++ b/southbound/southbound-api/src/main/yang/ovsdb.yang @@ -5,7 +5,7 @@ module ovsdb { import network-topology {prefix "topo"; revision-date "2013-10-21"; } import yang-ext { prefix "ext"; } - import ietf-inet-types { prefix inet; } + import ietf-inet-types { prefix inet; revision-date 2010-09-24; } import overlay { prefix overlay; } import ietf-yang-types { prefix yang; revision-date "2013-07-15";} import opendaylight-l2-types { prefix ethertype; revision-date "2013-08-27";} @@ -124,6 +124,10 @@ module ovsdb { description "The unique identifier of the bridge"; type yang:uuid; } + leaf bridge-openflow-node-ref { + description "A reference to the openflow node"; + type instance-identifier; + } leaf bridge-name { description "The name of the bridge"; @@ -146,6 +150,14 @@ module ovsdb { description "Uri telling bridge how to connect to controller"; type inet:uri; } + leaf controller-uuid { + description "The unique identifier of the controller"; + type yang:uuid; + } + leaf is-connected { + type boolean; + } + } leaf datapath-id { @@ -176,12 +188,176 @@ module ovsdb { description "The OVSDB which this bridge belongs to"; type ovsdb-node-ref; } + + list bridge-external-ids { + description + "Key-value pairs for use by external frameworks that integrate + with Open vSwitch. + + external_ids : bridge-id: optional string + + A unique identifier of the bridge. On Citrix XenServer this + will commonly be the same as external_ids:xs-network-uuids. + + external_ids : xs-network-uuids: optional string + + Semicolon-delimited set of universally unique identifier(s) + for the network with which this bridge is associated on a + Citrix XenServer host. The network identifiers are RFC 4122 + UUIDs as displayed by, e.g., xe network−list."; + + key "bridge-external-id-key"; + leaf bridge-external-id-key { + description "external-id name/key"; + type string; + mandatory true; + } + leaf bridge-external-id-value { + description "bridge-external-id value"; + type string; + mandatory true; + } + } + + list bridge-other-configs { + description + "Key-value pairs for configuring rarely used features. + + other_config : hwaddr: optional string + An Ethernet address in the form xx:xx:xx:xx:xx:xx to set the + hardware address of the local port and influence the datapath + ID. + + other_config : forward-bpdu: optional string + either true or false. Option to allow forwarding of BPDU frames when NORMAL + action is invoked. Frames with reserved Ethernet + addresses (e.g. STP BPDU) will be forwarded when this option + is enabled and the switch is not providing that functionality. + + other_config : mac-aging-time: optional string + containing an integer, at least 1 The maximum number of seconds to retain a + MAC learning entry for which no packets have been seen. The + default is currently 300 seconds (5 minutes). The value, if + specified, is forced into a reasonable range, currently 15 + to 3600 seconds. + + other_config : mac-table-size: optional string + containing an integer, at least 1 The maximum number of MAC addresses to + learn. The default is currently 2048. The value, if + specified, is forced into a reasonable range, currently 10 + to 1,000,000. + + other_config : datapath-id: optional string + Exactly 16 hex digits to set the OpenFlow datapath ID to a + specific value. May not be all-zero. + + other_config : dp-desc: optional string + Human readable description of datapath. It it a maximum + 256 byte-long free-form string to describe the datapath for + debugging purposes. + + other_config : disable-in-band: optional string + either true or false + If set to true, disable in-band control on the bridge + regardless of controller and manager settings. + + other_config : in-band-queue: optional string + containing an integer, in range 0 to 4,294,967,295 A queue ID as a + nonnegative integer. + + other_config : stp-system-id: optional string + The bridge’s STP identifier (the lower 48 bits of the + bridge-id) in the form xx:xx:xx:xx:xx:xx. By default, the + identifier is the MAC address of the bridge. + + other_config : stp-priority: optional string + containing an integer, in range 0 to 65,535 The bridge’s relative priority + value for determining the root bridge (the upper 16 bits of + the bridgeid). A bridge with the lowest bridge-id is elected + the root. By default, the priority is 0x8000. + + other_config : stp-hello-time: optional string + containing an integer, in range 1 to 10 The interval between transmissions + of hello messages by designated ports, in seconds. By default + the hello interval is 2 seconds. + + other_config : stp-max-age: optional string + containing an integer, in range 6 to 40 The maximum age of the information + transmitted by the bridge when it is the root bridge, in + seconds. By default, the maximum age is 20 seconds. + + other_config : stp-forward-delay: optional string + containing an integer, in range 4 to 30 The delay to wait between + transitioning root and designated ports to forwarding, in + seconds. By default, the forwarding delay is 15 seconds. + + other_config : mcast-snooping-aging-time: optional string, + containing an integer, at least 1 The maximum number of + seconds to retain a multicast snooping entry for which no + packets have been seen. The default is currently 300 + seconds (5 minutes). The value, if specified, is forced into + a reasonable range, currently 15 to 3600 seconds. + + other_config : mcast-snooping-table-size: optional string, + containing an integer, at least 1 The maximum number of + multicast snooping addresses to learn. The default is + currently 2048. The value, if specified, is forced into a + reasonable range, currently 10 to 1,000,000. + + other_config : mcast-snooping-disable-flood-unregistered: + optional string, either true or false If set to false, + unregistered multicast packets are forwarded to all ports. + If set to true, unregistered multicast packets are forwarded + to ports connected to multicast routers."; + + key "bridge-other-config-key"; + leaf bridge-other-config-key { + description "bridge-other-config name/key"; + type string; + } + leaf bridge-other-config-value { + description "bridge-other-config value"; + type string; + } + } + + } + + grouping ovsdb-connection-info-attributes { + leaf remote-ip { + type inet:ip-address; + description "Ovsdb Connection Remote IP"; + } + leaf remote-port { + type inet:port-number; + description "Ovsdb Connection Remote Port Number"; + } + leaf local-ip { + type inet:ip-address; + description "Ovsdb Connection Local IP"; + } + leaf local-port { + type inet:port-number; + description "Ovsdb Connection Local Port Number IP"; + } } grouping ovsdb-node-attributes { - uses overlay:ip-port-locator; + description "Plugin will not allow multiple connections to the same device. + If an application attempts to make more than one connection to the device by + putting multiple entries in the config data store, then it is the responsibility + of the application to clean the config data store"; + container connection-info{ + uses ovsdb-connection-info-attributes; + } + + leaf db-version { + description "The database schema version"; + type string; + } leaf ovs-version { + description "The Open_vSwitch version number"; type string; } @@ -212,6 +388,235 @@ module ovsdb { } } + list openvswitch-external-ids { + description "Key-value pairs for use by external frameworks that integrate + with Open vSwitch. + + external_ids : system-id: optional string + A unique identifier for the Open vSwitch’s physical host. + The form of the identifier depends on the type of the host. + On a Citrix XenServer, this will likely be the same as + external_ids:xs-system-uuid. + + external_ids : xs-system-uuid: optional string + The Citrix XenServer universally unique identifier for the + physical host as displayed by xe-host−list."; + + key "external-id-key"; + leaf external-id-key { + description "external-id name/key"; + type string; + mandatory true; + } + leaf external-id-value { + description "external-id value"; + type string; + mandatory true; + } + } + + list openvswitch-other-configs { + description "Key-value pairs for configuring rarely used features. + + other_config : stats-update-interval: optional string + This option will affect the update of the statistics column + in the following tables: Port, Interface , Mirror. + + other_config : flow-restore-wait: optional string + either true or false When ovs−vswitchd starts up, it has an empty flow + table and therefore it handles all arriving packets in its + default fashion according to its configuration, by + dropping them or sending them to an OpenFlow controller or + switching them as a standalone switch. + + other_config : flow-limit: optional string + containing an integer, at least 0. The maximum number of flows allowed in + the datapath flow table. + + other_config : n-dpdk-rxqs: optional string + containing an integer, at least 1 Specifies the number of rx queues to be + created for each dpdk interface. If not specified or + specified to 0, one rx queue will be created for each dpdk + interface by default. + + other_config : pmd-cpu-mask: optional string + Specifies CPU mask for setting the cpu affinity of + PMD (Poll Mode Driver) threads. Value should be in the form + of hex string, similar to the dpdk EAL ’-c COREMASK’ option + input or the ’taskset’ mask input. + + other_config : n-handler-threads: optional string + containing an integer, at least 1 Specifies the number of threads for + software datapaths to use for handling new flows. The default + the number of online CPU cores minus the number of + revalidators. + + other_config : n-revalidator-threads: optional string, + containing an integer, at least 1 Specifies the number of + threads for software datapaths to use for revalidating flows + in the datapath. + + other_config : enable-statistics: optional string + either ture or false. Set this value to true to enable populating the + statistics column or to false to explicitly disable it."; + + key "other-config-key"; + leaf other-config-key { + description "other-config name/key"; + type string; + } + leaf other-config-value { + description "other-config value"; + type string; + } + } + + list manager-entry { + description "Node managers info"; + config false; + key "target"; + leaf target { + description "Uri that user set to connect to the controller"; + type inet:uri; + } + leaf connected { + type boolean; + } + leaf number_of_connections { + type uint32; + } + } + + list qos-entries { + key "qos-id"; + leaf qos-id { + description "An identifier used for QoS entries in the MD-SAL."; + type inet:uri; + } + leaf qos-uuid { + description "The unique identifier of the QoS."; + type yang:uuid; + } + leaf qos-type { + type identityref { + base qos-type-base; + } + } + list queue-list { + description "The list of queues used by the QoS"; + key "queue-number"; + leaf queue-number { + description "The queue number of the record in the QoS entry"; + type uint32; + } + leaf queue-uuid { + description "The unique identifier of the queue record."; + type yang:uuid; + } + } + list qos-external-ids { + key "qos-external-id-key"; + leaf qos-external-id-key { + description "qos external-id name/key"; + type string; + mandatory true; + } + leaf qos-external-id-value { + description "qos-external-id value"; + type string; + mandatory true; + } + } + list qos-other-config { + description " + other_config : max-rate + optional string, containing an integer."; + + key "other-config-key"; + leaf other-config-key { + description "qos-other-config name/key"; + type string; + } + leaf other-config-value { + description "qos-other-config value"; + type string; + } + } + } + + list queues { + key "queue-id"; + leaf queue-id { + description "An identifier used for Queue entries in the MD-SAL."; + type inet:uri; + } + leaf queue-uuid { + description "The unique identifier of the queue."; + type yang:uuid; + } + leaf dscp { + type uint8; + } + list queues-external-ids { + key "queues-external-id-key"; + leaf queues-external-id-key { + description "queues external-id name/key"; + type string; + mandatory true; + } + leaf queues-external-id-value { + description "queues-external-id value"; + type string; + mandatory true; + } + } + list queues-other-config { + description " + Configuration for linux-htb QoS: + + other_config : min-rate optional string + containing an integer, at least 1. + Minimum guaranteed bandwidth, in bit/s. + + other_config : max-rate optional string + containing an integer, at least 1. + Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue’s rate will not be allowed + to exceed the specified value, even if excess bandwidth is available. If unspecified, defaults to no + limit. + + other_config : burst optional string + containing an integer, at least 1. + Burst size, in bits. This is the maximum amount of ‘‘credits’’ that a queue can accumulate while it + is idle. Optional. Details of the linux−htb implementation require a minimum burst size, so a + too-small burst will be silently ignored. + + other_config : priority optional string. + containing an integer, in range 0 to 4,294,967,295. + A queue with a smaller priority will receive all the excess bandwidth that it can use before a + queue with a larger value receives any. Specific priority values are unimportant; only relative + ordering matters. Defaults to 0 if unspecified. + + Configuration for linux-htb QoS: + + other_config : min-rate optional string + containing an integer, at least 1. + Minimum guaranteed bandwidth, in bit/s. + + other_config : max-rate optional string + containing an integer, at least 1. + Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue’s rate will not be allowed + to exceed the specified value, even if excess bandwidth is available. If unspecified, defaults to no + limit.."; + + key "queue-other-config-key"; + leaf queue-other-config-key { + type string; + } + leaf queue-other-config-value { + type string; + } + } + } } identity interface-type-base { @@ -288,6 +693,30 @@ module ovsdb { base interface-type-base; } + identity interface-type-dpdkvhostuser { + description "Interface type for dpdkvhostuser interfaces"; + base interface-type-base; + } + + identity interface-type-stt { + description "Interface type for stt interfaces"; + base interface-type-base; + } + + identity qos-type-base { + description "the base identity for qos"; + } + + identity qos-type-linux-htb { + description "linux hierarchy token bucket classifier"; + base qos-type-base; + } + + identity qos-type-linux-hfsc { + description "linux hierarchical fair service curve classifier"; + base qos-type-base; + } + grouping ovsdb-port-interface-attributes { leaf port-uuid { description "The unique identifier of the OVSDB port"; @@ -304,11 +733,6 @@ module ovsdb { type string; } - leaf bridge-name { - description "Create termination point on this bridge"; - type string; - } - leaf interface-type { description "The type of the OVSDB interface"; type identityref { @@ -331,7 +755,7 @@ module ovsdb { leaf ofport { description "Port/Interface related optional ofport"; - type uint16; + type uint32; } leaf ofport_request { @@ -341,11 +765,6 @@ module ovsdb { } } - leaf attached-to { - description "Reference to the bridge where terminiation point is attached."; - type ovsdb-bridge-ref; - } - leaf vlan-tag { description "The VLAN tag of the termination point."; type ethertype:vlan-id; @@ -357,6 +776,265 @@ module ovsdb { type ethertype:vlan-id; } } + + leaf vlan-mode { + description "The VLAN mode of the termination point."; + type enumeration { + enum "access" { + value 1; + description + "The VLAN mode access."; + } + enum "native-tagged" { + value 2; + description + "The VLAN mode native-tagged."; + } + enum "native-untagged" { + value 3; + description + "The VLAN mode native-untagged."; + } + enum "trunk" { + value 4; + description + "The VLAN mode trunk."; + } + } + } + + list port-other-configs { + description "Other config attributes for Ports + + other_config : priority-tags: optional string + either true or false An 802.1Q header contains two important pieces of + information: a VLAN ID and a priority. + + other_config : bond-hash-basis: optional string + containing an integer An integer hashed along with flows when choosing output + slaves in load balanced bonds. When changed, all flows will be + assigned different hash values possibly causing slave selection + decisions to change. + + other_config : bond-detect-mode: optional string + either miimon or carrier The means used to detect link failures. Defaults to + carrier which uses each interface’s carrier to detect failures. + When set to miimon, will check for failures by polling each + interface’s MII. + + other_config : bond-miimon-interval: optional string + containing an integer The interval, in milliseconds, between successive + attempts to poll each interface’s MII. Relevant only when + other_config:bond-detect-mode is miimon + + other_config : lacp-system-id: optional string + The LACP system ID of this Port. The system ID of a LACP bond + is used to identify itself to its partners. Must be a nonzero + MAC address. Defaults to the bridge Ethernet address if unset. + + other_config : lacp-system-priority: optional string + containing an integer, in range 1 to 65,535 The LACP system priority of this + Port. In LACP negotiations, link status decisions are made by + the system with the numerically lower priority. + + other_config : lacp-time: optional string + either slow or fast. The LACP timing which should be used on this Port. By default + slow is used. When configured to be fast LACP heartbeats are + requested at a rate of once per second causing connectivity + problems to be detected more quickly. In slow mode, heartbeats + are requested at a rate of once every 30 seconds. + + other_config : lacp-fallback-ab: optional string + either true or false Determines the behavior of openvswitch bond in LACP mode. + If the partner switch does not support LACP, setting this + option to true allows openvswitch to fallback to active-backup. + If the option is set to false, the bond will be disabled. + In both the cases, once the partner switch is configured + to LACP mode, the bond will use LACP. + + other_config : bond-rebalance-interval: optional string, + containing an integer, in range 0 to 10,000 For a load + balanced bonded port, the number of milliseconds between + successive attempts to rebalance the bond, that is, to move + flows from one interface on the bond to another in an attempt + to keep usage of each interface roughly equal. If zero, load + balancing is disabled on the bond (link failure still cause + flows to move). If less than 1000ms, the rebalance interval + will be 1000ms. + + other_config : stp-enable: optional string + either true or false. If spanning tree is enabled on the bridge, member ports are + enabled by default (with the exception of bond, internal, and + mirror ports which do not work with STP). If this column’s + value is false spanning tree is disabled on the port. + + other_config : stp-port-num: optional string + containing an integer, in range 1 to 255 The port number used for the lower 8 + bits of the port-id. By default, the numbers will be assigned + automatically. If any port’s number is manually configured on + a bridge, then they must all be. + + other_config : stp-port-priority: optional string + containing an integer, in range 0 to 255 The port’s relative priority value + for determining the root port (the upper 8 bits of the port-id). + + other_config : stp-path-cost: optional string + containing an integer, in range 0 to 65,535 Spanning tree path cost for the + port. A lower number indicates a faster link. By default, the + cost is based on the maximum speed of the link. + + other_config : rstp-enable: optional string + either true or false + If rapid spanning tree is enabled on the bridge, member ports + are enabled by default (with the exception of bond, internal, + and mirror ports which do not work with RSTP). If this + column’s value is false rapid spanning tree is disabled on + the port. + + other_config : rstp-port-priority: optional string + containing an integer, in range 0 to 240 The port’s relative priority value + for determining the root port, in multiples of 16. By default, + the port priority is 0x80 (128). + + other_config : rstp-port-num: optional string + containing an integer, in range 1 to 4,095 The local RSTP port number, used + as the lower 12 bits of the port-id. + + other_config : rstp-port-path-cost: optional string + containing an integer The port path cost. The Port’s contribution, when it + is the Root Port, to the Root Path Cost for the Bridge. + + other_config : rstp-port-admin-edge: optional string + either true or false + + other_config : rstp-port-auto-edge: optional string + either true or false The auto edge port parameter for the Port. Default + is true. + + other_config : rstp-port-mcheck: optional string + either true or false The mcheck port parameter for the Port. Default is false. + + other_config : mcast-snooping-flood: optional string + either true or false If set to true, multicast packets are + unconditionally forwarded to the specific port"; + + key "other-config-key"; + leaf other-config-key { + description "port-other-config name/key"; + type string; + } + leaf other-config-value { + description "port-other-config value"; + type string; + } + } + + list interface-other-configs { + description "Other config attributes for Interfaces + + other_config : enable-vlan-splinters: optional string + either true or false. Set to true to enable VLAN splinters on this + interface. Defaults to false."; + + key "other-config-key"; + leaf other-config-key { + description "interface-other-config name/key"; + type string; + } + leaf other-config-value { + description "interface-other-config value"; + type string; + } + } + + list port-external-ids { + description "Port external ids + + external_ids : fake-bridge-id-*: optional string + External IDs for a fake bridge (see the fake_bridge column) are defined by + prefixing a Bridge external_ids key with + fake−bridge−, e.g. fake−bridge−xs−network−uuids."; + + key "external-id-key"; + leaf external-id-key { + description "external-id name/key"; + type string; + mandatory true; + } + leaf external-id-value { + description "external-id value"; + type string; + mandatory true; + } + } + + list interface-external-ids { + description "Interface external ids + + external_ids : attached-mac: optional string. + The MAC address programmed into the ‘‘virtual hardware’’ for this interface, in + the form xx:xx:xx:xx:xx:xx. For Citrix XenServer, this is the + value of the MAC field in the VIF record for this interface. + + external_ids : iface-id: optional string. + A system-unique identifier for the interface. On XenServer, this will commonly + be the same as external_ids:xs-vif-uuid. + + external_ids : iface-status: optional string + either active or inactive Hypervisors may sometimes have more than one interface + associated with a given external_ids:iface-id, only one of + which is actually in use at a given time. + + external_ids : xs-vif-uuid: optional string. + The virtual interface associated with this interface. + + external_ids : xs-network-uuid: optional string. + The virtual network to which this interface is attached. + + external_ids : vm-id: optional string. + The VM to which this interface belongs. On XenServer, this will be the same as + external_ids:xsvm-uuid. + + external_ids : xs-vm-uuid: optional string. + The VM to which this interface belongs"; + + key "external-id-key"; + leaf external-id-key { + description "external-id name/key"; + type string; + mandatory true; + } + leaf external-id-value { + description "external-id value"; + type string; + mandatory true; + } + } + + list interface-lldp { + description "Auto Attach configuration for a particular interface. + If LLDP is enabled on an interface, the interface processes received + LLDP packets and never passes them to OpenFlow or forwards them. + + lldp : enable: optional string, either true or false + True to enable LLDP on this Interface. If not specified, LLDP + will be disabled by default."; + + key "lldp-key"; + leaf lldp-key { + description "lldp name/key"; + type string; + } + leaf lldp-value { + description "lldp value"; + type string; + } + } + + leaf qos { + description "The unique identifier of the QoS entry for this port."; + type yang:uuid; + } } augment "/topo:network-topology/topo:topology/topo:node" {