[Openvpn-devel,0/5] Allow IPv6-only tunnels

Message ID 20180605090421.9746-1-a@unstable.cc
Headers show


Antonio Quartulli June 4, 2018, 11:04 p.m. UTC
This patchset allows clients and servers to work with a
tunnel configured with IPv6 only.

Patches 2 and 3 are mere cosmetic changes and could be merged
regardless of the rest (note that 3 depends on 2).

With this change a server can be configured by using only the
'--server-ipv6' directive.
This will result in clients receiving only 'ifconfig-ipv6'
setting in their push-reply (and no IPv4 at all).

Given that different components required changes in order
to achieve this goal, the patchset has been organized as follows:
- patch 1 alters the tun logic (client & server side)
- patch 4 alters the ifconfig-pool logic (server side)
- patch 5 alters the server config logic (server side)

Although I have tested the patchset with different configurations
and with our buildbots, such change would definitely benefit
from a broader testing campaign (even before being merged).


Trac: #208

Antonio Quartulli (5):
  tun: ensure interface can be configured with IPv6 only
  pool: restyle ipv4/ipv6 members to improve readability
  pool: convert pool 'type' to enum
  pool: allow to configure an IPv6-only ifconfig-pool
  make server capable of starting with an IPv6-only tunnel

 src/openvpn/helper.c |   8 +-
 src/openvpn/multi.c  |  10 +-
 src/openvpn/pool.c   | 179 ++++++++++++++--------
 src/openvpn/pool.h   |  31 ++--
 src/openvpn/tun.c    | 357 +++++++++++++++++++------------------------
 5 files changed, 308 insertions(+), 277 deletions(-)