IL-0225 Microsoft Azure · 2023-01-25azurenetworking
An IGP purge command made every Microsoft WAN router recompute routes, causing global latency, timeouts and packet loss
The task added new routers to Microsoft's global Wide Area Network (WAN) in Madrid: it changed each new router's IP address and joined it to the IGP (Interior Gateway Protocol, which connects all routers inside the WAN) and BGP routing domains. The standard operating procedure (SOP) for such work has four steps: testing in the Open Network Emulator, testing in the lab, a Safe-Fly Review with roll-out and roll-back plans, and Safe-Deployment, which allows access to one device at a time. The SOP had been changed before this event to fix problems from earlier runs, and the changed SOP was not re-tested and lacked proper post-checks. The added command purges the IGP database: on routers from two manufacturers it runs only on the local router, on the third it orders every IGP-joined router to recompute its topology. Microsoft's AAA system approves every router command and blocks commands with global impact, but this command's global default on that router model had not been found in the evaluation of high-impact commands and was not on the block list.
Although the engineer had access to a single router, that router was joined to the rest of the WAN through the IGP. All routers recomputed IP connectivity across the internal network, and BGP routers then readvertised and validated the prefixes received from the internet; restoring connectivity to every prefix took about 1 hour and 40 minutes. Monitoring alerted the on-call engineers within 5 minutes, but because of the unqualified SOP changes the engineer making the change was not informed and repeated the operation on the second Madrid router 33 minutes later, causing a second wave. The team reviewed recent changes and identified the command by 08:20 UTC while automatic recovery was under way. Nearly all network devices and most regions and services had recovered by 09:05 UTC, and the last network equipment by 09:25 UTC. During the event the automated systems that keep the WAN healthy, including the one that removes unhealthy devices and the traffic engineering system, had been paused, so some paths stayed unoptimised and lost packets from 09:25 UTC until those systems were restarted by hand; recovery completed at 12:43 UTC.
- Severity
- –
- Scope
- Network connectivity to Azure regions and to other Microsoft services including Microsoft 365 and Power Platform, internet, inter-region and ExpressRoute or VPN/vWAN traffic, and Azure Government services that depend on the public cloud
- Users affected
- –
- Region
- global
- Time to detect
- 3m
- Time to resolve
- 5h 35m
Symptoms
From 07:08 UTC on 25 January 2023, customers saw long network latency and timeouts when connecting to resources in Azure regions and to other Microsoft services such as Microsoft 365 and Power Platform. Microsoft's monitoring detected DNS and WAN issues from 07:11 UTC.
The impact changed as routing converged across the network: some customers had intermittent connectivity, some saw connections time out, and others had long latency or lost connectivity completely. It hit traffic to and from the internet, traffic between regions, cross-premises traffic over ExpressRoute or VPN/vWAN, and Azure Government services that depend on the public cloud.
Alerts reached the on-call engineers within 5 minutes of the command, but the engineer making the change was not told. The same operation was run on a second router in Madrid 33 minutes after the first, which sent a second wave of connectivity issues through the network. Because of the size of the network, restoring connectivity to every prefix took about 1 hour and 40 minutes. Responders began by reviewing all recent changes and identified the command at 08:20 UTC while automatic recovery was under way.
Most regions and services recovered by 09:05 UTC and the last network equipment by 09:25 UTC, but parts of the network kept above-normal packet loss, and two routers could not recover automatically. Traffic crossing the regions in India and parts of North America recovered last, at 12:43 UTC.
Symptom High latencyIntermittent timeoutsIntermittent connection failuresPacket lossNetwork unreachable
Root cause
Root cause Configuration change
- Trigger
- A network engineer adding capacity to the global WAN in Madrid ran a step of a recently changed standard operating procedure that purged the IGP database; on the router manufacturer involved, that command runs on all IGP-joined routers instead of only the local one.
Detection
Monitoring detected DNS and WAN issues from 07:11 UTC and alerted the on-call engineers within 5 minutes of the command being run. The team reviewed all recent changes and identified the command by 08:20 UTC. The engineer making the change was not informed of the alerts because of the unqualified changes to the SOP.
Remediation
- Restarted by hand the paused WAN health and traffic engineering systems, which ended the remaining packet loss
Action items
- Audit and block similar widespread-impact commands across all three vendors for all WAN router roles
- Give on-call engineers real-time visibility of approved and unqualified activity on network devices
- Run regular mandatory operational training and attestation of following all SOPs
- Have the Change Advisory Board review all SOPs still pending qualification within 30 days
Lessons
–
Sources
- https://azure.status.microsoft/en-us/status/history/?trackingId=VSG1-B90 · official-status
References
Related cases
IL-0228IPv4 routing across OVHcloud's global network broke after a router change put the full internet routing table into OSPFOVHcloud · 2021same root cause · shared Interior routing (IGP), Backbone network (WAN), BGP routing
IL-0394A Cloudflare router in Miami leaked IPv6 BGP routes to peers and providers for 25 minutes, congesting the backboneCloudflare · 2026same root cause · shared Backbone network (WAN), BGP routing
IL-0539KT's internet service failed nationwide for about 89 minutes as wrong routes spread from one router in BusanKT · 2021same root cause · shared Interior routing (IGP), BGP routing
IL-0400Public sector sites across Wales lost connectivity for over 8 hours as a PE router wrongly advertised a default routePSBA · 2026same root cause · shared BGP routing
IL-0266Eqiad routers looped traffic between each other after a BGP MED change and could not reach other sites' public IPsWikimedia Foundation · 2021same root cause · shared BGP routing
Check your cluster for this
For AI tools and scripts
- This case as JSON: https://incidentlib-api.benchlet.com/cases/IL-0225
- The cases most like it: https://incidentlib-api.benchlet.com/cases/IL-0225/similar
- MCP server (Streamable HTTP, no key):
https://incidentlib-mcp.benchlet.com/mcp
The API needs no key. The MCP server offers search_incidents, get_incident, list_incidents, get_topic and vocab; both are explained on API and MCP.