On 08/06/2012 03:18 PM, Ata Bohra wrote:
But re-thinking the whole design in light of the explanation provided by you, libvirt interfaces are actually mapping physical interfaces to virtual network. Further, hostVirtualSwitch behaves like switch which defines ports where we can plug VM virtual ethernet cards. It seems likely that we still want to have ability of configuring ESXi virtual interfaces (hostVirtualNics) so not sure if listing physical Nics is completly right to get an 100% operational ESX host.

After reading Matthias' explanation, I was left wondering exactly what is the purpose of a hostVirtualNic. Is it used to give the hypervisor a connection to the hostVirtualSwitch? If so, that's something that's implied in libvirt's networks when they have an IP address defined - the presence of an IP address for the network is really indicating that there's a connection up to the host's (aka hypervisor) IP stack. (this is a legacy of the design of Linux host bridges - I think of there being an "implied port" on the bridge that is connected to the host kernel if the bridge has an IP address.)


Though my design is not accpeted, but it was an amazing learning experience. Thanks for everyones input that came along the way.

Not to mention that your patches were the catalyst that started the discussion and investigation by Matthias. So likely without your initiative, it would have been quite some time longer before these features were supported for ESX in libvirt.

(Also, you now know a bit about the internals of libvirt, so maybe we can expect more patches in the future :-)