Hi,

On Thu, Apr 26, 2012 at 08:35:54PM +0300, Alon Bar-Lev wrote:
> At embedded system and several distros like Gentoo, the ipv6 should be
> made enable/disabled, just like any other project.
> It is the same #ifdef as we already have these in code.
> Even in 2012 kernels can be compiled without ipv6.

Enabling/disabling IPv6 for "just some piece of random code that can
open up network sockets" is easy, and usually not even worth the extra
lines of code ("just pass different options to getaddrinfo() and/or
bind()").

Given the nature of OpenVPN, and that almost everything in the code 
(except for the crypto stuff) is related to IP packets or IP addresses,
it's not that straightforward here.

Adding IPv6 to the OpenVPN code base touched well over 100 different
places of the code, and to really make it optional (to get the space
saving worth for an embedded system) you'd have to have #ifdef's at
all these places, in the config data structures, and so on - this is
lots of work, especially maintaining both code paths and testing all
this, with dubious benefits.  As I said, we got bitten by JJO's 
decision to make IPv6 transport conditonal, and decided to get *rid*
of those #ifdefs for the sake of "less code paths, less maintenance
effort".


I'm not sure you can find packages that have had working IPv6 support,
and then decided to make it conditional afterwards.  Usually IPv6 was
added at some point, and it was added conditionalized, because that 
package can also be compiled on older systems without IPv6 - since we
have the luxury of not supporting anything that has no tun/tap interface,
we have the same luxury of not having to bother with anything that has
no IPv6.  (Even if you compile the Linux kernel and glibc without IPv6,
the API stuff - getaddrinfo(), inet_ntop(), etc., will still be there,
because they are IP version agnostic - they will fail if you actually
try to *use* them for IPv6, but you can compile and run the same 
applications just fine).

gert

-- 
USENET is *not* the non-clickable part of WWW!
                                                           //www.muc.de/~gert/
Gert Doering - Munich, Germany                             g...@greenie.muc.de
fax: +49-89-35655025                        g...@net.informatik.tu-muenchen.de

Attachment: pgpFL9YQczs5r.pgp
Description: PGP signature

Reply via email to