mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-19 05:10:40 +00:00
SO_REUSEADDR / SO_REUSE is implemented and safe to use
This commit is contained in:
parent
d0348e0c60
commit
baeb41f5f4
@ -206,11 +206,6 @@
|
|||||||
#ifdef ETHARP_ALWAYS_INSERT
|
#ifdef ETHARP_ALWAYS_INSERT
|
||||||
#error "ETHARP_ALWAYS_INSERT option is deprecated. Remove it from your lwipopts.h."
|
#error "ETHARP_ALWAYS_INSERT option is deprecated. Remove it from your lwipopts.h."
|
||||||
#endif
|
#endif
|
||||||
#if SO_REUSE
|
|
||||||
/* I removed the lot since this was an ugly hack. It broke the raw-API.
|
|
||||||
It also came with many ugly goto's, Christiaan Simons. */
|
|
||||||
#error "SO_REUSE currently unavailable, this was a hack"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef LWIP_DEBUG
|
#ifdef LWIP_DEBUG
|
||||||
static void
|
static void
|
||||||
@ -237,6 +232,29 @@ lwip_sanity_check(void)
|
|||||||
if (TCP_WND < TCP_MSS)
|
if (TCP_WND < TCP_MSS)
|
||||||
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: TCP_WND is smaller than MSS\n"));
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: TCP_WND is smaller than MSS\n"));
|
||||||
#endif /* LWIP_TCP */
|
#endif /* LWIP_TCP */
|
||||||
|
#if LWIP_SOCKET
|
||||||
|
/* Check that the SO_* socket options and SOF_* lwIP-internal flags match */
|
||||||
|
if (SO_DEBUG != SOF_DEBUG)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_DEBUG != SOF_DEBUG\n"));
|
||||||
|
if (SO_ACCEPTCONN != SOF_ACCEPTCONN)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_ACCEPTCONN != SOF_ACCEPTCONN\n"));
|
||||||
|
if (SO_REUSEADDR != SOF_REUSEADDR)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_REUSEADDR != SOF_REUSEADDR\n"));
|
||||||
|
if (SO_KEEPALIVE != SOF_KEEPALIVE)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_KEEPALIVE != SOF_KEEPALIVE\n"));
|
||||||
|
if (SO_DONTROUTE != SOF_DONTROUTE)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_DONTROUTE != SOF_DONTROUTE\n"));
|
||||||
|
if (SO_BROADCAST != SOF_BROADCAST)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_BROADCAST != SOF_BROADCAST\n"));
|
||||||
|
/*if (SO_USELOOPBACK != SOF_USELOOPBACK)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_USELOOPBACK != SOF_USELOOPBACK\n"));*/
|
||||||
|
if (SO_LINGER != SOF_LINGER)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_LINGER != SOF_LINGER\n"));
|
||||||
|
if (SO_OOBINLINE != SOF_OOBINLINE)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_OOBINLINE != SOF_OOBINLINE\n"));
|
||||||
|
/*if (SO_REUSEPORT != SOF_REUSEPORT)
|
||||||
|
LWIP_PLATFORM_DIAG(("lwip_sanity_check: WARNING: SO_REUSEPORT != SOF_REUSEPORT\n"));*/
|
||||||
|
#endif /* LWIP_SOCKET */
|
||||||
}
|
}
|
||||||
#else /* LWIP_DEBUG */
|
#else /* LWIP_DEBUG */
|
||||||
#define lwip_sanity_check()
|
#define lwip_sanity_check()
|
||||||
|
@ -72,11 +72,11 @@ struct sockaddr {
|
|||||||
#define SOCK_RAW 3
|
#define SOCK_RAW 3
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Option flags per-socket. These must match the SOF_ flags in ip.h!
|
* Option flags per-socket. These must match the SOF_ flags in ip.h (checked in init.c)
|
||||||
*/
|
*/
|
||||||
#define SO_DEBUG 0x0001 /* Unimplemented: turn on debugging info recording */
|
#define SO_DEBUG 0x0001 /* Unimplemented: turn on debugging info recording */
|
||||||
#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */
|
#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */
|
||||||
#define SO_REUSEADDR 0x0004 /* Unimplemented: allow local address reuse */
|
#define SO_REUSEADDR 0x0004 /* Allow local address reuse */
|
||||||
#define SO_KEEPALIVE 0x0008 /* keep connections alive */
|
#define SO_KEEPALIVE 0x0008 /* keep connections alive */
|
||||||
#define SO_DONTROUTE 0x0010 /* Unimplemented: just use interface addresses */
|
#define SO_DONTROUTE 0x0010 /* Unimplemented: just use interface addresses */
|
||||||
#define SO_BROADCAST 0x0020 /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */
|
#define SO_BROADCAST 0x0020 /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */
|
||||||
|
Loading…
Reference in New Issue
Block a user