[libvirt] [PATCHv4 1/4] net-dhcp-leases: Implement the public APIs

Nehal J Wani nehaljw.kkd1 at gmail.com
Wed Oct 2 09:38:00 UTC 2013


On Wed, Oct 2, 2013 at 1:43 PM, Daniel P. Berrange <berrange at redhat.com> wrote:
> On Tue, Oct 01, 2013 at 05:39:02PM -0600, Eric Blake wrote:
>> On 09/26/2013 02:08 AM, Nehal J Wani wrote:
>> > Introduce 3 new APIs, virNetworkGetDHCPLeases, virNetworkGetDHCPLeasesForMAC
>> > and virNetworkDHCPLeaseFree.
>> >
>> > * virNetworkGetDHCPLeases: returns the dhcp leases information for a given
>> >      virtual network.
>> >
>> >      For DHCPv4, the information includes:
>> >      - Expirytime
>> >      - MAC Address
>> >      - IPv4 address (with type and prefix)
>> >      - Hostname (can be NULL)
>> >      - Client ID (can be NULL)
>> >
>> >      For DHCPv6, the information includes
>> >      - Expirytime
>> >      - IAID
>> >      - IPv6 address (with type and prefix)
>> >      - Hostname (can be NULL)
>> >      - Client DUID
>> >
>> > * virNetworkGetDHCPLeasesForMAC: returns the dhcp leases information for a
>> >      given virtual network and specified MAC Address.
>> >
>> > * virNetworkDHCPLeaseFree: allows the upper layer application to free the
>> >      network interface object conveniently.
>> >
>> > There is no support for flags, so user is expected to pass 0 for
>> > both the APIs.
>>
>>
>> > +typedef struct _virNetworkDHCPLeases virNetworkDHCPLeases;
>> > +typedef virNetworkDHCPLeases *virNetworkDHCPLeasesPtr;
>> > +struct _virNetworkDHCPLeases {
>> > +    long long expirytime;       /* Seconds since epoch */
>> > +    union {
>> > +        char *mac;              /* MAC address */
>> > +        unsigned long iaid;     /* Identity association identifier (IAID) */
>> > +    } id;
>>
>> I'm not sure I like iaid - the whole point of this interface was to
>> return IP addresses associated with a MAC.  Either the iaid is important
>> and deserves a separate field, or all we care about is the MAC address.
>>  Not to mention that you didn't document which leg of the id union is
>> valid based on the type discriminator.
>
> Agreed, we want the MAC address to be unconditionally available
> here. IMHO the IAID is not something we care about exposing. That
> is a impl detail of the DHCP comms protocol that is not useful
> to people outside.
>

So in case DHCPv6 is used by the client, should we report the rest of
the lease fields and report MAC as NULL?


>
> Daniel
> --
> |: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
> |: http://libvirt.org              -o-             http://virt-manager.org :|
> |: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
> |: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|



-- 
Nehal J Wani
UG3, BTech CS+MS(CL)
IIIT-Hyderabad
http://commandlinewani.blogspot.com




More information about the libvir-list mailing list