Subject: [Bridge-mib] RFC 1473 dot1dStpPortEnable is not well specified

From: Mike MacFaden <[email-masked]>
Date: Thu, 30 Aug 2001 23:36:50 -0700

Folks,

I did some testing to see if dot1dStpPortEnable is well 
specified or not. 

I choose the following set of widely available, modular, well known
layer 2 bridging platforms with layer 3 capability that have
dot1dStpPortEnable and ifAdminStatus objects.

The sysDescr's from the systems tested: 
   Cisco Systems WS-C6509-NEB Cisco Catalyst Operating System Software, Version 6.1(1d)
   Extreme MSM64 - Version 6.1.7 (Build 9) by Release_Master  Thu 04/05/2001  3:40p
   Foundry Networks, Inc. Router, IronWare Version 07.2.02T51 
   Riverstone Networks Firmware Version: 7.0.0.1

Cisco 6509:
   1. What is in dot1dBasePortTable?
       By default, all ethernet ports included.
       dot1dBasePortIfIndex points to unique ifIndexes, one per port.
       ifTable has vlans (contrary to rfc 2674, populate the ifTable as propVirtual)
       ifDescr.61 = VLAN 1002.  No rfc 2674 dot1q tables
       GigE ports ifType contrary to rfc 2665,  set ifType to 117 instead of 6.
       no ifStackTable

   2. What does ifAdminStatus affect when set to 2(down)?
      a) Physical link is disabled (LED turns yellow)
      b) dot1dStpPortEnable is set to disabled(2).

   3. What does dot1dStpPortEnable affect when set to 2(disable)
      Behaves the exactly same behavior as ifAdminStatus, 
      ifAdminStatus is affected.

I ran these set/get operations after dumping
the ifTable, ifStackTable (if any) and dot1dBasePortTable to determine
indexing for a given ethernet port to twiddle with.

Detail for cisco cat:
% setany box ifAdminStatus.260 1
ifAdminStatus.260 = up(1)
% getmany ...
ifAdminStatus.260 = up(1)
ifOperStatus.260 = up(1)
dot1dStpPortEnable.228 = enabled(1)
ifName.260 = 4/36

% setany box dot1dStpPortEnable.228 2
dot1dStpPortEnable.228 = disabled(2)
% getmany ...
ifAdminStatus.260 = down(2)
ifOperStatus.260 = down(2)
dot1dStpPortEnable.228 = disabled(2)
ifName.260 = 4/36

Extreme: 
   1. What is in dot1dBasePortTable?
       All ethernet ports that are actually running stp are included.
       dot1dBasePortIfIndex points to unique ifIndexes, one per port.
       Vlans (contrary to rfc 2674, populate the ifTable as propVirtual)
        ifDescr.20002 = VLAN 00001 (Default) 
       ifName reported in ifXtable is not the same as what one uses in CLI 1/1 vs 1:1
       ifStackTable malformed per rfc2863, missing terminator "0" entries like :
       ifStackStatus.0.x=active, 
       ifStackTable used to relate ports to vlans (vlans being the lower layer). 
       No rfc 2674 dot1q tables.
       GigE/FastE ports ifType all are ifType 6 per rfc 2665.

   2. What does ifAdminStatus affect when set to 2(down)?
      a) Physical link is slowly blinks a green led, remote
         end of the fast ethernet link reports link as physically up
      b) dot1dStpPortEnable is not affected

   3. What does dot1dStpPortEnable affect when set to 2(disable)
      Turns of STP per port. ifAdminStatus not affected
      CLI shows stp per port as ENABLED | DISABLED
       * MSM64:32 # show stpd s0 ports 3:25
       Stpd: s0        Port: 3:25      PortId: 2099    Stp: DISABLED   Path Cost: 19
                                                       -------------
      The Extreme manual is very clear about what it means to turn off STP
      per port:  port put into forwarding state, BPDU's received are disregarded
      cli cmd: disable stp port <port-spec>
      
Foundry:
   1. What is in dot1dBasePortTable?
      All ethernet ports included.
      dot1dBasePortIfIndex points to unique ifIndexes, one per port.
      No ifXTable, no ifStackTable, probably an enterprise mib mod relates ports/vlans
      GigE/FE ports ifType all are ifType 7, contrary to rfc 2665.
      Complies with rfc 2674, No Vlans in ifTable

   2. What does ifAdminStatus affect when set to 2(down)?
      a) Physical link is shutdown, link LED powered off
         end of the fast ethernet link reports link as physically down
      b) dot1dStpPortEnable is not affected

   3. What does dot1dStpPortEnable affect when set to 2(disable)
      Turns of STP per port. ifAdminStatus is no affected
      The CLI shows stp per port as ON | OFF
         RT-NetIron Router#show int e8/1
         FastEthernet8/1 is up, line protocol is up
         Hardware is FastEthernet, address is 0004.8016.80e0 (bia 0004.8016.80e0)
         Configured speed auto, actual 100Mbit, configured duplex fdx, actual fdx
         Member of L2 VLAN ID 1, port is untagged, port state is FORWARDING
         STP configured to ON, priority is level0, flow control enabled
         --------------------

Riverstone:
   1. What is in dot1dBasePortTable?
       All ethernet ports included.
       dot1dBasePortIfIndex points to unique ifIndexes, one per port.
       Vlans (contrary to rfc 2674, populate the ifTable as propVirtual),
       Ports are related to vlans via a) ifStackTable, b) dot1qVlanCurrent(Static)Table
       ifDescr.19 = VLAN: DEFAULT, ifType ifType.19 = l2vlan(135)
       ports being the lower layer.
       GigE/FastE ports ifType all are ifType 6 per rfc 2665.

   2. What does ifAdminStatus affect when set to 2(down)?
      a) Physical link is LED stays up
         end of the fast ethernet link reports link as physically up
      b) dot1dStpPortEnable is not affected

   3. What does dot1dStpPortEnable affect when set to 2(disable)
       Returns noSuch, agent-cap mib module states does not support sets on this object.
       CLI allows one to turn on/off STP per port via the cmd:
       stp enable port <spec> 
       ifAdminStatus is not affected

So I strongly suggest the revised BRIDGE-MIB receive more than
just and SMIv2 facelift. Some text is needed to explain what the objects
should really be doing and future mib modules should standardize what 
the marketplace has generally implemented.

Mike MacFaden

_______________________________________________
Bridge-mib mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/bridge-mib