<?xml version="1.0" encoding="utf-8"?>
<database title="Open vSwitch Configuration Database">
- <p>A database with this schema holds the configuration for one Open
- vSwitch daemon. The root of the configuration for the daemon is
- the <ref table="Open_vSwitch"/> table, which must have exactly one
+ <p>
+ A database with this schema holds the configuration for one Open
+ vSwitch daemon. The top-level configuration for the daemon is the
+ <ref table="Open_vSwitch"/> table, which must have exactly one
record. Records in other tables are significant only when they
- can be reached directly or indirectly from the
- <ref table="Open_vSwitch"/> table.</p>
+ can be reached directly or indirectly from the <ref
+ table="Open_vSwitch"/> table. Records that are not reachable from
+ the <ref table="Open_vSwitch"/> table are automatically deleted
+ from the database, except for records in a few distinguished
+ ``root set'' tables noted below.
+ </p>
<table name="Open_vSwitch" title="Open vSwitch configuration.">
- Configuration for an Open vSwitch daemon. There must be exactly one record
- in the <ref table="Open_vSwitch"/> table.
+ Configuration for an Open vSwitch daemon. There must be exactly
+ one record in the <ref table="Open_vSwitch"/> table.
<group title="Configuration">
<column name="bridges">
LACP negotiations, link status decisions are made by the system
with the numerically lower priority. Must be a number between 1
and 65535.</dd>
+ <dt><code>lacp-time</code></dt>
+ <dd> The LACP timing which should be used on this
+ <ref table="Port"/>. Possible values are <code>fast</code> and
+ <code>slow</code>. By default <code>slow</code> is used. When
+ configured to be <code>fast</code> more frequent LACP heartbeats
+ will be requested causing connectivity problems to be detected more
+ quickly.</dd>
</dl>
</column>
</group>
<column name="link_state">
<p>
- The observed state of the physical network link;
- i.e. whether a carrier is detected by the interface.
+ The observed state of the physical network link. This is ordinarily
+ the link's carrier status. If the interface's <ref table="Port"/> is
+ a bond configured for miimon monitoring, it is instead the network
+ link's miimon status.
</p>
</column>
column="type"/> of <code>linux-htb</code> are:</p>
<dl>
<dt><code>min-rate</code></dt>
- <dd>Minimum guaranteed bandwidth, in bit/s. Required.</dd>
+ <dd>Minimum guaranteed bandwidth, in bit/s.</dd>
<dt><code>max-rate</code></dt>
<dd>Maximum allowed bandwidth, in bit/s. Optional. If specified, the
queue's rate will not be allowed to exceed the specified value, even
column="type"/> of <code>linux-hfsc</code> are:</p>
<dl>
<dt><code>min-rate</code></dt>
- <dd>Minimum guaranteed bandwidth, in bit/s. Required.</dd>
+ <dd>Minimum guaranteed bandwidth, in bit/s.</dd>
<dt><code>max-rate</code></dt>
<dd>Maximum allowed bandwidth, in bit/s. Optional. If specified, the
queue's rate will not be allowed to exceed the specified value, even
</group>
<group title="Monitor Status">
- <column name="unexpected_remote_mpids">
- A set of MPIDs representing MPs to which this <ref table="Monitor"/>
- has detected connectivity that are not in the
- <ref column="remote_mps"/> set. This <ref table="Monitor"/> should not
- have connectivity to any MPs not listed in <ref column="remote_mps"/>.
- Thus, if this set is non-empty a fault is indicated.
- </column>
-
- <column name="unexpected_remote_maids">
- A set of MAIDs representing foreign Maintenance Associations (MAs)
- which this <ref table="Monitor"/> has detected connectivity to. A
- <ref table="Monitor"/> should not have connectivity to a Maintenance
- Association other than its own. Thus, if this set is non-empty a fault
- is indicated.
- </column>
-
<column name="fault">
Indicates a Connectivity Fault caused by a configuration error, a down
remote MP, or unexpected connectivity to a remote MAID or remote MP.
<dd>The specified TCP <var>port</var> (default: 6633) on the host at
the given <var>ip</var>, which must be expressed as an IP address
(not a DNS name).</dd>
- <dt><code>discover</code></dt>
- <dd>
- <p>Enables controller discovery.</p>
- <p>In controller discovery mode, Open vSwitch broadcasts a DHCP
- request with vendor class identifier <code>OpenFlow</code> across
- all of the bridge's network devices. It will accept any valid
- DHCP reply that has the same vendor class identifier and includes
- a vendor-specific option with code 1 whose contents are a string
- specifying the location of the controller in the same format as
- <ref column="target"/>.</p>
- <p>The DHCP reply may also, optionally, include a vendor-specific
- option with code 2 whose contents are a string specifying the URI
- to the base of the OpenFlow PKI
- (e.g. <code>http://192.168.0.1/openflow/pki</code>). This URI is
- used only for bootstrapping the OpenFlow PKI at initial switch
- setup; <code>ovs-vswitchd</code> does not use it at all.</p>
- </dd>
</dl>
<p>
The following connection methods are currently supported for service
</dd>
</dl>
- <p>If not specified, the default is implementation-specific. If
- <ref column="target"/> is <code>discover</code>, the connection mode
- is always treated as <code>in-band</code> regardless of the actual
- setting.</p>
+ <p>If not specified, the default is implementation-specific.</p>
</column>
</group>
</column>
</group>
- <group title="Additional Discovery Configuration">
- <p>These values are considered only when <ref column="target"/>
- is <code>discover</code>.</p>
-
- <column name="discover_accept_regex">
- A POSIX
- extended regular expression against which the discovered controller
- location is validated. The regular expression is implicitly
- anchored at the beginning of the controller location string, as
- if it begins with <code>^</code>. If not specified, the default
- is implementation-specific.
- </column>
-
- <column name="discover_update_resolv_conf">
- Whether to update <code>/etc/resolv.conf</code> when the
- controller is discovered. If not specified, the default
- is implementation-specific. Open vSwitch will only modify
- <code>/etc/resolv.conf</code> if the DHCP response that it receives
- specifies one or more DNS servers.
- </column>
- </group>
-
<group title="Additional In-Band Configuration">
<p>These values are considered only in in-band control mode (see
- <ref column="connection_mode"/>) and only when <ref column="target"/>
- is not <code>discover</code>. (For controller discovery, the network
- configuration obtained via DHCP is used instead.)</p>
+ <ref column="connection_mode"/>).</p>
<p>When multiple controllers are configured on a single bridge, there
should be only one set of unique values in these columns. If different
<dl>
<dt><code>other</code></dt>
<dd>Allows the controller access to all OpenFlow features.</dd>
- </dl>
- <dl>
<dt><code>master</code></dt>
<dd>Equivalent to <code>other</code>, except that there may be at
most one master controller at a time. When a controller configures
itself as <code>master</code>, any existing master is demoted to
the <code>slave</code>role.</dd>
- </dl>
- <dl>
<dt><code>slave</code></dt>
<dd>Allows the controller read-only access to OpenFlow features.
Attempts to modify the flow table will be rejected with an
<dd>A human-readable description of the last error on the connection
to the controller; i.e. <code>strerror(errno)</code>. This key
will exist only if an error has occurred.</dd>
- </dl>
- <dl>
<dt><code>state</code></dt>
<dd>The state of the connection to the controller. Possible values
- are: <code>VOID</code>, <code>BACKOFF</code>,
- <code>CONNECTING</code>, <code>ACTIVE</code>, and
- <code>IDLE</code>.</dd>
- </dl>
- <dl>
- <dt><code>time_in_state</code></dt>
- <dd>Seconds since connecting to (if currently connected) or
- disconnecting from (if currently disconnected) this
- controller.</dd>
+ are: <code>VOID</code> (connection is disabled),
+ <code>BACKOFF</code> (attempting to reconnect at an increasing
+ period), <code>CONNECTING</code> (attempting to connect),
+ <code>ACTIVE</code> (connected, remote host responsive), and
+ <code>IDLE</code> (remote host idle, sending keep-alive). These
+ values may change in the future. They are provided only for human
+ consumption.</dd>
+ <dt><code>sec_since_connect</code></dt>
+ <dd>The amount of time since this controller last successfully
+ connected to the switch (in seconds). Value is empty if controller
+ has never successfully connected.</dd>
+ <dt><code>sec_since_disconnect</code></dt>
+ <dd>The amount of time since this controller last disconnected from
+ the switch (in seconds). Value is empty if controller has never
+ disconnected.</dd>
</dl>
</column>
</group>
<dd>The state of the connection to the manager. Possible values
are: <code>VOID</code> (connection is disabled),
<code>BACKOFF</code> (attempting to reconnect at an increasing
- period), <code>CONNECT_IN_PROGRESS</code> (attempting to connect),
+ period), <code>CONNECTING</code> (attempting to connect),
<code>ACTIVE</code> (connected, remote host responsive), and
- <code>IDLE</code> (remote host unresponsive, disconnecting). These
+ <code>IDLE</code> (remote host idle, sending keep-alive). These
values may change in the future. They are provided only for human
consumption.</dd>
</dl>
<dl>
- <dt><code>time_in_state</code></dt>
- <dd>Milliseconds since the <code>state</code> key changed.</dd>
+ <dt><code>sec_since_connect</code></dt>
+ <dd>The amount of time since this manager last successfully connected
+ to the database (in seconds). Value is empty if manager has never
+ successfully connected.</dd>
+ </dl>
+ <dl>
+ <dt><code>sec_since_disconnect</code></dt>
+ <dd>The amount of time since this manager last disconnected from the
+ database (in seconds). Value is empty if manager has never
+ disconnected.</dd>
</dl>
</column>
</group>