iperf: import from base

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
Florian Eckert 2021-01-22 10:16:33 +01:00
parent f21885ec85
commit 2131f33d08
3 changed files with 100 additions and 0 deletions

68
net/iperf/Makefile Normal file
View File

@ -0,0 +1,68 @@
#
# Copyright (C) 2007-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=iperf
PKG_VERSION:=2.0.13
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_HASH:=c88adec966096a81136dda91b4bd19c27aae06df4d45a7f547a8e50d723778ad
PKG_SOURCE_URL:=@SF/iperf2
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=BSD-3-Clause
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:=CONFIG_IPERF_ENABLE_MULTICAST
include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
define Package/iperf
SECTION:=net
CATEGORY:=Network
DEPENDS:= $(CXX_DEPENDS) +libpthread
TITLE:=Internet Protocol bandwidth measuring tool
URL:=http://sourceforge.net/projects/iperf2/
endef
define Package/iperf/description
Iperf is a modern alternative for measuring TCP and UDP bandwidth
performance, allowing the tuning of various parameters and
characteristics.
endef
define Package/iperf/config
config IPERF_ENABLE_MULTICAST
depends on PACKAGE_iperf
bool "Enable multicast support"
endef
TARGET_CFLAGS += -D_GNU_SOURCE
ifeq ($(CONFIG_IPERF_ENABLE_MULTICAST),y)
CONFIGURE_ARGS += --enable-multicast
else
CONFIGURE_ARGS += --disable-multicast
endif
ifeq ($(CONFIG_IPV6),)
CONFIGURE_ARGS += --disable-ipv6
endif
CONFIGURE_VARS += CXXFLAGS="$$$$CXXFLAGS -fno-rtti"
CONFIGURE_VARS += LIBS="-lpthread -lm"
define Package/iperf/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/iperf $(1)/usr/bin/iperf
endef
$(eval $(call BuildPackage,iperf))

View File

@ -0,0 +1,20 @@
--- a/src/Listener.cpp
+++ b/src/Listener.cpp
@@ -723,6 +723,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) {
#ifdef HAVE_IPV6
struct in6_addr *v6peer = SockAddr_get_in6_addr(&server->peer);
@@ -740,6 +741,9 @@ int Listener::L2_setup (void) {
return -1;
#endif /* HAVE_IPV6 */
} 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");
}

View File

@ -0,0 +1,12 @@
--- a/config.h.in
+++ b/config.h.in
@@ -360,7 +360,9 @@
#undef _REENTRANT
/* */
+#ifndef __cplusplus
#undef bool
+#endif
/* Define to empty if `const' does not conform to ANSI C. */
#undef const