[libvirt] [PATCH v6 0/4] Introduce APIs to extract DHCP leases info

Nehal J Wani nehaljw.kkd1 at gmail.com
Sun Jun 15 22:14:52 UTC 2014


This API returns the leases information stored in the DHCP leases
file of dnsmasq for a given virtual network. It contacts the
bridge network driver, which parses a custom leases file created
by libvirt.

It supports two methods:

1. Return info for all network interfaces connected to a given
   virtual network
2. Return information for a particular network interface in a
   given virtual network by providing its MAC Address

v6
* Converted parsing mechanism to JSON.
  Leases helper program has been added as a separate patch
  Refer: https://www.redhat.com/archives/libvir-list/2014-May/msg00219.html

v5
* Created a helper file to generate custom leases for libvirt. Since dnsmasq
  doesn't provide the MAC Address in case of DHCPv6, the need for this file
  was proposed. The design of virNetworkDHCPLeases struct has been updated and
  the previous use of union has been removed. OOM errors have been taken care
  of in the remote driver and remote daemon.
  Discussion on struct design:
      https://www.redhat.com/archives/libvir-list/2013-October/msg00326.html
  Discussion on helper file:
      https://www.redhat.com/archives/libvir-list/2013-October/msg00989.html
  Refer: http://www.redhat.com/archives/libvir-list/2013-November/msg01085.html

v4
* Added support for DHCPv6, updated lease file parsing method
  Refer: https://www.redhat.com/archives/libvir-list/2013-September/msg01554.html

v3
* Mostly small nits, change in MACRO names, use of virSocketAddrGetIpPrefix to
  retrieve IP prefix from @dom XML.
  Refer: https://www.redhat.com/archives/libvir-list/2013-September/msg00832.html

v2
* Since DHCPv6 is supposed to be suported in future, virNetworkGetDHCPLeasesForMAC
  changed, prefix and virIPAddrType added in virNetworkDHCPLeases struct.
  Refer: https://www.redhat.com/archives/libvir-list/2013-September/msg00732.html

v1
* Refer: https://www.redhat.com/archives/libvir-list/2013-September/msg00620.html

* The need for these APIs were result of a RFC was proposed on the list.
  Refer: http://www.redhat.com/archives/libvir-list/2013-July/msg01603.html


Nehal J Wani (4):
  net-dhcp-leases: Implement the public APIs
  net-dhcp-leases: Implement the remote protocol
  net-dhcp-leases: Private implementation inside network
  net-dhcp-leases: Add virsh support

 daemon/remote.c              | 185 ++++++++++++++++++++++++++++++++++
 include/libvirt/libvirt.h.in |  34 +++++++
 src/driver.h                 |  13 +++
 src/internal.h               |   5 +
 src/libvirt.c                | 179 +++++++++++++++++++++++++++++++++
 src/libvirt_public.syms      |   6 ++
 src/network/bridge_driver.c  | 232 +++++++++++++++++++++++++++++++++++++++++++
 src/remote/remote_driver.c   | 186 ++++++++++++++++++++++++++++++++++
 src/remote/remote_protocol.x |  51 +++++++++-
 src/remote_protocol-structs  |  38 +++++++
 src/rpc/gendispatch.pl       |   1 +
 tools/virsh-network.c        | 119 ++++++++++++++++++++++
 tools/virsh.pod              |   6 ++
 13 files changed, 1054 insertions(+), 1 deletion(-)

-- 
1.9.3




More information about the libvir-list mailing list