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-net
mailing list