Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/DeviceInterfaces/System.Net/sys_net_native.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ static const CLR_RT_MethodHandler method_lookup[] =
NULL,
NULL,
NULL,
NULL,
Library_sys_net_native_System_Security_Cryptography_X509Certificates_X509Certificate::ParseCertificate___STATIC__VOID__SZARRAY_U1__BYREF_STRING__BYREF_STRING__BYREF_SystemDateTime__BYREF_SystemDateTime,
NULL,
NULL,
Expand Down Expand Up @@ -345,9 +346,9 @@ static const CLR_RT_MethodHandler method_lookup[] =
const CLR_RT_NativeAssemblyData g_CLR_AssemblyNative_System_Net =
{
"System.Net",
0xD82C1452,
0x6DFA71D6,
method_lookup,
{ 100, 2, 0, 11 }
{ 100, 2, 0, 12 }
};

// clang-format on
4 changes: 1 addition & 3 deletions src/DeviceInterfaces/System.Net/sys_net_native.h
Original file line number Diff line number Diff line change
Expand Up @@ -333,9 +333,7 @@ struct Library_sys_net_native_System_Net_Sockets_Socket
static const int FIELD__m_recvTimeout = 4;
static const int FIELD__m_sendTimeout = 5;
static const int FIELD___socketType = 6;
static const int FIELD___nonBlockingConnectInProgress = 7;
static const int FIELD___nonBlockingConnectRightEndPoint = 8;
static const int FIELD___rightEndPoint = 9;
static const int FIELD___rightEndPoint = 7;

//--//
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -864,6 +864,11 @@ HRESULT Library_sys_net_native_System_Net_Sockets_NativeSocket::SendRecvHelper(
break;
}

// yield to the CLR scheduler to prevent a tight loop when select reports ready
// but the actual send/recv returns EWOULDBLOCK (race with lwIP stack)
NANOCLR_CHECK_HRESULT(
g_CLR_RT_ExecutionEngine.WaitEvents(stack.m_owningThread, *timeout, Event_Socket, fRes));

continue;
}
// zero recv bytes indicates the handle has been closed.
Expand Down
2 changes: 1 addition & 1 deletion src/PAL/Lwip/lwIP_Sockets.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1820,7 +1820,7 @@ int LWIP_SOCKETS_Driver::GetNativeError(int error)
break;

case ENOTCONN:
ret = SOCK_EISCONN;
ret = SOCK_ENOTCONN;
break;

#if !defined(__GNUC__) // same as ENOTSOCK for GCC
Expand Down
7 changes: 7 additions & 0 deletions targets/ChibiOS/_include/lwipopts.h
Original file line number Diff line number Diff line change
Expand Up @@ -485,6 +485,13 @@
#define TCP_MSS 1480
#endif

/**
* TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments.
*/
#ifndef TCP_SYNMAXRTX
#define TCP_SYNMAXRTX 4
#endif

/**
* TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb.
*/
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4
Comment thread
josesimoes marked this conversation as resolved.

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default.esp32c3
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=4
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default.esp32c5
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ CONFIG_LWIP_DHCP_OPTIONS_LEN=80
CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default.esp32c6
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ CONFIG_LWIP_DHCP_OPTIONS_LEN=80
CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default.esp32h2
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ CONFIG_LWIP_MAX_SOCKETS=16
CONFIG_LWIP_SO_LINGER=y
CONFIG_LWIP_SO_RCVBUF=y
CONFIG_LWIP_DHCP_OPTIONS_LEN=80
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_LITTLEFS_MAX_PARTITIONS=1
CONFIG_LITTLEFS_OBJ_NAME_LEN=256
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default.esp32p4
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ CONFIG_LWIP_DHCP_OPTIONS_LEN=80
CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default.esp32s2
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default.esp32s3
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_ble.esp32s3
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_ble_rev3.esp32
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ CONFIG_LWIP_MAX_ACTIVE_TCP=10
CONFIG_LWIP_MAX_LISTENING_TCP=5
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_NETIF_LOOPBACK=n
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_nopsram.esp32
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_nopsram_ble.esp32
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_nopsram_rev3.esp32
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_NETIF_LOOPBACK=n
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_octal_ble.esp32s3
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_pico
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_rev3.esp32
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_NETIF_LOOPBACK=n
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_rev3.esp32c3
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
1 change: 1 addition & 0 deletions targets/ESP32/_IDF/sdkconfig.default_rev3_ipv6.esp32
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=y
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ CONFIG_LWIP_DHCPS=n
CONFIG_LWIP_IPV6=n
CONFIG_LWIP_MAX_LISTENING_TCP=8
CONFIG_LWIP_SNTP_MAX_SERVERS=2
CONFIG_LWIP_TCP_SYNMAXRTX=4

CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH=y
Expand Down
7 changes: 7 additions & 0 deletions targets/FreeRTOS/_common/include/lwipopts.h
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,13 @@
#define TCP_MSS (1500 - 40) /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) */
#endif

/**
* TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments.
*/
#ifndef TCP_SYNMAXRTX
#define TCP_SYNMAXRTX 4
#endif

/**
* TCP_SND_BUF: TCP sender buffer space (bytes).
* To achieve good performance, this should be at least 2 * TCP_MSS.
Expand Down