VTP Pruning

We learnt the concept and configuration of VTP. On a large or congested network, VTP can become a bottleneck when excess traffic is sent across trunks needlessly, consuming valuable bandwidth. VTP being a (VLAN) management protocol, should not hamper the performance of the network by competing with the application traffic for bandwidth on the trunk.

VTP pruning allows us to prune, deny or weed out specific VLAN traffic from being sent to all switches in the VTP domain. Albeit VLANs are created in switches by VTP, if no ports are assigned to the VLANs and are not active, the broadcasts of those VLANs will be pruned.

Consider the following network in which all switches are in the same VTP domain. The switches in the gray box all have ports assigned to VLAN 100, while the rest of the switches do not. With VTP active, all of the switches will have VLAN 100 configured, and as such will receive broadcasts initiated on that VLAN. However, those without ports assigned to VLAN 100 have no use for the broadcasts.


On a busy VLAN, broadcasts can amount to a significant percentage of traffic. In this case, all that traffic is being needlessly sent over the entire network, and is taking up valuable bandwidth on the interswitch trunks.

VTP pruning prevents traffic originating from a particular VLAN from being sent to switches on which that VLAN is not active (i.e., switches that do not have ports connected and configured for that VLAN). With VTP pruning enabled, the VLAN 100 broadcasts will be restricted to switches on which VLAN 100 is actively in use.



Configuring VTP Pruning
VTP pruning is enabled with the vtp pruning command on IOS. This can only be done when the switch is in VTP server mode:

Switch1(config)#vtp pruning
Pruning switched on

Disabling VTP pruning is done by negating the command (no vtp pruning).

The VLANs eligible for pruning are configured at the interface level in IOS. We should use the command switchport trunk pruning vlan on each trunking interface on the switch where pruning is desired:

Switch1(config)#int gi0/24  ! I have configured Gi0/24 as trunk
Switch1(config-if)#switchport trunk pruning vlan ?
  WORD    VLAN IDs of the allowed VLANs when this port is in trunking mode
  add     add VLANs to the current list
  except  all VLANs except the following
  none    no VLANs
  remove  remove VLANs from the current list

When pruning is enabled, all VLANs are eligible for pruning, by default.


If we configure VLAN 100 to be eligible for pruning, IOS considers this to mean only VLAN 100 should be eligible:

Switch1(config-if)#switchport trunk pruning vlan 100

No message is displayed indicating that we have just disabled pruning for VLANs 2–99 and 101–1001. We have to look at the interface again to see:

Switch1#sh int gi0/24 switchport | inc Pruning
Pruning VLANs Enabled: 100

We can add VLANs to the list of pruning-eligible VLANs with the add keyword and remove them with the remove keyword:

Switch1(config-if)#switchport trunk pruning vlan add 20-30
Switch1(config-if)#switchport trunk pruning vlan remove 30

We can also specify that all VLANs except one or more that we list be made eligible
for pruning with the switchport trunk pruning vlan except vlan-id command.

Remember to double-check your work with the show interface interface-id switch
port command. Adding and removing VLANs can quickly get confusing, especially
with IOS managing VTP pruning on an interface basis.

About Deepak Devanand

Seeker of knowledge
This entry was posted in Uncategorized, VLAN, VTP and tagged , , , , . Bookmark the permalink.

One Response to VTP Pruning

  1. Pingback: VTP Password | Deepak's Kaleidoscope

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s