On Fri, Mar 18, 2016 at 10:19:40PM +0000, Vasiliy Tolstov wrote:
By default libvirt does not manages ethernet devices, bypass all
control to qemu.
This series enable creating tap devices via libvirt, assign mac, ip address and routes.
Also when use specif linkstate down in xml, phisicaly down tap device.
This is very useful in case of using bird, quagga or somethink like this to forward
traffic to vm.
Ok, so there's two parts for this series really
1. Moving creation of TAP device out of QEMU into libvirt for
type=ethernet. This avoids need for QEMU to run with root
privileges which is awesome
2. Extending semantics of type=ethernet to allow it support
setting of IP address details and routes.
My big design question is whether we should be fitting this into the
type=ethernet NIC, or whether we should be inventing a new type=routed
NIC.
Historically we deprecated use of type=ethernet for two reasons,
first it required root privileges, second it ran an external
script which is a black box from libvirt POV. We've now solved
the root privileges problem. The external script is opt in, so
we could consider type=ethernet fully supported and merely
deprecated/discourage use of the script instead.
Functionally if we invented type=routed, it would be identical to
type=ethernet, except that it set the IP Address + route info, and
did not allow use of an external script.
On that basis I'm thinking that this probably a waste of time to
invent a new NIC, and instead we should just go down the route you
suggest of letting us assign IP address, routes, etc for type=ethernet
Main question about peer address assign. How to deal with absent peer
address?
Now i'm simplify check that peer address is valid ip address, but may be this is
wrong.
IIUC, if peer address is not specified in the XML, then we should
just fallback to current behaviour of using the normal IP address.
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 :|