+# 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
+