[OpenVPN home] [Date Prev] [Date Index] [Date Next]
[OpenVPN mailing lists] [Thread Prev] [Thread Index] [Thread Next]
Web openvpn.net

Re: [Openvpn-users] Need IPv6 code in mroute_extract_addr_from_packet

  • Subject: Re: [Openvpn-users] Need IPv6 code in mroute_extract_addr_from_packet
  • From: James Yonan <jim@xxxxxxxxx>
  • Date: Fri, 10 Sep 2004 09:55:20 -0600 (MDT)

On Fri, 10 Sep 2004, Thomas Glanzmann wrote:

> Hello James,
> * James Yonan <jim@xxxxxxxxx> [040708 18:41]:
> > Right now, the new server mode in 2.0 doesn't support IPv6 tunnels
> > yet, though point-to-point tunnels do.
> Is this statement still valid? If so, I am going to implement the
> routing code in openvpn, it shouldn't be that hard (I hope).
> Is there already an interface available to tell that this 'cn' has this
> 'ip' (for ipv4 and/or ipv6)?


The first step towards getting server mode IPv6 tunnels working will be to 
patch mroute.[ch], specifically the functions which operate on struct 
mroute_addr.  This should be more straightforward because struct 
mroute_addr is already designed to handle multiple address types, i.e. 
IPv4 and Ethernet MAC.

The more difficult aspect will be in dealing with the many areas of the 
code where IPv4 addresses are manipulated via the in_addr_t type.  This 
includes a lot of code which deals with OS-level IPv4 routing and the 
--ifconfig-pool handling.

The design choice will be to look at code like route.c and decide whether 
it is possible to cleanly hide IPv4/IPv6 inside a low-level address object 
and then have essentially the same code deal with both, or keep the 
IPv4/IPv6 code segregated within separate source files such as 
socket.c/socket6.c, route.c/route6.c.


Openvpn-users mailing list