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 <lynxis@fe80.eu>
This commit is contained in:
Alexander Couzens 2018-11-03 01:22:59 +01:00
parent 0411813c6f
commit 900005ee75
No known key found for this signature in database
GPG Key ID: C29E9DA6A0DF8604
2 changed files with 27 additions and 1 deletions

View File

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

View File

@ -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");
}