[TCPIP] Synchronize LWIP code to 2.2.0

- take code from STABLE-2_2_0_RELEASE commit on https://git.savannah.gnu.org/git/lwip.git
- remove lwip/contrib directory
- do required changes due to upgrade in
  * CMakeLists.txt
  * include/lwip/arch/cc.h
  * include/lwip/arch/sys_arch.h
  * include/lwip/lwipopts.h
  * include/tcpip.h
  * ip/CMakeLists.txt
  * ip/lwip_glue/lwip_glue.h
  * ip/lwip_glue/tcp.c
  * ip/transport/tcp/if.c
  * tcpip/icmp.c

CORE-13098
This commit is contained in:
Hervé Poussineau 2024-04-20 20:26:04 +02:00
parent bc94df7288
commit d6eebaa47a
449 changed files with 132870 additions and 38788 deletions

View file

@ -32,6 +32,7 @@ list(APPEND SOURCE
add_library(ip OBJECT ${SOURCE} ${ip_asm})
target_link_libraries(ip lwipcore)
add_importlibs(lwipcore ntoskrnl)
target_include_directories(ip BEFORE
PRIVATE ${LWIP_INCLUDE_DIRS}

View file

@ -13,7 +13,6 @@
#endif
typedef struct tcp_pcb* PTCP_PCB;
typedef struct ip_addr ip4_addr_t;
typedef struct _QUEUE_ENTRY
{

View file

@ -36,7 +36,7 @@ void
LibTCPDumpPcb(PVOID SocketContext)
{
struct tcp_pcb *pcb = (struct tcp_pcb*)SocketContext;
unsigned int addr = ntohl(pcb->remote_ip.addr);
unsigned int addr = lwip_ntohl(pcb->remote_ip.addr);
DbgPrint("\tState: %s\n", tcp_state_str[pcb->state]);
DbgPrint("\tRemote: (%d.%d.%d.%d, %d)\n",
@ -405,7 +405,7 @@ LibTCPBindCallback(void *arg)
msg->Output.Bind.Error = tcp_bind(pcb,
msg->Input.Bind.IpAddress,
ntohs(msg->Input.Bind.Port));
lwip_ntohs(msg->Input.Bind.Port));
done:
KeSetEvent(&msg->Event, IO_NO_INCREMENT, FALSE);
@ -609,7 +609,7 @@ LibTCPConnectCallback(void *arg)
tcp_sent((PTCP_PCB)msg->Input.Connect.Connection->SocketContext, InternalSendEventHandler);
Error = tcp_connect((PTCP_PCB)msg->Input.Connect.Connection->SocketContext,
msg->Input.Connect.IpAddress, ntohs(msg->Input.Connect.Port),
msg->Input.Connect.IpAddress, lwip_ntohs(msg->Input.Connect.Port),
InternalConnectEventHandler);
msg->Output.Connect.Error = Error == ERR_OK ? ERR_INPROGRESS : Error;

View file

@ -9,7 +9,7 @@
#include <ipifcons.h>
err_t
TCPSendDataCallback(struct netif *netif, struct pbuf *p, ip4_addr_t *dest)
TCPSendDataCallback(struct netif *netif, struct pbuf *p, const ip4_addr_t *dest)
{
NDIS_STATUS NdisStatus;
PNEIGHBOR_CACHE_ENTRY NCE;