On 03/31/2016 05:23 AM, Vasiliy Tolstov wrote:
2016-03-23 20:46 GMT+03:00 Laine Stump <laine(a)laine.org>:
> Since there is no documentation included with the patch, and the wrong RNG
> file has been modified, I'm not clear on exactly why a libvirt virtual
> network would use a peer address.
>
> Normally libvirt networks are made by creating a bridge device, adding in
> some iptables rules, and running an instance of dnsmasq to service dhcp and
> dns requests made by guests who have tap devices connected to that network.
> But if I understand correctly, your patches are intended to allow setting
> the local and peer address for guest-connected tap devices that aren't
> attached to a bridge on the host side, but instead rely on the host's IP
> stack to route appropriate traffic through the tap device. If so, then why
> is a libvirt network involved at all? Why/how could a bridge device be used
> for a point-to-point link? If this isn't just a misunderstanding of which
> parts of libvirt code affect what, then some examples (and patches to
> formatdomain.html.in/formatnetwork.html.in) would be very useful to help me
> understand.
I'm send new patch with some docs in formatdomain.
Sometimes bridges not allowed or not needed. We use plain tap devices
on host side and bird routing daemon to route traffic to/from tap
devices.
But the changes to network_conf.c, network_conf.h, and bridge_driver.c
only serve to assign a POINTOPOINT IP address pair to *the bridge* of a
libvirt-managed network. This is unrelated to any IP address pair
assigned to a tap device used by an lxc or qemu domain.
I'll comment further in your new patch.