Hello Nikos, > Indeed. I realized that in Linux there is black magic involved to set > an IPv6 address to a device. The same ioctl is used (SIOCSIFADDR) but > a different structure is passed (in6_ifreq) which isn't typically > defined. Moreover SIOCGIFADDR isn't able to read the IPv6 address. probably you or I should have a look at the OpenVPN code. Many years ago I added a few lines to OpenVPN to support IPv6 for FreeBSD, OpenBSD and NetBSD. :-) http://swupdate.openvpn.org/community/releases/openvpn-2.3.2.tar.gz > I think also that my assumption that a tun device allows for both an > IPv4 and IPv6 address isn't true. So indeed IPv6 support is broken and > requires quite some changes. You can set an IPv4 and IPv6 address to a device in Linux, I dod that on regular basis. I have multiple OpenVPN tun devices with the same: (infra) [~] ip a s dev r28 14: r28: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UNKNOWN qlen 100 link/none inet 10.255.254.1 peer 10.253.232.1/32 scope global r28 valid_lft forever preferred_lft forever inet6 fe80::1/64 scope link valid_lft forever preferred_lft forever For example this one. Cheers, Thomas