From 29d0a5b923e4ee5b4b36003c38293977750f4e79 Mon Sep 17 00:00:00 2001 From: ergosteur <1992147+ergosteur@users.noreply.github.com> Date: Thu, 6 Aug 2026 16:36:45 +0000 Subject: [PATCH] Retire tailscale-optimize-router.sh to unused/ Tailscale's UDP GRO forwarding tuning applies to the machine running tailscaled. That is VM 100 (ts-subnet-rtr), a KVM guest with its own kernel and netdevs, so ethtool on the Proxmox host cannot affect its forwarding path. Host-side tuning would only have been the right lever for a tailscaled running in an LXC container, which shares the host kernel. The interfaces were wrong in any case. VM 100 is on vmbr7, backed by enp4s0f7np7. vmbr0 is backed by enp4s0f0np0 and carries unrelated guests, and enp4s1f12np12 is the host's own routing NIC and not a bridge port at all. It never ran: the header says to run it from root's crontab, and root has no crontab. Both offloads were still off on every interface it named. Kept with a header recording where the tuning actually belongs. Co-Authored-By: Claude Opus 5 --- tailscale-optimize-router.sh | 4 ---- unused/tailscale-optimize-router.sh | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) delete mode 100755 tailscale-optimize-router.sh create mode 100755 unused/tailscale-optimize-router.sh diff --git a/tailscale-optimize-router.sh b/tailscale-optimize-router.sh deleted file mode 100755 index 7a17681..0000000 --- a/tailscale-optimize-router.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# run from root's crontab -/usr/sbin/ethtool -K vmbr0 rx-udp-gro-forwarding on rx-gro-list off -/usr/sbin/ethtool -K enp4s1f12np12 rx-udp-gro-forwarding on rx-gro-list off diff --git a/unused/tailscale-optimize-router.sh b/unused/tailscale-optimize-router.sh new file mode 100755 index 0000000..1e77fd1 --- /dev/null +++ b/unused/tailscale-optimize-router.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# RETIRED. Kept for reference only. +# +# Tailscale's UDP GRO forwarding tuning belongs on the machine running +# tailscaled. Here that is VM 100 (ts-subnet-rtr), a KVM guest with its own +# kernel and its own netdevs, so setting it on the Proxmox host cannot affect +# it. Apply it inside that VM instead, on its default-route interface: +# +# NETDEV=$(ip -o route get 8.8.8.8 | cut -f 5 -d " ") +# ethtool -K "$NETDEV" rx-udp-gro-forwarding on rx-gro-list off +# +# Host-side tuning would have been the right lever only if tailscaled ran in an +# LXC container, which shares the host kernel. +# +# The interfaces below were wrong regardless. VM 100 sits on vmbr7, backed by +# enp4s0f7np7; vmbr0 is backed by enp4s0f0np0 and carries different guests, +# and enp4s1f12np12 is the host's own routing NIC, not a bridge port. +# +# It was also never in service: the header said "run from root's crontab", but +# root has no crontab. + +# run from root's crontab +/usr/sbin/ethtool -K vmbr0 rx-udp-gro-forwarding on rx-gro-list off +/usr/sbin/ethtool -K enp4s1f12np12 rx-udp-gro-forwarding on rx-gro-list off