remove interface name code

This commit is contained in:
2026-04-09 16:47:46 +02:00
parent e25c230427
commit 0e636ee5f3
+8 -27
View File
@@ -2054,39 +2054,20 @@ running inside \texttt{tailscaled} itself (Tailscale SSH,
Taildrop, the metric endpoint). External processes such as Taildrop, the metric endpoint). External processes such as
iPerf3 cannot reach the Tailscale network in that mode. iPerf3 cannot reach the Tailscale network in that mode.
The test rig does not use that mode. The test rig does not use that mode. As shown in
Listing~\ref{lst:nixos_tailscale} shows the relevant line of Listing~\ref{lst:rig_interface_name}, the benchmark
the upstream NixOS \texttt{services.tailscale} module, which suite's Headscale module sets the interface name to
assembles the daemon command line as \texttt{ts-\$\{instanceName\}}, resolving to
\texttt{tailscaled --tun \texttt{tailscaled --tun ts-headscale}: a real kernel
\$\{cfg.interfaceName\}~\dots}, with TUN. gVisor netstack is therefore unreachable from
no \texttt{userspace-networking} fall-back unless external benchmark traffic.
the operator
explicitly sets \texttt{interfaceName =
"userspace-networking"}.
Listing~\ref{lst:rig_interface_name} shows what
the benchmark
suite's Headscale module sets the interface name to:
\texttt{ts-\$\{instanceName\}}, truncated to fifteen
characters. The two together resolve to
\texttt{tailscaled --tun ts-headscale} on every
test machine,
a real kernel TUN. gVisor netstack is unreachable from any
external benchmark traffic in this rig.
\lstinputlisting[language=Nix,caption={The NixOS
\texttt{services.tailscale} module passes \texttt{--tun
\$\{interfaceName\}} as the daemon's TUN argument. There is
no \texttt{--tun=userspace-networking} fall-back unless the
user explicitly sets \texttt{interfaceName = "userspace-networking"}.
\textit{nixpkgs/nixos/modules/services/networking/tailscale.nix:158}},label={lst:nixos_tailscale}]{Listings/nixos_tailscale.nix}
\lstinputlisting[language=Nix,caption={The \lstinputlisting[language=Nix,caption={The
benchmark suite's benchmark suite's
Headscale module sets \texttt{interfaceName} to a real kernel Headscale module sets \texttt{interfaceName} to a real kernel
TUN name (\texttt{ts-<instance>}, truncated to 15 characters). TUN name (\texttt{ts-<instance>}, truncated to 15 characters).
Combined with Listing~\ref{lst:nixos_tailscale}, this means This means \texttt{tailscaled} runs as \texttt{tailscaled --tun ts-headscale}
\texttt{tailscaled} runs as \texttt{tailscaled --tun ts-headscale}
on every test machine. on every test machine.
\textit{vpn-benchmark-suite/clanModules/headscale/shared.nix:19,273--277}},label={lst:rig_interface_name}]{Listings/rig_interface_name.nix} \textit{vpn-benchmark-suite/clanModules/headscale/shared.nix:19,273--277}},label={lst:rig_interface_name}]{Listings/rig_interface_name.nix}