Managed Object - DistributedVirtualSwitch

Property of
DistributedVirtualSwitchInfo, DistributedVirtualSwitchManagerDvsProductSpec, DistributedVirtualSwitchManagerHostDvsMembershipFilter, DistributedVirtualSwitchManagerImportResult, DVPortgroupConfigInfo, DvsEventArgument
Parameter to
MergeDvs_Task, QueryCompatibleHostForExistingDvs, QueryDvsConfigTarget
Returned by
CreateDVS_Task, QueryDvsByUuid
Extended by
VmwareDistributedVirtualSwitch
Extends
ManagedEntity
See also
DistributedVirtualPort, DistributedVirtualPortgroup, DistributedVirtualSwitchPortCriteria, DistributedVirtualSwitchProductSpec, DVPortConfigSpec, DVPortgroupConfigSpec, DVSCapability, DVSConfigInfo, DVSConfigSpec, DVSHealthCheckConfig, DVSNetworkResourcePool, DVSNetworkResourcePoolConfigSpec, DVSRuntimeInfo, DVSSummary, EntityBackupConfig, HostSystem
Since
vSphere API 4.0


Managed Object Description

A DistributedVirtualSwitch managed object is a virtual network switch that is located on a vCenter Server. A distributed virtual switch manages configuration for proxy switches (HostProxySwitch). A proxy switch is located on an ESXi host that is managed by the vCenter Server and is a member of the switch. A distributed switch also provides virtual port state management so that port state is maintained when vCenter Server operations move a virtual machine from one host to another.

A proxy switch performs network I/O to support the following network traffic and operations:

A DistributedVirtualSwitch is the base distributed switch implementation. It supports a VMware distributed virtual switch implementation and it supports third party distributed switch implementations. The base implementation provides the following capabilities (DVSFeatureCapability):

A VmwareDistributedVirtualSwitch supports the following additional capabilities (DVSFeatureCapability and VMwareDVSFeatureCapability):

Distributed Virtual Switch Configuration

To use a distributed virtual switch, you create a switch and portgroups on a vCenter Server, and add hosts as members of the switch.

  1. Create a distributed virtual switch (Folder.CreateDVS_Task). Use a DVSConfigSpec to create a switch for a third-party implementation. Use a VMwareDVSConfigSpec to create a VMware distributed virtual switch.

  2. Create portgroups (CreateDVPortgroup_Task) for host and virtual machine network connections and for the connection between proxy switches and physical NICs. A DistributedVirtualPortgroup specifies how virtual ports (DistributedVirtualPort) will be used. When you create a distributed virtual switch, the vCenter Server automatically creates one uplink portgroup (config.uplinkPortgroup). Uplink portgroups are distributed virtual portgroups that support the connection between proxy switches and physical NICs.

    Port creation on a distributed switch is determined by the portgroup type (DVPortgroupConfigSpec.type):

    You can also specify standalone ports that are not associated with a port group and uplink ports that are created on ESXi hosts (DVSConfigSpec.numStandalonePorts).

    The DVPortgroupConfigInfo.numPorts property is the total number of ports for a distributed virtual switch. This total includes the ports generated by the static and dynamic portgroups and the standalone ports.


  3. If you have created additional uplink portgroups, use the ReconfigureDvs_Task method to add the portgroup(s) to the DVSConfigSpec.uplinkPortgroup array.

  4. Retrieve physical NIC device names from the host (HostSystem.config.network.pnic[].device).

  5. Add host member(s) to the distributed virtual switch. To configure host members:

    When you add a host to a distributed virtual switch (DistributedVirtualSwitch.config.host), the host automatically creates a proxy switch. The proxy switch is removed automatically when the host is removed from the distributed virtual switch.


  6. Connect hosts and virtual machines to the distributed virtual switch.

    Host connection Specify port or portgroup connections in the host virtual NIC spec (HostVirtualNicSpec.distributedVirtualPort or HostVirtualNicSpec.portgroup).
    Virtual machine connection Specify port or portgroup connections in the distributed virtual port backing (VirtualEthernetCardDistributedVirtualPortBackingInfo) for the virtual Ethernet cards on the virtual machine (VirtualEthernetCard.backing).

Backup, Rollback, and Query Operations

If you are using a VmwareDistributedVirtualSwitch, you can perform backup and rollback operations on the switch and its associated distributed virtual portgroups.

When you reconfigure a VMware distributed virtual switch (ReconfigureDvs_Task), the Server saves the current switch configuration before applying the configuration updates. The saved switch configuration includes portgroup configuration data. The Server uses the saved switch configuration as a checkpoint for rollback operations. You can rollback the switch or portgroup configuration to the saved configuration, or you can rollback to a backup configuration (EntityBackupConfig).

To perform query operations on a distributed virtual switch, use the DistributedVirtualSwitchManager methods.

Properties

Name Type Description
capabilityDVSCapability

Capability of the switch. Capabilities are indicated at the port, portgroup and switch levels, and for version-specific features. When you retrieve this property from an ESXi host, capability.dvsOperationSupported should always be set to false.
configDVSConfigInfo

Switch configuration data.
networkResourcePool*DVSNetworkResourcePool[]

Network resource pool information for the switch.

Since vSphere API 4.1
portgroup*ManagedObjectReference[]
to a DistributedVirtualPortgroup[]

Portgroups that are defined on the switch.
runtime*DVSRuntimeInfo

Runtime information of the distributed virtual switch.

Since vSphere API 5.1
summaryDVSSummary

Summary of the switch.
uuidxsd:string

Generated UUID of the switch. Unique across vCenter Server inventory and instances.
Properties inherited from ManagedEntity
alarmActionsEnabled, configIssue, configStatus, customValue, declaredAlarmState, disabledMethod, effectiveRole, name, overallStatus, parent, permission, recentTask, tag, triggeredAlarmState
Properties inherited from ExtensibleManagedObject
availableField, value
*May not be present

Methods

Methods defined in this Managed Object
AddDVPortgroup_Task, AddNetworkResourcePool, CreateDVPortgroup_Task, DVSRollback_Task, EnableNetworkResourceManagement, FetchDVPortKeys, FetchDVPorts, LookupDvPortGroup, MergeDvs_Task, MoveDVPort_Task, PerformDvsProductSpecOperation_Task, QueryUsedVlanIdInDvs, ReconfigureDVPort_Task, ReconfigureDvs_Task, RectifyDvsHost_Task, RefreshDVPortState, RemoveNetworkResourcePool, UpdateDvsCapability, UpdateDVSHealthCheckConfig_Task, UpdateNetworkResourcePool
Methods inherited from ManagedEntity
Destroy_Task, Reload, Rename_Task
Methods inherited from ExtensibleManagedObject
setCustomValue

AddDVPortgroup_Task

Creates one or more DistributedVirtualPortgroups and adds them to the distributed virtual switch.
Required Privileges
DVPortgroup.Create

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
specDVPortgroupConfigSpec[]

The specification for the portgroup.

Return Value

Type Description
ManagedObjectReference
to a Task
Returns a Task object with which to monitor the operation. The method does not return a value in the Task.info.result property. Use the portgroup property to obtain managed object references to the new portgroups.

Faults

Type Description
DuplicateName
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
InvalidName
NotSupportedThrown if called directly on a host.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



AddNetworkResourcePool

Add a network resource pool.
Required Privileges
DVSwitch.ResourceManagement
Since
vSphere API 5.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
configSpecDVSNetworkResourcePoolConfigSpec[]

the network resource pool configuration specification.

Return Value

Type Description
None

Faults

Type Description
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
InvalidName
NotSupportedThrown if network I/O control is not supported on the vSphere Distributed Switch.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



CreateDVPortgroup_Task

Creates a single DistributedVirtualPortgroup and adds it to the distributed virtual switch.
Required Privileges
DVPortgroup.Create
Since
vSphere API 5.1

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
specDVPortgroupConfigSpec

The specification for the portgroup.

Return Value

Type Description
ManagedObjectReference
to a Task
Returns a Task object. The Task.info.result property contains a managed object reference to the new portgroup. The portgroup property also contains the reference.

Faults

Type Description
DuplicateNameThrown if a portgroup with the same name already exists
DvsFaultThrown if operation fails on any host or if there are other update failures.
InvalidNameThrown if name of the portgroup is invalid
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



DVSRollback_Task

This method determines if the distributed virtual switch configuration has changed. If it has changed, the method returns a VMwareDVSConfigSpec. Use the ReconfigureDvs_Task method to apply the rollback configuration to the switch. You can use the rollback method only on a VmwareDistributedVirtualSwitch.

To use the rollback method, you must have the DVSwitch.Read privilege.

Required Privileges
Dynamic - See discussion above
Since
vSphere API 5.1

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
entityBackup*EntityBackupConfig

Backup of a distributed virtual switch, returned by the DVSManagerExportEntity_Task method.
*Need not be set

Return Value

Type Description
ManagedObjectReference
to a Task
Returns a Task object with which to monitor the operation. If the distributed virtual switch configuration has changed, the Task.info.result property contains the DVSConfigSpec object.

Faults

Type Description
DvsFaultThrown if operation fails.
RollbackFailureThrown if there is no configuration specified in entityBackup and the previous configuration does not exist either.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



EnableNetworkResourceManagement

Enable/Disable network I/O control on the vSphere Distributed Switch.
Required Privileges
DVSwitch.ResourceManagement
Since
vSphere API 4.1

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
enablexsd:boolean

If true, enables I/O control. If false, disables network I/O control.

Return Value

Type Description
None

Faults

Type Description
DvsFaultThrown if the enabling/disabling fails.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
NotSupportedThrown if network I/O control is not supported on the vSphere Distributed Switch.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



FetchDVPortKeys

Return the keys of ports that meet the criteria. On an ESXi host, the property shows only the connected ports currently on the host.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
criteria*DistributedVirtualSwitchPortCriteria

The port selection criteria. If unset, the operation returns the keys of all the ports in the switch.
*Need not be set

Return Value

Type Description
xsd:string[]

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



FetchDVPorts

Return the ports that meet the criteria.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
criteria*DistributedVirtualSwitchPortCriteria

The port selection criteria. If unset, the operation returns the keys of all the ports in the portgroup.
*Need not be set

Return Value

Type Description
DistributedVirtualPort[]

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



LookupDvPortGroup

Returns the portgroup identified by the key within this VDS.
Required Privileges
System.Read
Since
vSphere API 5.1

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
portgroupKeyxsd:string

The key that identifies a portgroup of this VDS.

Return Value

Type Description
ManagedObjectReference
to a DistributedVirtualPortgroup

Faults

Type Description
NotFoundThrown if the portgroup for the specified key is not found.
NotSupportedThrown if the operation is not supported.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



MergeDvs_Task

Merge an existing DistributedVirtualSwitch (source) to this switch (destination). The host members and the connected entity of the source switch will be transferred to the destination switch. This operation disconnects the entities from the source switch, tears down its host proxy switches, creates new proxies for the destination switch, and reconnects the entities to the destination switch.

In summary, this operation does the following:

Required Privileges
DVSwitch.Modify

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
dvs PManagedObjectReference
to a DistributedVirtualSwitch

The switch (source) to be merged
P Required privilege: DVSwitch.Delete

Return Value

Type Description
ManagedObjectReference
to a Task
Returns a Task object with which to monitor the operation.

Faults

Type Description
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
InvalidHostState
NotFound
NotSupportedThrown if called directly on a host.
ResourceInUseThrown if failed to delete the source switch
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



MoveDVPort_Task

Move the ports out of their current portgroup into the specified portgroup. If the moving of any of the ports results in a violation of the portgroup policy, or type of the source or destination portgroup, the operation raises a fault. A conflict port cannot be moved.
Required Privileges
DVSwitch.Modify

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
portKeyxsd:string[]

The keys of the ports to be moved into the portgroup.
destinationPortgroupKey*xsd:string

The key of the portgroup to be moved into. If unset, the port will be moved under the switch.
*Need not be set

Return Value

Type Description
ManagedObjectReference
to a Task
Returns a Task object with which to monitor the operation.

Faults

Type Description
ConcurrentAccess
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
NotFound
NotSupportedThrown if called directly on a host.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



PerformDvsProductSpecOperation_Task

This method updates the DistributedVirtualSwitch product specifications.
Required Privileges
DVSwitch.Modify

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
operationxsd:string

The operation. See DistributedVirtualSwitchProductSpecOperationType for valid values. For VmwareDistributedVirtualSwitch, only upgrade is valid.
productSpec*DistributedVirtualSwitchProductSpec

The product info of the implementation.
*Need not be set

Return Value

Type Description
ManagedObjectReference
to a Task
Returns a Task object with which to monitor the operation.

Faults

Type Description
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
InvalidState
NotSupportedThrown if called directly on a host.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
TaskInProgress

Events

Type
None



QueryUsedVlanIdInDvs

Return the used VLAN ID (PVLAN excluded) in the switch.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.

Return Value

Type Description
xsd:int[]

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



ReconfigureDVPort_Task

Reconfigure individual ports.
Required Privileges
DVSwitch.PortConfig

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
portDVPortConfigSpec[]

The specification of the ports.

Return Value

Type Description
ManagedObjectReference
to a Task
Returns a Task object with which to monitor the operation.

Faults

Type Description
ConcurrentAccess
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
InvalidArgumentThrown if the array have different elements for the same port.
NotFound
NotSupportedThrown if called directly on a host or if the switch implementation doesn't support this API or if the spec includes settings for any vSphere Distributed Switch feature that is not supported on this switch.
ResourceInUse
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



ReconfigureDvs_Task

Reconfigures a distributed virtual switch. You can use this method to set switch properties or to reset the switch to a previous state.

Reconfiguring a Standard Distributed Virtual Switch

To reconfigure a DistributedVirtualSwitch, use a DVSConfigSpec to set the switch properties.

Reconfiguring a VMware Distributed Virtual Switch

If you use a VmwareDistributedVirtualSwitch, you can perform the following switch reconfiguration:

Reconfiguring the switch may require any of the following privileges, depending on what is being changed:

Required Privileges
Dynamic - See discussion above

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
specDVSConfigSpec

The configuration of the switch

Return Value

Type Description
ManagedObjectReference
to a Task
Returns a Task object with which to monitor the operation.

Faults

Type Description
AlreadyExists
ConcurrentAccess
DuplicateName
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
InvalidArgumentThrown if any of the hosts being added lack support for any of the overlay classes of the switch's overlay instances.
InvalidName
InvalidState
LimitExceeded
NotFound
NotSupportedThrown if called directly on a host or if the spec includes settings for any vNetwork Distributed Switch feature that is not supported on this switch.
ResourceInUse
ResourceNotAvailableThrown if there is no port available in the portgroup
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VspanDestPortConflictThrown if a dvPort is used as desination ports in multiple Distributed Port Mirroring sessions.
VspanPortConflictThrown if dvPort is used as both the transmitted source and destination ports in Distributed Port Mirroring sessions.
VspanPromiscuousPortNotSupportedThrown if a promiscuous port is used as transmitted source or destination in the Distributed Port Mirroring sessions.
VspanSameSessionPortConflictThrown if a dvPort is used as both the source and destination in the same Distributed Port Mirroring session.

Events

Type
None



RectifyDvsHost_Task

Deprecated. as of vSphere API 5.0. Use DistributedVirtualSwitchManager.RectifyDvsOnHost_Task instead.

Update the switch configuration on the host to bring them in sync with the current configuration in vCenter Server.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
hosts*ManagedObjectReference[]
to a HostSystem[]

The hosts to be rectified.
*Need not be set

Return Value

Type Description
ManagedObjectReference
to a Task

Faults

Type Description
DvsFaultThrown if operation fails on any host or if there are other update failures.
NotFound
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



RefreshDVPortState

Refresh port states.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
portKeys*xsd:string[]

The keys of the ports to be refreshed. If not specified, all port states are refreshed.
*Need not be set

Return Value

Type Description
None

Faults

Type Description
DvsFaultThrown if operation fails on any host or if there are other update failures.
NotFound
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



RemoveNetworkResourcePool

Remove a network resource pool.
Required Privileges
DVSwitch.ResourceManagement
Since
vSphere API 5.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
keyxsd:string[]

The network resource pool key.

Return Value

Type Description
None

Faults

Type Description
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
InvalidNameThrown if the name of the resource pool is invalid.
NotFoundThrown if the resource pool does not exist on the dvs.
NotSupportedThrown if network I/O control is not supported on the vSphere Distributed Switch.
ResourceInUseThrown if network resource pool is associated with a network entity
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



UpdateDvsCapability

Set the capability of the switch.
Required Privileges
DVSwitch.Modify

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
capabilityDVSCapability

The capability of the switch.

Return Value

Type Description
None

Faults

Type Description
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
NotSupportedThrown if called directly on a host or if the switch implementation doesn't support this API.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



UpdateDVSHealthCheckConfig_Task

Update health check configuration.
Required Privileges
DVSwitch.Modify
Since
vSphere API 5.1

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
healthCheckConfigDVSHealthCheckConfig[]

The health check configuration.

Return Value

Type Description
ManagedObjectReference
to a Task
Returns a Task object with which to monitor the operation.

Faults

Type Description
DvsFaultThrown if operation fails on any host or if there are other update failures.
NotSupportedThrown if health check is not supported on the switch.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None



UpdateNetworkResourcePool

Update the network resource pool configuration.
Required Privileges
DVSwitch.ResourceManagement
Since
vSphere API 4.1

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the DistributedVirtualSwitch used to make the method call.
configSpecDVSNetworkResourcePoolConfigSpec[]

The network resource pool configuration specification.

Return Value

Type Description
None

Faults

Type Description
ConcurrentAccessThrown if a network resource pool is modified by two or more clients at the same time.
DvsFaultThrown if operation fails on any host or if there are other update failures.
DvsNotAuthorizedThrown if login-session's extension key does not match the switch's configured extensionKey.
InvalidNameThrown if the name of the resource pool is invalid.
NotFoundThrown if the resource pool does not exist on the dvs.
NotSupportedThrown if network I/O control is not supported on the vSphere Distributed Switch.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition