diff --git a/tools/kvm-ifup.in b/tools/kvm-ifup.in index 2e8e0c23c10e2366a0c9586f978ab33f4b35bac8..a5e8c1b854c09dcb72f32c81b7cc6b44635a9ac1 100644 --- a/tools/kvm-ifup.in +++ b/tools/kvm-ifup.in @@ -33,14 +33,20 @@ if [ -x "@SYSCONFDIR@/ganeti/kvm-vif-bridge" ]; then exec @SYSCONFDIR@/ganeti/kvm-vif-bridge fi -ip link set $INTERFACE up - if [ "$MODE" = "bridged" ]; then + # Fix the autogenerated MAC to have the first octet set to "fe" + # to discourage the bridge from using the TAP dev's MAC + FIXED_MAC=$(ip link show $INTERFACE | awk '{if ($1 == "link/ether") printf("fe%s",substr($2,3,15))}') + ip link set $INTERFACE address $FIXED_MAC + + ip link set $INTERFACE up ip link set $INTERFACE mtu $(</sys/class/net/${BRIDGE}/mtu) # Connect the interface to the bridge brctl addif $BRIDGE $INTERFACE else + ip link set $INTERFACE up + if [ -z "$IP" ]; then echo "Routed NIC but no IP address specified" exit 1