From 72ae624a9f060928716da9758c1e64a7ba076fa1 Mon Sep 17 00:00:00 2001 From: hantwofish Date: Thu, 7 Dec 2023 14:00:19 +0800 Subject: [PATCH] add fd info and mod lwip log info --- 0090-add-fd-info-and-mod-lwip-log-info.patch | 86 ++++++++++++++++++++ lwip.spec | 6 +- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 0090-add-fd-info-and-mod-lwip-log-info.patch diff --git a/0090-add-fd-info-and-mod-lwip-log-info.patch b/0090-add-fd-info-and-mod-lwip-log-info.patch new file mode 100644 index 0000000..33ad4cc --- /dev/null +++ b/0090-add-fd-info-and-mod-lwip-log-info.patch @@ -0,0 +1,86 @@ +From 7ce5e73143122cfb44ab5deb3cc81a517b89fc9e Mon Sep 17 00:00:00 2001 +From: hantwofish +Date: Thu, 7 Dec 2023 13:36:52 +0800 +Subject: [PATCH] add fd info and mod lwip log info + +--- + src/api/sockets.c | 2 +- + src/core/tcp_in.c | 21 +++++++++++---------- + 2 files changed, 12 insertions(+), 11 deletions(-) + +diff --git a/src/api/sockets.c b/src/api/sockets.c +index 65c69d4..d488b5b 100644 +--- a/src/api/sockets.c ++++ b/src/api/sockets.c +@@ -2797,7 +2797,7 @@ event_callback(struct netconn *conn, enum netconn_evt evt, u16_t len) + #endif + break; + case NETCONN_EVT_ERROR: +- LWIP_DEBUGF(GAZELLE_DEBUG_SERIOUS, ("event_callback: have errevent, err=%d\n", conn->pending_err)); ++ LWIP_DEBUGF(GAZELLE_DEBUG_SERIOUS, ("event_callback: have errevent, err=%d, fd=%d\n", conn->pending_err, conn->socket)); + sock->errevent = 1; + #if GAZELLE_ENABLE + if (netif_is_rtc_mode(netif_default)) { +diff --git a/src/core/tcp_in.c b/src/core/tcp_in.c +index 8ed91b5..c80e5bf 100644 +--- a/src/core/tcp_in.c ++++ b/src/core/tcp_in.c +@@ -688,8 +688,9 @@ aborted: + TCP_STATS_INC(tcp.proterr); + TCP_STATS_INC(tcp.drop); + LWIP_DEBUGF(TCP_RST_DEBUG | GAZELLE_DEBUG_SERIOUS, +- ("tcp_input: no PCB match found, send RST, dest port=%d, src port=%d\n", +- lwip_ntohs(tcphdr->dest), lwip_ntohs(tcphdr->src))); ++ ("tcp_input: no PCB match found, send RST, local_port=%d, remote_port=%d\n", ++ lwip_ntohs(tcphdr->src), lwip_ntohs(tcphdr->dest))); ++ + tcp_rst(NULL, ackno, seqno + tcplen, ip_current_dest_addr(), + ip_current_src_addr(), tcphdr->dest, tcphdr->src); + } +@@ -765,8 +766,8 @@ tcp_listen_input(struct tcp_pcb_listen *pcb) + /* For incoming segments with the ACK flag set, respond with a + RST. */ + LWIP_DEBUGF(TCP_RST_DEBUG | GAZELLE_DEBUG_SERIOUS, +- ("tcp_listen_input: ACK in LISTEN, send reset, dest port=%d, src port=%d\n", +- lwip_ntohs(tcphdr->dest), lwip_ntohs(tcphdr->src))); ++ ("tcp_listen_input: ACK in LISTEN, send reset, local_port=%d, remote_port=%d\n", ++ lwip_ntohs(tcphdr->src), lwip_ntohs(tcphdr->dest))); + tcp_rst((const struct tcp_pcb *)pcb, ackno, seqno + tcplen, ip_current_dest_addr(), + ip_current_src_addr(), tcphdr->dest, tcphdr->src); + } else if (flags & TCP_SYN) { +@@ -902,8 +903,8 @@ tcp_timewait_input(struct tcp_pcb *pcb) + if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt + pcb->rcv_wnd)) { + /* If the SYN is in the window it is an error, send a reset */ + LWIP_DEBUGF(GAZELLE_DEBUG_SERIOUS, +- ("tcp_timewait_input: SYN in TIME_WAIT, send RST, dest port=%d, src port=%d\n", +- lwip_ntohs(tcphdr->dest), lwip_ntohs(tcphdr->src))); ++ ("tcp_timewait_input: SYN in TIME_WAIT, send RST, local_port=%d, remote_port=%d\n", ++ lwip_ntohs(tcphdr->src), lwip_ntohs(tcphdr->dest))); + tcp_rst(pcb, ackno, seqno + tcplen, ip_current_dest_addr(), + ip_current_src_addr(), tcphdr->dest, tcphdr->src); + return; +@@ -1072,8 +1073,8 @@ tcp_process(struct tcp_pcb *pcb) + /* received ACK? possibly a half-open connection */ + else if (flags & TCP_ACK) { + /* send a RST to bring the other side in a non-synchronized state. */ +- LWIP_DEBUGF(GAZELLE_DEBUG_SERIOUS, ("tcp_process: ACK in SYN_SENT, send RST, dest port=%d, src port=%d\n", +- lwip_ntohs(tcphdr->dest), lwip_ntohs(tcphdr->src))); ++ LWIP_DEBUGF(GAZELLE_DEBUG_SERIOUS, ("tcp_process: ACK in SYN_SENT, send RST, local_port=%d, remote_port=%d\n", ++ lwip_ntohs(tcphdr->src), lwip_ntohs(tcphdr->dest))); + tcp_rst(pcb, ackno, seqno + tcplen, ip_current_dest_addr(), + ip_current_src_addr(), tcphdr->dest, tcphdr->src); + /* Resend SYN immediately (don't wait for rto timeout) to establish +@@ -1145,8 +1146,8 @@ tcp_process(struct tcp_pcb *pcb) + } else { + /* incorrect ACK number, send RST */ + LWIP_DEBUGF(GAZELLE_DEBUG_SERIOUS, +- ("tcp_process: incorrect ACK number in SYN_RCVD, send RST, ackno=%d, lastack=%d, snd_nxt=%d, dest port=%d, src port=%d\n", +- ackno, pcb->lastack, pcb->snd_nxt, lwip_ntohs(tcphdr->dest), lwip_ntohs(tcphdr->src))); ++ ("tcp_process: incorrect ACK number in SYN_RCVD, send RST, ackno=%d, lastack=%d, snd_nxt=%d, local_port=%d, remote_port=%d\n", ++ ackno, pcb->lastack, pcb->snd_nxt, lwip_ntohs(tcphdr->src), lwip_ntohs(tcphdr->dest))); + tcp_rst(pcb, ackno, seqno + tcplen, ip_current_dest_addr(), + ip_current_src_addr(), tcphdr->dest, tcphdr->src); + } +-- +2.33.0 + diff --git a/lwip.spec b/lwip.spec index abd39e6..d98e60d 100644 --- a/lwip.spec +++ b/lwip.spec @@ -4,7 +4,7 @@ Summary: lwip is a small independent implementation of the TCP/IP protocol suite Name: lwip Version: 2.1.3 -Release: 92 +Release: 93 License: BSD URL: http://savannah.nongnu.org/projects/lwip/ Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.zip @@ -103,6 +103,7 @@ Patch9085: 0086-log-add-errevent-log-and-tcp-exception-statistics.patch Patch9086: 0087-support-vlan-offload.patch Patch9087: 0088-modify-log-info-err.patch Patch9088: 0089-add-struct-gz-addr.patch +Patch9089: 0090-add-fd-info-and-mod-lwip-log-info.patch BuildRequires: gcc-c++ dos2unix dpdk-devel @@ -133,6 +134,9 @@ cd %{_builddir}/%{name}-%{version}/src %{_libdir}/liblwip.a %changelog +* Thu, 7 Dec 2023 hankangkang - 2.1.3-93 +- add fd info and mod lwip log info + * Wed Dec 6 2023 zhengjiebing - 2.1.3-92 - add struct gz_addr_t -- Gitee