[PATCH] Properly handle Linux TCP socket options

Alexander Leidinger Alexander at Leidinger.net
Mon Jan 21 19:57:09 UTC 2013

On Sat, 19 Jan 2013 11:26:13 -0500 John Baldwin <jhb at freebsd.org> wrote:

> The current setsockopt() wrapper for the Linux ABI claims that Linux
> and FreeBSD use the same values for TCP socket options.  This is true
> for TCP_NODELAY and TCP_MAXSEG but not for any other options.  This
> patch adds a mapping routine for TCP options similar to that used for
> other socket option levels.  I believe this mapping to be correct in
> terms of which FreeBSD options have the same semantics as Linux
> options based on comparing code in the two kernels, but I'm not 100%
> certain about TCP_MD5SIG since the Linux code that it maps to is not
> as clear (it calls some function pointer and it is not clear if it is
> accepting a simple boolean value similar to FreeBSD's).

What about a message for unknown options?

> Also, almost all of the socket stuff in the linux.h headers appears
> to be identical and at least some of it are in MI headers in Linux
> (such as the TCP options).  It seems to me that a lot of that should
> move into linux_socket.h instead.

Yes, at least for the newly added ones (I haven't looked at the other


http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137

More information about the freebsd-emulation mailing list