From: JuanJo Ciarlante Date: Thu, 17 Sep 2009 21:46:01 +0000 (+0200) Subject: * added README.ipv6.txt X-Git-Tag: v2.3-alpha1~240^2~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=387df51180cf9139abfbc33b141fd395a58633b5;p=thirdparty%2Fopenvpn.git * added README.ipv6.txt --- diff --git a/README.ipv6.txt b/README.ipv6.txt new file mode 100644 index 000000000..0d4c462fc --- /dev/null +++ b/README.ipv6.txt @@ -0,0 +1,67 @@ +[ Last updated: 17-Sep-2009. ] +This README covers UDP/IPv6 v0.4.x ( --udp6 and --tcp6-xxxxxx ) support +for openvpn-2.1. + +Available under GPLv2 from + http://github.com/jjo/openvpn-ipv6 + +* Working: + - tcp6->tcp6; tested on GNU/Linux + - upd6->upd6; tested on GNU/Linux + - upd4->upd6 (ipv6 bound) + +* Setup: + ./configure --enable-ipv6 (by default) + +* Usage: + For IPv6 just specify "-p upd6" an proper IPv6 hostnames, adapting the example + from man page ... + + On may: + openvpn --proto udp6 --remote --dev tun1 \ + --ifconfig 10.4.0.1 10.4.0.2 --verb 5 --secret key + + On june: + openvpn --proto udp6 --remote --dev tun1 \ + --ifconfig 10.4.0.2 10.4.0.1 --verb 5 --secret key + + Same for --proto tcp6-client, tcp6-server. + +* Main code changes summary: + - socket.h: New struct openvpn_sockaddr type that holds sockaddrs and pktinfo, + (here I omitted #ifdef USE_PF_xxxx, see socket.h ) + + struct openvpn_sockaddr { + union { + struct sockaddr sa; + struct sockaddr_in in; + struct sockaddr_in6 in6; + } addr; + }; + + struct link_socket_addr + { + struct openvpn_sockaddr local; + struct openvpn_sockaddr remote; + struct openvpn_sockaddr actual; + }; + + PRO: allows simple type overloading: local.addr.sa, local.addr.in, local.addr.in6 ... etc + (also local.pi.in and local.pi.in6) + + - several function prototypes moved from sockaddr_in to openvpn_sockaddr + - several new sockaddr functions needed to "generalize" AF_xxxx operations: + addr_copy(), addr_zero(), ...etc + proto_is_udp(), proto_is_dgram(), proto_is_net() + +* TODO: + - Implement comparison for mapped addesses: server in dual stack + listening IPv6 must permit incoming streams from allowed IPv4 peer, + currently you need to pass eg: --remote ffff::1.2.3.4 + +-- +JuanJo Ciarlante jjo () google () com +: : +. Linux IP Aliasing author . +. Modular algo (AES et all) support for FreeSWAN/OpenSWAN author . +:... plus other scattered free software bits in the wild ...: