[libvirt] [PATCH] Allow NULL mac address in virGetInterface.

Laine Stump laine at laine.org
Wed Oct 21 16:46:03 UTC 2009


On 10/21/2009 06:19 AM, Daniel Veillard wrote:
> On Mon, Oct 19, 2009 at 04:41:52PM -0400, Laine Stump wrote:
>    
>> There are places where an interface will not have a mac address, and netcf
>> returns this as a NULL pointer rather than a pointer to an empty string.
>> Rather than checking for this all over the place in libvirt, just save it
>> in the virInterface object as an empty string.
>> ---
>>   src/datatypes.c |    7 ++++++-
>>   1 files changed, 6 insertions(+), 1 deletions(-)
>>
>> diff --git a/src/datatypes.c b/src/datatypes.c
>> index 89ad309..ecefc59 100644
>> --- a/src/datatypes.c
>> +++ b/src/datatypes.c
>> @@ -588,10 +588,15 @@ virInterfacePtr
>>   virGetInterface(virConnectPtr conn, const char *name, const char *mac) {
>>       virInterfacePtr ret = NULL;
>>
>> -    if ((!VIR_IS_CONNECT(conn)) || (name == NULL) || (mac == NULL)) {
>> +    if ((!VIR_IS_CONNECT(conn)) || (name == NULL)) {
>>           virLibConnError(NULL, VIR_ERR_INVALID_ARG, __FUNCTION__);
>>           return(NULL);
>>       }
>> +
>> +    /* a NULL mac from caller is okay. Treat it as blank */
>> +    if (mac == NULL)
>> +       mac = "";
>> +
>>       virMutexLock(&conn->lock);
>>
>>       ret = (virInterfacePtr) virHashLookup(conn->interfaces, name);
>>      
>    ACK that sounds reasonnable to me.
> I assume the inverted situation of an interface known only by it's MAC
> can't happen, right ?
>
>    

I believe that is correct - name is a required attribute, but mac 
address isn't.




More information about the libvir-list mailing list