If DTP is not forming trunks as expected, you need to check for common misconfigurations and conflicts. Below is a systematic troubleshooting guide.
1. Verify the Current Trunking Status
Issue: The trunk is not forming.
Solution:
Use the following command to check if the port is in trunk mode:
show interfaces trunk
- If the port is missing from the output, it means the trunk did not form.
Also, check the interface mode with:
show interfaces GigabitEthernet0/1 switchport
- Look for Administrative Mode and Operational Mode.
- Ensure the port is not in access mode if you expect it to be a trunk.
2. Check the DTP Mode on Both Ends
Issue: Two switches are not forming a trunk.
Solution:
Use:
show running-config interface GigabitEthernet0/1
Verify that both ports are using compatible DTP modes.
| Local Mode | Remote Mode | Trunk Formed? |
|---|---|---|
| Trunk | Trunk / Dynamic Desirable / Dynamic Auto | ✅ Yes |
| Dynamic Desirable | Trunk / Dynamic Desirable / Dynamic Auto | ✅ Yes |
| Dynamic Auto | Dynamic Auto | ❌ No (Both are passive) |
| Access | Any Mode | ❌ No |
👉 If both ports are set to dynamic auto, change one to dynamic desirable or trunk:
interface GigabitEthernet0/1
switchport mode dynamic desirable
3. Check for DTP Being Disabled (nonegotiate)
Issue: Trunk is not forming even though the correct mode is set.
Solution:
Check if DTP negotiation is disabled:
show running-config interface GigabitEthernet0/1
If you see switchport nonegotiate, DTP is disabled.
👉 If needed, remove the nonegotiate command:
interface GigabitEthernet0/1
no switchport nonegotiate
4. Verify VLANs Allowed on the Trunk
Issue: Trunk is formed, but some VLANs are missing.
Solution:
Check which VLANs are allowed on the trunk:
show interfaces trunk
If some VLANs are missing, allow them manually:
interface GigabitEthernet0/1
switchport trunk allowed vlan add 10,20,30
5. Check Native VLAN Mismatch
Issue: Trunk forms, but communication issues occur between VLANs.
Solution:
Verify the native VLAN on both switches:
show interfaces trunk
If one switch has VLAN 1 as native and another has VLAN 99, packets might be dropped.
👉 To fix, match the native VLAN on both sides:
interface GigabitEthernet0/1
switchport trunk native vlan 99
6. Check for Trunking with Non-Cisco Devices
Issue: Trunk is not forming with a non-Cisco switch.
Solution:
DTP is Cisco-proprietary and does not work with non-Cisco switches.
- Manually set the port to trunk mode and disable DTP:
interface GigabitEthernet0/1
switchport mode trunk
switchport nonegotiate
👉 This forces the trunk without DTP negotiation.
7. Restart the Trunking Process (Last Resort)
Issue: All configurations are correct, but the trunk is still not working.
Solution:
Try resetting the trunking interface:
interface GigabitEthernet0/1
shutdown
no shutdown
This restarts the trunk and can force re-negotiation.
Summary of Key Troubleshooting Commands
| Command | Purpose |
|---|---|
show interfaces trunk | Checks which ports are operating as trunks. |
show interfaces switchport | Displays DTP mode, VLAN settings, and negotiation status. |
show running-config interface Gi0/1 | Checks if nonegotiate is enabled. |
show vlan brief | Ensures VLANs are properly assigned. |
show cdp neighbors | Confirms neighboring Cisco devices. |
Best Practices to Avoid DTP Issues
✅ Manually set trunk mode (switchport mode trunk) instead of relying on DTP.
✅ Disable DTP (switchport nonegotiate) to prevent unauthorized trunking.
✅ Ensure Native VLANs match on both ends of the trunk.
✅ Use show interfaces trunk to verify allowed VLANs.
Leave a comment