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.
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.
Vasiliy Tolstov (3):
autocreate tap device for ethernet network type
allow to specify peer to ip element in domain network
assign peer address if it provided in network
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/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 +
15 files changed, 300 insertions(+), 40 deletions(-)
--
2.7.3