1 Star 0 Fork 49

liyunqing_kl/lwip

forked from src-openEuler/lwip 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0110-adapt-lwip-2.2.0.patch 4.65 KB
一键复制 编辑 原始数据 按行查看 历史
jinag12 提交于 2024-02-06 10:45 . adapt lwip-2.2.0
From d0251f285bb997cdc0dc1e7ab28ba431bce9c544 Mon Sep 17 00:00:00 2001
From: jiangheng <[email protected]>
Date: Mon, 5 Feb 2024 19:56:58 +0800
Subject: [PATCH] adapt lwip 2.2.0
---
src/api/api_msg.c | 8 ++++----
src/api/sockets.c | 23 +++++++----------------
src/core/tcp.c | 4 ++--
src/core/tcp_out.c | 2 +-
src/include/lwipopts.h | 2 +-
5 files changed, 15 insertions(+), 24 deletions(-)
diff --git a/src/api/api_msg.c b/src/api/api_msg.c
index adfdd40..a0baaae 100644
--- a/src/api/api_msg.c
+++ b/src/api/api_msg.c
@@ -295,7 +295,7 @@ recv_udp(void *arg, struct udp_pcb *pcb, struct pbuf *p,
SYS_ARCH_INC(conn->recv_avail, len);
#endif /* LWIP_SO_RCVBUF */
#if GAZELLE_UDP_ENABLE
- do_lwip_add_recvlist(conn->socket);
+ do_lwip_add_recvlist(conn->callback_arg.socket);
#endif /* GAZELLE_UDP_ENABLE */
/* Register event with callback */
API_EVENT(conn, NETCONN_EVT_RCVPLUS, len);
@@ -357,7 +357,7 @@ recv_tcp(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err)
SYS_ARCH_INC(conn->recv_avail, len);
#endif /* LWIP_SO_RCVBUF */
#if GAZELLE_ENABLE
- do_lwip_add_recvlist(conn->socket);
+ do_lwip_add_recvlist(conn->callback_arg.socket);
#endif
/* Register event with callback */
API_EVENT(conn, NETCONN_EVT_RCVPLUS, len);
@@ -491,7 +491,7 @@ err_tcp(void *arg, err_t err)
/* use trypost to prevent deadlock */
sys_mbox_trypost(&conn->recvmbox, mbox_msg);
#if GAZELLE_ENABLE
- do_lwip_add_recvlist(conn->socket);
+ do_lwip_add_recvlist(conn->callback_arg.socket);
#endif
}
/* pass error message to acceptmbox to wake up pending accept */
diff --git a/src/api/sockets.c b/src/api/sockets.c
index e6868a1..923518c 100644
--- a/src/api/sockets.c
+++ b/src/api/sockets.c
@@ -848,7 +848,7 @@ lwip_accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags)
if (pcb == NULL || ret != 0) {
netconn_delete(newconn);
free_socket(nsock, 1);
- sock_set_errno(sock, ENOTCONN);
+ set_errno(ENOTCONN);
done_socket(sock);
return -1;
}
@@ -2840,7 +2840,7 @@ event_callback(struct netconn *conn, enum netconn_evt evt, u16_t len)
break;
case NETCONN_EVT_ERROR:
if ((conn->pending_err != ERR_OK) && (conn->pending_err != ERR_RST)) {
- LWIP_DEBUGF(GAZELLE_DEBUG_SERIOUS, ("event_callback: have errevent, err=%d, fd=%d\n", conn->pending_err, conn->socket));
+ LWIP_DEBUGF(GAZELLE_DEBUG_SERIOUS, ("event_callback: have errevent, err=%d, fd=%d\n", conn->pending_err, conn->callback_arg.socket));
}
sock->errevent = 1;
#if GAZELLE_ENABLE
@@ -4246,7 +4246,7 @@ lwip_fcntl(int s, int cmd, int val)
default:
LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_fcntl(%d, UNIMPL: %d, %d)\n", s, cmd, val));
#if GAZELLE_ENABLE
- sock_errno(sock, 0); /* not yet implemented, but we return 0 for compatilbe with app */
+ set_errno(0); /* not yet implemented, but we return 0 for compatilbe with app */
ret = 0;
#else
set_errno(ENOSYS); /* not yet implemented */
diff --git a/src/core/tcp.c b/src/core/tcp.c
index a9a6513..69f6953 100644
--- a/src/core/tcp.c
+++ b/src/core/tcp.c
@@ -258,7 +258,7 @@ tcp_free(struct tcp_pcb *pcb)
rte_ring_free(pcb->client_rx_ring);
rte_ring_free(pcb->client_tx_ring);
netconn = (struct netconn *)pcb->callback_arg;
- sock = get_socket(netconn->socket);
+ sock = get_socket(netconn->callback_arg.socket);
rte_memzone_free(sock->same_node_rx_ring->mz);
rte_memzone_free(sock->same_node_rx_ring_mz);
rte_memzone_free(sock->same_node_tx_ring->mz);
@@ -995,7 +995,7 @@ tcp_listen_with_backlog_and_err(struct tcp_pcb *pcb, u16_t backlog, err_t *err)
lpcb->next_same_port_pcb = NULL;
struct netconn* conn = pcb->callback_arg;
- lpcb->socket_fd = conn->socket;
+ lpcb->socket_fd = conn->callback_arg.socket;
lpcb->master_lpcb = conn->is_master_fd;
#endif
diff --git a/src/core/tcp_out.c b/src/core/tcp_out.c
index 70c4242..1632a66 100644
--- a/src/core/tcp_out.c
+++ b/src/core/tcp_out.c
@@ -2501,7 +2501,7 @@ tcp_rst(const struct tcp_pcb *pcb, u32_t seqno, u32_t ackno,
p = tcp_rst_common(pcb, seqno, ackno, local_ip, remote_ip, local_port, remote_port);
if (p != NULL) {
- tcp_output_control_segment(pcb, p, local_ip, remote_ip);
+ tcp_output_control_segment((struct tcp_pcb *)pcb, p, local_ip, remote_ip);
}
}
diff --git a/src/include/lwipopts.h b/src/include/lwipopts.h
index d54ff1e..28b8aca 100644
--- a/src/include/lwipopts.h
+++ b/src/include/lwipopts.h
@@ -107,7 +107,7 @@
#define LWIP_TIMERS 1
-#define TCP_SND_BUF (2500 * TCP_MSS)
+#define LWIP_TIMEVAL_PRIVATE 0
/*
------------------------------------------------
--
2.33.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/li_yunq/lwip.git
[email protected]:li_yunq/lwip.git
li_yunq
lwip
lwip
master

搜索帮助