# Networking: Sites load slowly or hang for seconds — broken IPv6 (AAAA resolves, IPv6 route missing) falling back to IPv4

**Code:** `IPv6 enabled but broken: slow connections / Happy Eyeballs` · **Category:** Networking · **Seen on:** Linux, Windows, Networking

The client prefers IPv6, but the IPv6 path is broken, so every connection waits for a timeout before using IPv4.

## Meaning

DNS returns an AAAA record, the host tries IPv6 first, and a missing IPv6 default route, blocked ICMPv6 or firewall makes it fail. Test with `curl -6` vs `curl -4`; fix the IPv6 route and firewall (allow ICMPv6), or disable IPv6 on that network/interface if you can't fix it.

## Common causes

- IPv6 address but no working IPv6 default route
- Firewall blocking ICMPv6 (neighbour/RA/PMTU)
- ISP or VPN IPv6 half-working
- Router advertises IPv6 without upstream connectivity
- AAAA record pointing at a server that isn't listening on IPv6

## Quick fix

1. Compare `curl -4 -I url` and `curl -6 -I url`
2. Allow ICMPv6 and fix the IPv6 route
3. As a workaround, disable IPv6 on the interface

## Detailed fix by platform

### Linux

1. 

```bash
curl -4 -sI -o /dev/null -w "%{time_total}
" https://example.com
curl -6 -sI -o /dev/null -w "%{time_total}
" https://example.com
```


## How to diagnose

1. **curl -6** — Slow/failing?
2. **IPv6 route** — Present?
3. **ICMPv6** — Allowed?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/networking/ipv6-broken-slow-fallback-to-ipv4)
