Hi,
I just got some hint, to forward my original mail to this list too.
Cheers,
----- Forwarded message from PÁSZTOR György <pasztor@xxxxxxxxxxxxxxxxxxxxxxx>
-----
Hi,
I had to use bridge interfaces with mtu other than 9000, so I started to
google for a solution. Then I found this thread:
http://web.archiveorange.com/archive/v/ZvO4j2ymSAvyo8GNrwhY
But, It didn't work, as the original author says.
I tried to find an easier way, to setup this, so as I found out: If you
configure a vif's mtu, the logical solution is to use the same mtu as the
bridge interface -> So I wrote a smaller, nicer, and... a working patch.
The "trick" is that, I don't use the xen's bridge creation scripts, I
preconfigure my bridge interfaces from my Debian configuration, far before
the xen things would start.
bridge entry from my /etc/network/interfaces:
auto br201
iface br201 inet static
address 10.0.3.5
netmask 255.255.0.0
network 10.0.0.0
broadcast 10.0.255.255
mtu 9000
bridge_ports bond0.201
bridge_fd 0
bridge_maxwait 0
This iface config pre-creates the vlan if on my bonding if, creates the
bridge, add the bond.vlan into my bridge interface, and every mtu is OK,
until xen starts...
Then, with my patched xen scripts,... work again, still, whatever you want:
It's just work! ;-)
Use it wise, and for your own risk!
The patch:
diff -urN /etc/xen/scripts.orig/vif-bridge /etc/xen/scripts/vif-bridge
--- /etc/xen/scripts.orig/vif-bridge 2011-04-14 15:24:51.000000000 +0200
+++ /etc/xen/scripts/vif-bridge 2011-10-12 18:13:13.873102049 +0200
@@ -82,6 +82,7 @@
case "$command" in
online)
setup_bridge_port "$vif"
+ set_vif_mtu "$vif" "$(get_if_mtu $bridge)"
add_to_bridge "$bridge" "$vif"
;;
diff -urN /etc/xen/scripts.orig/xen-network-common.sh
/etc/xen/scripts/xen-network-common.sh
--- /etc/xen/scripts.orig/xen-network-common.sh 2010-06-21 15:46:02.000000000
+0200
+++ /etc/xen/scripts/xen-network-common.sh 2011-10-12 18:07:00.456909410
+0200
@@ -116,3 +116,19 @@
ip link set ${dev} up
}
+get_if_mtu () {
+ local dev=$1
+ local line
+ ip link show $dev | \
+ ( read line
+ line="${line##*mtu }"
+ line="${line%% *}"
+ echo $line
+ cat >/dev/null )
+}
+
+set_vif_mtu () {
+ local vif=$1
+ local mtu=$2
+ ip link set "$vif" mtu "$mtu"
+}
Cheers!
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
----- End forwarded message -----
xen-bridge-fix-mtu.patch.gz
Description: Binary data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|