1.1.1 Introduction to GARP
GARP (generic attribute registration
protocol) offers a mechanism that is used by the members in the same switching
network to distribute, propagate and register such information as VLAN and
multicast addresses.
GARP dose not exist in a switch as an
entity. A GARP participant is called GARP application. The main GARP
applications at present are GVRP and GMRP. GVRP is described in the section 1.1.2 GVRP Mechanismand
and GMRP will be described in Multicast Configuration. When a GARP participant
is on a port of the switch, each port corresponds to a GARP participant.
Through GARP mechanism, the configuration
information on one GARP member will be advertised rapidly in the whole
switching network. GARP member can be a terminal workstation or bridge. A GARP
member can notify other members to register or remove its attribute information
by sending declarations or withdrawal declarations. It can also register or
remove the attribute information of other GARP members according to the
received declarations/withdrawal declarations.
GARP members exchange information through
sending messages. There mainly are 3 types of GARP messages including Join,
Leave, and LeaveAll.
l
When a GARP participant wants to register its
attribute information on other switches, it will send Join message outward.
l
When it wants to remove some attribute values
from other switches, it will send Leave message.
l
LeaveAll timer will be started at the same time
when each GARP participant is enabled and LeaveAll message will be sent upon
timeout.
Leave message and LeaveAll message cooperate
to ensure the logout and the re-registration of a message. Through exchanging
messages, all the attribute information to be registered can be propagated to
all the switches in the same switching network.
The destination MAC addresses of the packets
of the GARP participants are specific multicast MAC addresses. A
GARP-supporting switch will classify the packets received from the GARP
participants and process them with corresponding GARP applications (GVRP or
GMRP).
GARP and GMRP are described in details in the IEEE 802.1p standard
(which has been added to the IEEE802.1D standard). H3C Series Ethernet Switches
fully support the GARP compliant with the IEEE standards.
l
The value of GARP timer will be used in all the
GARP applications, including GVRP and GMRP, running in one switching network.
l
In one switching network, the GARP timers on all
the switching devices should be set to the same value. Otherwise, GARP
application cannot work normally.
I. GARP Timers
GARP timers include Hold timer, Join
timer, Leave timer and LeaveAll timer.
l
Hold: When a GARP participant receives a piece
of registration information, it does not send out a Join message immediately.
Instead, to save the bandwidth resources, it starts the Hold timer, puts all registration
information it receives before the timer times out into one Join message and
sends out the message after the timer times out.
l
Join: To transmit the Join messages reliably to
other entities, a GARP participant sends each Join message two times. The Join
timer is used to define the interval between the two sending operations of each
Join message.
l
Leave: When a GARP participant expects to
unregister a piece of attribute information, it sends out a Leave message. Any
GARP participant receiving this message starts its Leave timer, and unregisters
the attribute information if it does not receives a Join message again before
the timer times out.
l
LeaveAll: Once a GARP participant starts up, it
starts the LeaveAll timer, and sends out a LeaveALL message after the timer
times out, so that other GARP participants can re-register all the attribute
information on this participant. After that, the participant restarts the
LeaveAll timer to begin a new cycle.
II. GVRP port
registration mode
GVRP has the following three port
registration modes: Normal, Fixed, and Forbidden.
l
Normal: In this mode, a port can dynamically
register/deregister a VLAN and propagate the dynamic/static VLAN information.
l
Fixed: In this mode, a port cannot
register/deregister a VLAN dynamically. It only propagates static VLAN
information. That is, a trunk port only permits the packets of manually
configured VLANs in this mode even if you configure the port to permit the
packets of all the VLANs.
l
Forbidden: In this mode, a port cannot
register/deregister VLANs. It only propagates VLAN 1 information. That is, a
trunk port only permits the packets of the default VLAN (namely VLAN 1) in this
mode even if you configure the port to permit the packets of all the VLANs.
III. GARP operation
procedure
Through the
mechanism of GARP, the configuration information on a GARP member will be
propagated to the entire switched network. A GARP can be a terminal workstation
or a bridge; it instructs other GARP member to register/unregister its
attribute information by declaration/recant, and register/unregister other GARP
member's attribute information according to other member's declaration/recant.
The protocol packets of GARP entity use
specific multicast MAC addresses as their destination MAC addresses. When
receiving these packets, the switch distinguishes them by their destination MAC
addresses and delivers them to different GARP application (for example, GVRP)
for further processing.
The GVRP packets are in the following
format:




Figure 1-1 Format of GVRP packets
The following table describes the fields of
a GVRP packet.
Table 1-1 Description of GVRP packet
fields
|
Field
|
Description
|
Value
|
|
Protocol ID
|
Protocol ID
|
1
|
|
Message
|
Each message consists of two parts:
Attribute Type and Attribute List.
|
—
|
|
Attribute Type
|
Defined by the specific GARP application
|
The attribute type of GVRP is 0x01.
|
|
Attribute List
|
It contains multiple attributes.
|
—
|
|
Attribute
|
Each general attribute consists of three
parts: Attribute Length, Attribute Event and Attribute Value.
Each LeaveAll attribute consists of two
parts: Attribute Length and LeaveAll Event.
|
—
|
|
Attribute Length
|
The length of the attribute
|
2 to 255
|
|
Attribute Event
|
The event described by the attribute
|
0: LeaveAll Event
1: JoinEmpty
2: JoinIn
3: LeaveEmpty
4: LeaveIn
5: Empty
|
|
Attribute Value
|
The value of the attribute
|
The attribute value of GVRP is the VID.
|
|
End Mark
|
End mark of the GVRP PDU.
|
—
|
GVRP is defined in IEEE 802.1Q standard.
The GVRP configuration tasks include
configuring the GARP timers, enabling GVRP, and configuring the GVRP port
registration mode.
The port on which GVRP will be enabled must
be set to a trunk port.
Table 1-2 GVRP Configuration procedure
|
Operation
|
Command
|
Description
|
|
Enter system view
|
system-view
|
—
|
|
Configure the LeaveAll timer
|
garp timer leaveall timer-value
|
Optional
By default, the LeaveAll timer is set to
1,000 centiseconds.
|
|
Enter Ethernet port view
|
interface interface-type interface-number
|
—
|
|
Configure the Hold, Join, and Leave
timers
|
garp timer { hold | join | leave } timer-value
|
Optional
By default, the Hold, Join, and Leave
timers are set to 10, 20, and 60 centiseconds respectively.
|
|
Exit and return to system view
|
quit
|
—
|
|
Enable GVRP globally
|
gvrp
|
Required
By default, GVRP is disabled globally.
|
|
Enter Ethernet port view
|
interface interface-type interface-number
|
—
|
|
Enable GVRP on the port
|
gvrp
|
Required
By default, GVRP is disabled on the port.
After you enable GVRP on a trunk port,
you cannot change the port to a different type.
|
|
Configure GVRP port registration mode
|
gvrp registration { fixed | forbidden | normal }
|
Optional
You can choose one of the three modes.
By default, GVRP port registration mode
is normal.
|
The timeout ranges of the timers vary
depending on the timeout values you set for other timers. If you want to set
the timeout time of a timer to a value out of the current range, you can set
the timeout time of the associated timer to another value to change the timeout
range of this timer.
The following table describes the relations
between the timers:
Table 1-3 Relations between the timers
|
Timer
|
Lower threshold
|
Upper threshold
|
|
Hold
|
10 centiseconds
|
This upper threshold is less than or
equal to one-half of the timeout time of the Join timer. You can change the
threshold by changing the timeout time of the Join timer.
|
|
Join
|
This lower threshold is greater than or
equal to twice the timeout time of the Hold timer. You can change the
threshold by changing the timeout time of the Hold timer.
|
This upper threshold is less than
one-half of the timeout time of the Leave timer. You can change the threshold
by changing the timeout time of the Leave timer.
|
|
Leave
|
This lower threshold is greater than
twice the timeout time of the Join timer. You can change the threshold by
changing the timeout time of the Join timer.
|
This upper threshold is less than the
timeout time of the LeaveAll timer. You can change the threshold by changing
the timeout time of the LeaveAll timer.
|
|
LeaveAll
|
This lower threshold is greater than the
timeout time of the Leave timer. You can change threshold by changing the
timeout time of the Leave timer.
|
32,765 centiseconds
|
The recommended
settings of GARP timers:
l
GARP Hold timer: 100 centiseconds (1 second).
l
GARP Join timer: 600 centiseconds (6 seconds).
l
GARP Leave timer: 3000 centiseconds (30
seconds).
l
GARP LeaveAll timer: 12000 centiseconds (2
minutes).
1.3 Displaying and Maintaining GVRP
After the above configuration, you can use
the display commands in any view to display the configuration
information and operating status of GVRP/GARP, and thus verify your
configuration. You can use the reset command in user view to clear GARP
statistics.
Table 1-4
Display and maintain GVRP
|
Operation
|
Command
|
Description
|
|
Display GARP statistics
|
display garp
statistics [ interface interface-list ]
|
The display commands can be
executed in any view.
|
|
Display the settings of the GARP timers
|
display garp
timer [ interface interface-list ]
|
|
Display GVRP statistics
|
display gvrp statistics [ interface interface-list ]
|
|
Display the global GVRP status
|
display gvrp status
|
|
Clear GARP statistics
|
reset garp statistics [ interface interface-list ]
|
The reset command can be executed
in user view.
|
You need to enable GVRP on the switches to
enable dynamic VLAN information registration and update between the switches.

Figure
1-2 Network diagram for GVRP configuration
l
Configure switch A.
# Enable GVRP globally.
<H3C> system-view
[H3C] gvrp
GVRP is enabled globally.
# Configure port Ethernet1/0/1 to be a
trunk port and to permit the packets of all the VLANs.
[H3C] interface Ethernet1/0/1
[H3C-Ethernet1/0/1] port link-type
trunk
[H3C-Ethernet1/0/1] port trunk permit
vlan all
# Enable GVRP on the trunk port.
[H3C-Ethernet1/0/1] gvrp
GVRP is enabled on port
Ethernet1/0/1.
l
Configure switch B.
# Enable GVRP globally.
<H3C> system-view
[H3C] gvrp
GVRP is enabled globally.
# Configure port Ethernet1/0/2 to be a
trunk port and to permit the packets of all the VLANs.
[H3C] interface Ethernet1/0/2
[H3C-Ethernet1/0/2] port link-type
trunk
[H3C-Ethernet1/0/2] port trunk permit
vlan all
# Enable GVRP on the trunk port.
[H3C-Ethernet1/0/2] gvrp
GVRP is
enabled on port Ethernet1/0/2.