Skip to main content

Incident · Mid

Cloudflare Jul 2020: backbone sends all traffic to Atlanta

Real incident. Key points: network: DNS and BGP.

12 min read · Incident on 2020-07, lasted · Source: Cloudflare · Content reviewed on October 23, 2026

Short answer

Real incident. Key points: network: DNS and BGP. Cloudflare operates a backbone: private lines between many of its data centers, used as faster and more reliable paths than those of the public Internet. The post-mortem explains that it provides better quality of service because it allows avoiding points of Internet congestion.

01 · CONTEXT

A private backbone and a change to relieve congestion

Cloudflare operates a backbone: private lines between many of its data centers, used as faster and more reliable paths than those of the public Internet. The post-mortem explains that it provides better quality of service because it allows avoiding points of Internet congestion. This arrangement is part of the design of CDN and edge computing.

  1. The diagram starts with the visitor and the data center that serves them.

    Architecture diagram: Private backbone between data centers
    CLVisitantes
    EDGEntry data center
    NWPrivate backbone
    EDGDistant data center
    CPOrigin server
  2. When needed, traffic crosses the private backbone to another data center instead of going over the public Internet.

    Architecture diagram: Private backbone between data centers
    CLVisitantes
    EDGEntry data center
    NWPrivate backboneprivate network
    EDGDistant data center
    CPOrigin server
  3. The distant data center fetches the content from the customer's origin server and responds along the same path.

    Architecture diagram: Private backbone between data centers
    CLVisitantes
    EDGEntry data center
    NWPrivate backbone
    EDGDistant data center
    CPOrigin server

On the day of the outage, according to the post, a configuration error on the backbone caused a 27-minute outage, with network traffic dropping by about 50%. The network team was handling an unrelated problem, on the stretch between Newark and Chicago, and updated the configuration of a router in Atlanta to relieve congestion. The configuration had an error that sent all backbone traffic to Atlanta, overloaded the router, and took down the locations connected to the backbone. Because of the backbone's architecture, the outage was localized to certain geographies.

02 · TIMELINE

From the lost link to full recovery

The sequence begins with a problem on the backbone link between Newark and Chicago, which led to congestion on the stretch between Atlanta and Washington. Because the backbone was congested at Atlanta, according to the post, the team decided to pull some of the backbone traffic away from Atlanta and updated the router configuration there. The times below are in UTC and come from the post's timeline.

Time (UTC)What the post records
20:25Loss of the backbone link between EWR and ORD, and the backbone between ATL and IAD becoming congested
21:12 to 21:39Atlanta attracted traffic from the entire backbone
21:39 to 21:47Atlanta was removed from the backbone and service was restored
21:47 to 22:10Congestion in the core dropped some logs; the edge kept operating
22:10Full recovery, including logs and metrics

03 · THE CONFIGURATION

A BGP policy line that advertised everything

According to the post, instead of removing Atlanta's routes from the backbone, a one-line change started leaking all BGP routes onto the backbone. The correct change would have been to disable the policy term, not the prefix list. By removing the condition from the list, the router was instructed to send all of its BGP routes to the other backbone routers, with an increased local-preference. It is an example of load balancing decided by the routing layer: the route with the highest preference wins and attracts the traffic.

  1. Atlanta is congested and the team decides to pull some of the traffic away from it.

    Architecture diagram: BGP route leak from Atlanta
    NWAtlanta routerpolicy change
    NWOther backbone routers
    NWLocal edge router
    CPLocal servers
    CPAtlanta servers
  2. The one-line change makes the router advertise all of its BGP routes to the other backbone routers.

    Architecture diagram: BGP route leak from Atlanta
    NWAtlanta routeradvertises everything
    NWOther backbone routers
    NWLocal edge router
    CPLocal servers
    CPAtlanta servers
  3. The routes arrive with a higher local-preference than the servers' local routes.

    Architecture diagram: BGP route leak from Atlanta
    NWAtlanta router
    NWOther backbone routers
    NWLocal edge router
    CPLocal servers
    CPAtlanta servers
  4. Because the higher preference wins, traffic that used to go to local servers now goes to the Atlanta servers.

    Architecture diagram: BGP route leak from Atlanta
    NWAtlanta router
    NWOther backbone routers
    NWLocal edge router
    CPLocal serversno traffic
    CPAtlanta serversCPU overloaded

04 · IMPACT

Who went down, who didn't, and how it recovered

The Atlanta router became overloaded and the locations connected to the backbone failed. The post's internal traffic dashboard shows Atlanta's CPU overloaded and the CPU of the affected data centers near zero, because they stopped handling traffic. Locations not listed as affected kept operating normally, which the post attributes to the backbone's architecture.

  1. Backbone traffic is diverted to Atlanta.

    Architecture diagram: Impact and recovery from the outage
    CLVisitantes
    EDGData centers on the backbone
    EDGData centers off the backbone
    NWPrivate backbone
    EDGAtlantaCPU overloaded
    NWLogs and metrics core
  2. The data centers connected to the backbone fail and stop handling traffic.

    Architecture diagram: Impact and recovery from the outage
    CLVisitantes
    EDGData centers on the backboneno traffic
    EDGData centers off the backbone
    NWPrivate backbone
    EDGAtlanta
    NWLogs and metrics core
  3. The locations that did not depend on the backbone keep serving normally.

    Architecture diagram: Impact and recovery from the outage
    CLVisitantes
    EDGData centers on the backbone
    EDGData centers off the backboneno change
    NWPrivate backbone
    EDGAtlanta
    NWLogs and metrics core
  4. With the Atlanta router disabled, traffic returns to normal.

    Architecture diagram: Impact and recovery from the outage
    CLVisitantes
    EDGData centers on the backbone
    EDGData centers off the backbone
    NWPrivate backbone
    EDGAtlantadesativado
    NWLogs and metrics core
  5. Shortly after, a core data center that processes logs and metrics becomes congested and some logs are dropped, but the edge keeps operating.

    Architecture diagram: Impact and recovery from the outage
    CLVisitantes
    EDGData centers on the backbone
    EDGData centers off the backbone
    NWPrivate backbone
    EDGAtlanta
    NWLogs and metrics corelogs dropped

According to the CEO, quoted by The Register, the company isolated the Atlanta router and shut down the backbone, routing traffic through transit providers. The company's own API and recursive DNS had degraded performance, and the press listed affected third parties such as Authy, Digital Ocean, Discord, Downdetector, GitLab, Medium, Patron, and Riot, among others.

05 · LESSONS

Limits so a router does not attract everything

The post announces two changes. One is a maximum prefix limit on the backbone's BGP sessions, which would have shut down the backbone at Atlanta, something the network can tolerate because it was built to work without the backbone. The other changes the local-preference of local server routes, so that a single location does not attract the traffic of the others. The post also says the company had never had a backbone outage. Limiting the reach of a failure is the subject of availability patterns.

AspectoMaximum prefix limitLocal-preference of local routes
What changesMaximum prefix limit on the backbone's BGP sessionsLocal-preference of local server routes
Effect according to the postWould have shut down the backbone at Atlanta, and the network works without the backbonePrevents a single location from attracting traffic from others
Status in the postRollout scheduled for a later MondayAlready deployed after the incident

Frequently asked questions

What is Cloudflare Jul 2020: backbone sends all traffic to Atlanta?

Real incident. Key points: network: DNS and BGP.

What does the Cloudflare Jul 2020: backbone sends all traffic to Atlanta design cover?

It is organized in these sections: A private backbone and a change to relieve congestion, From the lost link to full recovery, A BGP policy line that advertised everything, Who went down, who didn't, and how it recovered, and Limits so a router does not attract everything.

How long is Cloudflare Jul 2020: backbone sends all traffic to Atlanta and what level is it?

It takes about 12 minutes to read and is rated Mid level.

Now design it yourself

Run this case as an interview in the System Design school: you make the decisions, the tutor challenges them and you see how your design scores.