[libvirt] [PATCH 2/5] First level of plumbing for virInterface*.

Laine Stump laine at laine.org
Wed May 13 15:20:47 UTC 2009


On 05/13/2009 07:29 AM, Daniel Veillard wrote:
> On Wed, May 13, 2009 at 10:57:13AM +0100, Daniel P. Berrange wrote:
>   
>> On Wed, May 13, 2009 at 11:46:58AM +0200, Daniel Veillard wrote:
>>     
>>> On Mon, May 11, 2009 at 03:29:42PM -0400, Laine Stump wrote:
>>>       
>>>> Yes, tun interfaces too. Since this is binary data rather than a  
>>>> null-terminated string,
>>>> we need to decide among the following three choices:
>>>>
>>>> 1) have a fixed length (how long? is 16 bytes long enough?) and  
>>>> zero-fill the shorter ones.
>>>>
>>>> 2) Add a macLen arg to any API function that uses mac address (this will  
>>>> need to be a return arg in some cases too)
>>>>
>>>> 3) Only provide the versions of the functions that accept/use ASCII mac  
>>>> address args.
>>>>         
>>>   IMHO, I would play safe at this point and pick 3)
>>> First it's sufficient, from the ASCII version people can usually derive
>>> the binary one if they really need it, but mostly I think people asked
>>> for those interfaces at the libvirt level because they wanted the
>>> ability to not mess with the low level stuff, so we should focuse on
>>> the high level. And if this proves unsufficient we can stil add new APIs
>>> based on the people feedback.
>>>       
>> Ok, so we just need to  get rid of the constants in the public header
>> file, and remove these APis
>>
>>  virInterfacePtr         virInterfaceLookupByMAC   (virConnectPtr conn,
>>                                                     const unsigned char *mac);
>>
>>  int                     virInterfaceGetMAC        (virInterfacePtr interface,
>>                                                     unsigned char *mac);
>>
>> and change the remote_protocol.x file to use  'remote_nonnull_string'
>> instead of the fixed length mac addr on the wire.
>>
>> And in the virInterfacePtr  struct in src/datatypes.c also use the null
>> terminated string, instead of fixed byte array.
>>     
>
>   Yes I think that's the simpler, and doesn't prevent adding something
> to that intent later if the need arise.
>   

Another advantage of this is that it can be done independent of fixing 
other uses of mac address in the code.

I'm starting on this right now. (After a morning delay for a 
kindergarten presentation on Turkey, and another delay for a train of 
realtors traipsing through our house)




More information about the libvir-list mailing list