Package: ifupdown
Version: 0.7.44
* Description
When configuring a network with bonding+vlan and setting the MTU,
occasionally the MTU doesn't get set properly on the vlan interface.
In addition if one checks /var/log/upstart/networking.log whenever there
is a failure the following message is printed:
SIOCSIFMTU: Numerical result out of range
I've tested the latest ifupdown package (0.7.44) and the problem still
exists.
Multi/single CPU settings both exhibit the issue.
* Test Case
# Create a p/q/r/s server vm with two network interfaces
# This is reproducible on real hardware as well
# Install the following
sudo apt-get install vlan ifenslave-2.6 bridge-utils
sudo modprobe bonding 8021q
# Edit the interfaces file
/etc/networking/interfaces:
auto bond0
iface bond0 inet manual
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate 1
bond-slaves eth0 eth1
post-up ifconfig bond0 mtu 9000
auto eth0
iface eth0 inet manual
bond-master bond0
post-up ifconfig eth0 mtu 9000
auto eth1
iface eth1 inet manual
bond-master bond0
post-up ifconfig eth1 mtu 9000
auto bond0.123
iface bond0.123 inet static
address 192.168.122.68
netmask 255.255.255.0
gateway 192.168.122.1
post-up ifconfig bond0.123 mtu 9000
# edit rc.local (or another startup script) so we reboot until we hit
the error
/etc/rc.local:
DEVS="eth0 eth1 bond0 bond0.123"
for d in $DEVS; do
mtu=$(cat /sys/class/net/$d/mtu)
if [ $mtu != 9000 ]; then
echo "FAIL"
exit 1
fi
done
reboot
exit 0
# Now reboot the machine, within 10m or so you should be at the login prompt
# if you ifconfig | grep MTU you will see some of our interfaces did not get
# the MTU properly set and the test failed.
# Essentially we want to ensure that all MTU's (except lo) were set to 9000
* Workaround
Change the bond0.123 post-up command to:
post-up sleep 2 && ifconfig bond0.123 mtu 9000
Now when rebooting the interfaces will all be brought up with the proper
MTU.
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]