Reply from x: TTL expired in transit Networking Origin: Network OSI layer 3 · Network Last updated 5 Nov 2026

Networking: TTL expired in transit — routing loop between routers

A packet ran out of hops before arriving, which usually means two routers keep sending it back and forth.

Exact message you may see TTL expired in transitTime to live exceededFrom 10.0.0.1 icmp_seq=1 Time to live exceededReply from 10.0.0.1: TTL expired in transit.routing loop
Seen on: Windows Linux Networking

Meaning

Run traceroute/tracert: a repeating pair of hops is a loop. Fix the conflicting static routes or default routes (each router pointing at the other), or the dynamic routing mis-redistribution. Very long paths with a tiny TTL can also trigger it.

Common causes

  • Two routers pointing default routes at each other
  • Conflicting static routes or summary routes
  • Routing protocol redistribution loop
  • Missing return route
  • Artificially low TTL set by the sender

⚡ Quick fix

  1. Trace the path: tracert dest / traceroute -n dest and look for repeating hops
  2. Remove or correct the conflicting route
  3. Verify summaries and redistribution

Detailed fix by platform

Linux

  1. bash
    traceroute -n 10.20.0.5
    ip route get 10.20.0.5

How to diagnose

  1. Traceroute — Repeating hops?
  2. Routes — Point at each other?
  3. TTL — Not too small?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Network. Errors that are often confused with or caused by this one (click to open):

1019 — Cloudflare Error 1019: Compute server error (Workers) (Cloudflare)1019404 — HTTP 404 Not Found (HTTP)404405 — HTTP 405 Method Not Allowed (HTTP)405554 5.4.14 Hop count exceeded - possible mail loop — SMTP: 554 5.4.14 Hop count exceeded - possible mail loop (Email / SMTP)554 5.4.14 Hop count …Domain still resolves to the old IP (DNS propagation/cache) — Networking: DNS changed but the domain still resolves to the old IP — TTL and resolver caching ("propagation") (Networking)Domain still resolves…Frag needed and DF set (ICMP type 3 code 4) — Networking: ping: local error: message too long, mtu=1500 / Packet needs to be fragmented but DF set (Networking)Frag needed and DF se…ICMP Destination unreachable (Port unreachable) — Networking: ICMP Destination unreachable (Port unreachable) — UDP packet sent to a port where nothing is listening (Networking)ICMP Destination unre…Network is unreachable — connect: Network is unreachable (ENETUNREACH) (Linux)Network is unreachableReply fro…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.