]>
Commit | Line | Data |
---|---|---|
552fb4b8 AF |
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 | |
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 |
20 | if [ -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 | |
32 | fi | |
33 |