Skip to content

Commit c75c228

Browse files
Spaceman1984DaanHoogland
authored andcommitted
Honour promiscuous mode from networkOffering (#3765)
1 parent 07d64cb commit c75c228

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141

4242
import com.cloud.agent.api.PrepareForMigrationAnswer;
4343
import com.cloud.agent.api.to.DpdkTO;
44+
import com.cloud.offering.NetworkOffering;
45+
import com.cloud.offerings.dao.NetworkOfferingDetailsDao;
4446
import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
4547
import org.apache.cloudstack.api.command.admin.vm.MigrateVMCmd;
4648
import org.apache.cloudstack.api.command.admin.volume.MigrateVolumeCmdByAdmin;
@@ -320,6 +322,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
320322
private AsyncJobManager _jobMgr;
321323
@Inject
322324
private StorageManager storageMgr;
325+
@Inject
326+
private NetworkOfferingDetailsDao networkOfferingDetailsDao;
323327

324328
VmWorkJobHandlerProxy _jobHandlerProxy = new VmWorkJobHandlerProxy(this);
325329

@@ -3475,6 +3479,16 @@ private NicProfile orchestrateAddVmToNetwork(final VirtualMachine vm, final Netw
34753479
//3) Convert nicProfile to NicTO
34763480
final NicTO nicTO = toNicTO(nic, vmProfile.getVirtualMachine().getHypervisorType());
34773481

3482+
if (network != null) {
3483+
final Map<NetworkOffering.Detail, String> details = networkOfferingDetailsDao.getNtwkOffDetails(network.getNetworkOfferingId());
3484+
if (details != null) {
3485+
details.putIfAbsent(NetworkOffering.Detail.PromiscuousMode, NetworkOrchestrationService.PromiscuousMode.value().toString());
3486+
details.putIfAbsent(NetworkOffering.Detail.MacAddressChanges, NetworkOrchestrationService.MacAddressChanges.value().toString());
3487+
details.putIfAbsent(NetworkOffering.Detail.ForgedTransmits, NetworkOrchestrationService.ForgedTransmits.value().toString());
3488+
}
3489+
nicTO.setDetails(details);
3490+
}
3491+
34783492
//4) plug the nic to the vm
34793493
s_logger.debug("Plugging nic for vm " + vm + " in network " + network);
34803494

0 commit comments

Comments
 (0)