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

Reply via email to