From 12f9d75e7b63b1121848b45da9a10a15852ed951 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Tue, 8 May 2012 13:06:10 +0200 Subject: [PATCH] Add note to the install doc about bridge MAC issues Thanks to Faidon Liambotis for explaining this on the external IRC channel. Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Faidon Liambotis <paravoid@gmail.com> Reviewed-by: Guido Trotter <ultrotter@google.com> --- doc/install.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/doc/install.rst b/doc/install.rst index d899abda4..54a76ab98 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -341,6 +341,26 @@ outside of ganeti. The vif scripts will only add /32 routes to your instances, through their interface, in the table you specified (under KVM, and in the main table under Xen). +.. admonition:: Bridging issues with certain kernels + + Some kernel versions (e.g. 2.6.32) have an issue where the bridge + will automatically change its ``MAC`` address to the lower-numbered + slave on port addition and removal. This means that, depending on + the ``MAC`` address of the actual NIC on the node and the addresses + of the instances, it could be that starting, stopping or migrating + instances will lead to timeouts due to the address of the bridge + (and thus node itself) changing. + + To prevent this, it's enough to set the bridge manually to a + specific ``MAC`` address, which will disable this automatic address + change. In Debian, this can be done as follows in the bridge + configuration snippet:: + + up ip link set addr $(cat /sys/class/net/$IFACE/address) dev $IFACE + + which will "set" the bridge address to the initial one, disallowing + changes. + .. admonition:: Bridging under Debian The recommended way to configure the Xen bridge is to edit your @@ -357,6 +377,8 @@ KVM, and in the main table under Xen). bridge_ports eth0 bridge_stp off bridge_fd 0 + # example for setting manually the bridge address to the eth0 NIC + up ip link set addr $(cat /sys/class/net/eth0/address) dev $IFACE The following commands need to be executed on the local console: -- GitLab