Skip to content

Commit

Permalink
Allow Linux optimizations (UDP GRO for forwarding) on multiple defaul…
Browse files Browse the repository at this point in the history
…t interfaces and IPv6 (#361)
  • Loading branch information
lmagyar authored May 20, 2024
1 parent a2684e5 commit 0298d5d
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions tailscale/rootfs/etc/s6-overlay/s6-rc.d/post-tailscaled/run
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Home Assistant Community Add-on: Tailscale
# Runs after the machine has been logged in into the Tailscale network
# ==============================================================================
declare default_route_device
declare interface
declare -a options
declare -a routes=()
declare route
Expand All @@ -15,12 +15,16 @@ declare keyexpiry

# Linux optimizations for subnet routers and exit nodes
# Based on: https://tailscale.com/kb/1320/performance-best-practices#linux-optimizations-for-subnet-routers-and-exit-nodes
# Note: Changes made via ethtool are not persistent and will be lost after the machine shuts down.
# Note: Changes made via ethtool are not persistent and will be lost after the machine shuts down
# Note: Executing it before "tailscale up" to avoid warning messages
default_route_device=$(ip -4 route show 0/0 | cut -f5 -d' ')
if bashio::var.has_value "${default_route_device}"; then
ethtool -K "${default_route_device}" rx-udp-gro-forwarding on rx-gro-list off
fi
for interface in $( \
{ ip -4 route show 0/0; ip -6 route show ::/0; } \
| cut -f5 -d' ' \
| sort -u)
do
bashio::log.info "Allow UDP GRO for forwarding on ${interface}"
ethtool -K "${interface}" rx-udp-gro-forwarding on rx-gro-list off
done

# Default options
options+=(--hostname "$(bashio::info.hostname)")
Expand Down

0 comments on commit 0298d5d

Please sign in to comment.