Hi,

> +            STP and RSTP are mutually exclusive.  If both are enabled, RSTP
> +            will be used.


I think this might not be true.
If it has not been changed, when STP or RSTP is enabled it should not be 
possible to enable the other one on the same bridge. 
This is done in bridge_configure_stp() and bridge_configure_rstp() in 
vswitchd/bridge.c.

Best regards,
Daniele

> Il giorno 19/feb/2015, alle ore 19:34, Ben Pfaff <b...@nicira.com> ha scritto:
> 
> I decided to apply this, but I'd still like to improve the
> documentation further if possible, so when you get a chance please
> review the RSTP documentation in vswitch.xml.
> 
> On Thu, Feb 19, 2015 at 09:48:15AM -0800, Jarno Rajahalme wrote:
>> I?ll look in to this,
>> 
>>  Jarno
>> 
>> On Feb 19, 2015, at 9:22 AM, Ben Pfaff <b...@nicira.com> wrote:
>> 
>>> On Thu, Feb 19, 2015 at 04:00:43AM -0800, Gurucharan Shetty wrote:
>>>> On Thu, Feb 19, 2015 at 12:12 AM, Ben Pfaff <b...@nicira.com> wrote:
>>>>> A fair number of columns had been overlooked.  This documents them.
>>>>> 
>>>>> The patch is smaller than it appears because this rearranges the STP and
>>>>> RSTP documentation to group configuration, status, and statistics together
>>>>> in the documentation for clarity.
>>>>> 
>>>>> Signed-off-by: Ben Pfaff <b...@nicira.com>
>>>> I do not know RSTP to review whether more clarity can be provided on
>>>> the newly added column documentation. If no one else reviews,
>>>> Acked-by: Gurucharan Shetty <gshe...@nicira.com>
>>> 
>>> Jarno, I think you know RSTP better than most here.  Can you provide
>>> any better documentation for the newly documented columns here?
>>> 
>>> 
>>>>> ---
>>>>> vswitchd/vswitch.xml | 680 
>>>>> +++++++++++++++++++++++++++++----------------------
>>>>> 1 file changed, 391 insertions(+), 289 deletions(-)
>>>>> 
>>>>> diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
>>>>> index 932e4b2..04de3ca 100644
>>>>> --- a/vswitchd/vswitch.xml
>>>>> +++ b/vswitchd/vswitch.xml
>>>>> @@ -681,80 +681,232 @@
>>>>>    </group>
>>>>> 
>>>>>    <group title="Spanning Tree Configuration">
>>>>> -      The IEEE 802.1D Spanning Tree Protocol (STP) is a network protocol
>>>>> -      that ensures loop-free topologies.  It allows redundant links to
>>>>> -      be included in the network to provide automatic backup paths if
>>>>> -      the active links fails.
>>>>> +      <p>
>>>>> +        The IEEE 802.1D Spanning Tree Protocol (STP) is a network 
>>>>> protocol
>>>>> +        that ensures loop-free topologies.  It allows redundant links to
>>>>> +        be included in the network to provide automatic backup paths if
>>>>> +        the active links fails.
>>>>> +      </p>
>>>>> 
>>>>> -      <column name="stp_enable" type='{"type": "boolean"}'>
>>>>> -        Enable spanning tree on the bridge.  By default, STP is disabled
>>>>> -        on bridges.  Bond, internal, and mirror ports are not supported
>>>>> -        and will not participate in the spanning tree.
>>>>> -      </column>
>>>>> +      <p>
>>>>> +        These settings configure the slower-to-converge but still widely
>>>>> +        supported version of Spanning Tree Protocol, sometimes known as
>>>>> +        802.1D-1998.  Open vSwitch also supports the newer Rapid 
>>>>> Spanning Tree
>>>>> +        Protocol (RSTP), documented later in the section titled 
>>>>> <code>Rapid
>>>>> +        Spanning Tree Configuration</code>.
>>>>> +      </p>
>>>>> 
>>>>> -      <column name="other_config" key="stp-system-id">
>>>>> -        The bridge's STP identifier (the lower 48 bits of the bridge-id)
>>>>> -        in the form
>>>>> -        
>>>>> <var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>.
>>>>> -        By default, the identifier is the MAC address of the bridge.
>>>>> -      </column>
>>>>> +      <group title="STP Configuration">
>>>>> +        <column name="stp_enable" type='{"type": "boolean"}'>
>>>>> +          <p>
>>>>> +            Enable spanning tree on the bridge.  By default, STP is 
>>>>> disabled
>>>>> +            on bridges.  Bond, internal, and mirror ports are not 
>>>>> supported
>>>>> +            and will not participate in the spanning tree.
>>>>> +          </p>
>>>>> 
>>>>> -      <column name="other_config" key="stp-priority"
>>>>> -              type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 65535}'>
>>>>> -        The bridge's relative priority value for determining the root
>>>>> -        bridge (the upper 16 bits of the bridge-id).  A bridge with the
>>>>> -        lowest bridge-id is elected the root.  By default, the priority
>>>>> -        is 0x8000.
>>>>> -      </column>
>>>>> +          <p>
>>>>> +            STP and RSTP are mutually exclusive.  If both are enabled, 
>>>>> RSTP
>>>>> +            will be used.
>>>>> +          </p>
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="stp-hello-time"
>>>>> -              type='{"type": "integer", "minInteger": 1, "maxInteger": 
>>>>> 10}'>
>>>>> -        The interval between transmissions of hello messages by
>>>>> -        designated ports, in seconds.  By default the hello interval is
>>>>> -        2 seconds.
>>>>> -      </column>
>>>>> +        <column name="other_config" key="stp-system-id">
>>>>> +          The bridge's STP identifier (the lower 48 bits of the 
>>>>> bridge-id)
>>>>> +          in the form
>>>>> +          
>>>>> <var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>.
>>>>> +          By default, the identifier is the MAC address of the bridge.
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="stp-max-age"
>>>>> -              type='{"type": "integer", "minInteger": 6, "maxInteger": 
>>>>> 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.
>>>>> -      </column>
>>>>> +        <column name="other_config" key="stp-priority"
>>>>> +                type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 65535}'>
>>>>> +          The bridge's relative priority value for determining the root
>>>>> +          bridge (the upper 16 bits of the bridge-id).  A bridge with the
>>>>> +          lowest bridge-id is elected the root.  By default, the priority
>>>>> +          is 0x8000.
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="stp-forward-delay"
>>>>> -              type='{"type": "integer", "minInteger": 4, "maxInteger": 
>>>>> 30}'>
>>>>> -        The delay to wait between transitioning root and designated
>>>>> -        ports to <code>forwarding</code>, in seconds.  By default, the
>>>>> -        forwarding delay is 15 seconds.
>>>>> -      </column>
>>>>> +        <column name="other_config" key="stp-hello-time"
>>>>> +                type='{"type": "integer", "minInteger": 1, "maxInteger": 
>>>>> 10}'>
>>>>> +          The interval between transmissions of hello messages by
>>>>> +          designated ports, in seconds.  By default the hello interval is
>>>>> +          2 seconds.
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="mcast-snooping-aging-time"
>>>>> -              type='{"type": "integer", "minInteger": 1}'>
>>>>> -        <p>
>>>>> -          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.
>>>>> -        </p>
>>>>> -      </column>
>>>>> +        <column name="other_config" key="stp-max-age"
>>>>> +                type='{"type": "integer", "minInteger": 6, "maxInteger": 
>>>>> 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.
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="mcast-snooping-table-size"
>>>>> -              type='{"type": "integer", "minInteger": 1}'>
>>>>> +        <column name="other_config" key="stp-forward-delay"
>>>>> +                type='{"type": "integer", "minInteger": 4, "maxInteger": 
>>>>> 30}'>
>>>>> +          The delay to wait between transitioning root and designated
>>>>> +          ports to <code>forwarding</code>, in seconds.  By default, the
>>>>> +          forwarding delay is 15 seconds.
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="mcast-snooping-aging-time"
>>>>> +                type='{"type": "integer", "minInteger": 1}'>
>>>>> +          <p>
>>>>> +            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.
>>>>> +          </p>
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="mcast-snooping-table-size"
>>>>> +                type='{"type": "integer", "minInteger": 1}'>
>>>>> +          <p>
>>>>> +            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.
>>>>> +          </p>
>>>>> +        </column>
>>>>> +        <column name="other_config" 
>>>>> key="mcast-snooping-disable-flood-unregistered"
>>>>> +                type='{"type": "boolean"}'>
>>>>> +          <p>
>>>>> +            If set to <code>false</code>, unregistered multicast packets 
>>>>> are forwarded
>>>>> +            to all ports.
>>>>> +            If set to <code>true</code>, unregistered multicast packets 
>>>>> are forwarded
>>>>> +            to ports connected to multicast routers.
>>>>> +          </p>
>>>>> +        </column>
>>>>> +      </group>
>>>>> +
>>>>> +      <group title="STP Status">
>>>>>        <p>
>>>>> -          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.
>>>>> +          These key-value pairs report the status of 802.1D-1998.  They 
>>>>> are
>>>>> +          present only if STP is enabled (via the <ref 
>>>>> column="stp_enable"/>
>>>>> +          column).
>>>>>        </p>
>>>>> -      </column>
>>>>> -      <column name="other_config" 
>>>>> key="mcast-snooping-disable-flood-unregistered"
>>>>> -              type='{"type": "boolean"}'>
>>>>> +        <column name="status" key="stp_bridge_id">
>>>>> +          The bridge ID used in spanning tree advertisements, in the form
>>>>> +          <var>xxxx</var>.<var>yyyyyyyyyyyy</var> where the 
>>>>> <var>x</var>s are
>>>>> +          the STP priority, the <var>y</var>s are the STP system ID, and 
>>>>> each
>>>>> +          <var>x</var> and <var>y</var> is a hex digit.
>>>>> +        </column>
>>>>> +        <column name="status" key="stp_designated_root">
>>>>> +          The designated root for this spanning tree, in the same form 
>>>>> as <ref
>>>>> +          column="status" key="stp_bridge_id"/>.  If this bridge is the 
>>>>> root,
>>>>> +          this will have the same value as <ref column="status"
>>>>> +          key="stp_bridge_id"/>, otherwise it will differ.
>>>>> +        </column>
>>>>> +        <column name="status" key="stp_root_path_cost">
>>>>> +          The path cost of reaching the designated bridge.  A lower 
>>>>> number is
>>>>> +          better.  The value is 0 if this bridge is the root, otherwise 
>>>>> it is
>>>>> +          higher.
>>>>> +        </column>
>>>>> +      </group>
>>>>> +    </group>
>>>>> +
>>>>> +    <group title="Rapid Spanning Tree">
>>>>> +      <p>
>>>>> +        Rapid Spanning Tree Protocol (RSTP), like STP, is a network 
>>>>> protocol
>>>>> +        that ensures loop-free topologies.  RSTP superseded STP with the
>>>>> +        publication of 802.1D-2004.  Compared to STP, RSTP converges more
>>>>> +        quickly and recovers more quickly from failures.
>>>>> +      </p>
>>>>> +
>>>>> +      <group title="RSTP Configuration">
>>>>> +        <column name="rstp_enable" type='{"type": "boolean"}'>
>>>>> +          <p>
>>>>> +            Enable Rapid Spanning Tree on the bridge.  By default, RSTP 
>>>>> is disabled
>>>>> +            on bridges.  Bond, internal, and mirror ports are not 
>>>>> supported
>>>>> +            and will not participate in the spanning tree.
>>>>> +          </p>
>>>>> +
>>>>> +          <p>
>>>>> +            STP and RSTP are mutually exclusive.  If both are enabled, 
>>>>> RSTP
>>>>> +            will be used.
>>>>> +          </p>
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="rstp-address">
>>>>> +          The bridge's RSTP address (the lower 48 bits of the bridge-id)
>>>>> +          in the form
>>>>> +          
>>>>> <var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>.
>>>>> +          By default, the address is the MAC address of the bridge.
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="rstp-priority"
>>>>> +                type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 61440}'>
>>>>> +          The bridge's relative priority value for determining the root
>>>>> +          bridge (the upper 16 bits of the bridge-id).  A bridge with the
>>>>> +          lowest bridge-id is elected the root.  By default, the priority
>>>>> +          is 0x8000 (32768).  This value needs to be a multiple of 4096,
>>>>> +          otherwise it's rounded to the nearest inferior one.
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="rstp-ageing-time"
>>>>> +                type='{"type": "integer", "minInteger": 10, 
>>>>> "maxInteger": 1000000}'>
>>>>> +          The Ageing Time parameter for the Bridge.  The default value
>>>>> +          is 300 seconds.
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="rstp-force-protocol-version"
>>>>> +                type='{"type": "integer"}'>
>>>>> +          The Force Protocol Version parameter for the Bridge.  This
>>>>> +          can take the value 0 (STP Compatibility mode) or 2
>>>>> +          (the default, normal operation).
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="rstp-max-age"
>>>>> +                type='{"type": "integer", "minInteger": 6, "maxInteger": 
>>>>> 40}'>
>>>>> +          The maximum age of the information transmitted by the Bridge
>>>>> +          when it is the Root Bridge.  The default value is 20.
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="rstp-forward-delay"
>>>>> +                type='{"type": "integer", "minInteger": 4, "maxInteger": 
>>>>> 30}'>
>>>>> +          The delay used by STP Bridges to transition Root and Designated
>>>>> +          Ports to Forwarding.  The default value is 15.
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="rstp-transmit-hold-count"
>>>>> +                type='{"type": "integer", "minInteger": 1, "maxInteger": 
>>>>> 10}'>
>>>>> +          The Transmit Hold Count used by the Port Transmit state machine
>>>>> +          to limit transmission rate.  The default value is 6.
>>>>> +        </column>
>>>>> +      </group>
>>>>> +
>>>>> +      <group title="RSTP Status">
>>>>>        <p>
>>>>> -          If set to <code>false</code>, unregistered multicast packets 
>>>>> are forwarded
>>>>> -          to all ports.
>>>>> -          If set to <code>true</code>, unregistered multicast packets 
>>>>> are forwarded
>>>>> -          to ports connected to multicast routers.
>>>>> +          These key-value pairs report the status of 802.1D-2004.  They 
>>>>> are
>>>>> +          present only if RSTP is enabled (via the <ref 
>>>>> column="rstp_enable"/>
>>>>> +          column).
>>>>>        </p>
>>>>> -      </column>
>>>>> +        <column name="rstp_status" key="rstp_bridge_id">
>>>>> +          The bridge ID used in rapid spanning tree advertisements, in 
>>>>> the form
>>>>> +          <var>x</var>.<var>yyy</var>.<var>zzzzzzzzzzzz</var> where
>>>>> +          <var>x</var> is the RSTP priority, the <var>y</var>s are a 
>>>>> locally
>>>>> +          assigned system ID extension, the <var>z</var>s are the STP 
>>>>> system
>>>>> +          ID, and each <var>x</var>, <var>y</var>, or <var>z</var> is a 
>>>>> hex
>>>>> +          digit.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_root_id">
>>>>> +          The root of this spanning tree, in the same form as <ref
>>>>> +          column="rstp_status" key="rstp_bridge_id"/>.  If this bridge 
>>>>> is the
>>>>> +          root, this will have the same value as <ref 
>>>>> column="rstp_status"
>>>>> +          key="rstp_bridge_id"/>, otherwise it will differ.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_root_path_cost"
>>>>> +                type='{"type": "integer", "minInteger": 0}'>
>>>>> +          The path cost of reaching the root.  A lower number is better. 
>>>>>  The
>>>>> +          value is 0 if this bridge is the root, otherwise it is higher.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_designated_id">
>>>>> +          The RSTP designated ID, in the same form as <ref 
>>>>> column="rstp_status"
>>>>> +          key="rstp_bridge_id"/>.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_designated_port_id">
>>>>> +          The RSTP designated port ID, as a 4-digit hex number.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_bridge_port_id">
>>>>> +          The RSTP bridge port ID, as a 4-digit hex number.
>>>>> +        </column>
>>>>> +      </group>
>>>>>    </group>
>>>>> 
>>>>>    <group title="Multicast Snooping Configuration">
>>>>> @@ -770,73 +922,6 @@
>>>>>      </column>
>>>>>    </group>
>>>>> 
>>>>> -    <group title="Rapid Spanning Tree Configuration">
>>>>> -      In IEEE Std 802.1D, 1998 Edition, and prior editions of this 
>>>>> standard,
>>>>> -      Clause 8 specified the spanning tree algorithm and protocol (STP). 
>>>>>  STP
>>>>> -      has now been superseded by the Rapid Spanning Tree Protocol (RSTP)
>>>>> -      specified in Clause 17 of the IEEE Std 802.1D, 2004 Edition.
>>>>> -      The IEEE 802.1D-2004 Rapid Spanning Tree Algorithm Protocol 
>>>>> configures
>>>>> -      full, simple, and symmetric connectivity throughout a Bridged 
>>>>> Local Area
>>>>> -      Network that comprises individual LANs interconnected by Bridges.
>>>>> -      Like STP, RSTP is a network protocol that ensures loop-free 
>>>>> topologies.
>>>>> -      It allows redundant links to be included in the network to provide
>>>>> -      automatic backup paths if the active links fails.
>>>>> -
>>>>> -      <column name="rstp_enable" type='{"type": "boolean"}'>
>>>>> -        Enable Rapid Spanning Tree on the bridge.  By default, RSTP is 
>>>>> disabled
>>>>> -        on bridges.  Bond, internal, and mirror ports are not supported
>>>>> -        and will not participate in the spanning tree.
>>>>> -      </column>
>>>>> -
>>>>> -      <column name="other_config" key="rstp-address">
>>>>> -        The bridge's RSTP address (the lower 48 bits of the bridge-id)
>>>>> -        in the form
>>>>> -        
>>>>> <var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>:<var>xx</var>.
>>>>> -        By default, the address is the MAC address of the bridge.
>>>>> -      </column>
>>>>> -
>>>>> -      <column name="other_config" key="rstp-priority"
>>>>> -              type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 61440}'>
>>>>> -        The bridge's relative priority value for determining the root
>>>>> -        bridge (the upper 16 bits of the bridge-id).  A bridge with the
>>>>> -        lowest bridge-id is elected the root.  By default, the priority
>>>>> -        is 0x8000 (32768).  This value needs to be a multiple of 4096,
>>>>> -        otherwise it's rounded to the nearest inferior one.
>>>>> -      </column>
>>>>> -
>>>>> -      <column name="other_config" key="rstp-ageing-time"
>>>>> -              type='{"type": "integer", "minInteger": 10, "maxInteger": 
>>>>> 1000000}'>
>>>>> -        The Ageing Time parameter for the Bridge.  The default value
>>>>> -        is 300 seconds.
>>>>> -      </column>
>>>>> -
>>>>> -      <column name="other_config" key="rstp-force-protocol-version"
>>>>> -              type='{"type": "integer"}'>
>>>>> -        The Force Protocol Version parameter for the Bridge.  This
>>>>> -        can take the value 0 (STP Compatibility mode) or 2
>>>>> -        (the default, normal operation).
>>>>> -      </column>
>>>>> -
>>>>> -      <column name="other_config" key="rstp-max-age"
>>>>> -              type='{"type": "integer", "minInteger": 6, "maxInteger": 
>>>>> 40}'>
>>>>> -        The maximum age of the information transmitted by the Bridge
>>>>> -        when it is the Root Bridge.  The default value is 20.
>>>>> -      </column>
>>>>> -
>>>>> -      <column name="other_config" key="rstp-forward-delay"
>>>>> -              type='{"type": "integer", "minInteger": 4, "maxInteger": 
>>>>> 30}'>
>>>>> -        The delay used by STP Bridges to transition Root and Designated
>>>>> -        Ports to Forwarding.  The default value is 15.
>>>>> -      </column>
>>>>> -
>>>>> -      <column name="other_config" key="rstp-transmit-hold-count"
>>>>> -              type='{"type": "integer", "minInteger": 1, "maxInteger": 
>>>>> 10}'>
>>>>> -        The Transmit Hold Count used by the Port Transmit state machine
>>>>> -        to limit transmission rate.  The default value is 6.
>>>>> -      </column>
>>>>> -
>>>>> -    </group>
>>>>> -
>>>>>    <group title="Other Features">
>>>>>      <column name="datapath_type">
>>>>>        Name of datapath provider.  The kernel datapath has
>>>>> @@ -947,34 +1032,6 @@
>>>>>      </column>
>>>>>    </group>
>>>>> 
>>>>> -    <group title="Bridge Status">
>>>>> -      <p>
>>>>> -        Status information about bridges.
>>>>> -      </p>
>>>>> -      <column name="status">
>>>>> -        Key-value pairs that report bridge status.
>>>>> -      </column>
>>>>> -      <column name="status" key="stp_bridge_id">
>>>>> -        <p>
>>>>> -          The bridge-id (in hex) used in spanning tree advertisements.
>>>>> -          Configuring the bridge-id is described in the
>>>>> -          <code>stp-system-id</code> and <code>stp-priority</code> keys
>>>>> -          of the <code>other_config</code> section earlier.
>>>>> -        </p>
>>>>> -      </column>
>>>>> -      <column name="status" key="stp_designated_root">
>>>>> -        <p>
>>>>> -          The designated root (in hex) for this spanning tree.
>>>>> -        </p>
>>>>> -      </column>
>>>>> -      <column name="status" key="stp_root_path_cost">
>>>>> -        <p>
>>>>> -          The path cost of reaching the designated bridge.  A lower
>>>>> -          number is better.
>>>>> -        </p>
>>>>> -      </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.
>>>>> @@ -1314,105 +1371,192 @@
>>>>>      </column>
>>>>>    </group>
>>>>> 
>>>>> -    <group title="Spanning Tree Configuration">
>>>>> -      <column name="other_config" key="stp-enable"
>>>>> -              type='{"type": "boolean"}'>
>>>>> -        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 <code>false</code> spanning tree is disabled on the
>>>>> -        port.
>>>>> -      </column>
>>>>> +    <group title="Spanning Tree Protocol">
>>>>> +      <p>
>>>>> +        The configuration here is only meaningful, and the status is only
>>>>> +        populated, when 802.1D-1998 Spanning Tree Protocol is enabled on 
>>>>> the
>>>>> +        port's <ref column="Bridge"/> with its <ref column="stp_enable"/>
>>>>> +        column.
>>>>> +      </p>
>>>>> 
>>>>> -       <column name="other_config" key="stp-port-num"
>>>>> -               type='{"type": "integer", "minInteger": 1, "maxInteger": 
>>>>> 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.
>>>>> -      </column>
>>>>> +      <group title="STP Configuration">
>>>>> +        <column name="other_config" key="stp-enable"
>>>>> +                type='{"type": "boolean"}'>
>>>>> +          When STP is enabled on a bridge, it is enabled by default on 
>>>>> all of
>>>>> +          the bridge's ports except bond, internal, and mirror ports 
>>>>> (which do
>>>>> +          not work with STP).  If this column's value is 
>>>>> <code>false</code>,
>>>>> +          STP is disabled on the port.
>>>>> +        </column>
>>>>> 
>>>>> -       <column name="other_config" key="stp-port-priority"
>>>>> -               type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 255}'>
>>>>> -        The port's relative priority value for determining the root
>>>>> -        port (the upper 8 bits of the port-id).  A port with a lower
>>>>> -        port-id will be chosen as the root port.  By default, the
>>>>> -        priority is 0x80.
>>>>> -      </column>
>>>>> +        <column name="other_config" key="stp-port-num"
>>>>> +                type='{"type": "integer", "minInteger": 1, "maxInteger": 
>>>>> 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.
>>>>> +        </column>
>>>>> 
>>>>> -       <column name="other_config" key="stp-path-cost"
>>>>> -               type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 65535}'>
>>>>> -        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.
>>>>> -      </column>
>>>>> +        <column name="other_config" key="stp-port-priority"
>>>>> +                type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 255}'>
>>>>> +          The port's relative priority value for determining the root
>>>>> +          port (the upper 8 bits of the port-id).  A port with a lower
>>>>> +          port-id will be chosen as the root port.  By default, the
>>>>> +          priority is 0x80.
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="stp-path-cost"
>>>>> +                type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 65535}'>
>>>>> +          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.
>>>>> +        </column>
>>>>> +      </group>
>>>>> +
>>>>> +      <group title="STP Status">
>>>>> +        <column name="status" key="stp_port_id">
>>>>> +          The port ID used in spanning tree advertisements for this 
>>>>> port, as 4
>>>>> +          hex digits.  Configuring the port ID is described in the
>>>>> +          <code>stp-port-num</code> and <code>stp-port-priority</code> 
>>>>> keys of
>>>>> +          the <code>other_config</code> section earlier.
>>>>> +        </column>
>>>>> +        <column name="status" key="stp_state"
>>>>> +                type='{"type": "string", "enum": ["set",
>>>>> +                      ["disabled", "listening", "learning",
>>>>> +                      "forwarding", "blocking"]]}'>
>>>>> +          STP state of the port.
>>>>> +        </column>
>>>>> +        <column name="status" key="stp_sec_in_state"
>>>>> +                type='{"type": "integer", "minInteger": 0}'>
>>>>> +          The amount of time this port has been in the current STP 
>>>>> state, in
>>>>> +          seconds.
>>>>> +        </column>
>>>>> +        <column name="status" key="stp_role"
>>>>> +                type='{"type": "string", "enum": ["set",
>>>>> +                      ["root", "designated", "alternate"]]}'>
>>>>> +          STP role of the port.
>>>>> +        </column>
>>>>> +      </group>
>>>>>    </group>
>>>>> 
>>>>> -    <group title="Rapid Spanning Tree Configuration">
>>>>> -      <column name="other_config" key="rstp-enable"
>>>>> -              type='{"type": "boolean"}'>
>>>>> -        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 <code>false</code> rapid spanning tree is disabled on 
>>>>> the
>>>>> -        port.
>>>>> -      </column>
>>>>> +    <group title="Rapid Spanning Tree Protocol">
>>>>> +      <p>
>>>>> +        The configuration here is only meaningful, and the status and
>>>>> +        statistics are only populated, when 802.1D-1998 Spanning Tree 
>>>>> Protocol
>>>>> +        is enabled on the port's <ref column="Bridge"/> with its <ref
>>>>> +        column="stp_enable"/> column.
>>>>> +      </p>
>>>>> 
>>>>> -      <column name="other_config" key="rstp-port-priority"
>>>>> -              type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 240}'>
>>>>> -        The port's relative priority value for determining the root
>>>>> -        port, in multiples of 16.  By default, the port priority is 0x80
>>>>> -        (128).  Any value in the lower 4 bits is rounded off.  The 
>>>>> significant
>>>>> -        upper 4 bits become the upper 4 bits of the port-id.  A port 
>>>>> with the
>>>>> -        lowest port-id is elected as the root.
>>>>> -      </column>
>>>>> +      <group title="RSTP Configuration">
>>>>> +        <column name="other_config" key="rstp-enable"
>>>>> +                type='{"type": "boolean"}'>
>>>>> +          When RSTP is enabled on a bridge, it is enabled by default on 
>>>>> all of
>>>>> +          the bridge's ports except bond, internal, and mirror ports 
>>>>> (which do
>>>>> +          not work with RSTP).  If this column's value is 
>>>>> <code>false</code>,
>>>>> +          RSTP is disabled on the port.
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="rstp-port-num"
>>>>> -              type='{"type": "integer", "minInteger": 1, "maxInteger": 
>>>>> 4095}'>
>>>>> -        The local RSTP port number, used as the lower 12 bits of the 
>>>>> port-id.
>>>>> -        By default the port numbers are assigned automatically, and 
>>>>> typically
>>>>> -        may not correspond to the OpenFlow port numbers.  A port with the
>>>>> -        lowest port-id is elected as the root.
>>>>> -      </column>
>>>>> +        <column name="other_config" key="rstp-port-priority"
>>>>> +                type='{"type": "integer", "minInteger": 0, "maxInteger": 
>>>>> 240}'>
>>>>> +          The port's relative priority value for determining the root 
>>>>> port, in
>>>>> +          multiples of 16.  By default, the port priority is 0x80 (128). 
>>>>>  Any
>>>>> +          value in the lower 4 bits is rounded off.  The significant 
>>>>> upper 4
>>>>> +          bits become the upper 4 bits of the port-id.  A port with the 
>>>>> lowest
>>>>> +          port-id is elected as the root.
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="rstp-port-path-cost"
>>>>> -              type='{"type": "integer"}'>
>>>>> -        The port path cost.  The Port's contribution, when it is
>>>>> -        the Root Port, to the Root Path Cost for the Bridge.  By default 
>>>>> the
>>>>> -        cost is automatically calculated from the port's speed.
>>>>> -      </column>
>>>>> +        <column name="other_config" key="rstp-port-num"
>>>>> +                type='{"type": "integer", "minInteger": 1, "maxInteger": 
>>>>> 4095}'>
>>>>> +          The local RSTP port number, used as the lower 12 bits of the 
>>>>> port-id.
>>>>> +          By default the port numbers are assigned automatically, and 
>>>>> typically
>>>>> +          may not correspond to the OpenFlow port numbers.  A port with 
>>>>> the
>>>>> +          lowest port-id is elected as the root.
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="rstp-port-admin-edge"
>>>>> -              type='{"type": "boolean"}'>
>>>>> -        The admin edge port parameter for the Port.  Default is
>>>>> -        <code>false</code>.
>>>>> -      </column>
>>>>> +        <column name="other_config" key="rstp-port-path-cost"
>>>>> +                type='{"type": "integer"}'>
>>>>> +          The port path cost.  The Port's contribution, when it is
>>>>> +          the Root Port, to the Root Path Cost for the Bridge.  By 
>>>>> default the
>>>>> +          cost is automatically calculated from the port's speed.
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="rstp-port-auto-edge"
>>>>> -              type='{"type": "boolean"}'>
>>>>> -        The auto edge port parameter for the Port.  Default is
>>>>> -        <code>true</code>.
>>>>> -      </column>
>>>>> +        <column name="other_config" key="rstp-port-admin-edge"
>>>>> +                type='{"type": "boolean"}'>
>>>>> +          The admin edge port parameter for the Port.  Default is
>>>>> +          <code>false</code>.
>>>>> +        </column>
>>>>> 
>>>>> -      <column name="other_config" key="rstp-port-mcheck"
>>>>> -              type='{"type": "boolean"}'>
>>>>> -        <p>
>>>>> -          The mcheck port parameter for the Port.  Default is
>>>>> -          <code>false</code>.  May be set to force the Port Protocol
>>>>> -          Migration state machine to transmit RST BPDUs for a
>>>>> -          MigrateTime period, to test whether all STP Bridges on the
>>>>> -          attached LAN have been removed and the Port can continue to
>>>>> -          transmit RSTP BPDUs.  Setting mcheck has no effect if the
>>>>> -          Bridge is operating in STP Compatibility mode.
>>>>> -        </p>
>>>>> -        <p>
>>>>> -          Changing the value from <code>true</code> to
>>>>> -          <code>false</code> has no effect, but needs to be done if
>>>>> -          this behavior is to be triggered again by subsequently
>>>>> -          changing the value from <code>false</code> to
>>>>> +        <column name="other_config" key="rstp-port-auto-edge"
>>>>> +                type='{"type": "boolean"}'>
>>>>> +          The auto edge port parameter for the Port.  Default is
>>>>>          <code>true</code>.
>>>>> -        </p>
>>>>> -      </column>
>>>>> +        </column>
>>>>> +
>>>>> +        <column name="other_config" key="rstp-port-mcheck"
>>>>> +                type='{"type": "boolean"}'>
>>>>> +          <p>
>>>>> +            The mcheck port parameter for the Port.  Default is
>>>>> +            <code>false</code>.  May be set to force the Port Protocol
>>>>> +            Migration state machine to transmit RST BPDUs for a
>>>>> +            MigrateTime period, to test whether all STP Bridges on the
>>>>> +            attached LAN have been removed and the Port can continue to
>>>>> +            transmit RSTP BPDUs.  Setting mcheck has no effect if the
>>>>> +            Bridge is operating in STP Compatibility mode.
>>>>> +          </p>
>>>>> +          <p>
>>>>> +            Changing the value from <code>true</code> to
>>>>> +            <code>false</code> has no effect, but needs to be done if
>>>>> +            this behavior is to be triggered again by subsequently
>>>>> +            changing the value from <code>false</code> to
>>>>> +            <code>true</code>.
>>>>> +          </p>
>>>>> +        </column>
>>>>> +      </group>
>>>>> +
>>>>> +      <group title="RSTP Status">
>>>>> +        <column name="rstp_status" key="rstp_port_id">
>>>>> +          The port ID used in spanning tree advertisements for this 
>>>>> port, as 4
>>>>> +          hex digits.  Configuring the port ID is described in the
>>>>> +          <code>rstp-port-num</code> and <code>rstp-port-priority</code> 
>>>>> keys
>>>>> +          of the <code>other_config</code> section earlier.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_port_role"
>>>>> +                type='{"type": "string", "enum": ["set",
>>>>> +                      ["Root", "Designated", "Alternate", "Backup", 
>>>>> "Disabled"]]}'>
>>>>> +          RSTP role of the port.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_port_state"
>>>>> +                type='{"type": "string", "enum": ["set",
>>>>> +                      ["Disabled", "Learning", "Forwarding", 
>>>>> "Discarding"]]}'>
>>>>> +          RSTP state of the port.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_designated_bridge_id">
>>>>> +          The port's RSTP designated bridge ID, in the same form as <ref
>>>>> +          column="rstp_status" key="rstp_bridge_id"/> in the <ref
>>>>> +          table="Bridge"/> table.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_designated_port_id">
>>>>> +          The port's RSTP designated port ID, as 4 hex digits.
>>>>> +        </column>
>>>>> +        <column name="rstp_status" key="rstp_designated_path_cost"
>>>>> +                type='{"type": "integer"}'>
>>>>> +          The port's RSTP designated path cost.  Lower is better.
>>>>> +        </column>
>>>>> +      </group>
>>>>> +
>>>>> +      <group title="RSTP Statistics">
>>>>> +        <column name="rstp_statistics" key="rstp_tx_count">
>>>>> +          Number of RSTP BPDUs transmitted through this port.
>>>>> +        </column>
>>>>> +        <column name="rstp_statistics" key="rstp_rx_count">
>>>>> +          Number of valid RSTP BPDUs received by this port.
>>>>> +        </column>
>>>>> +        <column name="rstp_statistics" key="rstp_error_count">
>>>>> +          Number of invalid RSTP BPDUs received by this port.
>>>>> +        </column>
>>>>> +        <column name="rstp_statistics" key="rstp_uptime">
>>>>> +          The duration covered by the other RSTP statistics, in seconds.
>>>>> +        </column>
>>>>> +      </group>
>>>>>    </group>
>>>>> 
>>>>>    <group title="Multicast Snooping">
>>>>> @@ -1458,51 +1602,9 @@
>>>>>      </column>
>>>>>    </group>
>>>>> 
>>>>> -    <group title="Port Status">
>>>>> -      <p>
>>>>> -        Status information about ports attached to bridges.
>>>>> -      </p>
>>>>> -      <column name="status">
>>>>> -        Key-value pairs that report port status.
>>>>> -      </column>
>>>>> -      <column name="status" key="stp_port_id">
>>>>> -        <p>
>>>>> -          The port-id (in hex) used in spanning tree advertisements for
>>>>> -          this port.  Configuring the port-id is described in the
>>>>> -          <code>stp-port-num</code> and <code>stp-port-priority</code>
>>>>> -          keys of the <code>other_config</code> section earlier.
>>>>> -        </p>
>>>>> -      </column>
>>>>> -      <column name="status" key="stp_state"
>>>>> -              type='{"type": "string", "enum": ["set",
>>>>> -                            ["disabled", "listening", "learning",
>>>>> -                             "forwarding", "blocking"]]}'>
>>>>> -        <p>
>>>>> -          STP state of the port.
>>>>> -        </p>
>>>>> -      </column>
>>>>> -      <column name="status" key="stp_sec_in_state"
>>>>> -              type='{"type": "integer", "minInteger": 0}'>
>>>>> -        <p>
>>>>> -          The amount of time (in seconds) port has been in the current
>>>>> -          STP state.
>>>>> -        </p>
>>>>> -      </column>
>>>>> -      <column name="status" key="stp_role"
>>>>> -              type='{"type": "string", "enum": ["set",
>>>>> -                            ["root", "designated", "alternate"]]}'>
>>>>> -        <p>
>>>>> -          STP role of the port.
>>>>> -        </p>
>>>>> -      </column>
>>>>> -
>>>>> -      <column name="status" key="bond_active_slave">
>>>>> -        <p>
>>>>> -          For a bonded port, record the mac address of the current 
>>>>> active slave.
>>>>> -        </p>
>>>>> -      </column>
>>>>> -
>>>>> -    </group>
>>>>> +    <column name="bond_active_slave">
>>>>> +      For a bonded port, record the mac address of the current active 
>>>>> slave.
>>>>> +    </column>
>>>>> 
>>>>>    <group title="Port Statistics">
>>>>>      <p>
>>>>> --
>>>>> 2.1.3
>>>>> 
>>>>> _______________________________________________
>>>>> dev mailing list
>>>>> dev@openvswitch.org
>>>>> http://openvswitch.org/mailman/listinfo/dev
>> 
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to