Posts tagged ‘ProCurve’

When troubleshooting a slow network connection I wanted to get an idea of the link load. Usually I power up my linux-based Virtual Machine which polls the SNMP interface counters and draws nice graphs. But I was working remotely over an RDP connection, so SNMP was not possible.

So I had to use the build-in tools of the ProCurve switch. The “show interface” output looks like this:

Status and Counters - Port Counters for port 24

  Name  :
  Link Status     : Up
  Totals (Since boot or last clear) :
   Bytes Rx        : 819,265,344        Bytes Tx        : 1,217,179,587
   Unicast Rx      : 4,052,391          Unicast Tx      : 5,062,876
   Bcast/Mcast Rx  : 1,142,020          Bcast/Mcast Tx  : 7,390,717
  Errors (Since boot or last clear) :
   FCS Rx          : 0                  Drops Rx        : 0
   Alignment Rx    : 0                  Collisions Tx   : 0
   Runts Rx        : 0                  Late Colln Tx   : 0
   Giants Rx       : 0                  Excessive Colln : 0
   Total Rx Errors : 0                  Deferred Tx     : 0
  Rates (5 minute weighted average) :
   Total Rx  (bps) : 501944             Total Tx  (bps) : 504256
   Unicast Rx (Pkts/sec) : 0            Unicast Tx (Pkts/sec) : 0
   B/Mcast Rx (Pkts/sec) : 0            B/Mcast Tx (Pkts/sec) : 4
   Utilization Rx  : 00.04 %            Utilization Tx  : 00.04 %

Note the values on the bottom indicating the “Rates”? They’re not what they claim to be! This particular interface has approximately 1kbps input (Rx) and 3kbps output (Tx); not exactly the 500kbps the output claims. Also, try to explain how to receive 502kbps of data with less than 1 packet per second…

This particular switch is a 2610-24PWR with firmware R.11.16; but it’s probably a more general problem.

To deal with loops in switched networks, the Spanning Tree Protocol was developed. For a description of how STP works, see the Wikipedia page on the subject; in short, it disables certain ports on certain switches to break loops. So far so good.

When using VLANs, there are several alternatives:

  • Use a Common Spanning Tree: i.e. use the same topology for all VLANs.
  • Use Per Vlan Spanning Tree: i.e. run a separate STP instance for each VLAN.
  • Use Multiple Spanning Tree: This is the IEEE standard and is a compromise.

In MST, VLANs can be mapped to instances. All VLANs mapped to the same instance share the same Spanning Tree. This allows some flexibility by using multiple instances, without the CPU problems of running a single instance for each and every VLAN.

Now consider the following situation:

This diagram uses only 2 VLANs: a data VLAN, drawn in blue, and a management VLAN, in red. The data VLAN is used to connect the Left and Right switch together, along with the attached servers. The management VLAN is only used to manage the switches.

When implementing this on Cisco switches (I tried it on Catalyst 3750s), everything works as expected. The two servers can talk to each other, both switches are manageable.

When implementing this on HP ProCurve switches (I tried it on 5400s, 2610s and 2810s), this does not work: Depending on the MAC-addresses of the switches, either the servers cannot talk to each other or one of both switches is disconnected from the management station…

Continue reading ‘HP ProCurve: MST misbehaves’ »