mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-05-03 18:41:29 +02:00
some nic's loose the carrier after setting new mtu. Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
32 lines
812 B
Plaintext
32 lines
812 B
Plaintext
# Configure the MTU for the interface
|
|
|
|
eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
|
|
|
|
set_mtu()
|
|
{
|
|
local mtu=$1
|
|
ip link set "$interface" mtu "$mtu"
|
|
|
|
# test for buggy nic that lose link at mtu set...
|
|
carrier=`cat /sys/class/net/$interface/carrier`
|
|
if [ "$carrier" == "0" ]; then
|
|
syslog info "Warning! Carrier loss after MTU set. Reinit ..."
|
|
ip link set "$interface" down
|
|
ip link set "$interface" up
|
|
fi
|
|
}
|
|
if [ -n "$new_interface_mtu" ] && $if_up; then
|
|
if [ $RED_DHCP_FORCE_MTU -ge 576 ]; then
|
|
new_interface_mtu=$RED_DHCP_FORCE_MTU
|
|
fi
|
|
if [ ! "$new_interface_mtu" == "$ifmtu" ]; then
|
|
# The smalled MTU dhcpcd can work with is 576
|
|
if [ "$new_interface_mtu" -gt 576 ]; then
|
|
if set_mtu "$new_interface_mtu"; then
|
|
syslog info "MTU set to $new_interface_mtu"
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|