On Thu, Oct 24, 2013 at 09:49:33AM -0700, Ben Pfaff wrote:
> This update improves the BFD documentation in a few ways:
> 
>    - Demand mode is now supported.
> 
>    - Wordsmithing, spelling, etc.
> 
>    - Attempt to better explain decay_min_rx, forwarding_if_rx, and
>      cpath_down.
> 
>    - Break into subgroups for configuration and status, to better explain
>      which party sets which fields.
> 
>    - Reindents to match the rest of vswitch.xml.
> 
> Because of the reindentation, this patch may be easier to view with spacing
> changes suppressed.
> 
> Signed-off-by: Ben Pfaff <b...@nicira.com>

Here is the patch with the spacing changes suppressed:

diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index c12fd8f..6c7d861 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -1844,9 +1844,9 @@
 
     <group title="Bidirectional Forwarding Detection (BFD)">
       <p>
-            BFD, defined in RFC 5880 and RFC 5881, allows point to point
+       BFD, defined in RFC 5880 and RFC 5881, allows point-to-point
        detection of connectivity failures by occasional transmission of
-            BFD control messages.  It is implemented in Open vSwitch to serve
+       BFD control messages.  Open vSwitch implements BFD to serve
        as a more popular and standards compliant alternative to CFM.
       </p>
 
@@ -1854,118 +1854,128 @@
        BFD operates by regularly transmitting BFD control messages at a
        rate negotiated independently in each direction.  Each endpoint
        specifies the rate at which it expects to receive control messages,
-            and the rate at which it's willing to transmit them.  Open vSwitch
+       and the rate at which it is willing to transmit them.  Open vSwitch
        uses a detection multiplier of three, meaning that an endpoint
-            which fails to receive BFD control messages for a period of three
-            times the expected reception rate, will signal a connectivity
-            fault.  In the case of a unidirectional connectivity issue, the
-            system not receiving BFD control messages will signal the problem
-            to its peer in the messages it transmits.
+       signals a connectivity fault if it fails to receive BFD consecutive
+       control messages at the expected rate.  In the case of a
+       unidirectional connectivity issue, the system not receiving BFD
+       control messages signals the problem to its peer in the messages it
+       transmits.
       </p>
 
       <p>
        The Open vSwitch implementation of BFD aims to comply faithfully
-            with the requirements put forth in RFC 5880.  Currently, the only
-            known omission is ``Demand Mode'', which we hope to include in
-            future.  Open vSwitch does not implement the optional
-            Authentication or ``Echo Mode'' features.
+       with RFC 5880 requirements.  Open vSwitch does not implement the
+       optional Authentication or ``Echo Mode'' features.
       </p>
 
-      <column name="bfd" key="enable">
-          When <code>true</code> BFD is enabled on this
-          <ref table="Interface"/>, otherwise it's disabled.  Defaults to
-          <code>false</code>.
+      <group title="BFD Configuration">
+       <p>
+         A controller sets up key-value pairs in the <ref column="bfd"/>
+         column to enable and configure BFD.
+       </p>
+
+       <column name="bfd" key="enable" type='{"type": "boolean"}'>
+          True to enable BFD on this <ref table="Interface"/>.
        </column>
 
        <column name="bfd" key="min_rx"
                type='{"type": "integer", "minInteger": 1}'>
-          The fastest rate, in milliseconds, at which this BFD session is
-          willing to receive BFD control messages.  The actual rate may be
-          slower if the remote endpoint isn't willing to transmit as quickly as
-          specified.  Defaults to <code>1000</code>.
+          The shortest interval, in milliseconds, at which this BFD session
+          offers to receive BFD control messages.  The remote endpoint may
+          choose to send messages at a slower rate.  Defaults to
+          <code>1000</code>.
        </column>
 
        <column name="bfd" key="min_tx"
                type='{"type": "integer", "minInteger": 1}'>
-          The fastest rate, in milliseconds, at which this BFD session is
-          willing to transmit BFD control messages.  The actual rate may be
-          slower if the remote endpoint isn't willing to receive as quickly as
-          specified.  Defaults to <code>100</code>.
+          The shortest interval, in milliseconds, at which this BFD session is
+          willing to transmit BFD control messages.  Messages will actually be
+          transmitted at a slower rate if the remote endpoint is not willing to
+          receive as quickly as specified.  Defaults to <code>100</code>.
        </column>
 
        <column name="bfd" key="decay_min_rx" type='{"type": "integer"}'>
-          <code>decay_min_rx</code> is used to set the <code>min_rx</code>,
-          when there is no obvious incoming data traffic at the interface.
-          It cannot be set less than the <code>min_rx</code>. The decay feature
-          is disabled by setting the <code>decay_min_rx</code> to 0. And the
-          feature is reset everytime itself or <code>min_rx</code> is
-          reconfigured.
+         An alternate receive interval, in milliseconds, that must be greater
+         than or equal to <ref column="bfd" key="min_rx"/>.  The
+         implementation switches from <ref column="bfd" key="min_rx"/> to <ref
+         column="bfd" key="decay_min_rx"/> when there is no obvious incoming
+         data traffic at the interface, to reduce the CPU and bandwidth cost
+         of monitoring an idle interface.  This feature may be disabled by
+         setting a value of 0.  This feature is reset whenever <ref
+         column="bfd" key="decay_min_rx"/> or <ref column="bfd" key="min_rx"/>
+         changes.
        </column>
 
        <column name="bfd" key="forwarding_if_rx" type='{"type": "boolean"}'>
-          When <code>forwarding_if_rx</code> is true the interface will be
-          considered capable of packet I/O as long as there is packet
-          received at interface.  This is important in that when link becomes
-          temporarily conjested, consecutive BFD control packets can be lost.
-          And the <code>forwarding_if_rx</code> can prevent link failover by
-          detecting non-control packets received at interface.
+          True to consider the interface capable of packet I/O as long as it
+          continues to receive any packets (not just BFD packets).  This
+          prevents link congestion that causes BFD consecutive control packets
+          to be lost from marking the interface down.
        </column>
 
        <column name="bfd" key="cpath_down" type='{"type": "boolean"}'>
-          Concatenated path down may be used when the local system should not
-          have traffic forwarded to it for some reason other than a connectivty
-          failure on the interface being monitored.  When a controller thinks
-          this may be the case, it may set <code>cpath_down</code> to
-          <code>true</code> which may cause the remote BFD session not to
-          forward traffic to this <ref table="Interface"/>. Defaults to
-          <code>false</code>.
+         Set to true to notify the remote endpoint that traffic should not be
+         forwarded to this system for some reason other than a connectivty
+         failure on the interface being monitored.  The typical underlying
+         reason is ``concatenated path down,'' that is, that connectivity
+         beyond the local system is down.  Defaults to false.
        </column>
 
        <column name="bfd" key="check_tnl_key" type='{"type": "boolean"}'>
-          When set to true, Check Tunnel Key will make BFD only accept control
-          messages with an <code>in_key</code> of zero. Defaults to
-          <code>false</code>.
+          Set to true to make BFD accept only control messages with an tunnel
+          key of zero.  By default, BFD accepts control messages with any
+          tunnel key.
        </column>
 
        <column name="bfd" key="bfd_dst_mac">
-        An Ethernet address in the form
+         Set to an Ethernet address in the form
          
<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>
-        to set the destination mac address of the bfd packet. If this
-        field is set, it is assumed that all the bfd packets destined to this
-        interface also has the same destination mac address. If not set, a
-        default value of <code>00:23:20:00:00:01</code> is used.
+         to set the MAC used as destination for transmitted BFD packet and
+         expected as destination for received BFD packets.  The default is
+         <code>00:23:20:00:00:01</code>.
        </column>
+      </group>
+
+      <group title="BFD Status">
+       <p>
+         The switch sets key-value pairs in the <ref column="bfd_status"/>
+         column to report the status of BFD on this interface.  When BFD is
+         not enabled, with <ref column="bfd" key="enable"/>, the switch clears
+         all key-value pairs from <ref column="bfd_status"/>.
+       </p>
 
        <column name="bfd_status" key="state"
                type='{"type": "string",
                      "enum": ["set", ["admin_down", "down", "init", "up"]]}'>
-          State of the BFD session.  The BFD session is fully healthy and
-          negotiated if <code>UP</code>.
+         Reports the state of the BFD session.  The BFD session is fully
+         healthy and negotiated if <code>UP</code>.
        </column>
 
        <column name="bfd_status" key="forwarding" type='{"type": "boolean"}'>
-          True if the BFD session believes this <ref table="Interface"/> may be
-          used to forward traffic.  Typically this means the local session is
-          signaling <code>UP</code>, and the remote system isn't signaling a
-          problem such as concatenated path down.
+         Reports whether the BFD session believes this <ref
+         table="Interface"/> may be used to forward traffic.  Typically this
+         means the local session is signaling <code>UP</code>, and the remote
+         system isn't signaling a problem such as concatenated path down.
        </column>
 
        <column name="bfd_status" key="diagnostic">
-          A short message indicating what the BFD session thinks is wrong in
-          case of a problem.
+         In case of a problem, set to a short message that reports what the
+         local BFD session thinks is wrong.
        </column>
 
        <column name="bfd_status" key="remote_state"
                type='{"type": "string",
                      "enum": ["set", ["admin_down", "down", "init", "up"]]}'>
-          State of the remote endpoint's BFD session.
+         Reports the state of the remote endpoint's BFD session.
        </column>
 
        <column name="bfd_status" key="remote_diagnostic">
-          A short message indicating what the remote endpoint's BFD session
-          thinks is wrong in case of a problem.
+         In case of a problem, set to a short message that reports what the
+         remote endpoint's BFD session thinks is wrong
        </column>
       </group>
+    </group>
 
     <group title="Connectivity Fault Management">
       <p>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to