diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java index d7bb763d54e..8ff265e9b54 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java @@ -273,12 +273,12 @@ public class BridgeVifDriver extends VifDriverBase { @Override public void attach(LibvirtVMDef.InterfaceDef iface) { - Script.runSimpleBashScript("brctl addif " + iface.getBrName() + " " + iface.getDevName()); + Script.runSimpleBashScript("ip link set " + iface.getDevName() + " master " + iface.getBrName()); } @Override public void detach(LibvirtVMDef.InterfaceDef iface) { - Script.runSimpleBashScript("test -d /sys/class/net/" + iface.getBrName() + "/brif/" + iface.getDevName() + " && brctl delif " + iface.getBrName() + " " + iface.getDevName()); + Script.runSimpleBashScript("test -d /sys/class/net/" + iface.getBrName() + "/brif/" + iface.getDevName() + " && ip link set " + iface.getDevName() + " nomaster"); } private String generateVnetBrName(String pifName, String vnetId) { diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java index 857a360616c..5f7066a7a40 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java @@ -282,7 +282,7 @@ public class IvsVifDriver extends VifDriverBase { public void createControlNetwork(String privBrName) { deleteExitingLinkLocalRouteTable(privBrName); if (!isBridgeExists(privBrName)) { - Script.runSimpleBashScript("brctl addbr " + privBrName + "; ip link set " + privBrName + " up"); + Script.runSimpleBashScript("ip link add " + privBrName + " type bridge; ip link set " + privBrName + " up"); Script.runSimpleBashScript("ip address add " + NetUtils.getLinkLocalAddressFromCIDR(_controlCidr) + " dev " + privBrName, _timeout); } } diff --git a/scripts/vm/network/vnet/modifyvlan.sh b/scripts/vm/network/vnet/modifyvlan.sh index affa7780a9f..8ee2e392be8 100755 --- a/scripts/vm/network/vnet/modifyvlan.sh +++ b/scripts/vm/network/vnet/modifyvlan.sh @@ -52,7 +52,8 @@ addVlan() { if [ ! -d /sys/class/net/$vlanBr ] then - brctl addbr $vlanBr > /dev/null + ip link add name $vlanBr type bridge + ip link set $vlanBr up if [ $? -gt 0 ] then @@ -62,15 +63,13 @@ addVlan() { return 2 fi fi - - brctl setfd $vlanBr 0 fi #pif is eslaved into vlanBr? ls /sys/class/net/$vlanBr/brif/ |grep -w "$vlanDev" > /dev/null if [ $? -gt 0 ] then - brctl addif $vlanBr $vlanDev > /dev/null + ip link set $vlanDev master $vlanBr if [ $? -gt 0 ] then ls /sys/class/net/$vlanBr/brif/ |grep -w "$vlanDev" > /dev/null @@ -108,7 +107,7 @@ deleteVlan() { return 1 fi - brctl delbr $vlanBr + ip link delete $vlanBr type bridge if [ $? -gt 0 ] then