Cases3 cases
1 to 3 of 3
IL-0354Fly.io private networking (6PN) broke for some machines after edges received gateway /80 routesFly.io2026- Symptoms
On 23 September 2026, private networking (6PN) stopped working for a subset of Fly.io machines. Fly.io mitigated it in about 10 minutes, and the problem came back briefly the following day.
- Trigger
Fly.io changed its 6PN routing so that edges act as gateways for non-static peers. Every edge was then treated as a gateway and got a /80 route for its prefix in the Linux routing table, which overrode the per-machine routing for machines that had kept a reused host ID.
- Root cause
- Component
- Contributing factor
- Remediation
- Deleted the bad /80 routes from the routing table on all affected hosts
- Rolled back the changes to s6pnforwarderd, the daemon that manages 6PN routes
- Shipped a fix that adds interactive peers only as /128 routes, which did not prevent a brief recurrence the next day
- Changed routing to always look first for machines that carry a host's ID, whatever kind of host it is
- Action items
- Give the machines used to test and alert on 6PN non-local 6PN addresses
- Make host IDs in 6PN addresses carry no weight in routing decisions, for gateway peers as well as machines
- Move new peers and machines across the board to a better model than the current hack kept for existing gateway peers
- Lessons
Not everyone at Fly.io knew that a worker's host ID could be reused by a host that is not a worker, because host ID assignment was not well documented, and the gateways had not been touched for a long time, so the problem stayed hidden until edges became gateways. All existing 6PN checks used machines on their original host, so they could not catch any problem with host ID reuse or stable 6PN addresses; host IDs need to stop influencing 6PN routing in general for this kind of incident not to recur.
IL-0563Linode servers lost connectivity in all data centers as route servers built incomplete BGP route tablesLinode2025- Symptoms
At about 16:38 UTC on 17 March 2025, internal alerts fired across multiple Linode data centers because various servers had been unreachable for an extended period. At the same time customers began reporting problems with several products.
- Trigger
A release of Akamai Compute's internal backend API component was rolling out, and during the rollout the API gave inconsistent responses to the route servers.
- Root cause
- Component
- Contributing factor
- Detection
Internal alerts fired across multiple data centers showing servers unreachable for an extended period, and customers reported problems with multiple products at the same time.
- Remediation
- Restarted the route servers in all data centers in phases, starting with the most affected regions
- Action items
- Hold backend API releases until there is a better way to make sure route data for route servers is contiguous
IL-0530Virtual router controllers in us-central1 ran out of memory in a loop, cutting networking for new and migrated VMsGoogle Cloud2023- Symptoms
On 5 October 2023 in us-central1, newly created VMs waited a long time before their networking worked, and VMs that had been live migrated lost connectivity for a long time after the migration. Networking telemetry showed cross-region packet loss to and from us-central1 from 03:08 US/Pacific. Health check state of VMs reached load balancers late.
- Trigger
A management plane behaviour change, meant to decouple the processing of API updates to Instance Groups and Network Endpoint Groups used as load balancer backends, was deployed in us-central1 after rolling out to several other regions without incident.
- Root cause
- Component
- Contributing factor
- Detection
Engineers were alerted to slowness in the virtual network control plane in us-central1 at 21:45 US/Pacific on 4 October, before the packet loss started, and to controller failures from memory exhaustion at 02:11 on 5 October. Networking telemetry showed cross-region packet loss from 03:08.
- Remediation
- Increased the memory allocated to the virtual network router controllers
- Rolled back the management plane change in us-central1
- Restarted by hand the routers that were still not accepting updates
- Action items
- Alert proactively on memory risks and unexpected memory increases
- Refactor the deployment configuration so engineers can reallocate memory much faster
- Re-evaluate existing practices and add safety mechanisms for API reconciliation
- Make management plane changes more visible across teams so the changes can be correlated faster
- Adjust the deployment footprint so a regional API change is less likely to exhaust memory across the region at once
- Optimise memory use in the traffic routers and their controllers
These 3 cases involve Network control plane (SDN) and BGP routing. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.
By root cause1
Faulty deployment3 cases
- Contributing factor
- Organisation
IL-0354Fly.io private networking (6PN) broke for some machines after edges received gateway /80 routesFly.io2026IL-0563Linode servers lost connectivity in all data centers as route servers built incomplete BGP route tablesLinode2025IL-0530Virtual router controllers in us-central1 ran out of memory in a loop, cutting networking for new and migrated VMsGoogle Cloud2023