(expanding Cc to include libvir-list, because this is more of a libvirt
issue)
On 06/24/2009 01:52 PM, David Lutterkort wrote:
On Wed, 2009-06-24 at 18:22 +0100, Daniel P. Berrange wrote:
> On Wed, Jun 24, 2009 at 10:20:00AM -0700, David Lutterkort wrote:
>
>> On Tue, 2009-06-23 at 21:47 +0100, Daniel P. Berrange wrote:
>>
>>> Why would we ever have duplicate MAC addresses?
>>>
>> VLANs:
>>
>> # vconfig add eth0 42
>> # cat /sys/class/net/eth0.42/address
>> 00:15:58:81:5b:0e
>> # cat /sys/class/net/eth0/address
>> 00:15:58:81:5b:0e
>>
> Ok, so for the libvirt API we should define that the lookup-by-mac API
> will not return VLAN devices, since we cant provide a 1-1 lookup there
>
Why would you do that ? When the user asks for interfaces with a MAC,
you don't know if they are looking for a VLAN or base device. If they
want the VLAN, how would they look that up ?
I think we need to do one of two things:
1) Modify the existing virInterfaceLookupByMACString() api to return a
list of virInterfaces. Although the public API has been in one release,
there has been no functionality behind the API, so there's nobody using
it as it is, and nobody is going to expect to use it as it is either.
Because of that, "backward compatibility" isn't as much of an issue, and
maybe we could let this modification to the API slide.
2) If we want to be really anal, we could modify
virInterfaceLookupByMACString() to return an error if there are multiple
interfaces with that particular MAC address, then provide a new function
(name suggestion?) that would return a list of interfaces.