Broadcast storm, MAC addresses flapping between ports, half the network unreachable — this is what a Layer 2 loop looks like from the inside. Here's how to confirm it's actually a loop, find it fast, break it without making things worse, and stop it coming back, with the real diagnostic commands and misconfiguration cases from Huawei's own Sx3 switch maintenance manual.
By the AtlasCommTech engineering team — 13 years of carrier & enterprise network deployments · Updated July 2026
Redundant links and redundant devices are supposed to make a network more reliable — until a network change forms an actual loop, and that same redundancy turns into a broadcast storm.
Ethernet switching networks deploy redundant devices and redundant links deliberately, for reliability. But network adjustments, configuration changes and version upgrades routinely create data or protocol frames that circulate in a ring by accident — and the moment a loop-breaking protocol isn't running, or a configuration change quietly punches a hole in one that is, that redundancy becomes a broadcast storm instead of a safety net. A single broadcast frame caught in a loop gets forwarded out every other port on every switch on the ring, over and over, until it saturates every link at close to line rate — and normal traffic simply stops getting a turn.
This note covers how to tell that this is actually what's happening (as opposed to some other kind of outage), how to locate the loop fast, how to break it without making the outage worse, and the specific misconfiguration cases — VLAN 1 left on a port, STP edge ports never set, MSTP regions that don't match, RRPP nodes running different modes — that account for a large share of loops that were never supposed to exist in the first place.
A loop's symptoms and the four-method confirmation flow, side by side.
The four confirmation methods below have no fixed order — use one or several together, whichever the situation gives you access to first.
Diagram labels are kept in English for engineering clarity.
All four rely on commands already available on every switch — no special tooling required.
Run display interface brief and compare two readings a short time apart: on a port carrying a loop, InUti and OutUti climb steadily toward the port's rate ceiling. If only one device's one port shows heavy traffic in both directions, suspect a single-port self-loop; if one device's two ports are both heavy, suspect a two-port loop causing protocol flapping; if only one direction is heavy on a single port, the loop is more likely downstream of that port rather than on it.
<HUAWEI> display interface brief | include up
Interface PHY Protocol InUti OutUti inErrors outErrors
GigabitEthernet0/0/16 up up 76% 76% 0 0
GigabitEthernet1/0/12 up up 76% 76% 0 0
// both interfaces climbing toward rate ceiling between two readings -- consistent with a loop
<HUAWEI> display interface XGigabitEthernet2/0/1
Broadcast: 184920331, Multicast: 20524
// broadcast/multicast counters far above this device's other interfaces point at the same conclusion
MAC flapping is when an interface learns a MAC address that a different interface in the same VLAN also learns — the later learning overwrites the earlier entry. A loop always produces MAC flapping; MAC flapping doesn't always mean a loop (it can also mean an unauthorized attack), but seeing the same MAC address bounce back and forth between two specific ports is the single most direct confirmation available.
[HUAWEI] vlan 10
[HUAWEI-vlan10] loop-detect eth-loop alarm-only
<HUAWEI> display trapbuffer
L2IFPPI/4/MFLPVLANALARM:OID 1.3.6.1.4.1.2011.5.25.160.3.7 Loop exists in vlan 1001, for
flapping mac-address 0025-9e6e-1c55 between port GE2/1/23 and port GE2/1/22.
// the same MAC bouncing between two named ports in the same VLAN -- direct evidence of a loop
Loop Detection (chassis switches) and Loopback Detection (all switch form factors) periodically send a special detection frame out an interface and check whether the device itself receives it back — either on the same interface (a self-loop) or on a different one (a network loop). This is the most direct way to prove a loop exists, at the cost of extra system resources, which is why the manual explicitly recommends disabling it again once the check is done, and never enabling it on an uplink port.
[HUAWEI] loopback-detect enable
<HUAWEI> display loopback-detect
Loopback-detect is enabled in the system view
Interface ProtocolID RecoverTime Action Status
GigabitEthernet0/0/2 602 30 block NORMAL
// "Status" flips away from NORMAL the moment this device receives its own detection frame back
[HUAWEI] undo loopback-detect enable
// disable again once the check is complete -- this is a diagnostic tool, not a permanent setting
A high PPI (Product Process Interface) task share in display cpu-usage — sustained, not a brief spike — strongly suggests a loop is flooding the CPU with packets it has to process. If PPI itself looks normal, check display cpu-defend statistics for protocol packets being dropped by rate-limiting; heavy drops there point the same direction.
<HUAWEI> display cpu-usage
CPU Usage : 91% Max: 96%
TaskName CPU Runtime Task Explanation
PPI 70% 0/512f8c PPI Product Process Interface
// a sustained high PPI share, not a brief spike, is the pattern that suggests a loop
<HUAWEI> display cpu-defend vrrp statistics all
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
vrrp 79880066214 2581617736 1174644777 37950869
// heavy protocol packet drop under rate-limiting is consistent with a loop saturating the link
Once a loop is confirmed, the priority shifts from diagnosis to getting business back up — as fast as possible, without introducing a second problem.
[SwitchA-GigabitEthernet1/0/1] undo port trunk allow-pass vlan 1
// narrowest-impact break: remove only the looped VLAN from this one port
[SwitchA-GigabitEthernet1/0/1] shutdown
// broader but reversible -- undo shutdown restores the port once the loop is actually fixed
SYMPTOMBusiness goes fully down on a dual-uplink switch, a reboot brings it back briefly, and the exact same outage returns some time later.
CAUSEEvery trunk port carries VLAN 1 by default unless it's explicitly removed. If two ports that should never share a broadcast domain both still carry VLAN 1, that VLAN loops even while the STP or RRPP instance actually protecting the other VLANs is working perfectly — because VLAN 1 was never included in what those protocols are protecting.
FIXCheck for a common VLAN 1 across the ports showing abnormal traffic, and either remove VLAN 1 from the ports that don't need it (undo port trunk allow-pass vlan 1), or explicitly fold VLAN 1 into the protected instance if it genuinely needs to ride the ring.
SYMPTOMSTP is enabled globally on both switches, but the network still floods with broadcast traffic as if no loop-breaking protocol were running at all.
CAUSEOn affected switch versions, a port needs bpdu enable configured before it will actually pass received STP BPDUs up to the CPU for processing — without it, BPDUs are simply dropped at the port, so no blocking port ever gets computed, even though STP looks globally enabled.
FIXRun display stp interface on each port in the ring — if every port shows Designated Port and none shows Alternate or Root, STP negotiation never actually happened. Configure bpdu enable on the ports that need to receive and process STP frames.
SYMPTOMCertain laptops fail to get an IP address specifically when booting from a network card (PXE-style boot), while other devices on the same switch have no trouble at all.
CAUSEA NIC doing a network boot briefly flaps the link during startup. If the switch port facing that terminal isn't configured as an STP edge port, that flap triggers a full STP topology recalculation — roughly 30 seconds during which the port doesn't forward. The terminal only sends four DHCP discovery attempts in that window, gets no reply to any of them, and simply gives up.
FIXConfigure stp edged-port enable on every port that connects to an end terminal rather than another switch. Newer platform versions can auto-detect terminal-facing ports and set this automatically, but it's worth confirming rather than assuming.
SYMPTOMMultiple STP instances are configured deliberately so a given port can forward in one VLAN instance and block in another, but every instance converges identically to instance 0, no matter what per-instance cost values are set.
CAUSETwo MSTP switches only share a region — and can therefore run their instances independently — when the region name, the instance-to-VLAN mapping, the format selector and the revision level all match exactly. If the region name alone differs, the switches fall back to computing every instance the same way instance 0 does, silently defeating the entire point of configuring separate instances.
FIXCompare display stp region-configuration on both switches — region name first. Align the region name, then reconfirm the per-instance cost values actually take effect independently.
SYMPTOMAfter a link on the RRPP ring fails and recovers, MAC and ARP tables on the transit nodes don't refresh, and traffic stays broken even though the physical ring is healthy again.
CAUSERRPP has two working modes — the default Huawei-proprietary mode and the GB (national standard) mode — and every node on the same ring must run the same one. If the master node is set to GB mode while the transit nodes are left on the default, the master's common/complete notification packets simply aren't processed by the transit nodes, so their MAC and ARP tables never get the memo that the topology changed.
FIXCheck display rrpp verbose domain on the master node to confirm its working mode, then check the same on every transit node — align all of them to one mode, whichever it is, consistently across the whole ring.
The outage looked like a routing problem. The actual cause was a VLAN that nobody thought to check.
The setup: a switch with dual uplinks to routers, and access-layer devices hanging off it downstream. The symptom: both upstream links went completely dark for business, a reboot brought service back for a while, and then the exact same failure returned.
The log trail pointed first at OSPF, not at Layer 2 at all — the uplink neighbor relationship kept dropping, seemingly for no reason:
NBR_CHG_DOWN(l): Neighbor event:neighbor state changed to Down. (ProcessId=88,
NeighborAddress=x.x.x.x, NeighborEvent=KillNbr, NeighborPreviousState=Loading,
NeighborCurrentState=Down)
NBR_DOWN_REASON(l): Neighbor state leaves full or changed to Down. (ProcessId=88,
NeighborRouterId=x.x.x.x, NeighborAreaId=0, NeighborInterface=Vlanif4, NeighborDownImmediate
reason=Neighbor Down Due to Kill Neighbor, NeighborDownPrimeReason=Physical Interface State Change)
Diagnostic logs told the real story: the uplink ports GE1/0/0 and GE1/0/1 both showed abnormal outbound traffic, while the downstream ports GE1/0/3 and GE1/0/4 both showed abnormal inbound traffic at the same time — all four sitting right at the port's rate ceiling:
Interface GigabitEthernet1/0/0's flow is abnormal. (Speed=1000Mbps, CurrentInSpeed=0Mbps,
CurrentOutSpeed=849Mbps, File=IFPDT_FUNC_C, Line=13072)
Interface GigabitEthernet1/0/3's flow is abnormal. (Speed=1000Mbps, CurrentInSpeed=847Mbps,
CurrentOutSpeed=846Mbps, File=IFPDT_FUNC_C, Line=13072)
Interface GigabitEthernet1/0/4's flow is abnormal. (Speed=1000Mbps, CurrentInSpeed=849Mbps,
CurrentOutSpeed=849Mbps, File=IFPDT_FUNC_C, Line=13072)
Comparing the configuration of every flagged port turned up exactly one thing they all had in common: VLAN 1. Traffic coming into GE1/0/3 and GE1/0/4 inside VLAN 1 was being broadcast straight back out to the other flagged ports, including the two uplinks — flooding them until OSPF hello packets themselves were being dropped, which is what actually took the neighbor relationship down. Removing GE1/0/3 and GE1/0/4 from VLAN 1 cleared the fault immediately, with no further changes needed.
The generalizable point: a VLAN 1 loop is common enough that it's worth checking first, specifically, whenever port traffic looks abnormal across several ports that don't otherwise look related — compare their configurations for a shared VLAN before assuming the fault is somewhere more exotic.
Once the immediate fire is out, these five checks are what actually prevent the next one.
This note is built around Chapter 6 of Huawei's own Sx3-series switch maintenance manual — the diagnostic steps, the misconfiguration cases and the hardening recommendations are all sourced from that reference. It doesn't cover ERPS sub-ring behavior in depth, Smart Link specifics, or loop scenarios caused by third-party equipment reflecting frames it can't otherwise process — those each deserve their own look.
The questions that come up whenever a suspected loop is actually on the table.
MAC address flapping is the tell: a true loop always produces the same MAC address bouncing between two specific ports in the same VLAN, because the switch keeps re-learning it from both directions. A single misbehaving or compromised device generating heavy broadcast traffic typically doesn't produce that particular bilateral flapping signature between two ports — it shows up as high traffic without the matching MAC-drift pattern.
Not on its own. A sustained high PPI share is a strong indicator, but plenty of other conditions can drive CPU usage up too. Cross-check with interface traffic and MAC flapping, or deploy loop detection for a direct answer, before treating high CPU as proof by itself.
Shutdown is almost always the better choice — it's instantly reversible with undo shutdown and doesn't risk damage to a connector or fibre end. Physically pulling a cable is a last resort reserved for when the device itself can no longer be reached remotely to issue the shutdown command.
Yes, potentially — removing the default VLAN from an Access port in particular can affect whatever downstream device or user is actually connected to it, so confirm what's behind a port before touching it. Removing a specific VLAN ID from a Trunk or Hybrid port is generally narrower in impact, since other VLANs on that same port keep forwarding normally.
Loop-breaking protocols (STP/RSTP/MSTP, RRPP, SEP, ERPS) are the actual defense and should be chosen deliberately to match the network design — running RRPP and MSTP together on the same ports isn't recommended. Loop Detection and Loopback Detection are supplementary diagnostic tools that consume extra system resources; the manual specifically recommends disabling them again once a deployment check is complete, rather than leaving them running permanently everywhere.
Send us your display interface brief output and a rough topology sketch — we'll help you find the loop and break it safely.