On 02/25/2015 04:50 AM, lhuang wrote:
And i also thought about another issue after your reminding: An
interface can have more than one IPv6 address. But i still couldn't
find a good way until now to chose which IPv6 address if we find more
than one IPv6 address in one interface (maybe users should use "listen
type=address" instead of "listen type=network" in this case ;)).
There are some special addresses anddefault address selection for IPv6
address, i don't know if it is a good idea to guess which address is
the caller really desired if we get some IPv6 address in one interface.
If they are using listen type='network', then either they will have
taken care to have the network only have a single IP, or they won't
care. Otherwise, as you say, they should use listen type='address'.
BTW, some history for listen type='network' - this feature was added to
allow a way to remove the explicit listen address from the domain
config, thus allowing the domain to be migrated from one host to
another, as long as there is a network with the same name on both hosts.
Often the network used for this is created only for this purpose. If the
physical interface named in the network has multiple IP addresses, there
really isn't a good way for libvirt to indicate preference for any one
of the addresses over another (you can't specify it with an index,
because the index of the desired IP address may be different between the
hosts. Because it's impossible to do it right, I say we shouldn't even
try; it would be worse for it to work halfway.