So, the
situation:
3Com:
Port mode: Trunk; VLAN 1 tagged
Cisco:
Port mode: Trunk; Trunk allowed vlans: 1
We expect that 3Com and Cisco will communicate over this port on VLAN=1 using tagged packets. At least, that's the expectation of administrators who work more with 3Com equipment.
But after configuring both switches, we get nothing. 3Com and Cisco simply don't want to see each other. Moreover, if you put two 3Com switches or two Cisco switches facing each other with the same parameters, everything works. Why?
The catch is that 3Com in our case expects strictly tagged packets (i.e. a genuine TRUNK mode). Cisco, on the other hand, doesn't have a genuine TRUNK mode, working permanently either in ACCESS or in HYBRID mode (which it calls TRUNK). And VLAN=1 on that same Cisco port is most likely specified as the Native VLAN for the Trunk.
In that case, since VLAN=1 on Cisco is the Native VLAN for that port, it will send and expect UNtagged packets, while 3Com expects tagged ones.
That's why it doesn't work.
Solutions.
Option 1: force the 3Com port to accept VLAN=1 in UNtagged form. Then 3Com will start to see the packets that Cisco sends. But this only applies if you don't need to send another VLAN as Access through this same port (for obvious reasons - two VLANs on one port can't both work as untagged).
Example of this action on the 3Com 4200/4400/4900 side:
# bri vla mod add 1 1:1 unt
The same, on the 3Com 4500 and other CLI models:
<4500> system-view
[4500] int eth 1/0/1
[4500-Ethernet1/0/1] port link-type access
[4500-Ethernet1/0/1] port access vlan 1
Or, if you need a hybrid:
<4500> system-view
[4500] int eth 1/0/1
[4500-Ethernet1/0/1] port link-type hybrid
[4500-Ethernet1/0/1] port hybrid pvid vlan 1
In all three examples we are working with port 1.
Option 2: change the Native VLAN on the Cisco port. Then VLAN=1 will stop being Native and Cisco will start sending and receiving packets related to it (finally) tagged. Example of this action on the Cisco side:
CISCO> enable
CISCO# config t
CISCO(config)# int fa 0/1
CISCO(config-if)# swi trunk native vlan 999
CISCO(config-if)# end
In this example we are changing the Native VLAN on the FastEthernet 1 interface.
Comments