
2012/8/6 Michal Privoznik <mprivozn@redhat.com>:
On 05.08.2012 22:11, Matthias Bolte wrote:
An ESX server has one or more PhysicalNics that represent the actual hardware NICs. Those can be listed via the interface driver.
A libvirt virtual network is mapped to a HostVirtualSwitch. On the physical side a HostVirtualSwitch can be connected to PhysicalNics. On the virtual side a HostVirtualSwitch has HostPortGroups that are mapped to libvirt virtual network's portgroups. Typically there is HostPortGroups named 'VM Network' that is used to connect virtual machines to a HostVirtualSwitch. A second HostPortGroup typically named 'Management Network' is used to connect the hypervisor itself to the HostVirtualSwitch. This one is not mapped to a libvirt virtual network's portgroup. There can be more HostPortGroups than those typical two on a HostVirtualSwitch.
+---------------+-------------------+ ...---| | | +-------------+ | HostPortGroup | |---| PhysicalNic | | VM Network | | | vmnic0 | ...---| | | +-------------+ +---------------+ HostVirtualSwitch | | vSwitch0 | +---------------+ | | HostPortGroup | | ...---| Management | | | Network | | +---------------+-------------------+
The virtual counterparts of the PhysicalNic is the HostVirtualNic for the hypervisor and the VirtualEthernetCard for the virtual machines that are grouped into HostPortGroups.
+---------------------+ +---------------+---... | VirtualEthernetCard |---| | +---------------------+ | HostPortGroup | +---------------------+ | VM Network | | VirtualEthernetCard |---| | +---------------------+ +---------------+ | +---------------+ +---------------------+ | HostPortGroup | | HostVirtualNic |---| Management | +---------------------+ | Network | +---------------+---...
The currently implemented network driver can list, define and undefine HostVirtualSwitches including HostPortGroups for virtual machines. Existing HostVirtualSwitches cannot be edited yet. This will be added in a followup patch. --- po/POTFILES.in | 1 + src/conf/network_conf.c | 3 +- src/conf/network_conf.h | 3 + src/esx/esx_network_driver.c | 867 +++++++++++++++++++++++++++++++++++++++- src/esx/esx_vi.c | 171 ++++++++ src/esx/esx_vi.h | 14 + src/esx/esx_vi_generator.input | 151 +++++++ src/esx/esx_vi_generator.py | 5 + 8 files changed, 1212 insertions(+), 3 deletions(-)
ACK
Thanks, pushed. -- Matthias Bolte http://photron.blogspot.com