!1019 [sync] PR-985: add MCAST_JOIN_GROUP to setsockopt for igmp3

From: @openeuler-sync-bot 
Reviewed-by: @jiangheng12 
Signed-off-by: @jiangheng12
This commit is contained in:
openeuler-ci-bot 2024-05-08 07:09:35 +00:00 committed by Gitee
commit 13bd51eb2f
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 38 additions and 1 deletions

View File

@ -0,0 +1,33 @@
diff -Nur lwip-2.2.0old/src/api/sockets.c lwip-2.2.0/src/api/sockets.c
--- lwip-2.2.0old/src/api/sockets.c 2024-04-30 10:27:19.406967694 +0800
+++ lwip-2.2.0/src/api/sockets.c 2024-04-30 10:37:41.203874969 +0800
@@ -3859,6 +3859,29 @@
return ENOPROTOOPT;
}
break;
+ case MCAST_JOIN_GROUP:
+ case MCAST_LEAVE_GROUP: {
+ LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB(sock, optlen, struct group_req);
+ if (((const struct group_req *)optval)->gr_group.ss_family != AF_INET) {
+ done_socket(sock);
+ return EINVAL;
+ }
+#if LWIP_UDP
+ if (NETCONNTYPE_GROUP(netconn_type(sock->conn)) == NETCONN_UDP) {
+ err = mcast_sock_join_leave_group(s,&sock->conn->pcb.udp->ipmc, optname, (const struct group_req *)optval);
+ } else
+#endif /* LWIP_UDP */
+#if LWIP_RAW
+ if (NETCONNTYPE_GROUP(netconn_type(sock->conn)) == NETCONN_RAW) {
+ err = mcast_sock_join_leave_group(s,&sock->conn->pcb.raw->ipmc, optname, (const struct group_req *)optval);
+ } else
+#endif /* LWIP_RAW */
+ {
+ done_socket(sock);
+ return ENOPROTOOPT;
+ }
+ }
+ break;
case MCAST_JOIN_SOURCE_GROUP:
case MCAST_LEAVE_SOURCE_GROUP:
LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB(sock, optlen, struct group_source_req);

View File

@ -4,7 +4,7 @@
Summary: lwip is a small independent implementation of the TCP/IP protocol suite
Name: lwip
Version: 2.2.0
Release: 22
Release: 23
License: BSD
URL: http://savannah.nongnu.org/projects/lwip/
Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.zip
@ -141,6 +141,7 @@ Patch9125: 0126-add-stats_proto-in-out-to-xmit-recv.patch
Patch9126: 0127-add-MCAST_BLOCK_SOURCE-to-setsockopt-for-mldv2.patch
Patch9127: 0128-add-MCAST_JOIN_SOURCE_GROUP-to-setsockopt-for-igmpv3.patch
Patch9128: 0129-memset-gazelle_quintuple-in-vdev_reg_done.patch
Patch9129: 0130-add-MCAST_JOIN_GROUP-to-setsockopt-for-igmpv3.patch
BuildRequires: gcc-c++ dos2unix dpdk-devel
@ -170,6 +171,9 @@ cd %{_builddir}/%{name}-%{version}/src
%{_libdir}/liblwip.a
%changelog
* Mon May 06 2024 zhangyulong <zhangyulong@kylinos.cn> - 2.2.0-23
- add option MCAST_JOIN_GROUP to the setsockopt for the igmpv3 protocol
* Tue Apr 30 2024 yinbin <yinbin8@huawei.com> - 2.2.0-22
- memset gazelle_quintuple in vdev_reg_done