private static VirtualDeviceConfigSpec GetEthernetAdapter(ref int key, VmNet nic, string dvsuuid) { VirtualDeviceConfigSpec devicespec = new VirtualDeviceConfigSpec(); VirtualEthernetCard eth = new VirtualE1000(); if (nic.Type == "pcnet32") { eth = new VirtualPCNet32(); } if (nic.Type == "vmx3") { eth = new VirtualVmxnet3(); } if (nic.Type == "e1000e") { eth = new VirtualE1000e(); } eth.key = key--; if (nic.Mac.HasValue()) { eth.addressType = "Manual"; eth.macAddress = nic.Mac; } if (nic.Net.StartsWith("nsx.")) { eth.backing = new VirtualEthernetCardOpaqueNetworkBackingInfo { opaqueNetworkId = nic.Key.Tag(), opaqueNetworkType = nic.Key.Untagged() }; } else if (dvsuuid.HasValue()) { eth.backing = new VirtualEthernetCardDistributedVirtualPortBackingInfo { port = new DistributedVirtualSwitchPortConnection { switchUuid = dvsuuid, portgroupKey = nic.Key.AsReference().Value } }; } else { eth.backing = new VirtualEthernetCardNetworkBackingInfo { deviceName = nic.Key }; } devicespec = new VirtualDeviceConfigSpec(); devicespec.device = eth; devicespec.operation = VirtualDeviceConfigSpecOperation.add; devicespec.operationSpecified = true; return(devicespec); }
private static VirtualDeviceConfigSpec GetEthernetAdapter(ref int key, VmNet nic, string dvsuuid) { VirtualDeviceConfigSpec devicespec = new VirtualDeviceConfigSpec(); VirtualEthernetCard eth = new VirtualE1000(); if (nic.Type == "pcnet32") { eth = new VirtualPCNet32(); } if (nic.Type == "vmx3") { eth = new VirtualVmxnet3(); } if (nic.Type == "e1000e") { eth = new VirtualE1000e(); } // VirtualEthernetCardNetworkBackingInfo ethbacking = new VirtualEthernetCardNetworkBackingInfo(); // ethbacking.deviceName = nic.Net; eth.key = key--; if (dvsuuid.HasValue()) { eth.backing = new VirtualEthernetCardDistributedVirtualPortBackingInfo { port = new DistributedVirtualSwitchPortConnection { switchUuid = dvsuuid, portgroupKey = nic.Net } } } ; else { eth.backing = new VirtualEthernetCardNetworkBackingInfo { deviceName = nic.Net } }; devicespec = new VirtualDeviceConfigSpec(); devicespec.device = eth; devicespec.operation = VirtualDeviceConfigSpecOperation.add; devicespec.operationSpecified = true; return(devicespec); }