I reverted these three patches that introduced and enabled a "peer"
attribute for type='ethernet' interface <ip> elements prior to the
release of 1.3.4 with the intent of fixing/re-posting them after
release, but forgot until today:
https://www.redhat.com/archives/libvir-list/2016-April/msg01995.html
I have patches for most of the bugs, but the one problem that still
doesn't have resolution is the naming of the "peer" attribute. In my
opinion, having the two address attributes named "address" and "peer"
makes it ambiguous which address is for the guest side and which for the
host side (especially since the attribute that has been named "peer"
would be set to the "address" in the netlink command, and the attribute
named "address" would be set to "peer" in the netlink command :-O).
Since "address" is an existing attribute, and already used for the guest
side IP address in lxc type='bridge' interfaces, it must remain as-is.
In order to make it obvious that the new address is for the host side of
the tap (or veth pair in the case of lxc), I propose calling it either
"host", or "hostAddress", e.g:
<ip address='192.168.123.43' host='192.168.123.1'
prefix='25'/>
or
<ip address='192.168.123.4' hostAddress='192.168.123.1'
prefix='25'/>
(Vasiliy had suggested "hostPeer", but I dislike that, since it sounds
like "the peer of the host", which is even more misleading).
Can some of you normally-opinionated people weigh in on this? I don't
like the feeling of making a unilateral decision :-)
Also, I'm realizing that, although there was a patch to support setting
the host-side address (hmm - "hostSide"? nah) for lxc type='bridge'
interface, this is not at all useful, because anything plugged into a
bridge should not have any IP on the side plugged into the bridge. The
place where it would be useful for lxc would be (just as it is for qemu)
with a type='ethernet' interface - the guest-side veth would have
"address" and the host-side veth would have "hostAddress", and it
would
then properly work without needing a bridge (which I think is the entire
point). Since lxc doesn't currently support type='ethernet', I think
that initial support should be made for qemu only, and when
type='ethernet is added to lxc, it can be made to support an IP address
on both sides of the veth pair from the start.
Lacking any useful responses, I'm thinking to update Vasiliy's patches
to use "hostAddress" (and fix the other bugs I had found) and re-post them.