"James E. Flemer" wrote:
> The commit message for src/sys/netipsec/ipsec.c r1.1
> mentions that FAST_IPSEC and INET6 should not be used
> together.  As far as I can tell from the commit log,
> nothing has changed that would negate that recommendation
> since the import.  However, when compiling a -current (as
> of today) kernel with FAST_IPSEC and without INET6, there
> is some breakage (with -Werror).
> 
> The prototype and definition of ipsec6_setspidx_in6pcb()
> are within #ifdef INET6 blocks (line 187 & 491), but the
> function is used on line 292, regardless of INET6.
> 
> I'm not familiar enough with this code to offer up a patch.

The IPSEC code came in with the KAME (IPv6) code in the first
place, so it's not surprising that a lot of stuff that works
easily in the presence of IPv6 doesn't work nearly so well
without it.  I don't know if this is an oversight, or it's an
intentional advocacy of making IPv6 part of all standard
distributions.  8-).

The easy thing to do is to include IPv6, if you need certain
IPSEC features, even if you're not going to use IPv6.

FWIW, there's also a penalty to every IPv4 connection when a
kernel contains IPSEC, and that penalty isn't there when you
use IPSEC with IPv6, instead: even if you are not going to
use it, a context structure for IPSEC has to be carried around
on every IPv4 connection.  I noticed this when IPv6 first came
in, and again, when the allocation of the context structure
ran me short of connection memory, at one point.  Very annoying.

If you can't live with this sort of thing, you'll have to dive
into IPSEC internals a little more than humans should have to
tolerate.  Sorry.  8-(.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to