the vm_network_interface.readNetworkData function uses the vm.guest information (namely guest.net and guest.ipstack structures) to determine the list of network interfaces and their associated routing information. When the VM is powered off, the guest.net is unset, resulting in an empty list of network interfaces. guest.ipstack however is set and contains all the routing information, which results in an error condition when we try to update an inexistent deviceID.
the
vm_network_interface.readNetworkData
function uses the vm.guest information (namelyguest.net
andguest.ipstack
structures) to determine the list of network interfaces and their associated routing information. When the VM is powered off, theguest.net
is unset, resulting in an empty list of network interfaces.guest.ipstack
however is set and contains all the routing information, which results in an error condition when we try to update an inexistent deviceID.