Cisco – Native Vlan Cisco Catalyst and Layer 3 switch

ciscocisco-catalystspanning treeswitchvlan

I have run into an interesting issue setting the native VLAN between one of my Cisco Catalyst 2960 and my Layer 3 switch (third party). Here is the setup, the layer three switch is set up to run on native vlan 171 and allows vlans 1,2,151,170-175,1000-1001 over the trunk. The Cisco switch in question is configured to trunk native vlan 1 and allow 1,2,151,170-175,1000-1001. The layer 3 supports RSTP and its bridge ID was set lower than the Cisco switches downstream so it would always be root.

So from what I have describe I obviously have a native vlan mismatch over this trunk. Downstream of this specific Cisco switch has 4 other switches connected to it which trunk native vlan 1001 and allow vlans 1,2,151,170-175,1000-1001.

So everytime I attempt to correct the native vlan mismatch between the Layer 3 switch and the one Cisco Switch the trunk will not pass any traffic over that trunk. The Layer 3 switch sees there is something plugged in and sends ARPS but no replies come back. The changes being attempted are as to set the native vlan to 1001 on both ends of the trunk. The only way i can have the same native vlan is if i set it to vlan 1 on both ends. Support for the third party Layer 3 switch say's there are no error's or issues on that end. Does anyone have any ideas? do I have an spann tree issue?

The layer 3 switch is not becoming the root for all the VLANs, just for VLAN 1, another access switch is the root for the rest of the VLANs. I have not been able to duplicate this in a Lab which makes it more confusing.

Best Answer

The non-Cisco switch will be running MST if it is using Rapid STP. You need to make sure your Cisco switches are also running MST, not the default PVST+ or Rapid PVST+. You need to run the same STP version on all the connected switches for STP to work correctly.

Once you fix all that, make sure that the native VLANs on each end of a link are the same. Cisco switches will use CDP to verify this, but your non-Cisco switch probably doesn't have CDP, so it may ignorant of the mismatch.

EDIT per the comment:

Different versions of STP use different BPDUs to establish the root switch and root ports. Cisco PVST+ (including Rapid PVST+) uses a separate STP instance for each VLAN, while MST uses one instance of STP for each user-defined group of VLANs, and, unless you take pains to do this, the two STP versions probably won't match in this regard. When mixing the two, it is normally best to use MST, and correctly match the VLANs to the STP groups. This works well, but it is certainly more work than using the Cisco STP version everywhere.

It is possible to interoperate the two versions, but it can be difficult to get it right so that the root and root ports are correctly identified on each switch in the layer-2 domain. Having inconsistent root switches and root ports can cause STP loops resulting in broadcast storms which can bring down the entire layer-2 domain.

It is much easier to use a single STP version across all your switches, and, unfortunately for added complexity, that would probably be be MST when mixing Cisco and non-Cisco switches.