HEX
Server: Apache
System: Linux pdx1-shared-a1-11 6.6.116-grsec-jammy-dirty #1 SMP Sat Nov 8 00:02:42 UTC 2025 x86_64
User: mollywopper (10344313)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //etc/network/if-up.d/ethtool

#!/bin/sh ETHTOOL=/sbin/ethtool test -x $ETHTOOL || exit 0 [ "$IFACE" != "lo" ] || exit 0 # Find settings with a given prefix and print them as they appeared in # /etc/network/interfaces, only with the prefix removed. # This actually prints each name and value on a separate line, but that # doesn't matter to the shell. gather_settings () { set | sed -n " /^IF_$1[A-Za-z0-9_]*=/ { h; # hold line s/^IF_$1//; s/=.*//; s/_/-/g; # get name without prefix y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/; # lower-case p; g; # restore line s/^[^=]*=//; s/^'\(.*\)'/\1/; # get value p; }" } # Gather together the mixed bag of settings applied with -s/--change SETTINGS="\ ${IF_LINK_SPEED:+ speed $IF_LINK_SPEED}\ ${IF_LINK_DUPLEX:+ duplex $IF_LINK_DUPLEX}\ " # WOL has an optional pass-key set -- $IF_ETHERNET_WOL SETTINGS="$SETTINGS${1:+ wol $1}${2:+ sopass $2}" # Autonegotiation can be on|off or an advertising mask case "$IF_ETHERNET_AUTONEG" in '') ;; on|off) SETTINGS="$SETTINGS autoneg $IF_ETHERNET_AUTONEG" ;; *) SETTINGS="$SETTINGS autoneg on advertise $IF_ETHERNET_AUTONEG" ;; esac [ -z "$SETTINGS" ] || $ETHTOOL --change "$IFACE" $SETTINGS SETTINGS="$(gather_settings ETHERNET_PAUSE_)" [ -z "$SETTINGS" ] || $ETHTOOL --pause "$IFACE" $SETTINGS SETTINGS="$(gather_settings HARDWARE_IRQ_COALESCE_)" [ -z "$SETTINGS" ] || $ETHTOOL --coalesce "$IFACE" $SETTINGS SETTINGS="$(gather_settings HARDWARE_DMA_RING_)" [ -z "$SETTINGS" ] || $ETHTOOL --set-ring "$IFACE" $SETTINGS SETTINGS="$(gather_settings OFFLOAD_)" [ -z "$SETTINGS" ] || $ETHTOOL --offload "$IFACE" $SETTINGS