From 7c36757d35a975ac985c043a6b848b7325586861 Mon Sep 17 00:00:00 2001 From: Andreas Wrede Date: Mon, 13 Jul 2026 13:13:08 -0400 Subject: [PATCH] sysctl: correct the use_tempaddr comment with the real root cause MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The rotating privacy address was not itself the packet-loss mechanism: the 2026-07-13 discrimination experiment (4 flows, dual-ended capture) showed the loss keyed to hbc's exact 5-tuple — upstream per-flow state poisoned when the flow was created during boot/apply address churn, kept alive forever by the 10s heartbeat cadence. Fresh flows to the same host/port were clean; restarting hbc fixed it instantly. use_tempaddr=0 stays: it removes one source of the churn that poisons newborn flows. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01NuPg8vz6FmDUj4SgEJ525C --- ap/99-van-router.conf | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ap/99-van-router.conf b/ap/99-van-router.conf index 5737226..8d1cbf3 100644 --- a/ap/99-van-router.conf +++ b/ap/99-van-router.conf @@ -1,12 +1,11 @@ net.ipv4.ip_forward=1 # Ubuntu ships /usr/lib/sysctl.d/55-ipv6-privacy.conf with use_tempaddr=2 -# (prefer rotating privacy addresses) system-wide. That default fought the -# WAN uplinks' need for one stable IPv6 source address per interface (hbc, -# DNS, van-failover all key off it) — a long-lived flow using a source -# address that later got deprecated mid-flight looked like random upstream -# packet loss and cost a day of packet-capture debugging (2026-07-12/13) -# before the cause turned out to be this file loading before ours. 99- beats -# 55- lexically so this wins the second `sysctl --system` re-reads it. +# (prefer rotating privacy addresses) system-wide. The WAN uplinks need one +# stable IPv6 source per interface: address churn at boot (this default plus +# the dracut networkd catch-all deploy.sh masks) poisoned upstream per-flow +# state for long-lived UDP flows created mid-churn — see the 2026-07-12/13 +# "wan IPv6 overdue" investigation. 99- beats 55- lexically so this wins +# when `sysctl --system` runs. net.ipv6.conf.all.use_tempaddr=0 net.ipv6.conf.default.use_tempaddr=0