]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - config/dhcpc/dhcpcd-hooks/10-mtu
49e05192ba1c6dbea9deea7b901790511bd4f23e
[people/pmueller/ipfire-2.x.git] / config / dhcpc / dhcpcd-hooks / 10-mtu
1 # Configure the MTU for the interface
2
3 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
4
5 set_mtu()
6 {
7 local mtu=$1
8 ip link set "$interface" mtu "$mtu"
9
10 # test for buggy nic that lose link at mtu set...
11 carrier=`cat /sys/class/net/$interface/carrier`
12 if [ "$carrier" == "0" ]; then
13 syslog info "Warning! Carrier loss after MTU set. Reinit ..."
14 ip link set "$interface" down
15 ip link set "$interface" up
16 fi
17 }
18 if [ -n "$new_interface_mtu" ] && $if_up; then
19 if [ $RED_DHCP_FORCE_MTU -ge 576 ]; then
20 new_interface_mtu=$RED_DHCP_FORCE_MTU
21 fi
22 if [ ! "$new_interface_mtu" == "$ifmtu" ]; then
23 # The smalled MTU dhcpcd can work with is 576
24 if [ "$new_interface_mtu" -gt 576 ]; then
25 if set_mtu "$new_interface_mtu"; then
26 syslog info "MTU set to $new_interface_mtu"
27 fi
28 fi
29 fi
30 fi
31