Optimizing Spanning Tree
Left to absence settings, IEEE 802.1d STP works, but aggregation ability booty up to a minute or
more for the absolute network. For instance, aback the basis fails, a about-face charge delay on the 20-second
Maxage timer to expire. Then, anew forwarding ports absorb 15 abnormal anniversary in alert and
learning states, which makes aggregation booty 50 abnormal for that one switch.
Over the years, Cisco added appearance to its STP code, and after the IEEE fabricated improvements as
well. This area covers the key optimizations to STP.
PortFast, UplinkFast, and BackboneFast
The Cisco-proprietary PortFast, UplinkFast, and BackboneFast appearance anniversary break specific STP
problems. Table 3-5 summarizes aback anniversary is best useful, and the abbreviate adaptation of how they
improve aggregation time.
Table 3-5 PortFast, UplinkFast, and BackboneFast
NOTE Aback application the primary option, the spanning-tree vlan command sets the priority
to 24,576 if the accepted basis has a antecedence beyond than 24,576. If the accepted root’s antecedence is
24,576 or less, this command sets this switch’s antecedence to 4096 beneath than the accepted root. With
the accessory keyword, this switch’s antecedence is set to 28,672. Additionally agenda that this argumentation applies
to aback the agreement command is executed; it does not dynamically change the antecedence if
another about-face after advertises a bigger priority.
Feature Requirements for Use How Aggregation Is Optimized
PortFast Acclimated on admission ports that are not
connected to added switches or hubs
Immediately puts the anchorage into forwarding
state already the anchorage is physically working
UplinkFast Acclimated on admission band switches that
have assorted uplinks to
distribution/core switches
Immediately replaces a absent RP with an
alternate RP, anon assiduously on the
RP, and triggers updates of all switches’
CAMs
BackboneFast Acclimated to ascertain aberrant articulation failures,
typically in the arrangement core
Avoids cat-and-mouse for Maxage to expire when
its RP ceases to accept Hellos; does so by
querying the about-face absorbed to its RP
74 Affiliate 3: Spanning Tree Protocol
PortFast
PortFast optimizes aggregation by artlessly blank alert and acquirements states on ports. In
effect, aggregation happens instantly on ports with PortFast enabled. Of course, if addition switch
is affiliated to a anchorage on which PortFast is enabled, loops may occur. So, PortFast is advised for
access links absorbed to distinct end-user devices. To be safe, you should additionally accredit the BPDU
Guard and Basis Guard appearance aback application PortFast, as covered after in this chapter.
UplinkFast
UplinkFast optimizes aggregation aback an uplink fails on an admission band switch. For acceptable STP
design, admission band switches should not become basis or become alteration switches. (A alteration switch
is a about-face that assiduously frames amid added switches.) Bulk 3-7 shows the accomplishments taken when
UplinkFast is enabled on a switch, and afresh aback the Basis Anchorage fails.
Figure 3-7 UplinkFast Operations
Upon enabling UplinkFast globally in a switch, the about-face takes three actions:
■ Increases the basis antecedence to 49,152
■ Sets the column costs to 3000
■ Tracks alternating RPs, which are ports in which basis Hellos are actuality received
As a aftereffect of these steps, SW3 can become basis if necessary, but it is absurd to do so accustomed the
large basis antecedence value. Also, the actual ample costs on anniversary articulation accomplish the about-face absurd to be used
as a alteration switch. Aback the RP anchorage does fail, SW3 can abort over to an alternating uplink as the new
RP and advanced immediately.
SW1
Fa0/1
Fa0/3
RP: Fa0/2
FWD
Alt. RP:
BLK
Makes Fa0/2 the RP
Moves to forwarding accompaniment immediately
Sends multicasts for each
source MAC for bounded MACs
Enable Uplink Fast:
Sets antecedence to 49,152
Sets anchorage costs to 3000
Tracks alternating RPs
MAC 0200.3333.3333
0100.0CCD.CDCD 0200.3333.3333
Root Switch
Priority 8192
Non-Root Switch
Priority (Default) 32768
Access Design
SW3
SW2
RP Link
Failure Occurs
Dst. MAC Src. MAC
R3
1
4
2
3
Optimizing Spanning Tree 75
The final footfall in Uplink Fast argumentation causes the switches to break the actual entries in their
CAMs, but it does not use the TCN process. Instead, the admission about-face finds all the MAC addresses
of bounded accessories and sends one multicast anatomy with anniversary bounded MAC abode as the antecedent MAC—
causing all the added switches to amend their CAMs. The admission about-face additionally clears out the blow of
the entries in its own CAM.
BackboneFast
BackboneFast optimizes aggregation for any ambiguous topological case, improving
convergence aback an aberrant abortion occurs. Aback some absolute failures action (for instance, a
switch’s RP interface fails), the about-face does not accept to delay for Maxage to expire. However, when
another switch’s absolute articulation fails, consistent in absent Hellos for added switches, the downstream
switches alongside apprentice of the abortion because they cease to accept Hellos. Any time a switch
learns of an STP abortion indirectly, the about-face charge delay for Maxage to expire afore aggravating to
change the STP topology.
BackboneFast artlessly causes switches that alongside apprentice of a abeyant STP abortion to ask their
upstream neighbors if they apperceive about the failure. To do so, aback the aboriginal Hello goes missing, a
BackboneFast about-face sends a Basis Articulation Concern (RLQ) BPDU out the anchorage in which the missing
Hello should accept arrived. The RLQ asks the adjoining about-face if that adjoining about-face is still
receiving Hellos from the root. If that adjoining about-face had a absolute articulation failure, it can acquaint the
original about-face (via addition RLQ) that this aisle to the basis is lost. Already known, the switch
experiencing the aberrant articulation abortion can go advanced and assemble after cat-and-mouse for Maxage
to expire.
PortFast, UplinkFast, and BackboneFast Configuration
Configuration of these three STP optimizing accoutrement is almost easy, as abbreviated in Table 3-6.
Table 3-6 PortFast, UplinkFast, and BackboneFast Configuration
NOTE All switches charge accept BackboneFast configured for it to assignment correctly.
Feature Agreement Command
PortFast spanning-tree portfast (interface subcommand)
spanning-tree portfast absence (global)
UplinkFast spanning-tree uplinkfast [max-update-rate rate] (global)
BackboneFast spanning-tree backbonefast (global)
76 Affiliate 3: Spanning Tree Protocol
PortChannels
When a arrangement architecture includes assorted alongside segments amid the aforementioned brace of switches,
one about-face ends up in a forwarding accompaniment on all the links, but the added about-face blocks all but one of
the ports of those alongside segments. As a result, alone one of the links can be acclimated at any point
in time. Application Fast EtherChannel (FEC) (using FastE segments) and Gigabit EtherChannel
(GEC) (using GigE segments) allows the accumulated links to be advised as one articulation from an STP
perspective, so that all the alongside concrete segments are used. (When configuring a Cisco switch,
a accumulation of segments absolute an FEC or GEC is alleged a PortChannel.) Best campus designs
today use a minimum of two segments per trunk, in a PortChannel, for bigger availability. That
way, as continued as at atomic one of the links in the EtherChannel is up, the STP aisle cannot fail, and no
STP aggregation is required.
Load Acclimation Across PortChannels
When a about-face decides to advanced a anatomy out a PortChannel, the about-face charge additionally adjudge which
physical articulation to use to accelerate anniversary frame. To use the assorted links, Cisco switches bulk balance
the cartage over the links in an EtherChannel based on the switch’s all-around load-balancing
configuration.
Load-balancing methods alter depending on the archetypal of about-face and software revision. Generally,
load acclimation is based on the capacity of the Band 2, 3, and/or 4 headers. If bulk acclimation is
based on alone one advance acreage in the frame, a bitmap of the low-order $.25 is used; if added than
one advance acreage is used, an XOR of the low-order $.25 is used.
For the best acclimation effect, the advance fields on which acclimation is based charge to alter among
the mix of frames beatific over the PortChannel. For instance, for a Band 2 PortChannel connected
to an admission band switch, best of the cartage activity from the admission band about-face to the
distribution band about-face is apparently activity from audience to the absence router. So best of the
frames accept altered antecedent MAC addresses, but the aforementioned destination MAC address. For
packets advancing aback from a administration about-face adjoin the admission band switch, abounding of the
frames ability accept a antecedent abode of that aforementioned router, with differing destination MAC
addresses. So, you could antithesis based on antecedent MAC at the admission band switch, and based
on destination MAC at the administration band switch—or antithesis based on both fields on
both switches. The ambition is artlessly to use a acclimation adjustment for which the fields in the
frames vary.
The port-channel load-balance blazon command sets the blazon of bulk balancing. The blazon options
include application antecedent and destination MAC, IP addresses, and TCP and UDP ports—either a single
field or both the antecedent and destination.
Optimizing Spanning Tree 77
PortChannel Discovery and Configuration
You can absolutely configure interfaces to be in a PortChannel by application the channel-group number
mode on interface subcommand. You would artlessly put the aforementioned command beneath anniversary of the
physical interfaces central the PortChannel, application the aforementioned PortChannel number.
You can additionally use activating protocols to acquiesce adjoining switches to bulk out which ports should
be allotment of the aforementioned PortChannel. Those protocols are the Cisco-proprietary Anchorage Aggregation
Protocol (PAgP) and the IEEE 802.1AD Articulation Aggregation Control Agreement (LACP). To dynamically
form a PortChannel application PAgP, you still use the channel-group command, with a approach of
auto or desirable. To use LACP to dynamically actualize a PortChannel, use a approach of alive or
passive. Table 3-7 lists and describes the modes and their meanings.
Table 3-7 PAgP and LACP Agreement Settings and Recommendations
When PAgP or LACP accommodate to anatomy a PortChannel, the letters accommodate the exchange
of some key agreement information. As you ability imagine, they barter a arrangement ID to
determine which ports affix to the aforementioned two switches. The two switches afresh barter other
information about the applicant links for a PortChannel; several items charge be identical on the
links for them to be dynamically added to the PortChannel, as follows:
■ Aforementioned acceleration and bifold settings.
■ If not trunking, aforementioned admission VLAN.
■ If trunking, aforementioned block type, accustomed VLANs, and built-in VLAN.
■ On a distinct switch, anniversary anchorage in a PortChannel charge accept the aforementioned STP bulk per VLAN on all
links in the PortChannel.
■ No ports can accept SPAN configured.
PAgP
Setting
LACP 802.1AD
Setting Action
on on Disables PAgP or LACP, and armament the anchorage into the PortChannel
off off Disables PAgP or LACP, and prevents the anchorage from actuality allotment of a
PortChannel
auto acquiescent Uses PAgP or LACP, but waits on added ancillary to accelerate aboriginal PAgP or
LACP message
desirable alive Uses PAgP or LACP, and initiates the negotiation
NOTE Application auto (PAgP) or acquiescent (LACP) on both switches prevents a PortChannel from
forming dynamically. Cisco recommends the use of adorable approach (PAgP) or alive mode
(LACP) on ports that you intend to be allotment of a PortChannel.
78 Affiliate 3: Spanning Tree Protocol
When PAgP or LACP completes the process, a new PortChannel interface exists, and is acclimated as if
it were a distinct anchorage for STP purposes, with acclimation demography abode based on the all-around loadbalancing
method configured on anniversary switch.
Rapid Spanning Tree Protocol
IEEE 802.1w Rapid Spanning Tree Agreement (RSTP) enhances the 802.1d accepted with one goal
in mind: convalescent STP convergence. To do so, RSTP defines new variations on BPDUs between
switches, new anchorage states, and new anchorage roles, all with the adequacy to accomplish backwardly
compatible with 802.1d switches. The key apparatus of dispatch aggregation with 802.1w
are as follows:
■ Cat-and-mouse for alone three absent Hellos on an RP afore reacting (versus ten absent Hellos via
the Maxage timer with 802.1d)
■ New processes that acquiesce alteration from the disabled accompaniment (replaces the blocking accompaniment in
802.1d) to acquirements state, bypassing the abstraction of an 802.1d alert state
■ Standardization of appearance like Cisco PortFast, UplinkFast, and BackboneFast
■ An added affection to acquiesce a advancement DP aback a about-face has assorted ports affiliated to the
same aggregate LAN segment
To abutment these new processes, RSTP uses the aforementioned accustomed Hello BPDUs, application some previously
undefined $.25 to actualize the new features. For instance, RSTP defines a Hello bulletin advantage for the
same purpose as the Cisco proprietary RLQ acclimated by the Cisco BackboneFast feature.
RSTP takes advantage of a switched arrangement cartography by allocation ports, application a altered link
type to call each. RSTP takes advantage of the actuality that STP argumentation can be simplified in some
cases, based on what is absorbed to anniversary port, thereby acceptance faster convergence. Table 3-8 lists
the three RSTP articulation types.
Table 3-8 RSTP Articulation Types
Link Blazon Description
Point-to-point Connects a about-face to one added switch; Cisco switches amusement FDX links in which Hellos
are accustomed as point-to-point links.
Shared Connects a about-face to a hub; the important agency is that switches are attainable off that
port.
Edge Connects a about-face to a distinct end-user device.
Optimizing Spanning Tree 79
In best avant-garde LAN designs with no aggregate hubs, all links would be either the point-to-point
(a articulation amid two switches) or bend articulation type. RSTP knows that link-type bend agency the port
is cabled to one device, and the accessory is not a switch. So, RSTP treats bend links with the same
logic as Cisco PortFast—in fact, the aforementioned spanning-tree portfast command defines a anchorage as
link-type bend to RSTP. In added words, RSTP puts bend links into forwarding state
immediately.
RSTP takes advantage of point-to-point links (which by analogue affix a about-face to another
switch) by allurement the added about-face about its status. For instance, if one about-face fails to accept its
periodic Hello on a point-to-point link, it will concern the neighbor. The acquaintance will reply, stating
whether it additionally absent its aisle to the root. It is the aforementioned argumentation as BackboneFast, but application IEEE
standard letters to accomplish the aforementioned goal.
RSTP additionally redefines the anchorage states acclimated with 802.1d, in allotment because the alert accompaniment is no longer
needed. Table 3-9 compares the anchorage states authentic by anniversary protocol.
Table 3-9 RSTP and STP Anchorage States
In RSTP, a auctioning accompaniment agency that the anchorage does not advanced frames, accept frames, or
learn antecedent MAC addresses, behindhand of whether the anchorage was shut down, failed, or simply
does not accept a acumen to forward. Already RSTP decides to alteration from auctioning to forwarding
state (for example, a anew alleged RP), it goes anon to the acquirements state. From
that point on, the action continues aloof as it does with 802.1d. RSTP no best needs the
listening accompaniment because of its alive querying to neighbors, which guarantees no loops during
convergence.
RSTP uses the appellation anchorage role to accredit to whether a anchorage acts as an RP or a DP. RSTP uses the
RP and DP anchorage roles aloof as 802.1d does; however, RSTP adds several added roles, as listed in
Table 3-10.
Administrative Accompaniment STP Accompaniment (802.1d) RSTP Accompaniment (802.1w)
Disabled Disabled Discarding
Enabled Blocking Discarding
Enabled Alert Discarding
Enabled Acquirements Learning
Enabled Forwarding Forwarding
80 Affiliate 3: Spanning Tree Protocol
Table 3-10 RSTP and STP Anchorage Roles
The Alternating Anchorage abstraction is like the UplinkFast concept—it offers aegis adjoin the accident of
a switch’s RP by befitting clue of the Alternating Ports with a aisle to the root. The abstraction and
general operation is identical to UplinkFast, although RSTP ability assemble added bound via its
active messaging amid switches.
The Advancement Anchorage role has no agnate with Cisco-proprietary features; it artlessly provides
protection adjoin accident the DP absorbed to a aggregate articulation aback the about-face has addition physical
port absorbed to the aforementioned aggregate LAN.
You can accredit RSTP in a Cisco about-face by application the spanning-tree approach rapid-pvst global
command. Alternatively, you can artlessly accredit 802.1s MST, which by analogue uses 802.1w
RSTP.
Rapid Per VLAN Spanning Tree Plus (RPVST+)
RPVST+ is a aggregate of PVST+ and RSTP. This aggregate provides the subsecond
convergence of RSTP with the advantages of PVST+ declared in the antecedent section. Thus,
RPVST+ and PVST+ allotment the aforementioned characteristics such as aggregation time, Hello behavior, the
election process, anchorage states, and so forth. RPVST+ is accordant with MSTP and PVST+.
Configuring RPVST+ is straightforward. In all-around agreement mode, affair the spanning-tree
mode rapid-pvst command. Then, optionally, on an interface (VLAN, physical, or PortChannel),
configure the spanning-tree link-type point-to-point command. This configures the anchorage for fast
changeover to the forwarding state.
See the “Further Reading” area for a antecedent of added advice on RPVST+.
RSTP Role Definition
Root Anchorage Aforementioned as 802.1d Basis Port.
Designated Anchorage Aforementioned as 802.1d Designated Port.
Alternate Anchorage Aforementioned as the Alternating Anchorage abstraction in UplinkFast; an alternating Basis Port.
Backup Anchorage A anchorage that is absorbed to the aforementioned link-type aggregate articulation as addition anchorage on the
same switch, but the added anchorage is the DP for that segment. The Advancement Anchorage is
ready to booty over if the DP fails.
Optimizing Spanning Tree 81
Multiple Spanning Trees: IEEE 802.1s
IEEE 802.1s Assorted Spanning Trees (MST), sometimes referred to as Assorted Instance STP
(MISTP) or Assorted STP (MSTP), defines a way to use assorted instances of STP in a network
that uses 802.1Q trunking. The afterward are some of the capital allowances of 802.1s:
■ Like PVST+, it allows the affability of STP ambit so that while some ports block for one
VLAN, the aforementioned anchorage can advanced in addition VLAN.
■ Always uses 802.1w RSTP, for faster convergence.
■ Does not crave an STP instance for anniversary VLAN; rather, the best designs use one STP
instance per bombastic path.
If the arrangement consists of all MST-capable switches, MST is almost simple to understand. A
group of switches that calm uses MST is alleged an MST region; to actualize an MST region, the
switches charge to be configured as follows:
1. Globally accredit MST, and admission MST agreement approach by application the spanning-tree mode
mst command.
2. From MST agreement mode, actualize an MST arena name (up to 32 characters) by using
the name subcommand.
3. From MST agreement mode, actualize an MST afterlight cardinal by application the revision
command.
4. From MST agreement mode, map VLANs to an MST STP instance by application the instance
command.
The key to MST agreement is to configure the aforementioned ambit on all the switches in the region.
For instance, if you bout VLANs 1–4 to MST instance 1 on one switch, and VLANs 5–8 to
MST instance 1 on addition switch, the two switches will not accede themselves to be in the same
MST region, alike admitting their arena names and afterlight numbers are identical.
For example, in Bulk 3-8, an MST arena has been defined, forth with admission to non-
MST switches. Focusing on the larboard ancillary of the figure, central the MST region, you absolutely need
only two instances of STP—one anniversary for almost bisected of the VLANs. With two instances,
the admission band switches will advanced on their links to SW1 for one set of VLANs application one MST
instance, and advanced on their links to SW2 for the added set of VLANs application the second
MST instance.
82 Affiliate 3: Spanning Tree Protocol
Figure 3-8 MST Operations
One of the key allowances of MST adjoin PVST+ is that it requires alone one MST instance for a group
of VLANs. If this MST arena had hundreds of VLANs, and acclimated PVST+, hundreds of sets of STP
messages would be used. With MST, alone one set of STP letters is bare for anniversary MST
instance.
When abutting an MST arena to a non-MST arena or to a altered MST region, MST makes
the absolute MST arena arise to be a distinct switch, as apparent on the appropriate ancillary of Bulk 3-8. An
MST arena can agreement loop-free behavior central the MST region. To anticipate loops over the
CST links abutting the MST arena to a non-MST region, MST participates in an STP instance
with the switches alfresco the MST region. This added STP instance is alleged the Internal
Spanning Tree (IST). Aback accommodating in STP with the alien switches, the MST arena is
made to arise as if it is a distinct switch; the appropriate ancillary of Bulk 3-8 depicts the STP appearance of the
left ancillary of the figure, as apparent by the alien switches.
Protecting STP
The final area in this affiliate covers four about-face agreement accoutrement that assure STP from
different types of problems or attacks, depending on whether a anchorage is a block or an
access port.
3550
Root
Instance1
ISL
.1Q
.1Q
.1Q
.1Q
.1Q .1Q
.1Q
FWD
Instance1
FWD
Instance2
Root
Instance2
FWD
Instance2
FWD
Instance1
2950 2950
Non-MST Region
MST appears as a
single about-face to the
outside world
IST
Topology
Non-MST Region
MST Region
Non-Cisco Non-Cisco Non-Cisco Non-Cisco
3550
3550
Protecting STP 83
Root Guard and BPDU Guard: Protecting Admission Ports
Network designers apparently do not intend for end users to affix a about-face to an admission anchorage that
is advised for adhering end-user devices. However, it happens—for instance, addition aloof may
need a few added ports in the affair allowance bottomward the hall, so they bulk they could aloof bung a
small, bargain about-face into the bank socket.
The STP cartography can be afflicted based on one of these abrupt and causeless switches being
added to the network. For instance, this anew added and abrupt about-face ability accept the lowest
bridge ID and become the root. To anticipate such problems, BPDU Guard and Basis Guard can be
enabled on these admission ports to adviser for admission BPDUs—BPDUs that should not enter
those ports, because they are advised for distinct end-user devices. Both appearance can be used
together. Their abject operations are as follows:
■ BPDU Guard—Enabled per port; absurdity disables the anchorage aloft cancellation of any BPDU.
■ Basis Guard—Enabled per port; ignores any accustomed above BPDUs to anticipate a switch
connected to this anchorage from acceptable root. Aloft cancellation of above BPDUs, this about-face puts
the anchorage in a loop-inconsistent state, abeyance forwarding and accepting frames until the
superior BPDUs cease.
With BPDU Guard, the anchorage does not balance from the err-disabled accompaniment unless additional
configuration is added. You can acquaint the about-face to change from err-disabled accompaniment aback to an up state
after a assertive bulk of time. With Basis Guard, the anchorage recovers aback the causeless superior
BPDUs are no best received.
UDLD and Bend Guard: Protecting Trunks
Both UniDirectional Articulation Detection (UDLD) and Bend Guard assure a about-face block anchorage from
causing loops. Both appearance anticipate about-face ports from errantly affective from a blocking to a
forwarding accompaniment aback a unidirectional articulation exists in the network.
Unidirectional links are artlessly links for which one of the two manual paths on the articulation has
failed, but not both. This can appear as a aftereffect of miscabling, acid one cilia cable, unplugging
one fiber, GBIC problems, or added reasons. Although UDLD was developed for cilia links
because of the unidirectional attributes of cilia optic cabling—and accordingly the abundant greater
likelihood of a unidirectional articulation abortion in a cilia cable—this affection additionally supports chestnut links.
Because STP monitors admission BPDUs to apperceive aback to reconverge the network, adjacent
switches on a unidirectional articulation could both become forwarding, causing a loop, as apparent in
Figure 3-9.
84 Affiliate 3: Spanning Tree Protocol
Figure 3-9 STP Problems with Unidirectional Links
Figure 3-9 shows the cilia articulation amid SW1 and SW2 with both cables. SW2 starts in a blocking
state, but as a aftereffect of the abortion on SW1’s address path, SW2 ceases to apprehend Hellos from SW1.
SW2 afresh transitions to forwarding state, and now all trunks on all switches are forwarding.
Even with the abortion of SW1’s address cable, frames will now bend counter-clockwise in the
network.
UDLD uses two modes to advance the unidirectional articulation problem. As declared next, both modes,
along with Bend Guard, break the STP botheration apparent in Bulk 3-9:
■ UDLD—Uses Band 2 messaging to adjudge aback a about-face can no best accept frames from
a neighbor. The about-face whose address interface did not abort is placed into an err-disabled
state.
■ UDLD advancing mode—Attempts to reconnect with the added about-face (eight times) after
realizing no letters accept been received. If the added about-face does not acknowledgment to the repeated
additional messages, both abandon become err-disabled.
■ Bend Guard—When accustomed BPDUs are no best received, the anchorage does not go through
normal STP convergence, but rather avalanche into an STP loop-inconsistent state.
In all cases, the aforetime blocking anchorage that would now account a bend is prevented from migrating
to a forwarding state. With both types of UDLD, the about-face can be configured to automatically
transition out of err-disabled state. With Bend Guard, the about-face automatically puts the anchorage back
into its above STP accompaniment aback the aboriginal Hellos are accustomed again.
SW1
DP
FWD
RP
FWD
RP
FWD
Root
DP
FWD
DP
FWD
Tx
Rx
Non-DP
BLK
One Trunk, Two Cilia Cables
Hello Bulk 19
SW3
SW2
1 3
2
No added Hellos. I must
be the DP. Let me
transition to forwarding!