# Configure the MTU for the interface

mtu_dir="$state_dir/mtu"

if [ "$reason" = PREINIT -a -e "$mtu_dir/$interface" ]; then
	rm "$mtu_dir/$interface"
elif [ "$reason" != TEST -a -n "$new_interface_mtu" ]; then
	# The smalled MTU dhcpcd can work with is 576
	if [ "$new_interface_mtu" -ge 576 ]; then
		if ifconfig "$interface" mtu "$new_interface_mtu"; then
			syslog info "$interface: MTU set to $new_interface_mtu"
			# Save the MTU so we can restore it later
			if [ ! -e "$mtu_dir/$interface" ]; then
				mkdir -p "$mtu_dir"
				echo "$ifmtu" > "$mtu_dir/$interface"
			fi
		fi
	fi
elif [ "$reason" != TEST -a -e "$mtu_dir/$interface" ]; then
	# No MTU in this state, so restore the prior MTU
	mtu=$(cat "$mtu_dir/$interface")
	syslog info "$interface: MTU restored to $mtu"
	ifconfig "$interface" mtu "$mtu"
	rm "$mtu_dir/$interface"
fi
