tcp hostcache and ip fastforward for review

Andre Oppermann oppermann at pipeline.ch
Tue Nov 11 09:06:11 PST 2003


Hajimu UMEMOTO wrote:
> 
> Hi,
> 
> >>>>> On Sun, 09 Nov 2003 17:19:07 +0100
> >>>>> Andre Oppermann <oppermann at pipeline.ch> said:
> 
> oppermann> The patch is here (relative to -CURRENT as of 2003-11-09):
> oppermann>  http://www.nrg4u.com/freebsd/tcphostcache+ipfastforward-20031109.patch
> 
> The patch cannot be compiled:
> 
> cc -c -O -pipe -march=pentium3 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -fformat-extensions -std=c99 -g -nostdinc -I-  -I. -I/usr/home/ume/cvs/freefall/current/src/sys -I/usr/home/ume/cvs/freefall/current/src/sys/contrib/dev/acpica -I/usr/home/ume/cvs/freefall/current/src/sys/contrib/ipfilter -I/usr/home/ume/cvs/freefall/current/src/sys/contrib/dev/ath -I/usr/home/ume/cvs/freefall/current/src/sys/contrib/dev/ath/freebsd -I/usr/home/ume/cvs/freefall/current/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common -finline-limit=15000 -fno-strict-aliasing  -mno-align-long-strings -mpreferred-stack-boundary=2 -ffreestanding -Werror  /usr/home/ume/cvs/freefall/current/src/sys/netinet/ip_input.c
> /usr/home/ume/cvs/freefall/current/src/sys/netinet/ip_input.c: In function `ip_forward':
> /usr/home/ume/cvs/freefall/current/src/sys/netinet/ip_input.c:1960: warning: implicit declaration of function `ipsec_getpolicybyaddr'
> /usr/home/ume/cvs/freefall/current/src/sys/netinet/ip_input.c:1963: warning: assignment makes pointer from integer without a cast
> *** Error code 1
> 
> There is no ipsec_getpolicybyaddr() for IPSEC.  And, #ifdef is
> slightly complex.

I've applied you fix. This was an oversight by me when collapsing
the two IPSEC and FAST_IPSEC ifdef's.

However there is a problem in netkey/key.c with the static variable
ipsec_esp_auth which is unused if IPSEC_ESP is not defined.

-- 
Andre


> I don't tested it actually, yet.
> 
> --- sys/netinet/ip_input.c.orig Wed Nov 12 00:08:42 2003
> +++ sys/netinet/ip_input.c      Wed Nov 12 00:18:50 2003
> @@ -1957,10 +1957,17 @@
>                         int ipsechdr;
>                         struct route *ro;
> 
> +#ifdef IPSEC
> +                       sp = ipsec4_getpolicybyaddr(mcopy,
> +                                                   IPSEC_DIR_OUTBOUND,
> +                                                   IP_FORWARDING,
> +                                                   &ipsecerror);
> +#else
>                         sp = ipsec_getpolicybyaddr(mcopy,
>                                                    IPSEC_DIR_OUTBOUND,
>                                                    IP_FORWARDING,
>                                                    &ipsecerror);
> +#endif
> 
>                         if (sp != NULL) {
>                                 /* count IPsec header size */
> @@ -1995,13 +2002,11 @@
>  #else
>                                 KEY_FREESP(&sp);
>  #endif
> -                               ipstat.ips_cantfrag++;
> -                               break;
> -                       } else
> -#endif /*IPSEC || FAST_IPSEC*/
> -               destifp = ia->ia_ifp;
> -#if defined(IPSEC) || defined(FAST_IPSEC)
> +                       } else
> +                               destifp = ia->ia_ifp;
>                 }
> +#else
> +               destifp = ia->ia_ifp;
>  #endif /*IPSEC || FAST_IPSEC*/
>                 ipstat.ips_cantfrag++;
>                 break;
> 
> Sincerely,
> 
> --
> Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
> ume at mahoroba.org  ume at bisd.hitachi.co.jp  ume@{,jp.}FreeBSD.org
> http://www.imasy.org/~ume/


More information about the freebsd-current mailing list