DSCP marks the peers the local network owns #404

Merged
enricobuehler merged 2 commits from worktree-abr-dscp-default into main 2026-08-26 18:44:43 +00:00
2 Commits
Author SHA1 Message Date
enricobuehler 1a604cbf3e Merge remote-tracking branch 'origin/main' into worktree-abr-dscp-default
ci / rust-arm64 (pull_request) Successful in 3m24s
ci / web (pull_request) Successful in 2m0s
ci / docs-site (pull_request) Successful in 1m18s
ci / bun-nix (pull_request) Successful in 21s
ci / docs-drift (pull_request) Successful in 30s
windows-client / client (x64, , x86_64-pc-windows-msvc, C:\t) (pull_request) Successful in 6m18s
ci / rust (pull_request) Successful in 7m2s
android / android (pull_request) Successful in 6m30s
windows-client / client (arm64, --no-default-features, aarch64-pc-windows-msvc, C:\t-a64) (pull_request) Successful in 2m57s
apple / swift (pull_request) Successful in 2m9s
apple / distribute (pull_request) Skipped
apple / screenshots (pull_request) Skipped
# Conflicts:
#	docs-site/content/docs/configuration.md
2026-08-26 20:16:31 +02:00
enricobuehler 2a951a6bb5 DSCP marks the peers the local network owns (ABR overhaul Phase 1, §2.5)
apple / swift (pull_request) Successful in 2m7s
apple / distribute (pull_request) Skipped
apple / screenshots (pull_request) Skipped
ci / rust-arm64 (pull_request) Successful in 2m19s
ci / web (pull_request) Successful in 2m1s
ci / docs-site (pull_request) Successful in 2m4s
ci / docs-drift (pull_request) Successful in 38s
ci / bun-nix (pull_request) Successful in 1m13s
android / android (pull_request) Successful in 6m37s
ci / rust (pull_request) Successful in 7m40s
windows-client / client (arm64, --no-default-features, aarch64-pc-windows-msvc, C:\t-a64) (pull_request) Successful in 2m53s
windows-client / client (x64, , x86_64-pc-windows-msvc, C:\t) (pull_request) Successful in 6m13s
The marking was opt-in because some consumer ISPs/routers bleach or
reject DSCP-tagged packets — but that risk lives on WAN paths, and the
win (APs map DSCP to WMM airtime priority — real for exactly the Wi-Fi
downlink field case) lives on local ones. The default becomes AUTO:
mark toward RFC1918 / ULA / link-local / loopback peers, stay off
toward anything routable.

PUNKTFUNK_DSCP=1 still forces it on everywhere, =0 stays the kill
switch, and the embedder hook (the Android low-latency tie-in) still
forces on regardless of the peer — for paths like VPNs the address
math can't recognize as local. Decision + classifier are pure and
unit-tested; the connected-loopback test covers the AUTO path end to
end. Windows qWAVE mechanics unchanged.
2026-08-26 19:16:31 +02:00