Catalyst 4500 Series Software Configuration Guide, 7.5
Configuring GVRP

Table Of Contents

Configuring GVRP

Understanding How GVRP Works

GVRP Hardware and Software Requirements

Default GVRP Configuration

GVRP Configuration Guidelines

Configuring GVRP

Enabling GVRP Globally

Enabling GVRP on Individual 802.1Q Trunk Ports

Enabling GVRP Dynamic VLAN Creation

Configuring GVRP Registration

Setting GVRP Normal Registration

Setting GVRP Fixed Registration

Setting GVRP Forbidden Registration

Sending GVRP VLAN Declarations from Blocking Ports

Setting the GARP Timers

Displaying GVRP Statistics

Clearing GVRP Statistics

Disabling GVRP on Individual 802.1Q Trunk Ports

Disabling GVRP Globally


Configuring GVRP


This chapter describes how to configure the Generic Attribute Registration Protocol (GARP) VLAN Registration Protocol (GVRP) on the Catalyst enterprise LAN switches.


Note For complete syntax and usage information for the commands used in this chapter, refer to the Command Reference—Catalyst 4000 Family, Catalyst 2948G, and Catalyst 2980G Switches.


This chapter consists of these major sections:

Understanding How GVRP Works

GVRP Hardware and Software Requirements

Default GVRP Configuration

GVRP Configuration Guidelines

Configuring GVRP

Understanding How GVRP Works

GARP and GVRP are industry-standard protocols described in IEEE 802.1p.

GVRP is a GARP application that provides 802.1Q-compliant VLAN pruning and dynamic VLAN creation on 802.1Q trunk ports.

With GVRP, the switch can exchange VLAN configuration information with other GVRP switches, prune unnecessary broadcast and unknown unicast traffic, and dynamically create and manage VLANs on switches connected through 802.1Q trunk ports.

GVRP Hardware and Software Requirements

GVRP requires these software and hardware versions:

Supervisor engine software release 5.1 or later releases

IEEE 802.1Q-capable switching modules (refer to the documentation for your hardware, or use the show port capabilities command)

Default GVRP Configuration

Table 13-1 shows the default GVRP configuration.

Table 13-1 GVRP Default Configuration 

Feature
Default Value

GVRP global enable state

Disabled

GVRP per-trunk enable state

Disabled on all ports

GVRP dynamic creation of VLANs

Disabled

GVRP registration mode

normal, with VLAN 1 set to fixed, for all ports

GVRP applicant state

normal (ports do not declare VLANs when in STP1 blocking state)

GARP timers

Join time: 200 ms

Leave time: 600 ms

Leaveall time: 10,000 ms

1 STP = Spanning Tree Protocol


GVRP Configuration Guidelines

This section lists guidelines for configuring GVRP:

You can configure the per-port GVRP state only on 802.1Q-capable ports.

You must enable GVRP on both ends of an 802.1Q trunk link.

The GVRP registration mode for VLAN 1 is always fixed and is not configurable. VLAN 1 is always carried by 802.1Q trunks on which GVRP is enabled.

When VTP pruning is enabled, it runs on all GVRP-disabled 802.1Q trunk ports.

Configuring GVRP

These sections describe how to configure GVRP:

Enabling GVRP Globally

Enabling GVRP on Individual 802.1Q Trunk Ports

Enabling GVRP Dynamic VLAN Creation

Configuring GVRP Registration

Sending GVRP VLAN Declarations from Blocking Ports

Setting the GARP Timers

Displaying GVRP Statistics

Clearing GVRP Statistics

Disabling GVRP on Individual 802.1Q Trunk Ports

Disabling GVRP Globally

Enabling GVRP Globally

You must enable GVRP globally before any GVRP will process on the switch. Enabling GVRP globally enables GVRP to perform VLAN pruning on 802.1Q trunk links. Pruning occurs only on GVRP-enabled trunks. For information on setting the per-trunk port GVRP enable state, see the "Enabling GVRP on Individual 802.1Q Trunk Ports" section.

To enable dynamic VLAN creation, you must explicitly enable dynamic VLAN creation globally on the switch as well. For information on enabling dynamic VLAN creation, see the "Enabling GVRP Dynamic VLAN Creation" section.

To enable GVRP globally on the switch, perform this task in privileged mode:

 
Task
Command

Step 1 

Enable GVRP on the switch.

set gvrp enable

Step 2 

Verify the configuration.

show gvrp configuration

This example shows how to enable GVRP and verify the configuration:

Console> (enable) set gvrp enable
GVRP enabled
Console> (enable) show gvrp configuration
Global GVRP Configuration:
GVRP Feature is currently enabled on the switch.
GVRP dynamic VLAN creation is disabled.
GVRP Timers(milliseconds)
Join = 200
Leave = 600
LeaveAll = 10000
Port based GVRP Configuration:
Port                                                    GVRP Status Registration
------------------------------------------------------- ----------- ------------
2/1-2,3/1-8,7/1-24,8/1-24                               Enabled     Normal
GVRP Participants running on 3/7-8.
Console>

Enabling GVRP on Individual 802.1Q Trunk Ports


Note You can change the per-trunk GVRP configuration regardless of whether GVRP is enabled globally. However, GVRP will not function on any ports until you enable it globally. For information on configuring GVRP globally on the switch, see the "Enabling GVRP Globally" section.


There are two per-port GVRP states:

The static GVRP state configured in the CLI and stored in NVRAM

The actual GVRP state of the ports (active GVRP participants)

You can configure the static GVRP port-state on any 802.1Q-capable switch ports, regardless of the global GVRP enable state or whether the port is an 802.1Q trunk. However, in order for the port to become an active GVRP participant, you must enable GVRP globally and the port must be an 802.1Q trunk port, either through CLI configuration or Dynamic Trunking Protocol (DTP) negotiation.

To enable GVRP on individual 802.1Q-capable ports, perform this task in privileged mode:

 
Task
Command

Step 1 

Enable GVRP on an individual 802.1Q-capable port.

set port gvrp enable mod_num/port_num

Step 2 

Verify the configuration.

show gvrp configuration

This example shows how to enable GVRP on 802.1Q-capable port 1/1:

Console> (enable) set port gvrp enable 1/1
GVRP enabled on 1/1.
Console> (enable)

Enabling GVRP Dynamic VLAN Creation

You can enable GVRP dynamic VLAN creation only if these conditions are met:

The switch is in VTP transparent mode

All trunk ports on the switch are 802.1Q trunks

GVRP is enabled on all trunk ports


Note Dynamic VLAN creation supports all VLAN types.


If you enable dynamic VLAN creation, these configuration restrictions are imposed:

You cannot change the switch to VTP server or client mode

You cannot disable GVRP on a trunk port running GVRP

If any port on the switch becomes an ISL trunk (either by CLI configuration or negotiated using DTP while dynamic VLAN creation is enabled), dynamic VLAN creation is automatically disabled until the conditions for enabling dynamic VLAN creation are restored.


Note VLANs can only be created dynamically on 802.1Q trunks in the normal registration mode.


To enable GVRP dynamic VLAN creation on the switch, perform this task in privileged mode:

 
Task
Command

Step 1 

Enable dynamic VLAN creation on the switch.

set gvrp dynamic-vlan-creation enable

Step 2 

Verify the configuration.

show gvrp configuration

This example shows how to enable dynamic VLAN creation on the switch:

Console> (enable) set gvrp dynamic-vlan-creation enable
Dynamic VLAN creation enabled.
Console> (enable) 

Configuring GVRP Registration

These sections describe how to configure GVRP registration modes on switch ports:

Setting GVRP Normal Registration

Setting GVRP Fixed Registration

Setting GVRP Forbidden Registration

Setting GVRP Normal Registration

Configuring an 802.1Q trunk port in normal registration mode allows dynamic creation (if dynamic VLAN creation is enabled), registration, and deregistration of VLANs on the trunk port. Normal mode is the default.

To configure GVRP normal registration on an 802.1Q trunk port, perform this task in privileged mode:

 
Task
Command

Step 1 

Configure normal registration on an 802.1Q trunk port.

set gvrp registration normal mod_num/port_num

Step 2 

Verify the configuration.

show gvrp configuration

This example shows how to configure normal registration on an 802.1Q trunk port:

Console> (enable) set gvrp registration normal 1/1
Registrar Administrative Control set to normal on port 1/1.
Console> (enable)

Setting GVRP Fixed Registration

Configuring an 802.1Q trunk port in fixed registration mode allows manual creation and registration of VLANs, prevents VLAN deregistration, and registers all known VLANs on other ports on the trunk port.

To configure GVRP fixed registration on an 802.1Q trunk port, perform this task in privileged mode:

 
Task
Command

Step 1 

Configure fixed registration on an 802.1Q trunk port.

set gvrp registration fixed mod_num/port_num

Step 2 

Verify the configuration.

show gvrp configuration

This example shows how to configure fixed registration on an 802.1Q trunk port:

Console> (enable) set gvrp registration fixed 1/1
Registrar Administrative Control set to fixed on port 1/1.
Console> (enable)

Setting GVRP Forbidden Registration

Configuring an 802.1Q trunk port in forbidden registration mode deregisters all VLANs (except VLAN 1) and prevents any further VLAN creation or registration on the trunk port.

To configure GVRP forbidden registration on an 802.1Q trunk port, perform this task in privileged mode:

 
Task
Command

Step 1 

Configure forbidden registration on an 802.1Q trunk port.

set gvrp registration forbidden mod_num/port_num

Step 2 

Verify the configuration.

show gvrp configuration

This example shows how to configure forbidden registration on an 802.1Q trunk port:

Console> (enable) set gvrp registration forbidden 1/1
Registrar Administrative Control set to forbidden on port 1/1.
Console> (enable)

Sending GVRP VLAN Declarations from Blocking Ports

To prevent undesirable Spanning Tree Protocol (STP) topology reconfiguration on a port connected to a device that does not support per-VLAN STP, configure the GVRP active applicant state on the port. Ports in the GVRP active applicant state send GVRP VLAN declarations when they are in the STP blocking state, which prevents the STP bridge protocol data units (BPDUs) from being pruned from the other port.


Note Configuring fixed registration on the other device's port would also prevent undesirable STP topology reconfiguration.


To configure an 802.1Q trunk port to send VLAN declarations when in the blocking state, perform this task in privileged mode:

Task
Command

Configure an 802.1Q trunk port to send VLAN declarations when in the blocking state.

set gvrp applicant state {normal | active} mod_num/port_num


This example shows how to configure a group of 802.1Q trunk ports to send VLAN declarations when in the blocking state:

Console> (enable) set gvrp applicant active 4/2-3,4/9-10,4/12-24
Applicant was set to active on port(s) 4/2-3,4/9-10,4/12-24.
Console> (enable)

Use the normal keyword to return to the default state (active mode disabled).

Setting the GARP Timers


Note The commands set gvrp timer and show gvrp timer are aliases for set garp timer and show garp timer. The aliases may be used if desired.



Note Modifying the GARP timer values affects the behavior of all GARP applications running on the switch, not just GVRP. (For example, GMRP uses the same timers.)


You can modify the default GARP timer values on the switch.

When you set the timer values, the value for leave must be greater than three times the join value (leave >= join * 3). The value for leaveall must be greater than the value for leave (leaveall > leave).

If you attempt to set a timer value that does not adhere to these rules, an error message is displayed. For example, if you set the leave timer to 600 ms and you attempt to configure the join timer to 350 ms, an error message is displayed. Set the leave timer to at least 1050 ms and then set the join timer to 350 ms.


Caution Set the same GARP timer values on all Layer 2-connected devices. If the GARP timers are set differently on Layer 2-connected devices, GARP applications (for example, GMRP and GVRP) do not operate successfully.

To adjust the GARP timer values, perform this task in privileged mode:

 
Task
Command

Step 1 

Set the GARP timer values.

set garp timer {join | leave | leaveall} timer_value

Step 2 

Verify the configuration.

show garp timer

This example shows how to set GARP timers and verify the configuration:

Console> (enable) set garp timer leaveall 10000
GMRP/GARP leaveAll timer value is set to 10000 milliseconds.
Console> (enable) set garp timer leave 600
GMRP/GARP leave timer value is set to 600 milliseconds.
Console> (enable) set garp timer join 200
GMRP/GARP join timer value is set to 200 milliseconds.
Console> (enable) show garp timer
Timer     Timer Value (milliseconds)
--------  --------------------------
Join      200 
Leave     600 
LeaveAll  10000 
Console> (enable)

Displaying GVRP Statistics

To display GVRP statistics on the switch, perform this task:

Task
Command

Display GVRP statistics.

show gvrp statistics [mod_num/port_num]


This example shows how to display GVRP statistics for port 1/1:

Console> (enable) show gvrp statistics 1/1
Join Empty Received:     0
Join In Received:        0
Empty Received:          0
LeaveIn Received:        0
Leave Empty Received:    0
Leave All Received:      40
Join Empty Transmitted:  156
Join In Transmitted:     0
Empty Transmitted:       0
Leave In Transmitted:    0
Leave Empty Transmitted: 0
Leave All Transmitted:   41
VTP Message Received:    0
Console> (enable)

Clearing GVRP Statistics

To clear all GVRP statistics on the switch, perform this task in privileged mode:

Task
Command

Clear GVRP statistics.

clear gvrp statistics {mod_num/port_num | all}


This example shows how to clear all GVRP statistics on the switch:

Console> (enable) clear gvrp statistics all
GVRP Statistics cleared for all ports.
Console> (enable)

Disabling GVRP on Individual 802.1Q Trunk Ports

To disable GVRP on individual 802.1Q trunk ports, perform this task in privileged mode:

 
Task
Command

Step 1 

Disable GVRP on an individual 802.1Q trunk port.

set port gvrp disable mod_num/port_num

Step 2 

Verify the configuration.

show gvrp configuration

This example shows how to disable GVRP on 802.1Q trunk port 1/1:

Console> set gvrp disable 1/1
GVRP disabled on 1/1.
Console> 

Disabling GVRP Globally

To disable GVRP globally on the switch, perform this task in privileged mode:

Task
Command

Disable GVRP on the switch.

set gvrp disable


This example shows how to disable GVRP globally on the switch:

Console> (enable) set gvrp disable
GVRP disabled
Console> (enable)