[libvirt] autocreate tap device for VIR_DOMAIN_NET_TYPE_ETHERNET

Daniel P. Berrange berrange at redhat.com
Fri Mar 18 15:50:58 UTC 2016


On Fri, Mar 18, 2016 at 03:38:39PM +0000, Vasiliy Tolstov wrote:
> If a user specify ehernet device create it via libvirt and run
> script if it provided. After this commit user does not need to
> run external script to create tap device or add root to qemu
> process.
> Also now libvirt can manage ip address and routes for this device.
> 
> Signed-off-by: Vasiliy Tolstov <v.tolstov at selfip.ru>
> ---
>  docs/schemas/interface.rng       |   6 ++
>  include/libvirt/libvirt-domain.h |   1 +
>  src/conf/domain_conf.c           |  14 +++-
>  src/conf/domain_conf.h           |   1 +
>  src/conf/network_conf.c          |  26 ++++++-
>  src/conf/network_conf.h          |   1 +
>  src/libvirt.c                    |   8 +-
>  src/lxc/lxc_container.c          |   2 +-
>  src/network/bridge_driver.c      |   2 +-
>  src/qemu/qemu_command.c          |  38 +++++-----
>  src/qemu/qemu_hotplug.c          |  36 +++++++--
>  src/qemu/qemu_interface.c        | 158 +++++++++++++++++++++++++++++++++++++++
>  src/qemu/qemu_interface.h        |   5 ++
>  src/qemu/qemu_process.c          |   6 ++
>  src/util/virnetdev.c             |  43 +++++++----
>  src/util/virnetdev.h             |   1 +
>  16 files changed, 306 insertions(+), 42 deletions(-)
> 
> diff --git a/docs/schemas/interface.rng b/docs/schemas/interface.rng
> index 052703ce84aa..b81c38b9d07c 100644
> --- a/docs/schemas/interface.rng
> +++ b/docs/schemas/interface.rng
> @@ -332,6 +332,9 @@
>              <optional>
>                <attribute name="prefix"><ref name="ipv4Prefix"/></attribute>
>              </optional>
> +            <optional>
> +              <attribute name="peer"><ref name="ipv4Addr"/></attribute>
> +            </optional>
>            </element>
>          </zeroOrMore>
>          <optional>
> @@ -361,6 +364,9 @@
>              <optional>
>                <attribute name="prefix"><ref name="ipv6Prefix"/></attribute>
>              </optional>
> +            <optional>
> +              <attribute name="peer"><ref name="ipv6Addr"/></attribute>
> +            </optional>
>            </element>
>          </zeroOrMore>
>          <optional>

I'm a little puzzelled why you're adding this 'peer' address in here
and throughout the code. This patch is supposedly just moving the
existing QEMU logic out into the libvirt layer, so AFAICT, this should
not require any changes to the XML parsing layer.

If this 'peer' info is some extra enhancement, it should really be
written as a separate patch, rather than squashed into this patch.

So can you re-post with just the code for moving the tap dev creation
from qemu into libvirt, and then post separate patches for any further
features you want considered.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list