My place of work is essentially a Cisco shop, but we do have occasional pieces from other manufacturers that we need to deal with.
My latest challenge was to run a trunk between a Cisco 2960 and an HP5412LZ modular switch. The HP switch is a big beast, with 12 bays; each bay capable of accepting various modules, giving a lot of flexibility. Additionally it is a layer three switch although we are only using it as an access switch with POE modules, so we are not doing any routing on the switch.
The picture below shows the switch chassis, with 4 modules inserted, 8 blank slots. In my case I have 9 x 24 port POE switch modules and 3 blank slots giving me 224 POE ports.
So why am I trunking between these two switches? We have migrated our office network from a number of ISPs connections to one MPLS connection. As such we have a standard template for this network configuration that uses a Cisco 2960 as the core switch, handles DHCP and 4 VLANs.
The VLAN scheme we have is as follows:
- VLAN501 – Production VLAN allows connection to company internal services at our data center.
- VLAN502 – Guest VLAN allows guests to use our network for raw internet but blocks traffic to the data center.
- VLAN504 – VOIP VLAN provides connection for our phones and our UCaaS provider.
The issue with doing this sort of trunk is that the HP and Cisco switches handle trunks in very different ways. The Cisco config is simple; define your port channel and create your trunk and you are done. In this case we have 4 x 1Gb ports configured as a port channel, and running LACP.
! interface Port-channel3 description Port Channel to HP switch switchport trunk native vlan 501 switchport mode trunk ! interface GigabitEthernet1/0/1 switchport trunk native vlan 501 switchport mode trunk channel-protocol lacp channel-group 3 mode active ! interface GigabitEthernet1/0/2 switchport trunk native vlan 501 switchport mode trunk channel-protocol lacp channel-group 3 mode active ! interface GigabitEthernet1/0/3 switchport trunk native vlan 501 switchport mode trunk channel-protocol lacp channel-group 3 mode active ! interface GigabitEthernet1/0/4 switchport trunk native vlan 501 switchport mode trunk channel-protocol lacp channel-group 3 mode active !
The important statement in this configuration is the Native VLAN statement for the trunk. This strips away the VLAN tag, essentially making traffic for that tag, the default VLAN.
The HP is a little more complicated, and the key to understanding the HP way of working is to remember one key fact; Dot1Q leaves the native VLAN untagged. So when we create our trunk on the HP, we can get layer two connectivity (CDP etc) but layer three will not work.
What we have to do is make sure that the native VLAN (if it is other than VLAN 1) is untagged on the trunk, and the other VLANs are tagged. Once we do that, we should be able to ping across the VLANs.
! trunk B17,B19,B21,B23 Trk1 LACP ! vlan 501 name "Data" untagged Trk1, !
B17, B19, B21 and B23 are the ports we are using for the other end of the trunk and Trk1 is the trunk group.
Of course all other VLANs must still be tagged in order to pass traffic correctly.