diff options
author | John Crispin <blogic@openwrt.org> | 2016-03-04 08:33:22 +0000 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2016-03-04 08:33:22 +0000 |
commit | b95b864dcfec6ef6a11cb52943ce4903146a6cd9 (patch) | |
tree | 287c48940906bd46803bb45701dd0fec9e15e589 | |
parent | d3586fb3f1c67b50daf0ac19b398fb5dd324730e (diff) | |
download | master-187ad058-b95b864dcfec6ef6a11cb52943ce4903146a6cd9.tar.gz master-187ad058-b95b864dcfec6ef6a11cb52943ce4903146a6cd9.tar.bz2 master-187ad058-b95b864dcfec6ef6a11cb52943ce4903146a6cd9.zip |
AR8216: don't display MIB counters if all are empty
For unused switch ports all MIB values are zero. Displaying ~40 empty
MIB counters is just confusing and makes it hard to read the output of
swconfig dev <dev> show.
Therefore, if all MIB counters for a port are zero, just display
an info that the MIB counters are empty.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48910 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/ar8216.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index 75db1f120b..daa59083e3 100644 --- a/target/linux/generic/files/drivers/net/phy/ar8216.c +++ b/target/linux/generic/files/drivers/net/phy/ar8216.c @@ -1329,6 +1329,7 @@ ar8xxx_sw_get_port_mib(struct switch_dev *dev, int ret; char *buf = priv->buf; int i, len = 0; + bool mib_stats_empty = true; if (!ar8xxx_has_mib_counters(priv)) return -EOPNOTSUPP; @@ -1349,11 +1350,17 @@ ar8xxx_sw_get_port_mib(struct switch_dev *dev, port); mib_stats = &priv->mib_stats[port * chip->num_mibs]; - for (i = 0; i < chip->num_mibs; i++) + for (i = 0; i < chip->num_mibs; i++) { len += snprintf(buf + len, sizeof(priv->buf) - len, "%-12s: %llu\n", chip->mib_decs[i].name, mib_stats[i]); + if (mib_stats_empty && mib_stats[i]) + mib_stats_empty = false; + } + + if (mib_stats_empty) + len = snprintf(buf, sizeof(priv->buf), "No MIB data"); val->value.s = buf; val->len = len; |