]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - config/dhcpc/dhcpcd-hooks/10-mtu
Merge branch 'next'
[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
f938083f 13 syslog info "Warning! Carrier loss after MTU set. Reinit needed..."
552fb4b8
AF
14 ip link set "$interface" down
15 ip link set "$interface" up
f938083f 16 exit 1
552fb4b8
AF
17 fi
18}
f938083f 19
552fb4b8
AF
20if [ -n "$new_interface_mtu" ] && $if_up; then
21 if [ $RED_DHCP_FORCE_MTU -ge 576 ]; then
22 new_interface_mtu=$RED_DHCP_FORCE_MTU
23 fi
24 if [ ! "$new_interface_mtu" == "$ifmtu" ]; then
25 # The smalled MTU dhcpcd can work with is 576
26 if [ "$new_interface_mtu" -gt 576 ]; then
27 if set_mtu "$new_interface_mtu"; then
28 syslog info "MTU set to $new_interface_mtu"
29 fi
30 fi
31 fi
32fi
33