diff mbox series

Add package bpfmon

Message ID 20250202201136.4278-1-bbonev@ipacct.com
State Handled Elsewhere
Headers show
Series Add package bpfmon | expand

Commit Message

Boian Bonev Feb. 2, 2025, 8:11 p.m. UTC
bpfmon - BPF based visual packet rate monitor

While tcpdump shows what packets are going through the network, bpfmon will show how much in terms of bytes per second and packets per second in a nice pseudo-graphical terminal interface.

bpfmon also supports monitoring an iptables rule that is selected by command line option or selected from a menu (only under Linux).

Signed-off-by: Boian Bonev <bbonev@ipacct.com>
---
 package/Config.in          |  1 +
 package/bpfmon/Config.in   |  8 ++++++++
 package/bpfmon/bpfmon.hash |  3 +++
 package/bpfmon/bpfmon.mk   | 23 +++++++++++++++++++++++
 4 files changed, 35 insertions(+)
 create mode 100644 package/bpfmon/Config.in
 create mode 100644 package/bpfmon/bpfmon.hash
 create mode 100644 package/bpfmon/bpfmon.mk
diff mbox series

Patch

diff --git a/package/Config.in b/package/Config.in
index aef90d54ad..60c67e5023 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2443,6 +2443,7 @@  endif
 	source "package/bmon/Config.in"
 	source "package/bmx7/Config.in"
 	source "package/boinc/Config.in"
+	source "package/bpfmon/Config.in"
 	source "package/brcm-patchram-plus/Config.in"
 	source "package/bridge-utils/Config.in"
 	source "package/bwm-ng/Config.in"
diff --git a/package/bpfmon/Config.in b/package/bpfmon/Config.in
new file mode 100644
index 0000000000..ab61aa1bc0
--- /dev/null
+++ b/package/bpfmon/Config.in
@@ -0,0 +1,8 @@ 
+config BR2_PACKAGE_BPFMON
+	bool "bpfmon"
+	select BR2_PACKAGE_YASCREEN
+	select BR2_PACKAGE_LIBPCAP
+	help
+	  bpfmon BPF based visual packet rate monitor
+
+	  https://github.com/bbonev/bpfmon
diff --git a/package/bpfmon/bpfmon.hash b/package/bpfmon/bpfmon.hash
new file mode 100644
index 0000000000..be5da0e42a
--- /dev/null
+++ b/package/bpfmon/bpfmon.hash
@@ -0,0 +1,3 @@ 
+# Locally calculated
+sha256  f73508a40b093caea8ac20431c19b1e89627311bbd8ff49063ec987378a46a7c  bpfmon-2.53.tar.xz
+sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  LICENSE
diff --git a/package/bpfmon/bpfmon.mk b/package/bpfmon/bpfmon.mk
new file mode 100644
index 0000000000..d6a4b87bc5
--- /dev/null
+++ b/package/bpfmon/bpfmon.mk
@@ -0,0 +1,23 @@ 
+################################################################################
+#
+# bpfmon
+#
+################################################################################
+
+BPFMON_VERSION = 2.53
+BPFMON_SOURCE = bpfmon-$(BPFMON_VERSION).tar.xz
+BPFMON_SITE = https://github.com/bbonev/bpfmon/releases/download/v$(BPFMON_VERSION)
+BPFMON_LICENSE = GPL-2.0+
+BPFMON_LICENSE_FILES = LICENSE
+BPFMON_DEPENDENCIES = yascreen libpcap
+
+define BPFMON_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		$(TARGET_CONFIGURE_OPTS)
+endef
+
+define BPFMON_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install
+endef
+
+$(eval $(generic-package))