<column name="ovs_version">
The Open vSwitch version number, e.g. <code>1.1.0</code>.
- If Open vSwitch was configured with a build number, then it is
- also included, e.g. <code>1.1.0+build6579</code>.
</column>
<column name="db_version">
any defined controllers forever.</dd>
</dl>
</p>
- <p>If this value is unset, the default is implementation-specific.</p>
+ <p>
+ The default is <code>standalone</code> if the value is unset, but
+ future versions of Open vSwitch may change the default.
+ </p>
+ <p>
+ The <code>standalone</code> mode can create forwarding loops on a
+ bridge that has more than one uplink port unless STP is enabled. To
+ avoid loops on such a bridge, configure <code>secure</code> mode or
+ enable STP (see <ref column="stp_enable"/>).
+ </p>
<p>When more than one controller is configured,
<ref column="fail_mode"/> is considered only when none of the
configured controllers can be contacted.</p>
numerically lower priority.
</column>
- <column name="other_config" key="lacp-time">
+ <column name="other_config" key="lacp-time"
+ type='{"type": "string", "enum": ["set", ["fast", "slow"]]}'>
<p>
The LACP timing which should be used on this <ref table="Port"/>.
- Possible values are <code>fast</code>, <code>slow</code> and a
- positive number of milliseconds. By default <code>slow</code> is
- used. When configured to be <code>fast</code> LACP heartbeats are
- requested at a rate of once per second causing connectivity
- problems to be detected more quickly. In <code>slow</code> mode,
- heartbeats are requested at a rate of once every 30 seconds.
+ By default <code>slow</code> is used. When configured to be
+ <code>fast</code> LACP heartbeats are requested at a rate of once
+ per second causing connectivity problems to be detected more
+ quickly. In <code>slow</code> mode, heartbeats are requested at a
+ rate of once every 30 seconds.
</p>
-
- <p>
- Users may manually set a heartbeat transmission rate to increase
- the fault detection speed further. When manually set, OVS expects
- the partner switch to be configured with the same transmission
- rate. Manually setting <code>lacp-time</code> to something other
- than <code>fast</code> or <code>slow</code> is not supported by the
- LACP specification.
- </p>
- </column>
-
- <column name="other_config" key="lacp-heartbeat"
- type='{"type": "boolean"}'>
- Treat LACP like a simple heartbeat protocol for link state
- monitoring. Most features of the LACP protocol are disabled
- when this mode is in use. The default if not specified is
- <code>false</code>.
</column>
</group>
an <code>ovs-appctl</code> command.
</column>
+ <column name="cfm_fault_status" key="interval">
+ Indicates a CFM fault was triggered due to the reception of a CCM
+ frame having an invalid interval.
+ </column>
+
+ <column name="cfm_fault_status" key="sequence">
+ Indicates a CFM fault was triggered because the CFM module received
+ a CCM frame with a sequence number that it was not expecting.
+ </column>
+
+ <column name="cfm_health">
+ <p>
+ Indicates the health of the interface as a percentage of CCM frames
+ received over 21 <ref column="other_config" key="cfm_interval"/>s.
+ The health of an interface is undefined if it is communicating with
+ more than one <ref column="cfm_remote_mpids"/>. It reduces if
+ healthy heartbeats are not received at the expected rate, and
+ gradually improves as healthy heartbeats are received at the desired
+ rate. Every 21 <ref column="other_config" key="cfm_interval"/>s, the
+ health of the interface is refreshed.
+ </p>
+ <p>
+ As mentioned above, the faults can be triggered for several reasons.
+ The link health will deteriorate even if heartbeats are received but
+ they are reported to be unhealthy. An unhealthy heartbeat in this
+ context is a heartbeat for which either some fault is set or is out
+ of sequence. The interface health can be 100 only on receiving
+ healthy heartbeats at the desired rate.
+ </p>
+ </column>
+
<column name="cfm_remote_mpids">
When CFM is properly configured, Open vSwitch will occasionally
receive CCM broadcasts. These broadcasts contain the MPID of the
<column name="other_config" key="cfm_interval"
type='{"type": "integer"}'>
- The interval, in milliseconds, between transmissions of CFM heartbeats.
- Three missed heartbeat receptions indicate a connectivity fault.
- Defaults to 1000.
+ <p>
+ The interval, in milliseconds, between transmissions of CFM
+ heartbeats. Three missed heartbeat receptions indicate a
+ connectivity fault.
+ </p>
+
+ <p>
+ In standard operation only intervals of 3, 10, 100, 1,000, 10,000,
+ 60,000, or 600,000 ms are supported. Other values will be rounded
+ down to the nearest value on the list. Extended mode (see <ref
+ column="other_config" key="cfm_extended"/>) supports any interval up
+ to 65,535 ms. In either mode, the default is 1000 ms.
+ </p>
+
+ <p>We do not recommend using intervals less than 100 ms.</p>
</column>
<column name="other_config" key="cfm_extended"
<column name="other_config" key="cfm_ccm_vlan"
type='{"type": "integer", "minInteger": 1, "maxInteger": 4095}'>
When set, the CFM module will apply a VLAN tag to all CCMs it generates
- with the given value.
+ with the given value. May be the string <code>random</code> in which
+ case each CCM will be tagged with a different randomly generated VLAN.
</column>
<column name="other_config" key="cfm_ccm_pcp"
commonly be the same as <ref column="external_ids" key="xs-vif-uuid"/>.
</column>
+ <column name="external_ids" key="iface-status"
+ type='{"type": "string",
+ "enum": ["set", ["active", "inactive"]]}'>
+ <p>
+ Hypervisors may sometimes have more than one interface associated
+ with a given <ref column="external_ids" key="iface-id"/>, only one of
+ which is actually in use at a given time. For example, in some
+ circumstances XenServer has both a ``tap'' and a ``vif'' interface
+ for a single <ref column="external_ids" key="iface-id"/>, but only
+ uses one of them at a time. A hypervisor that behaves this way must
+ mark the currently in use interface <code>active</code> and the
+ others <code>inactive</code>. A hypervisor that never has more than
+ one interface for a given <ref column="external_ids" key="iface-id"/>
+ may mark that interface <code>active</code> or omit <ref
+ column="external_ids" key="iface-status"/> entirely.
+ </p>
+
+ <p>
+ During VM migration, a given <ref column="external_ids"
+ key="iface-id"/> might transiently be marked <code>active</code> on
+ two different hypervisors. That is, <code>active</code> means that
+ this <ref column="external_ids" key="iface-id"/> is the active
+ instance within a single hypervisor, not in a broader scope.
+ </p>
+ </column>
+
<column name="external_ids" key="xs-vif-uuid">
The virtual interface associated with this interface.
</column>
The virtual network to which this interface is attached.
</column>
+ <column name="external_ids" key="vm-id">
+ The VM to which this interface belongs. On XenServer, this will be the
+ same as <ref column="external_ids" key="xs-vm-uuid"/>.
+ </column>
+
<column name="external_ids" key="xs-vm-uuid">
The VM to which this interface belongs.
</column>
VLAN splinters increase kernel and userspace memory overhead, so do
not use them unless they are needed.
</p>
+
+ <p>
+ VLAN splinters do not support 802.1p priority tags. Received
+ priorities will appear to be 0, regardless of their actual values,
+ and priorities on transmitted packets will also be cleared to 0.
+ </p>
</column>
</group>
supported range of queue numbers depend on <ref column="type"/>. The
queue numbers are the same as the <code>queue_id</code> used in
OpenFlow in <code>struct ofp_action_enqueue</code> and other
- structures. Queue 0 is used by OpenFlow output actions that do not
- specify a specific queue.</p>
+ structures.</p>
+
+ <p>
+ Queue 0 is the ``default queue.'' It is used by OpenFlow output
+ actions when no specific queue has been set. When no configuration for
+ queue 0 is present, it is automatically configured as if a <ref
+ table="Queue"/> record with empty <ref table="Queue" column="dscp"/>
+ and <ref table="Queue" column="other_config"/> columns had been
+ specified.
+ (Before version 1.6, Open vSwitch would leave queue 0 unconfigured in
+ this case. With some queuing disciplines, this dropped all packets
+ destined for the default queue.)
+ </p>
</column>
<group title="Configuration for linux-htb and linux-hfsc">
</column>
</group>
+ <group title="Connection Parameters">
+ <p>
+ Additional configuration for a connection between the controller
+ and the Open vSwitch.
+ </p>
+
+ <column name="other_config" key="dscp"
+ type='{"type": "integer"}'>
+ The Differentiated Service Code Point (DSCP) is specified using 6 bits
+ in the Type of Service (TOS) field in the IP header. DSCP provides a
+ mechanism to classify the network traffic and provide Quality of
+ Service (QoS) on IP networks.
+
+ The DSCP value specified here is used when establishing the connection
+ between the controller and the Open vSwitch. The connection must be
+ reset for the new DSCP values to take effect. If no value is
+ specified, a default value of 48 is chosen. Valid DSCP values must be
+ in the range 0 to 63.
+ </column>
+ </group>
+
+
<group title="Common Columns">
The overall purpose of these columns is described under <code>Common
Columns</code> at the beginning of this document.
<column name="external_ids"/>
+ <column name="other_config"/>
</group>
</table>
</column>
</group>
+ <group title="Connection Parameters">
+ <p>
+ Additional configuration for a connection between the manager
+ and the Open vSwitch Database.
+ </p>
+
+ <column name="other_config" key="dscp"
+ type='{"type": "integer"}'>
+ The Differentiated Service Code Point (DSCP) is specified using 6 bits
+ in the Type of Service (TOS) field in the IP header. DSCP provides a
+ mechanism to classify the network traffic and provide Quality of
+ Service (QoS) on IP networks.
+
+ The DSCP value specified here is used when establishing the connection
+ between the manager and the Open vSwitch. The connection must be
+ reset for the new DSCP values to take effect. If no value is
+ specified, a default value of 48 is chosen. Valid DSCP values must be
+ in the range 0 to 63.
+ </column>
+ </group>
+
<group title="Common Columns">
The overall purpose of these columns is described under <code>Common
Columns</code> at the beginning of this document.
<column name="external_ids"/>
+ <column name="other_config"/>
</group>
</table>