[Dnsmasq-discuss] dnsmasq leases file format specification
    Nicolas Cavallari 
    nicolas.cavallari at green-communications.fr
       
    Thu Jun  9 18:42:00 BST 2016
    
    
  
On 08/06/2016 21:56, Sergey Nechaev wrote:
> Hello, Simon  
> 
> Could you (or anyone) please provide description of leases file format?
> I’ve searched through this mail list, but failed to find full description.
The code that writes it is in lease_update_file() in src/lease.c.
The code that reads it is in lease_init().
A DHCPv4 lease entry consists of these fields separated by spaces:
- The expiration time (seconds since unix epoch) or duration
  (if dnsmasq is compiled with HAVE_BROKEN_RTC) of the lease.
  0 means infinite.
- The link address, in format XX-YY:YY:YY[...], where XX is the ARP
  hardware type.  "XX-" may be omitted for Ethernet.
- The IPv4 address
- The hostname (sent by the client or assigned by dnsmasq)
  or '*' for none.
- The client identifier (colon-separated hex bytes)
  or '*' for none.
A DHCPv6 lease entry has these fields:
- The expiration time or duration
- The IAID as a Big Endian decimal number, prefixed by T for
  IA_TAs (temporary addresses).
- The IPv6 address
- The hostname or '*'
- The client DUID (colon-separated hex bytes) or '*' if unknown.[1]
For DHCPv6, there must also be exactly one special entry indicating
the DUID of the server.  This line contains two fields:
- The string "duid".
- The DUID of the server.
[1] This field seems to be written but is never read back. A bug maybe ?
> We are preparing improvement to Openstack Neutron network subsystem,
> which enables releasing
> of unneeded DHCPv6 leases and description of leases file format is
> necessary for code review. 
Just pointing out that since dnsmasq 2.73, if you use dbus, you can
dynamically remove leases with just a D-Bus call:
dbus-send --system --print-reply \
  --dest=uk.org.thekelleys.dnsmasq \
  /uk/org/thekelleys/dnsmasq \
  uk.org.thekelleys.dnsmasq.DeleteDhcpLease \
  string:"$IPV4_OR_IPV6_ADDRESS"
    
    
More information about the Dnsmasq-discuss
mailing list