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 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 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 driver net-dhcp-leases: Add virsh support daemon/remote.c | 176 ++++++++++++++++++++++++++++++ include/libvirt/libvirt.h.in | 35 ++++++ src/Makefile.am | 21 ++++ src/driver.h | 13 +++ src/libvirt.c | 197 ++++++++++++++++++++++++++++++++++ src/libvirt_public.syms | 7 ++ src/network/bridge_driver.c | 248 +++++++++++++++++++++++++++++++++++++++++++ src/remote/remote_driver.c | 187 ++++++++++++++++++++++++++++++++ src/remote/remote_protocol.x | 54 +++++++++- src/remote_protocol-structs | 38 +++++++ src/rpc/gendispatch.pl | 1 + src/util/leaseshelper.c | 185 ++++++++++++++++++++++++++++++++ tools/virsh-network.c | 118 ++++++++++++++++++++ tools/virsh.pod | 6 ++ 14 files changed, 1285 insertions(+), 1 deletion(-) create mode 100644 src/util/leaseshelper.c -- 1.8.1.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list