Merge pull request #14530 from TDT-AG/pr/20210122-iperf
iperf: import iperf3 and iperf from base
This commit is contained in:
commit
453f7d8cd7
|
@ -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))
|
|
@ -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");
|
||||||
|
}
|
|
@ -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
|
|
@ -0,0 +1,83 @@
|
||||||
|
#
|
||||||
|
# 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:=3.9
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=https://downloads.es.net/pub/iperf
|
||||||
|
PKG_HASH:=24b63a26382325f759f11d421779a937b63ca1bc17c44587d2fcfedab60ac038
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||||
|
PKG_LICENSE:=BSD-3-Clause
|
||||||
|
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
PKG_INSTALL:=1
|
||||||
|
|
||||||
|
PKG_FIXUP:=autoreconf
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
DISABLE_NLS:=
|
||||||
|
|
||||||
|
define Package/iperf3/default
|
||||||
|
SECTION:=net
|
||||||
|
CATEGORY:=Network
|
||||||
|
TITLE:=Internet Protocol bandwidth measuring tool
|
||||||
|
URL:=https://github.com/esnet/iperf
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/iperf3
|
||||||
|
$(call Package/iperf3/default)
|
||||||
|
VARIANT:=nossl
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/iperf3-ssl
|
||||||
|
$(call Package/iperf3/default)
|
||||||
|
TITLE+= with iperf_auth support
|
||||||
|
VARIANT:=ssl
|
||||||
|
DEPENDS:= +libopenssl
|
||||||
|
endef
|
||||||
|
|
||||||
|
TARGET_CFLAGS += -D_GNU_SOURCE
|
||||||
|
CONFIGURE_ARGS += --disable-shared
|
||||||
|
|
||||||
|
ifeq ($(BUILD_VARIANT),ssl)
|
||||||
|
CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr"
|
||||||
|
else
|
||||||
|
CONFIGURE_ARGS += --without-openssl
|
||||||
|
endif
|
||||||
|
|
||||||
|
MAKE_FLAGS += noinst_PROGRAMS=
|
||||||
|
|
||||||
|
define Package/iperf3/description
|
||||||
|
Iperf is a modern alternative for measuring TCP and UDP bandwidth
|
||||||
|
performance, allowing the tuning of various parameters and
|
||||||
|
characteristics.
|
||||||
|
endef
|
||||||
|
|
||||||
|
# autoreconf fails if the README file isn't present
|
||||||
|
define Build/Prepare
|
||||||
|
$(call Build/Prepare/Default)
|
||||||
|
touch $(PKG_BUILD_DIR)/README
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/iperf3/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iperf3 $(1)/usr/bin/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/iperf3-ssl/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iperf3 $(1)/usr/bin/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,iperf3))
|
||||||
|
$(eval $(call BuildPackage,iperf3-ssl))
|
Loading…
Reference in New Issue