ofproto: Avoid memory leak in classifier on destruction.
[openvswitch] / vswitchd / vswitch.xml
index 89354daed1160de63fc744545367743ea7280a27..566e6cf69ce0c7560f28cda337c7b5add2e0a429 100644 (file)
       </p>
 
       <column name="ovs_version">
-        The Open vSwitch version number, e.g. <code>1.1.0pre2</code>.
+        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.0pre2+build4948</code>.
+        also included, e.g. <code>1.1.0+build6579</code>.
       </column>
 
       <column name="db_version">
       </dl>
 
       <p>
-        The following mode requires the upstream switch to support 802.3ad with
+        The following modes require the upstream switch to support 802.3ad with
         successful LACP negotiation.  If LACP negotiation fails then
-        <code>balance-slb</code> mode is used as a fallback:
+        <code>balance-slb</code> style flow hashing is used as a fallback:
       </p>
 
       <dl>
         </dd>
       </dl>
 
+      <dl>
+        <dt><code>stable</code></dt>
+        <dd>
+          <p>Attempts to always assign a given flow to the same slave
+            consistently.  In an effort to maintain stability, no load
+            balancing is done.  Uses a similar hashing strategy to
+            <code>balance-tcp</code>, falling back to <code>balance-slb</code>
+            style hashing when LACP negotiations are unsuccessful.</p>
+          <p>Slave selection decisions are made based on LACP port ID when LACP
+            negotiations are successful, falling back to openflow port number
+            when unsuccessful.  Thus, decisions are consistent across all
+            ovs-vswitchd instances with equivalent port IDs.</p>
+        </dd>
+      </dl>
+
       <p>These columns apply only to bonded ports.  Their values are
         otherwise ignored.</p>
 
             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>
 
         Connectivity monitor configuration for this interface.
       </column>
 
+      <column name="lacp_current">
+        Boolean value indicating LACP status for this interface.  If true, this
+        interface has current LACP information about its LACP partner.  This
+        information may be used to monitor the health of interfaces in a LACP
+        enabled port. This column will be empty if LACP is not enabled.
+      </column>
+
       <column name="external_ids">
         Key-value pairs for use by external frameworks that integrate
         with Open vSwitch, rather than by Open vSwitch itself.  System
         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.
     </column>
 
     <group title="Selecting Packets for Mirroring">
+      <p>
+        To be selected for mirroring, a given packet must enter or leave the
+        bridge through a selected port and it must also be in one of the
+        selected VLANs.
+      </p>
+
       <column name="select_all">
         If true, every packet arriving or departing on any port is
         selected for mirroring.
     </group>
 
     <group title="Mirroring Destination Configuration">
+      <p>
+        These columns are mutually exclusive.  Exactly one of them must be
+        nonempty.
+      </p>
+
       <column name="output_port">
-        <p>Output port for selected packets, if nonempty.  Mutually exclusive
-          with <ref column="output_vlan"/>.</p>
+        <p>Output port for selected packets, if nonempty.</p>
         <p>Specifying a port for mirror output reserves that port exclusively
           for mirroring.  No frames other than those selected for mirroring
           will be forwarded to the port, and any frames received on the port
       </column>
 
       <column name="output_vlan">
-        <p>Output VLAN for selected packets, if nonempty.  Mutually exclusive
-          with <ref column="output_port"/>.</p>
+        <p>Output VLAN for selected packets, if nonempty.</p>
         <p>The frames will be sent out all ports that trunk
           <ref column="output_vlan"/>, as well as any ports with implicit VLAN
           <ref column="output_vlan"/>.  When a mirrored frame is sent out a
           <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>
 
         number of seconds, it will send a probe.  If a response is not
         received for the same additional amount of time, Open vSwitch
         assumes the connection has been broken and attempts to reconnect.
-        Default is implementation-specific.
+        Default is implementation-specific.  A value of 0 disables
+        inactivity probes.
       </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>
         will send a probe.  If a response is not received for the same
         additional amount of time, Open vSwitch assumes the connection has been
         broken and attempts to reconnect.  Default is implementation-specific.
+        A value of 0 disables inactivity probes.
       </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>