I just set my machine to work as exit-node and Tailscale gives a notification:
Warning: UDP GRO forwarding is suboptimally configured on eno1, UDP forwarding throughput capability will increase with a configuration change.
See Performance best practices · Tailscale Docs
Tailscale version 1.54 or later used with a Linux 6.2 or later kernel enables UDP throughput improvements using transport layer offloads. If a Linux device is acting as an exit node or subnet router, ensure the following network device configuration is in place for the best results:…
But on Silverblue we do not have networkd-dispatcher, how can we configure this permanently?
while IFS=":" read -r UUID DEVICE
do if [ "${DEVICE}" = "eno1" ]; then break; fi
done < <(nmcli -g UUID,DEVICE connection show)
nmcli connection modify ${UUID} \
ethtool.feature-rx-udp-gro-forwarding on \
ethtool.feature-rx-gro-list off
nmcli connection up ${UUID}
You don’t need any script since NetworkManager provides native support for those settings and the above code should modify the connection that matches the interface mentioned by the OP.