I tried the latest commits, IPv6 address is successfully assigned to clients, but not the route. If no route is set, a 0:0:0:0:0:0:0:0/128 can be found in anyconnect, if any route like route = 2001::/16, connection fails. sskaje at gmail.com https://sskaje.me/ On Mon, Dec 29, 2014 at 5:49 PM, Nikos Mavrogiannopoulos <nmav at gnutls.org> wrote: > 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 > >