Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jul 2008 10:31:10 +0200
From:      VANHULLEBUS Yvan <vanhu@FreeBSD.org>
To:        freebsd-net@freebsd.org
Subject:   Re:  FreeBSD NAT-T patch integration [CFR/CFT]
Message-ID:  <20080721083110.GA21786@zen.inc>
In-Reply-To: <487EC62A.3070301@freebsd.org>
References:  <20080630040103.94730.qmail@mailgate.gta.com> <486A45AB.2080609@freebsd.org> <487EC62A.3070301@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 16, 2008 at 09:10:18PM -0700, Sam Leffler wrote:
[...]
> Please test/review the following patch against HEAD:
> 
> http://people.freebsd.org/~sam/nat_t-20080616.patch

I have tested the RELENG7 version of the patch, and it works well.


But I noticed a misplaced #endif at the beginning of udp_ctloutput(),
which will generate problems if INET6 is not defined:

	 if (sopt->sopt_level != IPPROTO_UDP) {
#ifdef INET6
		if (INP_CHECK_SOCKAF(so, AF_INET6)) {
			INP_WUNLOCK(inp);
			error = ip6_ctloutput(so, sopt);
#endif
		} else {
		    INP_WUNLOCK(inp);
			error = ip_ctloutput(so, sopt);
#ifdef INET6
		}
#endif
		return (error);
	}


The code should be:


	 if (sopt->sopt_level != IPPROTO_UDP) {
#ifdef INET6
		if (INP_CHECK_SOCKAF(so, AF_INET6)) {
			INP_WUNLOCK(inp);
			error = ip6_ctloutput(so, sopt);
		} else {
#endif
		    INP_WUNLOCK(inp);
			error = ip_ctloutput(so, sopt);
#ifdef INET6
		}
#endif
		return (error);
	}




Yvan.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080721083110.GA21786>