Date: Fri, 09 Jan 2026 13:16:58 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 292293] Accurate ECN on the loopback interface causes an infinite ACK loop. Message-ID: <bug-292293-227@https.bugs.freebsd.org/bugzilla/>
index | next in thread | raw e-mail
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292293 Bug ID: 292293 Summary: Accurate ECN on the loopback interface causes an infinite ACK loop. Product: Base System Version: 15.0-RELEASE Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: adrik@salesmanager.nl When I enable Accurate ECN using net.inet.tcp.ecn.enable=3, connection involving the loopback interface (lo0) sometimes cause an infinite ACK loop in the kernel, consuming 100% CPU of a single core doing interrupts (netisr:x). The only way to stop the loop is using tcpdrop on both sides of the connection. I have seen this happen when both src and dst addresses are 127.0.0.1, but also when src or dst is 127.0.01 and the other side is the IP-address of a nic in the server. The problem started after upgrading from FreeBSD 14.3 to FreeBSD 15.0. Here is a short tcpdump of lo0, when the ACK loop occurs: 13:42:22.955718 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 2107191172 , win 159, options [nop,nop,TS val 948053530 ecr 2180641192], length 0 13:42:22.955721 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159 , options [nop,nop,TS val 2185300844 ecr 943393879], length 0 13:42:22.955722 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159 , options [nop,nop,TS val 948053531 ecr 2180641192], length 0 13:42:22.955724 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159 , options [nop,nop,TS val 2185300844 ecr 943393879], length 0 13:42:22.955726 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159 , options [nop,nop,TS val 948053531 ecr 2180641192], length 0 13:42:22.955727 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159 , options [nop,nop,TS val 2185300844 ecr 943393879], length 0 13:42:22.955729 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159 , options [nop,nop,TS val 948053531 ecr 2180641192], length 0 13:42:22.955730 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159 , options [nop,nop,TS val 2185300844 ecr 943393879], length 0 13:42:22.955732 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159 , options [nop,nop,TS val 948053531 ecr 2180641192], length 0 13:42:22.955733 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159 , options [nop,nop,TS val 2185300844 ecr 943393879], length 0 13:42:22.955734 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159 , options [nop,nop,TS val 948053531 ecr 2180641192], length 0 13:42:22.955736 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159 , options [nop,nop,TS val 2185300844 ecr 943393879], length 0 13:42:22.955738 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159, options [nop,nop,TS val 948053531 ecr 2180641192], length 0 13:42:22.955739 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159, options [nop,nop,TS val 2185300844 ecr 943393879], length 0 13:42:22.955741 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159, options [nop,nop,TS val 948053531 ecr 2180641192], length 0 13:42:22.955742 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159, options [nop,nop,TS val 2185300844 ecr 943393879], length 0 13:42:22.955746 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159, options [nop,nop,TS val 948053531 ecr 2180641192], length 0 13:42:22.955748 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159, options [nop,nop,TS val 2185300845 ecr 943393879], length 0 13:42:22.955750 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159, options [nop,nop,TS val 948053532 ecr 2180641192], length 0 13:42:22.955752 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159, options [nop,nop,TS val 2185300845 ecr 943393879], length 0 13:42:22.955753 IP 127.0.0.1.43778 > 127.0.0.1.11553: Flags [.E], ack 1, win 159, options [nop,nop,TS val 948053532 ecr 2180641192], length 0 13:42:22.955755 IP 127.0.0.1.11553 > 127.0.0.1.43778: Flags [.E], ack 0, win 159, options [nop,nop,TS val 2185300845 ecr 943393879], length 0 -- You are receiving this mail because: You are the assignee for the bug.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-292293-227>
