On Sun, 2014-12-28 at 23:39 +0800, sskaje wrote: > in ip-lease.c > > static > int get_ipv6_lease(main_server_st* s, struct proc_st* proc) > { > ... > if (proc->config.ipv6_network && proc->config.ipv6_prefix) { > c_network = proc->config.ipv6_network; > c_netmask = ipv6_prefix_to_mask(proc, proc->config.ipv6_prefix); > } else { > c_network = s->config->network.ipv6; > // c_netmask = ipv6_prefix_to_mask(proc, proc->config.ipv6_prefix); > c_netmask = ipv6_prefix_to_mask(proc, s->config->network.ipv6_prefix); > } > > > int get_ip_leases(main_server_st *s, struct proc_st *proc) > { > ... > // if (proc->ipv6 && proc->ipv4->db) { > if (proc->ipv6 && proc->ipv6->db) { Thanks. I should add a test case with IPv6 to catch these issues. I've modified the code to work as David suggested, which as I see from various logs I found on the internet, it seems the correct thing to do. regards, Nikos