]> git.ipfire.org Git - thirdparty/libvirt.git/commit
esx: Implement network driver
authorMatthias Bolte <matthias.bolte@googlemail.com>
Sun, 5 Aug 2012 20:11:50 +0000 (22:11 +0200)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Thu, 9 Aug 2012 20:31:47 +0000 (22:31 +0200)
commitb8fa5fd071e9f552f40bd6a5566e836e588ab181
tree3ebf6b792c3a27028c568f75b84e2cdd493e11a7
parentba86e5cd3f715c58d9c6af3ac81ad29a2caaf19e
esx: Implement network driver

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
src/conf/network_conf.c
src/conf/network_conf.h
src/esx/esx_network_driver.c
src/esx/esx_vi.c
src/esx/esx_vi.h
src/esx/esx_vi_generator.input
src/esx/esx_vi_generator.py