]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - config/dhcpc/dhcpcd-hooks/10-mtu
dhcpcd: rework mtu handling on buggy nic's
[people/pmueller/ipfire-2.x.git] / config / dhcpc / dhcpcd-hooks / 10-mtu
CommitLineData
552fb4b8
AF
1# Configure the MTU for the interface
2
3eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
4
5set_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}
18if [ -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
30fi
31