Bug 3831 - add stt interface type to model
[ovsdb.git] / southbound / southbound-api / src / main / yang / ovsdb.yang
index 36b0873424ee1f3d53f52aa7dc4a61f7fd873715..18b2452267776bd3473b58a0cea6ee05d3082583 100755 (executable)
@@ -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";
@@ -150,6 +154,9 @@ module ovsdb {
                 description "The unique identifier of the controller";
                 type yang:uuid;
             }
+            leaf is-connected {
+                type boolean;
+            }
 
         }
 
@@ -183,7 +190,22 @@ module ovsdb {
         }
 
         list bridge-external-ids {
-            description "Bridge external id";
+            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";
@@ -198,7 +220,96 @@ module ovsdb {
         }
 
         list bridge-other-configs {
-            description "Other config attributes for Bridges";
+            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";
@@ -212,10 +323,38 @@ module ovsdb {
 
     }
 
+    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 "";
+        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;
         }
 
@@ -247,7 +386,19 @@ module ovsdb {
         }
 
         list openvswitch-external-ids {
-            description "Open_vSwitch table 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";
@@ -262,7 +413,50 @@ module ovsdb {
         }
 
         list openvswitch-other-configs {
-            description "Open_vSwitch table 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";
@@ -355,6 +549,11 @@ module ovsdb {
         base interface-type-base;
     }
 
+    identity interface-type-stt {
+        description "Interface type for stt interfaces";
+        base interface-type-base;
+    }
+
     grouping ovsdb-port-interface-attributes {
         leaf port-uuid {
             description "The unique identifier of the OVSDB port";
@@ -441,8 +640,158 @@ module ovsdb {
             }
         }
 
+        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";
+            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";
@@ -457,7 +806,35 @@ module ovsdb {
         }
 
         list interface-external-ids {
-            description "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";