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

Daniel P. Berrange berrange at redhat.com
Wed Oct 2 08:13:59 UTC 2013


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.


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 :|




More information about the libvir-list mailing list