In addition to the commands that were described in the previous sections, there are additional Cisco IOS software commands that are useful for both verifying and troubleshooting VLAN configurations. One of the most commonly used VLAN verification and troubleshooting commands is the show vlan command. This command displays parameters for all VLANs within the administrative domain as illustrated in the following output:
| Cat-3550-1#show vlanVLAN Name Status Ports —- ——————————– ——— ——————————- 1 default active Fa0/11, Fa0/12, Fa0/13, Fa0/14 Fa0/20, Fa0/21, Fa0/22, Fa0/23 Fa0/24 150 VLAN_150 active Fa0/2, Fa0/3, Fa0/4, Fa0/5 Fa0/6, Fa0/7, Fa0/8, Fa0/9 Fa0/10 160 VLAN_160 active Fa0/15, Fa0/16, Fa0/17, Fa0/18 Fa0/19 170 VLAN_170 active Gi0/1, Gi0/2 1002 fddi-default active 1003 token-ring-default active 1004 fddinet-default active 1005 trnet-default activeVLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 —- —– ———- —– —— —— ——– —- ——– —— —— 1 enet 100001 1500 – – – – – 0 0 150 enet 100150 1500 – – – – – 0 0 160 enet 100160 1500 – – – – – 0 0 170 enet 100170 1500 – – – – – 0 0 1002 fddi 101002 1500 – – – – – 0 0 1003 tr 101003 1500 – – – – – 0 0 1004 fdnet 101004 1500 – – – ieee – 0 0 1005 trnet 101005 1500 – – – ibm – 0 0Remote SPAN VLANs —————————————————————————— Primary Secondary Type Ports |
This command prints all available VLANs along with the ports that are assigned to each of the individual VLANs. Only access ports, regardless of whether they are up or down, will be included in the output of this command. Trunk links will not be included as these belong to all VLANs. Theshow vlan command also provides information on RSPAN VLANs, as well as private VLAN configuration on the switch. The show vlan command can be used with additional keywords to provide more specific information. The following output shows the supported additional keywords that can be used with this command:
| Cat-3550-1#show vlan ? brief VTP all VLAN status in brief id VTP VLAN status by VLAN id ifindex SNMP ifIndex name VTP VLAN status by VLAN name private-vlan Private VLAN information remote-span Remote SPAN VLANs summary VLAN summary information | Output modifiers <cr> |
The brief keyword prints a brief status of all active VLANs. The output that is printed by this command is the same as the output above with the only difference being that the last two sections will be omitted. The id keyword provides the same information as the show vlancommand, but only for the specified VLAN as shown in the following output:
| Switch-1#show vlan id 150VLAN Name Status Ports —- ——————————– ——— ——————————- 150 VLAN_150 active Fa0/1, Fa0/2, Fa0/3, Fa0/4 Fa0/5, Fa0/6, Fa0/7, Fa0/8 Fa0/9, Fa0/10VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 —- —– ———- —– —— —— ——– —- ——– —— —- 150 enet 100150 1500 – – – – – 0 0Remote SPAN VLAN —————- DisabledPrimary Secondary Type Ports ——- ——— —————– —————————————- |
Again, the VLAN name is included in the output, as are all of the access ports that belong to the VLAN. Trunk ports are not included in this output because they belong to all VLANs. Additional information also includes the VLAN MTU, RSPAN configuration (if applicable), as well as Private VLAN (PVLAN) configuration parameters (if applicable).
The name keyword allows the VLAN name to be specified instead of the ID. This command prints the same information as the show vlan id <number> command. The ifindex keyword displays the SNMP IfIndex for the VLAN (if applicable), while the private-vlan and remote-spankeywords prints PVLAN and RSPAN configuration information respectively. And finally, thesummary command prints a summary of the number of VLANs that are active in the management domain. This includes standard and extended VLANs.
Another useful VLAN troubleshooting command is the show vtp counters command. This command prints information on VTP packet statistics. Following is the output of the show vtp counters command on a switch configured as a VTP server (default):
| Cat-3550-1#show vtp counters VTP statistics: Summary advertisements received : 15 Subset advertisements received : 10 Request advertisements received : 2 Summary advertisements transmitted : 19 Subset advertisements transmitted : 12 Request advertisements transmitted : 0 Number of config revision errors : 0 Number of config digest errors : 0 Number of V1 summary errors : 0VTP pruning statistics:Trunk Join Transmitted Join Received Summary advts received from non-pruning-capable device ————- —————- —————- ————————— Fa0/11 0 1 0 Fa0/12 0 1 0 |
The first 6 (six) lines of the output printed by the show vtp counters command provide the statistics for the three types of VTP packets: advertisement requests, summary advertisements, and subset advertisements. These different messages will be described in the following section.
VTP advertisement requests are requests for configuration information. These messages are sent by VTP clients to VTP servers to request VLAN and VTP information they may be missing. A VTP advertisement request is sent out when the switch resets, the VTP domain name changes, or in the event that the switch has received a VTP summary advertisement frame with a higher configuration revision than its own. VTP servers should only show the received counters incrementing, while any VTP clients should only show the transmitted counters incrementing.
VTP summary advertisements are sent out by servers every 5 minutes, by default. These types of messages are used to tell an adjacent switch of the current VTP domain name, the configuration revision number and the status of the VLAN configuration, as well as other VTP information which includes the time stamp, the MD5 hash, and the number of subset advertisements to follow. If these counters are incrementing on the server, there is more than one switch acting or configured as a server in the domain.
VTP subset advertisements are sent out by VTP servers when VLAN configuration changes; such as when a VLAN is added, suspended, changed, deleted, or other VLAN-specific parameters, such as the VLAN MTU, have changed. One or more subset advertisements will be sent following the VTP summary advertisement. A subset advertisement contains a list of VLAN information. If there are several VLANs, more than one subset advertisement may be required in order to advertise all the VLANs.
The Number of config revision errors section of this command shows the number of advertisements that the switch cannot accept because it received packets with the same configuration revision number but a different MD5 hash value. This is common when changes are made to two or more server switches in the same domain at the same time and an intermediate switch receives these advertisements at the same time. This concept is illustrated in Figure 3-3, which illustrates a basic switched network:
Fig. 3-3. Troubleshooting Configuration Revision Errors
Figure 3-3 illustrates a basic network that incorporates redundancy and load sharing. It should be assumed that Sw1 and Sw2 are configured as servers, while Sw3 is configured as a client. Sw1 is the root for VLANs 10 and 30, while Sw2 is the root for VLANs 20 and 40. Assume that a simultaneous change is implemented on Sw1 and Sw2 adding VLAN 50 to Sw1 and VLAN 60 to Sw2. Both switches send out an advertisement following the change to the database.
The change is propagated throughout the domain overwriting the previous databases of the other switches that receive this information. Assume that Sw5 receives the same information from neighbors at the same time and both advertisements contain the same configuration revision number. In such situations, the switch will not be able to accept either advertisement because they have the same configuration revision number, but different MD5 hash values.
When this occurs, the switch increments the Number of config revision errors counter and does not update its database. This situation can result in a loss of connectivity within one or more VLANs because VLAN information is not updated on the switch. To resolve this issue and ensure that the local database on the switch is updated, configure a dummy VLAN on one of the server switches, which results in another update with an incremented configuration revision number. This will overwrite the local database of all switches, allowing Sw5 to update its database as well. Keep in mind that this is not a common occurrence; however it is possible, hence the reason for this counter.
The Number of config digest errors section increments whenever the switch receives an advertisement with a different MD5 hash value than it calculated. This is the result of different VTP passwords configured on the switches. You can use the show vtp password command to verify that the configured VTP password is correct. It is also important to remember that the passwords may be the same but hardware or software issues, e.g. bugs could be causing data corruption of VTP packets, resulting in these errors.
And finally, the VTP pruning statistics section will only ever contain non-zero values is pruning is enabled for the VTP domain. Pruning is enabled on servers and this configuration is propagated throughout the VTP domain. Servers will receive joins from clients when pruning has been enabled for the VTP domain.
