!22 [sync] PR-20: 支持端口重用等
From: @openeuler-sync-bot Reviewed-by: @LemmyHuang Signed-off-by: @LemmyHuang
This commit is contained in:
commit
49ece2a9b9
58
0017-support-REUSEPOR-option.patch
Normal file
58
0017-support-REUSEPOR-option.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From 670f888704c7bbb1121e63bc380ca34b83c43464 Mon Sep 17 00:00:00 2001
|
||||
From: jiangheng <jiangheng12@huawei.com>
|
||||
Date: Thu, 3 Mar 2022 17:06:03 +0800
|
||||
Subject: [PATCH] support REUSEPOR option fix rpc msg too much
|
||||
fix recurring events
|
||||
|
||||
---
|
||||
src/api/sockets.c | 4 ++++
|
||||
src/include/lwipsock.h | 10 ++++++++--
|
||||
2 files changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/api/sockets.c b/src/api/sockets.c
|
||||
index b032ce9..4b682f3 100644
|
||||
--- a/src/api/sockets.c
|
||||
+++ b/src/api/sockets.c
|
||||
@@ -3029,6 +3029,10 @@ lwip_sockopt_to_ipopt(int optname)
|
||||
return SOF_KEEPALIVE;
|
||||
case SO_REUSEADDR:
|
||||
return SOF_REUSEADDR;
|
||||
+#if USE_LIBOS
|
||||
+ case SO_REUSEPORT:
|
||||
+ return SO_REUSEPORT;
|
||||
+#endif
|
||||
default:
|
||||
LWIP_ASSERT("Unknown socket option", 0);
|
||||
return 0;
|
||||
diff --git a/src/include/lwipsock.h b/src/include/lwipsock.h
|
||||
index 069cdcb..e2519ff 100644
|
||||
--- a/src/include/lwipsock.h
|
||||
+++ b/src/include/lwipsock.h
|
||||
@@ -94,7 +94,8 @@ struct lwip_sock {
|
||||
#if USE_LIBOS
|
||||
uint32_t epoll_events; /* registered events */
|
||||
uint32_t events; /* available events */
|
||||
- int32_t in_event; /* avoid recurring events */
|
||||
+ volatile bool have_event; /* avoid recurring events */
|
||||
+ volatile bool have_rpc_send; /* avoid recurring rpc_send */
|
||||
epoll_data_t ep_data;
|
||||
struct weakup_poll *weakup;
|
||||
struct protocol_stack *stack;
|
||||
@@ -103,8 +104,13 @@ struct lwip_sock {
|
||||
struct pbuf *send_lastdata; /* unread data in one pbuf */
|
||||
void *send_ring;
|
||||
int32_t recv_flags;
|
||||
- int32_t nextfd; /* listenfd list */
|
||||
+ bool wait_close;
|
||||
+ int32_t attach_fd;
|
||||
+ struct lwip_sock *shadowed_sock;
|
||||
+ struct list_node attach_list;
|
||||
+ struct list_node listen_list;
|
||||
struct list_node recv_list;
|
||||
+ int32_t nextfd; /* listenfd list */
|
||||
#endif
|
||||
};
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
Summary: lwip is a small independent implementation of the TCP/IP protocol suite
|
||||
Name: lwip
|
||||
Version: 2.1.3
|
||||
Release: 3
|
||||
Release: 4
|
||||
License: BSD
|
||||
URL: http://savannah.nongnu.org/projects/lwip/
|
||||
Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.tar.gz
|
||||
@ -25,6 +25,7 @@ Patch9012: 0013-remove-gazelle-syscall-thread.patch
|
||||
Patch9013: 0014-fix-some-compile-errors.patch
|
||||
Patch9014: 0015-fix-tcp-port-alloc-issue.patch
|
||||
Patch9015: 0016-lstack-support-mysql-mode.patch
|
||||
Patch9016: 0017-support-REUSEPOR-option.patch
|
||||
|
||||
BuildRequires: gcc-c++ dos2unix dpdk-devel
|
||||
|
||||
@ -55,6 +56,7 @@ find %{_builddir}/%{name}-%{version} -type f -exec dos2unix -q {} \;
|
||||
%patch9013 -p1
|
||||
%patch9014 -p1
|
||||
%patch9015 -p1
|
||||
%patch9016 -p1
|
||||
|
||||
%build
|
||||
cd %{_builddir}/%{name}-%{version}/src
|
||||
@ -70,6 +72,11 @@ cd %{_builddir}/%{name}-%{version}/src
|
||||
%{_libdir}/liblwip.a
|
||||
|
||||
%changelog
|
||||
* Thu Mar 03 2022 jiangheng<jiangheng12@huawei.com> - 2.1.3-4
|
||||
- support REUSEPOR option
|
||||
- fix rpc msg too much
|
||||
- fix recrruing events
|
||||
|
||||
* Thu Feb 24 2022 jiangheng<jiangheng12@huawei.com> - 2.1.3-3
|
||||
- remove kernel socket interface
|
||||
- support the mode that listen and accept thread be separaten
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user