From 9d87ca0685fe878b1cfa0480610be1bee7738130 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 10 Aug 2016 21:09:24 +0200 Subject: [PATCH] BUILD: tcp: define SOL_TCP when only IPPROTO_TCP exists FreeBSD prefers to use IPPROTO_TCP over SOL_TCP, just like it does with their *_IP counterparts. It's worth noting that there are a few inconsistencies between SOL_TCP and IPPROTO_TCP in the code, eg on TCP_QUICKACK. The two values are the same but it's worth applying what implementations recommend. No backport is needed, this was uncovered by the recent tcp_info stuff. --- include/common/compat.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/common/compat.h b/include/common/compat.h index b2e16af7f..59bc6c7e9 100644 --- a/include/common/compat.h +++ b/include/common/compat.h @@ -29,6 +29,7 @@ #include #include #include +#include #ifndef BITS_PER_INT #define BITS_PER_INT (8*sizeof(int)) @@ -134,6 +135,11 @@ #define SOL_IP IPPROTO_IP #endif +/* same for SOL_TCP */ +#ifndef SOL_TCP +#define SOL_TCP IPPROTO_TCP +#endif + /* If IPv6 is supported, define IN6_IS_ADDR_V4MAPPED() if missing. */ #if defined(IPV6_TCLASS) && !defined(IN6_IS_ADDR_V4MAPPED) #define IN6_IS_ADDR_V4MAPPED(a) \