Catalyst 6500 Series Software Configuration Guide, 8.7
Configuring Ethernet VLAN Trunks

Table Of Contents

Configuring Ethernet VLAN Trunks

Understanding How VLAN Trunks Work

Trunking Overview

Trunking Modes and Encapsulation Type

802.1Q Trunk Configuration Guidelines and Restrictions

Default Trunk Configuration

Configuring a Trunk Link

Configuring an ISL Trunk

Configuring an 802.1Q Trunk

Configuring an ISL/802.1Q Negotiating Trunk Port

Defining the Allowed VLANs on a Trunk

Disabling a Trunk Port

Disabling VLAN 1 on Trunks

Enabling 802.1Q Tagging of Native VLAN Traffic

Disabling 802.1Q Tagging on Specific Ports

Specifying a Custom 802.1Q EtherType Field

Returning a Custom 802.1Q EtherType Field to the Standard EtherType

Example VLAN Trunk Configurations

ISL Trunk Configuration Example

ISL Trunk Over EtherChannel Link Example

802.1Q Trunk Over EtherChannel Link Example

Load-Sharing VLAN Traffic Over Parallel Trunks Example


Configuring Ethernet VLAN Trunks


This chapter describes how to configure Ethernet VLAN trunks on the Catalyst 6500 series switches.


Note For complete information on configuring VLANs, see Chapter 11, "Configuring VLANs."



Note For complete syntax and usage information for the commands that are used in this chapter, refer to the Catalyst 6500 Series Switch Command Reference publication.


This chapter consists of these sections:

Understanding How VLAN Trunks Work

Default Trunk Configuration

Configuring a Trunk Link

Example VLAN Trunk Configurations

Understanding How VLAN Trunks Work

These sections describe how VLAN trunks work on the Catalyst 6500 series switches:

Trunking Overview

Trunking Modes and Encapsulation Type

802.1Q Trunk Configuration Guidelines and Restrictions

Trunking Overview

A trunk is a point-to-point link between one or more Ethernet switch ports and another networking device such as a router or a switch. Trunks carry the traffic of multiple VLANs over a single link and allow you to extend VLANs across an entire network.

Two trunking encapsulations are available on all Ethernet ports:

Inter-Switch Link (ISL)—ISL is a Cisco-proprietary trunking encapsulation

IEEE 802.1Q—802.1Q is an industry-standard trunking encapsulation

You can configure a trunk on a single Ethernet port or on an EtherChannel bundle. For more information about EtherChannel, see Chapter 6, "Configuring EtherChannel."

Ethernet trunk ports support five different trunking modes (see Table 5-1). In addition, you can specify whether the trunk will use ISL encapsulation, 802.1Q encapsulation, or whether the encapsulation type will be autonegotiated.

For trunking to be autonegotiated, the ports must be in the same VLAN Trunking Protocol (VTP) domain. However, you can use the on or nonegotiate mode to force a port to become a trunk, even if it is in a different domain. For more information on VTP domains, see Chapter 10, "Configuring VTP."

Trunk negotiation is managed by the Dynamic Trunking Protocol (DTP). DTP supports autonegotiation of both ISL and 802.1Q trunks.

Trunking Modes and Encapsulation Type


Note For a complete list of modules that do not support ISL encapsulation, refer to the Catalyst 6500 Series Release Notes at this URL:

http://www.cisco.com/univercd/cc/td/doc/product/lan/cat6000/relnotes/index.htm


Table 5-1 lists the trunking modes that are used with the set trunk command and describes how they function on Fast Ethernet, Gigabit Ethernet, and 10-Gigabit Ethernet ports.

Table 5-1 Ethernet Trunking Modes 

Mode
Function

on

Puts the port into permanent trunking mode and negotiates to convert the link into a trunk link. The port becomes a trunk port even if the neighboring port does not agree to the change.

off

Puts the port into permanent nontrunking mode and negotiates to convert the link into a nontrunk link. The port becomes a nontrunk port even if the neighboring port does not agree to the change.

desirable

Makes the port actively attempt to convert the link to a trunk link. The port becomes a trunk port if the neighboring port is set to on, desirable, or auto mode.

auto

Makes the port willing to convert the link to a trunk link. The port becomes a trunk port if the neighboring port is set to on or desirable mode. This is the default mode for all Ethernet ports.

nonegotiate

Puts the port into permanent trunking mode but prevents the port from generating DTP frames. You must configure the neighboring port manually as a trunk port to establish a trunk link.


Table 5-2 lists the encapsulation types that are used with the set trunk command and describes how they function on Ethernet ports. You can enter the show port capabilities command to determine which encapsulation types that a particular port supports.

Table 5-2 Ethernet Trunk Encapsulation Types 

Encapsulation
Function

isl

Specifies ISL encapsulation on the trunk link.

dot1q

Specifies 802.1Q encapsulation on the trunk link.

negotiate

Specifies that the port negotiate with the neighboring port to become an ISL (preferred) or 802.1Q trunk, depending on the configuration and capabilities of the neighboring port.


The trunking mode, the trunk encapsulation type, and the hardware capabilities of the two connected ports determine whether a trunk link comes up and the type of trunk the link becomes. Table 5-3 shows the result of the possible trunking configurations.

Table 5-3 Results of Possible Fast Ethernet, Gigabit Ethernet, and 10-Gigabit Ethernet Trunk Configurations 

Neighbor Port Trunk Mode and Trunk Encapsulation
Local Port Trunk Mode and Trunk Encapsulation
off
isl
or dot1q
on
isl
desirable
isl
auto
isl
on
dot1q
desirable
dot1q
auto
dot1q
desirable
negotiate
auto
negotiate

off
isl or dot1q

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
1Q trunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

on
isl

Local:
Nontrunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
1Q trunk1

Neighbor:
ISL trunk1

Local:
Nontrunk

Neighbor:
ISL trunk

Local:
Nontrunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

desirable
isl

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
1Q trunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

auto
isl

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
1Q trunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
Nontrunk

Neighbor:
Nontrunk

on
dot1q

Local:
Nontrunk

Neighbor:
1Q trunk

Local:
ISL trunk1

Neighbor:
1Q trunk1

Local:
Nontrunk

Neighbor:
1Q trunk

Local:
Nontrunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

desirable
dot1q

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

auto
dot1q

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
Nontrunk

Neighbor:
Nontrunk

desirable negotiate

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

auto
negotiate

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
1Q trunk

Neighbor:
1Q trunk

Local:
Nontrunk

Neighbor:
Nontrunk

Local:
ISL trunk

Neighbor:
ISL trunk

Local:
Nontrunk

Neighbor:
Nontrunk

1 Using this configuration can result in spanning tree loops and is not recommended.



Note DTP is a point-to-point protocol. However, some internetworking devices might forward DTP frames improperly. To avoid this problem, ensure that trunking is turned off on ports that are connected to non-switch devices if you do not intend to trunk across those links. When manually enabling trunking on a link to a Cisco router, enter the nonegotiate keyword to cause the port to become a trunk but not generate DTP frames.


802.1Q Trunk Configuration Guidelines and Restrictions

The following configuration guidelines and restrictions apply when using 802.1Q trunks and impose some limitations on the trunking strategy for a network:

When connecting Cisco switches through an 802.1Q trunk, make sure that the native VLAN for an 802.1Q trunk is the same on both ends of the trunk link. If the native VLAN on one end of the trunk is different from the native VLAN on the other end, spanning-tree loops might result.

Disabling spanning tree on the native VLAN of an 802.1Q trunk without disabling spanning tree on every VLAN in the network can cause spanning-tree loops. We recommend that you leave spanning tree enabled on the native VLAN of an 802.1Q trunk. If this is not possible, disable spanning tree on every VLAN in the network. Make sure that your network is free of physical loops before disabling spanning tree.

When you connect two Cisco switches through 802.1Q trunks, the switches exchange spanning-tree BPDUs on each VLAN that is allowed on the trunks. The BPDUs on the native VLAN of the trunk are sent untagged to the reserved IEEE 802.1D spanning-tree multicast MAC address (01-80-C2-00-00-00). The BPDUs on all other VLANs on the trunk are sent tagged to the reserved Cisco Shared Spanning Tree (SSTP) multicast MAC address (01-00-0c-cc-cc-cd).

Non-Cisco 802.1Q switches maintain only a single instance of spanning tree (the Mono Spanning Tree, or MST) that defines the spanning-tree topology for all VLANs. When you connect a Cisco switch to a non-Cisco switch through an 802.1Q trunk, the MST of the non-Cisco switch and the native VLAN spanning tree of the Cisco switch combine to form a single spanning-tree topology known as the Common Spanning Tree (CST).

When you connect a Cisco switch to a non-Cisco switch, the CST is always on VLAN 1. The Cisco switch sends an untagged IEEE BDPU (01-80-C2-00-00-00) on VLAN 1 for the CST. On the native VLAN, the Cisco switch sends an untagged Cisco BPDU (01-00-0C-CC-CC-CC) which the non-Cisco switch forwards but does not act on (the IEEE BPDU is not forwarded on the native VLAN).

Because Cisco switches transmit BPDUs to the SSTP multicast MAC address on VLANs other than the native VLAN of the trunk, non-Cisco switches do not recognize these frames as BPDUs and flood them on all ports in the corresponding VLAN. Other Cisco switches that are connected to the non-Cisco 802.1Q cloud receive these flooded BPDUs. This situation allows Cisco switches to maintain a per-VLAN spanning-tree topology across a cloud of non-Cisco 802.1Q switches. The non-Cisco 802.1Q cloud separating the Cisco switches is treated as a single broadcast segment between all switches that are connected to the non-Cisco 802.1Q cloud through the 802.1Q trunks.

Make sure that the native VLAN is the same on all of the 802.1Q trunks connecting the Cisco switches to the non-Cisco 802.1Q cloud.

If you are connecting multiple Cisco switches to a non-Cisco 802.1Q cloud, all of the connections must be through 802.1Q trunks. You cannot connect Cisco switches to a non-Cisco 802.1Q cloud through ISL trunks or through access ports because the switch will place the ISL trunk port or access port into the spanning tree "port inconsistent" state and no traffic will pass through the port.

Default Trunk Configuration

Table 5-4 shows the default Ethernet trunk configuration.

Table 5-4 Default Ethernet Trunk Configuration

Feature
Default Configuration

Trunk mode

auto

Trunk encapsulation

negotiate

Allowed VLAN range

VLANs 1-1005, 1025-40941

1 With software release 8.3(1) and later releases, instead of reserved VLANs, we now have only user and internal VLANs. VLAN manager no longer permanently sets aside VLANs for features that require them; they are now dynamically assigned as needed. The entire VLAN range (1 to 4094) is now available for user (and internal) VLANs.


Configuring a Trunk Link

These sections describe how to configure a trunk link on Ethernet ports and how to define the allowed VLAN range on a trunk:

Configuring an ISL Trunk

Configuring an 802.1Q Trunk

Configuring an ISL/802.1Q Negotiating Trunk Port

Defining the Allowed VLANs on a Trunk

Disabling a Trunk Port

Disabling VLAN 1 on Trunks

Enabling 802.1Q Tagging of Native VLAN Traffic

Disabling 802.1Q Tagging on Specific Ports

Specifying a Custom 802.1Q EtherType Field

Returning a Custom 802.1Q EtherType Field to the Standard EtherType

Configuring an ISL Trunk

To configure an ISL trunk, perform this task in privileged mode:

 
Task
Command

Step 1 

Configure an ISL trunk.

set trunk mod/port [on | off | desirable | auto | nonegotiate] isl

Step 2 

Verify the trunking configuration.

show trunk [mod/port]

This example shows how to configure a port as a trunk and verify the trunk configuration. This example assumes that the neighboring port is in auto mode:

Console> (enable) set trunk 1/1 on
Port(s) 1/1 trunk mode set to on.
Console> (enable) 06/16/1998,22:16:39:DTP-5:Port 1/1 has become isl trunk
06/16/1998,22:16:40:PAGP-5:Port 1/1 left bridge port 1/1.
06/16/1998,22:16:40:PAGP-5:Port 1/1 joined bridge port 1/1.
Console> (enable) show trunk
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 1/1      on           isl            trunking      1
Port      Vlans allowed on trunk
--------  ---------------------------------------------------------------------
 1/1      1-1005, 1025-4094

Port      Vlans allowed and active in management domain 
--------  ---------------------------------------------------------------------
 1/1      1,521-524
Port      Vlans in spanning tree forwarding state and not pruned
--------  ---------------------------------------------------------------------
 1/1      
Console> (enable)

This example shows how to place a port in desirable mode and verify the trunk configuration. This example assumes that the neighboring port is in auto mode:

Console> (enable) set trunk 1/2 desirable
Port(s) 1/2 trunk mode set to desirable.
Console> (enable) 06/16/1998,22:20:16:DTP-5:Port 1/2 has become isl trunk
06/16/1998,22:20:16:PAGP-5:Port 1/2 left bridge port 1/2.
06/16/1998,22:20:16:PAGP-5:Port 1/2 joined bridge port 1/2.
Console> (enable) show trunk 1/2
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 1/2      desirable    isl            trunking      1
Port      Vlans allowed on trunk
--------  ---------------------------------------------------------------------
 1/2      1-1005, 1025-4094
Port      Vlans allowed and active in management domain 
--------  ---------------------------------------------------------------------
 1/2      1,521-524
Port      Vlans in spanning tree forwarding state and not pruned
--------  ---------------------------------------------------------------------
 1/2      
Console> (enable)

Configuring an 802.1Q Trunk

To configure an 802.1Q trunk, perform this task in privileged mode:

 
Task
Command

Step 1 

Configure an 802.1Q trunk.

set trunk mod/port [on | off | desirable | auto | nonegotiate] dot1q

Step 2 

Verify the trunking configuration.

show trunk [mod/port]

This example shows how to configure an 802.1Q trunk and verify the trunk configuration:

Console> (enable) set trunk 2/9 desirable dot1q
Port(s) 2/9 trunk mode set to desirable.
Port(s) 2/9 trunk type set to dot1q.
Console> (enable) 07/02/1998,18:22:25:DTP-5:Port 2/9 has become dot1q trunk

Console> (enable) show trunk 
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 2/9      desirable    dot1q          trunking      1

Port      Vlans allowed on trunk
--------  ---------------------------------------------------------------------
 2/9      1-1005, 1025-4094

Port      Vlans allowed and active in management domain 
--------  ---------------------------------------------------------------------
 2/9      1,5,10-32,101-120,150,200,250,300,400,500,600,700,800,900,1000

Port      Vlans in spanning tree forwarding state and not pruned
--------  ---------------------------------------------------------------------
 2/9      5,10-32,101-120,150,200,250,300,400,500,600,700,800,900,1000
Console> (enable) 

Configuring an ISL/802.1Q Negotiating Trunk Port

To configure a trunk port to negotiate the trunk encapsulation type (either ISL or 802.1Q), perform this task in privileged mode:

 
Task
Command

Step 1 

Configure a port to negotiate the trunk encapsulation type.

set trunk mod/port [on | off | desirable | auto | nonegotiate] negotiate

Step 2 

Verify the trunking configuration.

show trunk [mod/port]

This example shows how to configure a port to negotiate the encapsulation type and verify the trunk configuration. This example assumes that the neighboring port is in auto mode with encapsulation set to isl or negotiate.

Console> (enable) set trunk 4/11 desirable negotiate
Port(s) 4/11 trunk mode set to desirable.
Port(s) 4/11 trunk type set to negotiate.
Console> (enable) show trunk 4/11
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 4/11     desirable    n-isl          trunking      1
Port      Vlans allowed on trunk
--------  ---------------------------------------------------------------------
 4/11     1-1005,1025-4094
Port      Vlans allowed and active in management domain 
--------  ---------------------------------------------------------------------
 4/11     1,5,10-32,55,101-120,998-1000
Port      Vlans in spanning tree forwarding state and not pruned
--------  ---------------------------------------------------------------------
 4/11     1,5,10-32,55,101-120,998-1000
Console> (enable)

Defining the Allowed VLANs on a Trunk

When you configure a trunk port, all VLANs are added to the allowed VLANs list for that trunk. However, you can remove VLANs from the allowed list to prevent traffic for those VLANs from passing over the trunk.


Note When you first configure a port as a trunk, entering the set trunk command always adds all VLANs to the allowed VLANs list for the trunk, even if you specify a VLAN range (any specified VLAN range is ignored). To modify the allowed VLANs list, use a combination of the clear trunk and set trunk commands to specify the allowed VLANs.


In software releases prior to software release 8.3(1), to define the allowed VLANs list for a trunk port, perform this task in privileged mode:

 
Task
Command

Step 1 

Remove VLANs from the allowed VLANs list for a trunk.

clear trunk mod/port vlans

Step 2 

(Optional) Add specific VLANs to the allowed VLANs list for a trunk.

set trunk mod/port vlans

Step 3 

Verify the allowed VLANs list for the trunk.

show trunk [mod/port]

This example shows how to define the allowed VLANs list to allow VLANs 1-100, VLANs 500-1005, and VLAN 2500 on trunk port 1/1 and verify the allowed VLAN list for the trunk:

Console> (enable) clear trunk 1/1 101-499
Removing Vlan(s) 101-499 from allowed list.
Port 1/1 allowed vlans modified to 1-100,500-1005.
Console> (enable) set trunk 1/1 2500
Adding vlans 2500 to allowed list.
Port(s) 1/1 allowed vlans modified to 1-100,500-1005,2500.
Console> (enable) show trunk 1/1
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 1/1      desirable    isl            trunking      1
Port      Vlans allowed on trunk
--------  ---------------------------------------------------------------------
 1/1      1-100, 500-1005,2500
Port      Vlans allowed and active in management domain
--------  ---------------------------------------------------------------------
 1/1      1,521-524
Port      Vlans in spanning tree forwarding state and not pruned
--------  ---------------------------------------------------------------------
 1/1      1,521-524
Console> (enable)

In software release 8.3(1) and later releases, if you want to configure a trunk but do not want to allow any VLANs on the trunk, enter the none keyword as follows:

Console> (enable) set trunk 7/1 on none dot1q
Removing Vlan(s) 1-4094 from allowed list.
Port 7/1 allowed vlans modified to none.
Port(s) 7/1 trunk mode set to on.
Port(s) 7/1 trunk type set to dot1q.
Console> (enable)

Disabling a Trunk Port

To turn off trunking on a port, perform this task in privileged mode:

 
Task
Command

Step 1 

Turn off trunking on a port.

set trunk mod/port off

Step 2 

Verify the trunking configuration.

show trunk [mod/port]

To return a port to the default trunk type and mode for that port type, perform this task in privileged mode:

 
Task
Command

Step 1 

Return the port to the default trunking type and mode for that port type.

clear trunk mod/port

Step 2 

Verify the trunking configuration.

show trunk [mod/port]

Disabling VLAN 1 on Trunks

On the Catalyst 6500 series switches, VLAN 1 is enabled by default to allow control protocols to transmit and receive packets across the network topology. However, when VLAN 1 is enabled on trunk links in a large complex network, the impact of broadcast storms increases. Because spanning tree applies to the entire network, spanning-tree loops might increase when you enable VLAN 1 on all trunk links. To prevent this scenario, you can disable VLAN 1 on trunk interfaces.

When you disable VLAN 1 on a trunk interface, no user traffic is transmitted and received across that trunk interface, but the supervisor engine continues to transmit and receive packets from control protocols such as Cisco Discovery Protocol (CDP), VTP, Port Aggregation Protocol (PAgP), and DTP.

When a trunk port with VLAN 1 disabled becomes a nontrunk port, it is added to the native VLAN. If the native VLAN is VLAN 1, the port is enabled and added to VLAN 1.

To disable VLAN 1 on a trunk interface, perform this task in privileged mode:

 
Task
Command

Step 1 

Disable VLAN 1 on the trunk interface.

clear trunk mod/port [vlan-range]

Step 2 

Verify the allowed VLAN list for the trunk.

show trunk [mod/port]

This example shows how to disable VLAN 1 on a trunk link and verify the configuration:

Console> (enable) clear trunk 8/1 1
Removing Vlan(s) 1 from allowed list.
Port  8/1 allowed vlans modified to 2-1005. 
Console> (enable) show trunk 8/1
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 8/1      on           isl            trunking      1

Port      Vlans allowed on trunk
--------  ---------------------------------------------------------------------
 8/1      2-1005, 1025-4094

Port      Vlans allowed and active in management domain
--------  ---------------------------------------------------------------------
 8/1      2-6,10,20,50,100,152,200,300,400,500,521,524,570,776,801-802,850,917,9
99,1003,1005

Port      Vlans in spanning tree forwarding state and not pruned
--------  ---------------------------------------------------------------------
 8/1      2-6,10,20,50,100,152,200,300,400,500,521,524,570,776,802,850,917,999,1
003,1005
Console> (enable) show config 

Enabling 802.1Q Tagging of Native VLAN Traffic

The set dot1q-all-tagged enable command is a global command that configures a switch to forward all frames from 802.1Q trunks with 802.1Q tagging, including traffic in the native VLAN (default VLAN), and admit only 802.1Q tagged frames on 802.1Q trunks, dropping any untagged traffic, including untagged traffic in the native VLAN. You can enter this command on any switch that needs to support 802.1Q tunneling with 802.1Q trunks.

To configure the switch to forward all 802.1Q tagged frames on 802.1Q trunks, perform this task in privileged mode:

 
Task
Command

Step 1 

Enable the switch to forward all 802.1Q tagged frames.

set dot1q-all-tagged [enable | disable]

Step 2 

Verify the configuration.

show dot1q-all-tagged

This example shows how to enable the switch to forward all 802.1Q traffic and verify the configuration:

Console> (enable) set dot1q-all-tagged enable
Dot1q-all-tagged feature enabled globally.
Console> (enable) show dot1q-all-tagged
Dot1q-all-tagged feature globally enabled.
Console> (enable)

Disabling 802.1Q Tagging on Specific Ports

The set port dot1q-all-tagged mod/port enable | disable command allows you to disable 802.1Q tagging on specific ports. Enter the set port dot1q-all-tagged disable command to selectively disable 802.1Q tagging on ports that connect to the devices that do not support 802.1Q tagged traffic. If you enable or disable 802.1Q tagging on an EtherChannel port, the configuration is applied to all ports in the channel.


Note If you did not enter the global set dot1q-all-tagged enable command, the default group is never tagged and the per-port setting has no effect.

If you entered the global set dot1q-all-tagged enable command, the per-port setting controls whether frames are tagged.



Note The set port dot1q-all-tagged mod/port enable | disable command is not supported on the ports on the MSFC or ports on the WS-X6101 OC-12 ATM modules.


To disable the forwarding of 802.1Q tagged frames on specific ports, perform this task in privileged mode:

 
Task
Command

Step 1 

Enable or disable the forwarding of 802.1Q tagged frames on specific ports or on all ports.

set port dot1q-all-tagged mod/port enable | disable

Step 2 

Verify the configuration.

show port dot1q-all-tagged

This example shows how to disable the forwarding of 802.1Q tagged frames on port 3/2 and verify the configuration:

Console> (enable) set port dot1q-all-tagged 3/2 disable
Packets on native vlan will not be tagged on port  3/2.
Console> (enable) show port dot1q-all-tagged

Dot1q-all-tagged feature globally enabled.
Port    Dot1q-all-tagged mode
----    ---------------------
 2/1    enable
 2/2    enable
 3/1    enable
 3/2    disable
 3/3    enable
 3/4    enable
 3/5    enable
<output truncated>

Specifying a Custom 802.1Q EtherType Field


Note A custom 802.1Q EtherType field is supported only on the following modules: Supervisor Engine 2, Supervisor Engine 720, and Supervisor Engine 32 uplink ports, WS-X6516-GBIC, WS-X6516A-GBIC, WS-X6516-GE-TX, WS-X6148-GE-TX, WS-X6148V-GE-TX, WS-X6548-GE-TX, WS-X6548V-GE-TX, WS-X6748-GE-TX, WS-X6724-SFP, WS-X6704-10GE, and WS-X6501-10GEX4.



Note A custom 802.1Q EtherType field is not supported on EtherChannels. If you configure a port with a custom 802.1Q EtherType field, the port cannot join a channel. If a channel is already configured, you cannot change the 802.1Q EtherType on any of the channel ports.



Note On the WS-X6516A-GBIC, WS-X6516-GBIC, and WS-X6548-GE-TX modules, if you configure a port with a custom 802.1Q EtherType in the port groups 1 through 8 or 9 through 16, all the ports in the group are configured with the custom 802.1Q EtherType. On the WS-X6516-GE-TX module, if you configure a port with a custom 802.1Q EtherType in the port groups 1 through 4, 5 through 8, 9 through 12, or 13 through 16, all the ports in the group are configured with the custom 802.1Q EtherType.



Note You can use a custom 802.1Q EtherType field on trunk ports, 802.1Q access ports, and 802.1Q/802.1p multi-VLAN access ports. Additionally, you should configure the custom EtherType value the same on both ends of a link.


By specifying a custom EtherType field, your network can support Cisco and non-Cisco switches that do not use the standard 0x8100 EtherType to identify 802.1Q-tagged frames. When you specify a custom EtherType field, you can identify 802.1Q tagged frames and switch the frames to a specified VLAN. The two bytes immediately following the EtherType are interpreted as a standard 802.1Q tag. Specify the value of the two-byte EtherType field in hexadecimal. The default value is 8100.

To specify a custom 802.1Q EtherType value in the 802.1Q tag, perform this task in privileged mode:

 
Task
Command

Step 1 

Specify a custom EtherType field for a port.

set port dot1q-ethertype mod/port {value | default}

Step 2 

Verify the configuration.

show port dot1q-ethertype [mod | mod/port]

This example shows how to set the 802.1Q EtherType to 0x1234 on port 2/1 and verify the configuration:

Console> (enable) set port dot1q-ethertype 2/1 1234
All the group ports 2/1-2 associated with port 2/1 will be modified.
Do you want to continue (y/n) [n]?y
Dot1q Ethertype value set to 0x1234 on ports 2/1-2.
Console> (enable)

Console> (enable) show port dot1q-ethertype 2/1
Port    Dot1q ethertype value
----    ---------------------
 2/1    1234    
Console> (enable)

Returning a Custom 802.1Q EtherType Field to the Standard EtherType

The set port dot1q-ethertype mod/port {value | default} command is the only command that is required to return the custom 802.1Q EtherType field to the standard EtherType field (0x8100).

To return the custom EtherType field to the default value (0x8100), perform this task in privileged mode:

 
Task
Command

Step 1 

Return the EtherType field to the standard value (0x8100) for a port.

set port dot1q-ethertype mod/port default

Step 2 

Verify the configuration.

show port dot1q-ethertype [mod | mod/port]

This example shows how to return the 802.1Q EtherType field to the standard EtherType field (0x8100) on port 2/1 and verify the configuration:

Console> (enable) set port dot1q-ethertype 2/1 default
All the group ports 2/1-2 associated with port 2/1 will be modified.
Do you want to continue (y/n) [n]?y
Dot1q Ethertype value set to 0x8100 on ports 2/1-2.
Console> (enable) 

Console> (enable) show port dot1q-ethertype 2/1
Port    Dot1q ethertype value
----    ---------------------
 2/1    8100    
Console> (enable) 

Example VLAN Trunk Configurations

This section contains example VLAN trunk configurations:

ISL Trunk Configuration Example

ISL Trunk Over EtherChannel Link Example

802.1Q Trunk Over EtherChannel Link Example

Load-Sharing VLAN Traffic Over Parallel Trunks Example

ISL Trunk Configuration Example

This example shows how to configure an ISL trunk between two switches and limit the allowed VLANs on the trunk to VLAN 1 and VLANs 520-530.

In this example, port 1/1 on Switch 1 is connected to a Fast Ethernet port on another switch. Both ports are in their default state, with the trunk mode set to auto (for more information, see the "Default Trunk Configuration" section).

To configure an ISL trunk between two switches and limit the allowed VLANs on the trunk to VLAN 1 and VLANs 520-530, perform these steps:


Step 1 Configure port 1/1 on Switch 1 as an ISL trunk port by entering the set trunk command. By specifying the desirable keyword, the trunk is automatically negotiated with the neighboring port (port 1/2 on Switch 2). ISL encapsulation is assumed based on the hardware type.

Switch1> (enable) set trunk 1/1 desirable
Port(s) 1/1 trunk mode set to desirable.
Switch1> (enable) 06/18/1998,12:20:23:DTP-5:Port 1/1 has become isl trunk
06/18/1998,12:20:23:PAGP-5:Port 1/1 left bridge port 1/1.
06/18/1998,12:20:23:PAGP-5:Port 1/1 joined bridge port 1/1.
Switch1> (enable)

Step 2 Check the configuration by entering the show trunk command. The Status field in the screen output indicates that port 1/1 is trunking.

Switch1> (enable) show trunk 1/1
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 1/1      desirable    isl            trunking      1
Port      Vlans allowed on trunk
--------  ---------------------------------------------------------------------
 1/1      1-1005, 1025-4094
Port      Vlans allowed and active in management domain 
--------  ---------------------------------------------------------------------
 1/1      1,521-524
Port      Vlans in spanning tree forwarding state and not pruned
--------  ---------------------------------------------------------------------
 1/1      
Switch1> (enable)

Step 3 Define the allowed VLAN list for the trunk by entering the clear trunk command to remove the VLANs that should not pass traffic over the trunk link.

Switch1> (enable) clear trunk 1/1 2-519
Removing Vlan(s) 2-519 from allowed list.
Port 1/1 allowed vlans modified to 1,520-1005.
Switch1> (enable) clear trunk 1/1 531-1005
Removing Vlan(s) 531-1005 from allowed list.
Port 1/1 allowed vlans modified to 1,520-530.
Switch1> (enable) show trunk 1/1
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 1/1      desirable    isl            trunking      1
Port      Vlans allowed on trunk
--------  ---------------------------------------------------------------------
 1/1      1,520-530
Port      Vlans allowed and active in management domain 
--------  ---------------------------------------------------------------------
 1/1      1,521-524
Port      Vlans in spanning tree forwarding state and not pruned
--------  ---------------------------------------------------------------------
 1/1      1,521-524
Switch1> (enable)

Step 4 Verify connectivity across the trunk by entering the ping command.

Switch1> (enable) ping switch2
switch2 is alive
Switch1> (enable)


ISL Trunk Over EtherChannel Link Example

This example shows how to configure an ISL trunk over an EtherChannel link between two switches.

Figure 5-1 shows two switches that are connected through two 100BASE-TX Fast Ethernet ports.

Figure 5-1 ISL Trunk Over Fast EtherChannel Link

To configure the switches to form a two-port EtherChannel bundle and then configure the EtherChannel bundle as an ISL trunk link, perform these steps:


Step 1 Confirm the channeling and trunking status of the switches by entering the show port channel and show trunk commands.

Switch_A> (enable) show port channel
No ports channelling
Switch_A> (enable) show trunk
No ports trunking.
Switch_A> (enable)

Switch_B> (enable) show port channel
No ports channelling
Switch_B> (enable) show trunk
No ports trunking.
Switch_B> (enable)

Step 2 Configure the ports on Switch A to negotiate an EtherChannel bundle with the neighboring switch by entering the set port channel command. This example assumes that the neighboring ports on Switch B are in EtherChannel auto mode. The system logging messages provide information about the formation of the EtherChannel bundle.

Switch_A> (enable) set port channel 1/1-2 desirable
Port(s) 1/1-2 channel mode set to desirable.
Switch_A> (enable) %PAGP-5-PORTFROMSTP:Port 1/1 left bridge port 1/1
%PAGP-5-PORTFROMSTP:Port 1/2 left bridge port 1/2
%PAGP-5-PORTFROMSTP:Port 1/2 left bridge port 1/2
%PAGP-5-PORTTOSTP:Port 1/1 joined bridge port 1/1-2
%PAGP-5-PORTTOSTP:Port 1/2 joined bridge port 1/1-2

Switch_B> (enable) %PAGP-5-PORTFROMSTP:Port 3/1 left bridge port 3/1
%PAGP-5-PORTFROMSTP:Port 3/2 left bridge port 3/2
%PAGP-5-PORTFROMSTP:Port 3/2 left bridge port 3/2
%PAGP-5-PORTTOSTP:Port 3/1 joined bridge port 3/1-2
%PAGP-5-PORTTOSTP:Port 3/2 joined bridge port 3/1-2

Step 3 After the EtherChannel bundle is negotiated, verify the configuration by entering the show port channel command.

Switch_A> (enable) show port channel