2
0
Эх сурвалжийг харах

iperf: allow non-ipv6 builds

Add configure argument --disable-ipv6 when ipv6 is deselected.
Add fix-non-ipv6-builds.patch as long there is no new upstream
release.

Signed-off-by: Alexander Couzens <[email protected]>
Alexander Couzens 7 жил өмнө
parent
commit
900005ee75

+ 5 - 1
package/network/utils/iperf/Makefile

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=iperf
 PKG_VERSION:=2.0.12
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_HASH:=367f651fb1264b13f6518e41b8a7e08ce3e41b2a1c80e99ff0347561eed32646
@@ -40,6 +40,10 @@ endef
 TARGET_CFLAGS += -D_GNU_SOURCE
 CONFIGURE_ARGS += --disable-multicast
 
+ifeq ($(CONFIG_IPV6),)
+	CONFIGURE_ARGS += --disable-ipv6
+endif
+
 CONFIGURE_VARS += CXXFLAGS="$$$$CXXFLAGS -fno-rtti"
 CONFIGURE_VARS += LIBS="-lpthread -lm"
 

+ 22 - 0
package/network/utils/iperf/patches/0003-fix-non-ipv6-builds.patch

@@ -0,0 +1,22 @@
+Index: iperf-2.0.12/src/Listener.cpp
+===================================================================
+--- iperf-2.0.12.orig/src/Listener.cpp
++++ iperf-2.0.12/src/Listener.cpp
+@@ -670,6 +670,7 @@ int Listener::L2_setup (void) {
+ 
+     // Now optimize packet flow up the raw socket
+     // Establish the flow BPF to forward up only "connected" packets to this raw socket
++#ifdef HAVE_IPV6
+     if (l->sa_family == AF_INET6) {
+ 	struct in6_addr *v6peer = SockAddr_get_in6_addr(&server->peer);
+ 	struct in6_addr *v6local = SockAddr_get_in6_addr(&server->local);
+@@ -682,6 +683,9 @@ int Listener::L2_setup (void) {
+ 	    WARN_errno( rc == SOCKET_ERROR, "l2 v4in6 connect ip bpf");
+ 	}
+     } else {
++#else
++    {
++#endif
+ 	rc = SockAddr_v4_Connect_BPF(server->mSock, ((struct sockaddr_in *)(l))->sin_addr.s_addr, ((struct sockaddr_in *)(p))->sin_addr.s_addr, ((struct sockaddr_in *)(l))->sin_port, ((struct sockaddr_in *)(p))->sin_port);
+ 	WARN_errno( rc == SOCKET_ERROR, "l2 connect ip bpf");
+     }