コード例 #1
0
ファイル: VimTransform.cs プロジェクト: cmu-sei/TopoMojo.Api
        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);
        }
コード例 #2
0
        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);
        }