[libvirt] [RFC] net-dhcp-leases: virNetworkDHCPLeases struct design

Daniel P. Berrange berrange at redhat.com
Tue Oct 15 11:30:35 UTC 2013


On Tue, Oct 08, 2013 at 06:09:22PM +0530, Nehal J Wani wrote:
> Continued from https://www.redhat.com/archives/libvir-list/2013-October/msg00325.html
> 
> Earlier, the virNetworkDHCPLeases struct design was:
> 
> struct _virNetworkDHCPLeases {
>     long long expirytime;       /* Seconds since epoch */
>     union {
>         char *mac;              /* MAC address */
>         unsigned long iaid;     /* Identity association identifier (IAID) */
>     } id;
>     char *ipaddr;               /* IP address */
>     char *hostname;             /* Hostname */
>     char *clientid;             /* Client ID or DUID */
>     int type;                   /* virIPAddrType */
>     unsigned int prefix;        /* IP address prefix */
> };
> 
> Since no one likes the idea of having a union, but we do want to
> support dhcpv6, following is the new design:
> 
> struct _virNetworkDHCPLeases {
>     char *interface;            /* Network interface name (non-null) */
>     long long expirytime;       /* Seconds since epoch (non-null) */
>     int type;                   /* virIPAddrType (non-null) */
>     unsigned int prefix;        /* IP address prefix (non-null) */
>     char *mac;                  /* MAC address (mostly non-null, except rare cases) */
>     char *iaid;                 /* IAID (ipv6) (null, in case of ipv4) */
>     char *ipaddr;               /* IP address (non-null) */

I'd suggest the 'prefix' should be placed here, since it is associated
with the 'ipaddr' field.

>     char *hostname;             /* Hostname (can be null) */
>     char *clientid;             /* Client ID(ipv4) or DUID(ipv6) (can
> be null, in case of ipv4) */
> };

ACK, not convinced we need 'clientid', but it doesn't harm us to expose
it just in case.


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