IP / Network Issue

Cisco switch: MAC address flapping between ports

By Sai Kiran Pandrala · reviewed by Sai Kiran Pandrala, Editor Last verified: 2026-05-30

⚡ At a glance
CategoryIP / Network Issue
SubjectCisco switch
Skill levelIntermediate to advanced (CCNA / CCNP background recommended)
DIY-able?Mostly yes with CLI access; some scenarios need TAC + RMA.

What this guide covers

Real-world context. Budget honestly for ~Rs 0 INR under SmartNet, otherwise ~Rs 5,000 to Rs 1,50,000 INR for parts (around $60 to $1,800 USD), because the cheap path looks tempting until a part shows up wrong. You will burn ~20 to 60 minutes triage hands-on and roughly ~1 to 4 hours including failback once verification is done. Before you touch anything, line up the device serial, the IOS or NX-OS image, and console access, those three are what saves you when the first attempt does not stick.

Same MAC seen on multiple ports. usually a loop or duplicate MAC.

Repair sequence

  1. show mac address-table notification mac-move to find affected MACs.
  2. Identify the two ports the MAC is bouncing between.
  3. If both ports go to access devices: someone hooked the same device to both, disconnect one.
  4. If one is an uplink: STP loop, BPDUguard / loop-guard / UDLD likely should err-disable one side.
  5. Enable rate-limit: mac address-table notification mac-move.

CLI commands

show mac address-table notification mac-move
show mac address-table address <MAC>

When the issue persists

Frequently asked questions

Will this work on my exact IOS-XE / ASA version?

The procedure reflects current IOS-XE 17.x and ASA 9.20 behaviour. Older trains (15.x, 9.16 ASA) may need minor syntax adjustments: use ? in the CLI.

Should I open a TAC case immediately?

Open one if you suspect hardware failure or the symptom persists after a maintenance-window reload. Make sure your SmartNet is active first.

Where can I find the Cisco official documentation?

https://www.cisco.com/c/en/us/support/all-products.html, search the product family + feature name.

Is this procedure safe in production?

Test in a lab or maintenance window first. Capture pre-change state so you can roll back.

References


Reference material, not professional advice. Validate against your specific IOS-XE version and test in a non-production environment before applying.

Why this matters for your day-to-day

A Cisco device that's misbehaving costs more than the fix itself: lost productivity, missed calls, security risk, even safety risk in some categories. Treating the symptom quickly with a documented procedure is cheaper than letting it persist. The steps above are written to get you back to working in under an hour where possible, and to flag clearly when escalation is the right call.

Cause analysis

A few things to confirm so the Cisco device fix goes cleanly:

Post-repair audit

After applying the fix on your Cisco device, confirm:

When to call Cisco support instead

Escalate if:

More frequently asked questions

Will the procedure work on the international variant?

Some features and firmware paths are region-locked. Check the model spec sheet to confirm your variant supports the menu option referenced. If you're outside the US/EU, look for the regional support portal.

How often should I run preventive checks?

Quarterly for most consumer devices; monthly for production / commercial devices. Set a calendar reminder so the device stays healthy between issues.

Are there safer alternatives for non-technical users?

Yes: the manufacturer's self-service troubleshooter (HP Smart, LG ThinQ, Samsung Members, similar) usually walks through the same steps in a guided UI. Use that first if you're not comfortable with menu paths.

Should I update firmware first or last?

Update firmware first if a release note specifically mentions your symptom. Otherwise, finish the troubleshooting flow first, then update; that way you can isolate whether the update or the underlying fix solved it.

Is it safe to apply during business hours?

If the device is in production use, apply during a scheduled maintenance window. Most procedures need 2-15 minutes of downtime. Capture pre-change state so you can roll back if needed.

Field notes from real incidents on IP / Network Issue

When I work on Cisco switch: MAC address flapping between ports the rhythm I lean on is the one I have built over years of these tickets. Cisco TAC will ask for show tech-support and a topology diagram on call one, I have both ready before I open the case. The newer Cisco IOS-XE traceability tools (show platform hardware fed) are massively underused; they answer questions the old CLI cannot. Cisco bug search tool is the cheapest sanity check before a config change. search the symptom, sort by affected releases, decide.

Tools I actually reach for

For Cisco switch: MAC address flapping between ports on IP / Network Issue the cheapest signal I can land usually comes from a known order of operations, not a kitchen-sink approach. I start with show logging last 200 because it is the lowest-friction way to confirm the failure is real and reproducible. If that returns ambiguous data, I escalate to show tech-support (capture for TAC), ping vrf <vrf> <target>, show platform hardware capacity, and finally to show running-config | include <feature> only when the cheaper tools cannot reach the layer the failure lives in. That ordering matches the failure surfaces I have actually seen on IP / Network Issue units over the last few years, not an abstract taxonomy. The cheap signals gate the expensive ones so the investigation does not balloon into a multi-hour exercise.

Verification I run before I close the ticket

Before I mark Cisco switch: MAC address flapping between ports resolved on a IP / Network Issue unit, the verification loop below is what I actually run. Each step proves a different layer is green, and the order matters - the cheap checks gate the more expensive ones so I never burn an hour on a deep test that a shallow one would have failed in seconds.

show bgp summary  # confirm session state after route changes

If that one comes back clean, move to the next check. If it does not, stop and dig in there before layering more verification on top of a red signal.

show logging | include %LINK|%LINEPROTO|%BGP|%OSPF

If that one comes back clean, move to the next check. If it does not, stop and dig in there before layering more verification on top of a red signal.

show interfaces <int> | include errors|drops|CRC

If that one comes back clean, move to the next check. If it does not, stop and dig in there before layering more verification on top of a red signal.

show spanning-tree summary  # confirm topology stability

Only when every line above runs clean do I close the ticket and update the runbook with the timestamps. A green verification that nobody can reproduce is not a fix, it is luck waiting to regress.

Where I check first when the docs disagree

When two sources contradict each other on a IP / Network Issue detail, the disambiguation order I lean on is stable across products and across years. cisco.com/c/en/us/td/docs/ios-xml for IOS XR is where I start for the ground-truth view. Cisco TAC case knowledge base is where I start for the ground-truth view. developer.cisco.com for NSO / model-driven APIs is where I start for the ground-truth view. Random blog posts and reseller wikis are signal, not ground truth, and I treat them as such until the references above either confirm or contradict the claim. The cost of trusting an unauthoritative source on Cisco switch: MAC address flapping between ports is rarely worth the time it saved.

Pitfalls I have walked into on this exact path

The shortcuts that look smart on Cisco switch: MAC address flapping between ports have a habit of biting back. The pitfalls below are the ones I have personally walked into on a IP / Network Issue unit, not things I read about. Cisco bug search tool is the cheapest sanity check before a config change, search the symptom, sort by affected releases, decide. The newer Cisco IOS-XE traceability tools (show platform hardware fed) are massively underused; they answer questions the old CLI cannot. Most catalyst stack issues I have triaged were power-budget related, not software: the show power detail output answers it in 5 seconds. When in doubt I revert to the slower path that the manual prescribes - the time I save by skipping it is always smaller than the time I spend cleaning up afterwards.

What I tell the next on-call

When I hand Cisco switch: MAC address flapping between ports off to the next person on rotation, the three lines I leave in the runbook are these. First, the symptom signature on IP / Network Issue - not a paraphrase, the exact string that surfaces in logs or on the screen. Second, the diagnostic that gave the highest signal in the least time. Third, the exact verification command whose green output justified closing the ticket. That trio is what turns a one-off fix into a runbook entry the next engineer can use without paging me at three in the morning.

I also add a one-line note on the cost of getting this wrong. For Cisco switch: MAC address flapping between ports on a IP / Network Issue unit, the cost is rarely the replacement part or the patch itself. It is the downtime, the second site visit, and the trust deficit you spend with whoever owns the asset when the fix does not hold. That framing keeps the next on-call from choosing the cheap-looking shortcut that ends up costing the most in elapsed hours and goodwill.

Related guides worth a look while you sort this one out:

People also ask

Will this work on my exact IOS-XE / ASA version?

The procedure reflects current IOS-XE 17.x and ASA 9.20 behaviour. Older trains (15.x, 9.16 ASA) may need minor syntax adjustments, use `?` in the CLI.

Should I open a TAC case immediately?

Open one if you suspect hardware failure or the symptom persists after a maintenance-window reload. Make sure your SmartNet is active first.

Where can I find the Cisco official documentation?

https://www.cisco.com/c/en/us/support/all-products.html. search the product family + feature name.

Is this procedure safe in production?

Test in a lab or maintenance window first. Capture pre-change state so you can roll back.