• N
    net-dhcp-leases: Implement the public APIs · 03e0e79e
    Nehal J Wani 提交于
    Introduce 3 new APIs, virNetworkGetDHCPLeases, virNetworkGetDHCPLeasesForMAC
    and virNetworkDHCPLeaseFree.
    
    * virNetworkGetDHCPLeases: returns the dhcp leases information for a given
         virtual network.
    
      For DHCPv4, the information returned:
      - Network Interface Name
      - Expiry Time
      - MAC address
      - IAID (NULL)
      - IPv4 address (with type and prefix)
      - Hostname (can be NULL)
      - Client ID (can be NULL)
    
      For DHCPv6, the information returned:
      - Network Interface Name
      - Expiry Time
      - MAC address
      - IAID (can be NULL, only in rare cases)
      - IPv6 address (with type and prefix)
      - Hostname (can be NULL)
      - Client DUID
    
      Note: @mac, @iaid, @ipaddr, @clientid are in ASCII form, not raw bytes.
      Note: @expirytime can 0, in case the lease is for infinite time.
    
    * 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.
    
    include/libvirt/libvirt.h.in:
      * Define virNetworkGetDHCPLeases
      * Define virNetworkGetDHCPLeasesForMAC
      * Define virNetworkDHCPLeaseFree
    
    src/driver.h:
      * Define networkGetDHCPLeases
      * Define networkGetDHCPLeasesForMAC
    
    src/libvirt.c:
      * Implement virNetworkGetDHCPLeases
      * Implement virNetworkGetDHCPLeasesForMAC
      * Implement virNetworkDHCPLeaseFree
    
    src/libvirt_public.syms:
      * Export the new symbols
    03e0e79e
libvirt.c 629.0 KB