Standard or Distributed Switch changes fail with the error "A specified parameter was not correct"
search cancel

Standard or Distributed Switch changes fail with the error "A specified parameter was not correct"

book

Article ID: 339882

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

  • In vCenter, operations to modify portgroups, add/remove pNics, or modify Teaming policies on a vSS or vDS fail with the error: 
     "A specified parameter was not correct"

  • Unable to modify or add a gateway of a TCP/IP Stack.
  • "Invalid NIC" errors are seen in hostd.log: 

YYYY-MM-DDTHH:MM:SS.417Z info hostd[2099563] [Originator@6876 sub=Vimsvc.TaskManager opID=kxaqfuni-78739569-auto-1avnwu-h5:73869704-7e-e5-cb5c user=vpxuser:Domain\Username] Task Created : haTask-ha-host-vim.host.NetworkSystem.invokeHostTransactionCall-3917783281
YYYY-MM-DDTHH:MM:SS.418Z info hostd[2099426] [Originator@6876 sub=Hostsvc opID=kxaqfuni-78739569-auto-1avnwu-h5:73869704-7e-e5-cb5c user=vpxuser:Domain\Username] UpdateNetwork with Config: (vim.host.NetworkConfig) {
-->    proxySwitch = (vim.host.HostProxySwitch.Config) [
-->       (vim.host.HostProxySwitch.Config) {
-->          changeOperation = "edit",

YYYY-MM-DDTHH:MM:SS.440Z info hostd[2099426] [Originator@6876 sub=Hostsvc opID=kxaqfuni-78739569-auto-1avnwu-h5:73869704-7e-e5-cb5c user=vpxuser:Domain\Username] Invalid NIC order: one of more PNIC specified are not uplinked to vswitch.
YYYY-MM-DDTHH:MM:SS.440Z info hostd[2099426] [Originator@6876 sub=Hostsvc opID=kxaqfuni-78739569-auto-1avnwu-h5:73869704-7e-e5-cb5c user=vpxuser:Domain\Username] Invalid NIC teaming policy: invalid NIC order specified.
YYYY-MM-DDTHH:MM:SS.440Z info hostd[2099426] [Originator@6876 sub=Hostsvc opID=kxaqfuni-78739569-auto-1avnwu-h5:73869704-7e-e5-cb5c user=vpxuser:Domain\Username] Invalid network policy: invalid NIC teaming policy.
YYYY-MM-DDTHH:MM:SS.440Z info hostd[2099426] [Originator@6876 sub=Hostsvc.NetworkVmkSimulator opID=kxaqfuni-78739569-auto-1avnwu-h5:73869704-7e-e5-cb5c user=vpxuser:Domain\Username] Cannot set policy for vswitch [vSwitchUSB0], network policy is invalid: (vim.host.NetworkPolicy) {

  • In the vmware-vimdump output, you might see "bridge = <unset>"

                     (vim.host.VirtualSwitch) {
                        dynamicType = <unset>,
                        dynamicProperty = (vmodl.DynamicProperty) [],
                        name = 'vSwitchUSB0',
                        key = 'key-vim.host.VirtualSwitch-vSwitchUSB0',
                        numPorts = 4350,
                        numPortsAvailable = 4327,
                        mtu = 1500,
                        portgroup = (Link) [
                           'key-vim.host.PortGroup-IMM_Network0'
                        ],
                        pnic = (Link) [],
                        spec = (vim.host.VirtualSwitch.Specification) {
                           dynamicType = <unset>,
                           dynamicProperty = (vmodl.DynamicProperty) [],
                           numPorts = 128,
                           bridge = <unset>,   <-------- Here


The vusb0 device may appear on two vSwitches when running the command esxcfg-vswitch -l:

Switch Name      Num Ports   Used Ports  Configured Ports  MTU     Uplinks
  vSwitch0         9216        7           128               1500    vmnic#,vusb0  <-------- Here

  PortGroup Name                            VLAN ID  Used Ports  Uplinks
  VM Network                                0        1           vmnic#,vusb0 
  Management Network                        0       1           vmnic#,vusb0

  Switch Name      Num Ports   Used Ports  Configured Ports  MTU     Uplinks
  vSwitchBMC       9216        2           128               1500    vusb0  <-------- Here

  PortGroup Name                            VLAN ID  Used Ports  Uplinks
  BMC_Network                               0        1           vusb0

Environment

VMware vSphere ESXi 
VMware vSphere vCenter

Cause

If NetworkSystem.invokeHostTransactionCall is called to make changes to a vSS or vDS while there is a configuration issue with vSwitchUSB0, the change operation will fail.  In this particular case, vusb0 did not exist on bootup.
 
syslog.log: 

YYYY-MM-DDTHH:MM:SS.548Z jumpstart[2097601]: VirtualSwitch: Unable to restore uplink vusb0  of virtual swtich vSwitchUSB0. Reason was Unable to find mapping for vusb0:
YYYY-MM-DDTHH:MM:SS.549Z jumpstart[2097601]: PortGroup: NIC vusb0 does not exist
YYYY-MM-DDTHH:MM:SS.549Z jumpstart[2097601]: PortGroup: NIC vusb0 does not exist
YYYY-MM-DDTHH:MM:SS.550Z jumpstart[2097601]: PortGroup: Unable to find mapping for vusb0
YYYY-MM-DDTHH:MM:SS.550Z jumpstart[2097601]: PortGroup: Not a valid pnic:  for teaming on portgroup: IMM_Network0
 
 
vobd.log: 
 
YYYY-MM-DDTHH:MM:SS.731Z: [UserLevelCorrelator] 91443881us: [vob.user.host.boot] Host has booted.

Resolution

  • Try re-adding vusb0 to vSwitchUSB0: 
    • esxcli network vswitch standard uplink add --uplink-name="vusb0" --vswitch-name="vSwitchUSB0" 
  • In similar cases, toggling the vSwitchUSB0/vusb0 Teaming policy from Active to Standby or Unused (or vice versa) has been known to work. 
  • Remove vSwitchUSB0.  If it repopulates, please contact your hardware vendor on how to properly disable the vUSB device.
    • esxcli network vswitch standard remove --vswitch-name=vSwitchUSB0

 

To ensure persistent disablement across reboots -

 

1: Use the following command to prevent the creation of a virtual switch vSwitchUSB0 and associated portgroups on the next reboot of host.

[root@esx:~] esxcfg-advcfg -s 0 /Net/BMCNetworkEnable

The value of BMCNetworkEnable is 0 and the service is disabled. It can be validated using following command -

[root@esx:~] esxcfg-advcfg -g /Net/BMCNetworkEnable
Output 'Value of BMCNetworkEnable is 0' means disabled.

 

Additional Information