diff --git a/0166-set-log-level-when-process-igmp-packet-fail.patch b/0166-set-log-level-when-process-igmp-packet-fail.patch new file mode 100644 index 0000000000000000000000000000000000000000..ac6eb238ec0bfcee9cccb14d9d3042ef6f15314e --- /dev/null +++ b/0166-set-log-level-when-process-igmp-packet-fail.patch @@ -0,0 +1,95 @@ +From 3208d0d2a920ed5376080a5c236721e2ef716aa6 Mon Sep 17 00:00:00 2001 +From: zerich +Date: Fri, 27 Sep 2024 04:44:44 +0800 +Subject: [PATCH] set log level when process igmp packet fail + +--- + src/core/ipv4/igmp.c | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/src/core/ipv4/igmp.c b/src/core/ipv4/igmp.c +index af298be..82869eb 100644 +--- a/src/core/ipv4/igmp.c ++++ b/src/core/ipv4/igmp.c +@@ -94,6 +94,7 @@ Steve Reynolds + #include "lwip/stats.h" + #include "lwip/prot/igmp.h" + #include "lwip/sockets.h" ++#include "lwipopts.h" + + #include + +@@ -367,7 +368,7 @@ igmp_input(struct pbuf *p, struct netif *inp, const ip4_addr_t *dest) + if (p->len < IGMP_MINLEN) { + pbuf_free(p); + IGMP_STATS_INC(igmp.lenerr); +- LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: length error\n")); ++ LWIP_DEBUGF(IGMP_DEBUG | GAZELLE_DEBUG_SERIOUS, ("igmp_input: length error\n")); + return; + } + +@@ -382,7 +383,7 @@ igmp_input(struct pbuf *p, struct netif *inp, const ip4_addr_t *dest) + if (inet_chksum(igmp, p->len)) { + pbuf_free(p); + IGMP_STATS_INC(igmp.chkerr); +- LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: checksum error\n")); ++ LWIP_DEBUGF(IGMP_DEBUG | GAZELLE_DEBUG_SERIOUS, ("igmp_input: checksum error\n")); + return; + } + +@@ -393,7 +394,7 @@ igmp_input(struct pbuf *p, struct netif *inp, const ip4_addr_t *dest) + if (!group) { + pbuf_free(p); + IGMP_STATS_INC(igmp.drop); +- LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: IGMP frame not for us\n")); ++ LWIP_DEBUGF(IGMP_DEBUG | GAZELLE_DEBUG_WARNING, ("igmp_input: IGMP frame not for us\n")); + return; + } + +@@ -425,7 +426,7 @@ igmp_input(struct pbuf *p, struct netif *inp, const ip4_addr_t *dest) + /* packet len error */ + pbuf_free(p); + IGMP_STATS_INC(igmp.lenerr); +- LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: length error\n")); ++ LWIP_DEBUGF(IGMP_DEBUG | GAZELLE_DEBUG_SERIOUS, ("igmp_input: length error\n")); + return; + } + +@@ -435,7 +436,7 @@ igmp_input(struct pbuf *p, struct netif *inp, const ip4_addr_t *dest) + if (src_buf == NULL) { + pbuf_free(p); + IGMP_STATS_INC(igmp.memerr); +- LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: not enough memory for igmp_input\n")); ++ LWIP_DEBUGF(IGMP_DEBUG | GAZELLE_DEBUG_SERIOUS, ("igmp_input: not enough memory for igmp_input\n")); + return; + } + need_free = 1; +@@ -473,7 +474,7 @@ igmp_input(struct pbuf *p, struct netif *inp, const ip4_addr_t *dest) + + if (igmp->igmp_maxresp == 0) { + IGMP_STATS_INC(igmp.rx_v1); +- LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: got an all hosts query with time== 0 - this is V1 and not implemented - treat as v2\n")); ++ LWIP_DEBUGF(IGMP_DEBUG | GAZELLE_DEBUG_WARNING, ("igmp_input: got an all hosts query with time== 0 - this is V1 and not implemented - treat as v2\n")); + igmp->igmp_maxresp = IGMP_V1_DELAYING_MEMBER_TMR; + } else { + IGMP_STATS_INC(igmp.rx_general); +@@ -528,7 +529,7 @@ igmp_input(struct pbuf *p, struct netif *inp, const ip4_addr_t *dest) + } + break; + default: +- LWIP_DEBUGF(IGMP_DEBUG, ("igmp_input: unexpected msg %d in state %d on group %p on if %p\n", ++ LWIP_DEBUGF(IGMP_DEBUG | GAZELLE_DEBUG_SERIOUS, ("igmp_input: unexpected msg %d in state %d on group %p on if %p\n", + igmp->igmp_msgtype, group->group_state, (void *)&group, (void *)inp)); + IGMP_STATS_INC(igmp.proterr); + break; +@@ -750,7 +751,7 @@ igmp_leavegroup_netif(struct netif *netif, const ip4_addr_t *groupaddr) + } + return ERR_OK; + } else { +- LWIP_DEBUGF(IGMP_DEBUG, ("igmp_leavegroup_netif: not member of group\n")); ++ LWIP_DEBUGF(IGMP_DEBUG | GAZELLE_DEBUG_WARNING, ("igmp_leavegroup_netif: not member of group\n")); + return ERR_VAL; + } + } +-- +2.33.0 diff --git a/lwip.spec b/lwip.spec index 533be4e41c6225bff4e9018f48c6d5967249d6a0..afb58f79bc97775b47402f24b7b8a556f50b6831 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.2.0 -Release: 55 +Release: 56 License: BSD URL: http://savannah.nongnu.org/projects/lwip/ Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.zip @@ -177,6 +177,7 @@ Patch9161: 0162-check-if-mem_init-returns-errno.patch Patch9162: 0163-LWIPOPTS-support-setsockopt-SO_SNDTIMEO.patch Patch9163: 0164-LWIPOPTS-support-setsockopt-SO_SNDBUF.patch Patch9164: 0165-fix-the-udp-v6-problem.patch +Patch9165: 0166-set-log-level-when-process-igmp-packet-fail.patch BuildRequires: gcc-c++ dos2unix dpdk-devel @@ -206,6 +207,9 @@ cd %{_builddir}/%{name}-%{version}/src %{_libdir}/liblwip.a %changelog +* Fri Sep 27 2024 zerich - 2.2.0-56 +- change log level for igmp_input() + * Tue Sep 24 2024 liumin <2775690335@qq.com> - 2.2.0-55 - fix the lwip upd V6 problem which caused by set the init iptype to IPADDR_TYPE_ANY in pcb_new