From 0012f89e971338a10368925016a5cd46d0caa36c Mon Sep 17 00:00:00 2001 From: liyunqing Date: Mon, 11 Mar 2024 10:40:16 +0800 Subject: [PATCH] sync macros with kernel defined which use in recv and send --- 0114-sync-recv-flags-with-linux-kernel.patch | 40 ++++++++++++++++++++ lwip.spec | 6 ++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 0114-sync-recv-flags-with-linux-kernel.patch diff --git a/0114-sync-recv-flags-with-linux-kernel.patch b/0114-sync-recv-flags-with-linux-kernel.patch new file mode 100644 index 0000000..33266c9 --- /dev/null +++ b/0114-sync-recv-flags-with-linux-kernel.patch @@ -0,0 +1,40 @@ +From 931c9ff6d250685ce29cf10e3e03ecaae70419ea Mon Sep 17 00:00:00 2001 +From: liyunqing +Date: Tue, 27 Feb 2024 15:40:33 +0800 +Subject: [PATCH] sync recv flags with linux kernel + +--- + src/include/lwip/sockets.h | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/include/lwip/sockets.h b/src/include/lwip/sockets.h +index 89b6eb5..4466f11 100644 +--- a/src/include/lwip/sockets.h ++++ b/src/include/lwip/sockets.h +@@ -281,14 +281,22 @@ struct linger { + #define IPPROTO_UDPLITE 136 + #define IPPROTO_RAW 255 + ++#if GAZELLE_ENABLE + /* Flags we can use with send and recv. */ ++#define MSG_PEEK 0x02 /* Peeks at an incoming message */ ++#define MSG_WAITALL 0x100 /* Unimplemented: Requests that the function block until the full amount of data requested can be returned */ ++#define MSG_OOB 0x01 /* Unimplemented: Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific */ ++#define MSG_DONTWAIT 0x40 /* Nonblocking i/o for this operation only */ ++#define MSG_MORE 0x8000 /* Sender will send more */ ++#define MSG_NOSIGNAL 0x4000 /* Uninmplemented: Requests not to send the SIGPIPE signal if an attempt to send is made on a stream-oriented socket that is no longer connected. */ ++#else + #define MSG_PEEK 0x01 /* Peeks at an incoming message */ + #define MSG_WAITALL 0x02 /* Unimplemented: Requests that the function block until the full amount of data requested can be returned */ + #define MSG_OOB 0x04 /* Unimplemented: Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific */ + #define MSG_DONTWAIT 0x08 /* Nonblocking i/o for this operation only */ + #define MSG_MORE 0x10 /* Sender will send more */ + #define MSG_NOSIGNAL 0x20 /* Uninmplemented: Requests not to send the SIGPIPE signal if an attempt to send is made on a stream-oriented socket that is no longer connected. */ +- ++#endif /* GAZELLE_ENABLE */ + + /* + * Options for level IPPROTO_IP +-- +2.27.0 + diff --git a/lwip.spec b/lwip.spec index fbc4785..77092c5 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: 6 +Release: 7 License: BSD URL: http://savannah.nongnu.org/projects/lwip/ Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.zip @@ -125,6 +125,7 @@ Patch9109: 0110-adapt-lwip-2.2.0.patch Patch9110: 0111-support-udp-pkglen-mtu-modify-IP_REASS_MAX_PBUFS.patch Patch9111: 0112-support-udp-pkglen-mtu-modify-netbuf_alloc-size.patch Patch9112: 0113-fix-duplicate-pbuf_free-in-udp_sendto.patch +Patch9113: 0114-sync-recv-flags-with-linux-kernel.patch BuildRequires: gcc-c++ dos2unix dpdk-devel @@ -154,6 +155,9 @@ cd %{_builddir}/%{name}-%{version}/src %{_libdir}/liblwip.a %changelog +* Mon Mar 11 2024 liyunqing - 2.2.0-7 +- sync macros with kernel defined which use in recv and send + * Thu Mar 7 2024 liyunqing - 2.2.0-6 - fix duplicate pbuf_free in udp_sendto