What's changed: Initial version
3.1Troubleshooting 802.1Q trunking
Covers how 802.1Q tagging multiplexes VLANs, how the native VLAN (untagged) is handled, the difference between dynamic trunking via DTP (dynamic auto / dynamic desirable) and static trunking, and pruning with the allowed VLAN list, building a procedure to isolate causes from symptoms such as "the trunk will not come up," "only one VLAN fails," and "VLAN leaking."
The infrastructure domain is the largest in ENCOR at 30 percent, and trunking is its entry point. In the field you routinely hit faults like "I created a new VLAN but the far site cannot see it" or "frames from VLAN 10 are somehow leaking into VLAN 99," and both share one trait: the cause is invisible until you compare the configuration on both ends of the link. This section builds the ability to read show interfaces trunk and show interfaces switchport to determine whether the trunk formed, which VLANs are actually forwarding, and whether the native VLAN matches, and to pick the right suspect for each symptom.
3.1.1802.1Q tagging and the native VLAN
- 802.1Q inserts a 4-byte tag immediately after the source MAC address of an Ethernet frame, and its 12-bit VLAN ID (1-4094) indicates which VLAN the frame belongs to. A link that carries frames with the tag intact is a trunk, multiplexing multiple VLANs onto one physical link, whereas an access port carries a single VLAN with no tag.
- The native VLAN is the single VLAN sent untagged on a trunk, defaulting to VLAN 1. The receiving side treats untagged frames as belonging to its own native VLAN, so if the two ends disagree, frames in VLAN A on one side are treated as VLAN B on the other—this is VLAN leaking (VLAN hopping). Set it explicitly with
switchport trunk native vlan 99. - A native VLAN mismatch does not bring the link down—the nasty part is that communication half-works while leaking—but with CDP enabled a
%CDP-4-NATIVE_VLAN_MISMATCHsyslog appears. For security, the recommended practice is to change the native VLAN to an unused VLAN and tag every VLAN withswitchport trunk native vlan tag.
3.1.2DTP and static trunk combinations
- DTP (Dynamic Trunking Protocol) is a Cisco-proprietary protocol that negotiates with the neighboring port to decide automatically whether the link becomes a trunk or an access port. The modes are
switchport mode dynamic desirable(actively proposes a trunk) andswitchport mode dynamic auto(only accepts a proposal).switchport mode trunkis a static trunk andswitchport mode accessa static access port. - Learn the outcome table by the principle "no trunk forms unless someone actively proposes one," not by rote.
desirable+auto= trunk,desirable+desirable= trunk, butauto+autostays access (both merely wait, so no proposal is ever made).trunk+auto/desirable= trunk.trunk+accessis a mismatch: no trunk forms and VLANs do not pass. - Production designs conventionally avoid DTP and pin the mode statically, configuring
switchport mode trunkplusswitchport nonegotiate(stop sending DTP frames) on both ends. On access ports, specifyswitchport mode accessto close off unintended trunk formation via DTP negotiation—a foothold for VLAN hopping attacks.
3.1.3The allowed VLAN list and what actually forwards
- A trunk allows all VLANs (1-4094) by default, but you can narrow it with
switchport trunk allowed vlan 10,20,30. Always useswitchport trunk allowed vlan add 40when adding—forgettingaddreplaces the entire list, a classic outage in which every previously working VLAN drops at once. show interfaces trunkprints three lists in narrowing order: Vlans allowed on trunk (configured), then Vlans allowed and active in management domain (also existing and active on the switch), then Vlans in spanning tree forwarding state and not pruned (also forwarding under STP). For a symptom where only one VLAN fails, seeing which of the three stages it drops out at pinpoints the cause.- So if a VLAN is "in the allowed list yet does not pass," it is either not created or shut down on the switch (it disappears at stage two) or blocking under STP / pruned by VTP pruning (it disappears at stage three). Verify VLAN existence with
show vlan briefand the STP state withshow spanning-tree vlan 10.
Most-tested: auto+auto never forms a trunk (no proposer); a native VLAN mismatch leaks VLANs without bringing the link down; omitting add on allowed vlan replaces the whole list; and the stage at which a VLAN drops out of the three lists in show interfaces trunk identifies the cause. When the stem says "the trunk is up but only one VLAN fails," recall the order: VLAN existence -> allowed list -> STP state.
Suppose you are investigating a fault between campus distribution switch DSW1 and access switch ASW1. The symptom: "hosts in VLAN 10 and VLAN 20 communicate fine, but only hosts in the newly added VLAN 30 cannot reach their gateway." Running show interfaces trunk on ASW1 shows Gi1/0/1 with Mode on and Status trunking, so the trunk itself formed, and Vlans allowed on trunk lists 10,20,30. Concluding "it is allowed, so the configuration is correct" is a only-partly-correct judgment. Lower in the same output, Vlans allowed and active in management domain shows only 10,20—30 has disappeared. That is not an allowed-list problem; it means VLAN 30 does not exist on ASW1 at all. show vlan brief confirms VLAN 30 is missing, while DSW1 already had it, so the configuration landed on only one side. Creating vlan 30 makes 30 appear in the second list, then in the third, Vlans in spanning tree forwarding state and not pruned, and connectivity returns. If instead 30 were missing only from the third list, the next suspects would be STP blocking the port for that VLAN or VTP pruning removing it, and you would move on to show spanning-tree vlan 30. By contrast, if the symptom were not "VLAN 30 fails" but "hosts in VLAN 1 and VLAN 99 can unexpectedly see each other," the allowed list is not the issue—a native VLAN mismatch is the strong suspect, and you should compare the Native vlan column on both ends. The class of symptom (everything down / one VLAN only / unintended reachability) determines where you look, and that mapping is the heart of trunk troubleshooting.
| Symptom | Prime suspect | Verification command |
|---|---|---|
| No trunk at all, every VLAN down | DTP mode mismatch (auto+auto, trunk+access) | `show interfaces switchport` (administrative/operational mode) |
| Only one VLAN down | Excluded from the allowed list, or VLAN not created | `show interfaces trunk` plus `show vlan brief` |
| Allowed yet not forwarding | STP blocking or VTP pruning | `show spanning-tree vlan <id>` |
| Unintended reachability across VLANs | Native VLAN mismatch (VLAN leaking) | Native vlan column of `show interfaces trunk`, CDP log |
| All VLANs drop right after an edit | Allowed list replaced by omitting `add` | `show running-config interface <if>` |
Trap: "Setting both ends to switchport mode dynamic auto safely auto-forms a trunk" is wrong—auto only accepts proposals, so with auto on both ends the link stays an access port forever. Also wrong: "a native VLAN mismatch brings the trunk down so you notice immediately"—the link stays up while frames leak into the wrong VLAN, so you can only catch it by comparing show interfaces trunk or by the CDP NATIVE_VLAN_MISMATCH log.
3.1.4Section summary
- 802.1Q multiplexes via the VLAN ID in a 4-byte tag and only the native VLAN is untagged; a mismatch causes VLAN leaking without dropping the link
- DTP hinges on whether an active proposer exists, so
auto+autonever trunks; production pins it statically withswitchport mode trunkplusnonegotiate - The stage at which a VLAN drops out of the three lists (allowed -> active -> forwarding) in
show interfaces trunknames the cause; omittingaddonallowed vlanis a full-replacement outage
Sign in to track progress — Log in.
Quick check
(just a quick review)Q1. Between access switch ASW1 and distribution switch DSW1, VLANs 10 and 20 work but the newly added VLAN 30 cannot reach its gateway. On ASW1, `show interfaces trunk` lists `10,20,30` under Vlans allowed on trunk but only `10,20` under Vlans allowed and active in management domain. Which cause is most likely?
Q2. Two Catalyst switches are connected, but because both ports are set to `switchport mode dynamic auto`, no trunk forms and they remain access ports. Which action best brings up the trunk without disrupting existing traffic?
Q3. A trunk link is stable in the `trunking` state, but frames are found reaching hosts in VLAN 99 directly from VLAN 1 hosts without any routing. The CDP syslog records `%CDP-4-NATIVE_VLAN_MISMATCH`. What is the most appropriate next action?

