From 4b610626364d0128d7d34a719fe0c0eb7b5e32d7 Mon Sep 17 00:00:00 2001
From: Jan-Philipp Litza <janphilipp@litza.de>
Date: Thu, 16 Jan 2014 23:47:41 +0100
Subject: [PATCH] alfred: add more traffic statistics

+ mgmt and forward counters
+ packet in addition to byte counters for everything
---
 package/gluon-alfred/Makefile                        |  2 +-
 .../gluon-alfred/files/lib/gluon/alfred/announce.sh  | 12 ++++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/package/gluon-alfred/Makefile b/package/gluon-alfred/Makefile
index 8290ad825..176ba9b4b 100644
--- a/package/gluon-alfred/Makefile
+++ b/package/gluon-alfred/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/gluon-alfred
   SECTION:=gluon
   CATEGORY:=Gluon
-  DEPENDS:=+gluon-core +gluon-location +gluon-cron +alfred
+  DEPENDS:=+gluon-core +gluon-location +gluon-cron +alfred +ethtool
   TITLE:=Configure alfred
 endef
 
diff --git a/package/gluon-alfred/files/lib/gluon/alfred/announce.sh b/package/gluon-alfred/files/lib/gluon/alfred/announce.sh
index de0c9181e..d4533d307 100755
--- a/package/gluon-alfred/files/lib/gluon/alfred/announce.sh
+++ b/package/gluon-alfred/files/lib/gluon/alfred/announce.sh
@@ -75,8 +75,16 @@ json_close_object # network
 json_add_object "statistics"
 	json_add_int "uptime" "$(cut -d' ' -f1 /proc/uptime)"
 	json_add_object "traffic"
-		json_add_double "rx" "$(cat /sys/class/net/bat0/statistics/rx_bytes)"
-		json_add_double "tx" "$(cat /sys/class/net/bat0/statistics/tx_bytes)"
+		TRAFFIC="$(ethtool -S bat0 | sed -e 's/^ *//')"
+		for class in rx tx forward mgmt_rx mgmt_tx; do
+		json_add_object "$class"
+			json_add_int "bytes" "$(echo "$TRAFFIC" | awk -F': ' "/^${class}_bytes:/ { print \$2 }")"
+			json_add_int "packets" "$(echo "$TRAFFIC" | awk -F': ' "/^${class}:/ { print \$2 }")"
+			if [ "$class" = "tx" ]; then
+				json_add_int "dropped" "$(echo "$TRAFFIC" | awk -F': ' "/^${class}_dropped:/ { print \$2 }")"
+			fi
+		json_close_object # $class
+		done
 	json_close_object # traffic
 json_close_object # statistics
 
-- 
GitLab