IP / Network Issue

Fortinet firewall: MAC table full

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

⚡ At a glance
VendorFortinet
Operating systemFortiOS
CategoryIP / Network Issue
Skill levelIntermediate to advanced
DIY-able?Yes with CLI access; some scenarios need Fortinet TAC + RMA.

What this guide covers

Real-world context. Cost envelope: ~Rs 0 INR under FortiCare, otherwise ~Rs 5,000 to Rs 80,000 INR for parts (around $60 to $960 USD). Time at the keyboard: ~20 to 60 minutes triage. Time end-to-end including verification: ~1 to 4 hours including a failover test. Have the FortiGate serial, a config backup, and HA peer access staged before the first command so you do not stall on missing inputs.

Fix MAC table full on a Fortinet firewall.

Step-by-step

  1. Check current MAC table utilisation.
  2. Identify the offending VLAN or port.
  3. Enable storm-control on access ports.
  4. Enable port-security with a hard MAC limit.
  5. Long-term, refresh to a switch with a larger MAC table.

CLI / commands

get system interface
show system interface
diagnose hardware sysinfo

When the issue persists

Frequently asked questions

Will this work on my specific FortiOS version?

The procedure reflects current FortiOS behaviour. Older releases may need minor syntax adjustments: use the CLI help (? or tab-completion) to verify.

Should I open a Fortinet TAC case immediately?

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

Where can I find the Fortinet official documentation?

https://community.fortinet.com/, 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.

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

References


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

Why this matters for your day-to-day

A Fortinet 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.

Before you start

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

Quick verification

Before you walk away from a Fortinet device fix, run through:

1. Reproduce the original trigger: does the issue reappear? 2. Check the device's status / health screen for any new alerts. 3. Confirm paired devices (app, hub, controller) reconnected. 4. Save / commit any configuration changes per the device's normal workflow. 5. Note the change in your maintenance log with date + firmware version.

Escalation guide

For a Fortinet device, the right escalation depends on impact:

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 long does this fix usually take?

Most users complete the steps in 20-45 minutes the first time, and 5-10 minutes on subsequent runs once the menu paths are familiar.

Will this void my warranty?

Applying official firmware updates and following the user manual will not affect warranty. Opening sealed components, jumping safety circuits, or using third-party parts can void warranty in most jurisdictions.

Does this affect other devices on my network?

Generally no. The procedure is local to this device. Network-side changes (firmware updates that affect TLS, SMB, or routing) are flagged explicitly in the steps.

Why is this happening on a brand-new unit?

Out-of-box defects do occur. If you've owned the device under 30 days and the symptom persists after a factory reset, escalate to the seller for replacement under DOA terms before opening a manufacturer support case.

Topology deep dive: where this sits in a real perimeter

On the FortiGate the symptom rarely lives in isolation. In a typical Indian BFSI edge the FortiGate cluster sits behind a pair of ISP routers, usually a Tata Communications or Airtel handoff on one side and a Jio metro-E on the other, with an HA heartbeat on a dedicated VLAN. The FortiGate terminates the WAN, runs the security policy, and hands clean traffic to a core switch pair. When you see firewall mac table full, draw that path on paper before you touch a command.

Layer-2 weirdness on a FortiGate perimeter is rarely the firewall's fault on its own. Asymmetric paths, a downstream switch MAC churn, or a misconfigured VRRP group on the core almost always sit underneath it. Map the blast radius first. Is this one VDOM or the whole box? One uplink or both? A single FortiAP or the whole tunnel back to the controller? The answer decides whether you work live or wait for the 1 a.m. window the change-advisory board signed off.

I keep a one-page topology in the runbook for every site. It lists the management IP, the HA peer, the upstream ISP circuit IDs, and the FortiCare serial. Five minutes of drawing saves an hour of guessing when the SOC pager goes off and the on-call has never seen this rack.

Configuration walkthrough on FortiOS

Get onto the box the boring way: serial console at 9600 8N1, or SSH to the management interface if it is still reachable. Drop into the right VDOM with config vdom then edit root (or your customer VDOM) so you do not fat-finger a global change on a shared appliance. On a multi-tenant FortiGate that one habit has saved me from a Sev-1 more than once.

Capture the running config before any edit. show full-configuration piped to your terminal log, or pull a full backup with execute backup config tftp fgt-backup.conf 10.0.0.5. If you have FortiManager in the picture, take a revision snapshot there too so the rollback is governed, not improvised. For a regulated environment that snapshot is also your audit evidence that you knew the pre-change state.

Make the smallest change that proves the hypothesis. Resist the urge to fix three things at once, because when the symptom clears you will not know which edit did it, and the next engineer inherits a mystery. Change one knob, verify, document, then move to the next.

Troubleshooting commands by platform

Here is the FortiOS command set I actually run for firewall mac table full, in the order I run them. Adjust interface names and IPs to your environment.

diagnose hardware deviceinfo nic port1
diagnose netlink interface list
get system arp
diagnose sys session list
diagnose switch mac-address list
execute log filter category 0

Two FortiOS habits worth keeping. First, always pair diagnose debug enable with a specific filter, then diagnose debug disable the moment you are done, because leaving debug on a busy FortiGate can spike CPU and turn a small incident into an outage. Second, execute tac report bundles the diagnostics Fortinet TAC will ask for anyway, so run it early and attach it to the ticket rather than going back and forth.

If the box is an HA pair, remember the secondary mirrors config but not always live session state. Check both members with diagnose sys ha status and get system ha before you blame the active unit. I have watched an engineer chase a phantom fault for an hour that was actually a split-brain heartbeat on a flapping HA link.

India compliance and deployment notes

If this FortiGate guards a bank, an NBFC, or a payments aggregator, the fix is half the job. The other half is the paperwork. RBI cyber-security framework expects change records, and the CERT-In 2022 directions put a six-hour reporting clock on certain incidents, so if firewall mac table full turns out to be a security event and not a config slip, your timestamps matter. Log the detection time, not the time you got around to writing it up.

On cost: a FortiCare and FortiGuard renewal on a mid-range FortiGate typically lands between INR 85,000 and INR 2,00,000 per year (roughly $1,000 to $2,400 USD) depending on the model and bundle, and that is what keeps you entitled to RMA and firmware. Buying through GeM (Government e-Marketplace) for a PSU bank means the BoQ has to match the tender line items exactly, so keep the part numbers clean. An AMC with a local Fortinet partner usually adds 12 to 18 percent of hardware cost annually and is worth it when the nearest spare is a flight away.

Under the DPDP Act, any diagnostic capture that might contain customer traffic needs handling care. When I pull a diagnose sniffer trace on a production link I scrub it before it leaves the building, and I never email a raw packet capture to an unverified address. MeitY-empanelled auditors will ask how you handled that data, so have an answer ready.

A real deployment I worked through

Last quarter I got pulled into an NBFC perimeter stack in Bengaluru (Whitefield) where this exact pattern showed up. The FortiGate had been humming for months, then overnight the symptom hit and the morning batch run started throwing alerts. The on-call had already rebooted the box once, which is the instinct everyone has and the one I keep trying to train out of teams, because a reboot wipes the very state you need to diagnose.

We got console access, pulled the config and the diagnostics, and the picture came together fast. The change that triggered it traced back to a tweak on the Jio backhaul drop two days earlier that nobody had flagged on the change board. Once we lined the timeline up against the FortiGate logs, the root cause was obvious. We rolled the offending change, verified on the FortiGate with the commands above, and watched the alerts clear inside ten minutes.

The lesson I carried to a securities broker colo at BSE (Dalal Street) the following week: the firewall is usually the messenger, not the murderer. Half the perimeter incidents I get called for were caused two hops away, on a switch or an ISP edge, and the FortiGate just surfaced the symptom loudest. Read the timeline, not just the device. The box that screams is rarely the box that broke.

More questions I get asked

Will a reboot fix this on the FortiGate?

Sometimes, and that is exactly the trap. A reboot can clear a transient state and hide the root cause, so you fix nothing and it returns next week. Capture diagnostics first, then reboot only if you have a reason to believe it helps.

Should I fail over to the HA peer before troubleshooting?

If the active unit is degrading and customer traffic is at risk, yes, fail over to protect the service, then troubleshoot the now-idle unit. If both units show the same symptom, the problem is config or upstream, and failover buys you nothing.

How do I know if it is the FortiGate or the ISP?

Run a packet capture at the edge and watch which direction the traffic stops. If the FortiGate sends and the upstream never answers, call the Airtel or Jio NOC with the circuit ID. If the FortiGate never sends, the fault is local.

Is this safe to apply during banking hours?

Treat anything that touches the data path as a maintenance-window change. Most of these fixes need a few minutes of risk, and a regulated environment expects that risk to land inside an approved window with a rollback ready.

What do I attach when I open the Fortinet TAC case?

The execute tac report bundle, your config backup, the crashlog if hardware is suspected, and a clear timeline of what changed and when. The faster TAC can see the state, the faster the RMA or the fix.