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> SVN-Revision: 48910
This commit is contained in:
parent
f07a57c0e8
commit
76e1efc042
1 changed files with 8 additions and 1 deletions
|
@ -1329,6 +1329,7 @@ ar8xxx_sw_get_port_mib(struct switch_dev *dev,
|
||||||
int ret;
|
int ret;
|
||||||
char *buf = priv->buf;
|
char *buf = priv->buf;
|
||||||
int i, len = 0;
|
int i, len = 0;
|
||||||
|
bool mib_stats_empty = true;
|
||||||
|
|
||||||
if (!ar8xxx_has_mib_counters(priv))
|
if (!ar8xxx_has_mib_counters(priv))
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
@ -1349,11 +1350,17 @@ ar8xxx_sw_get_port_mib(struct switch_dev *dev,
|
||||||
port);
|
port);
|
||||||
|
|
||||||
mib_stats = &priv->mib_stats[port * chip->num_mibs];
|
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,
|
len += snprintf(buf + len, sizeof(priv->buf) - len,
|
||||||
"%-12s: %llu\n",
|
"%-12s: %llu\n",
|
||||||
chip->mib_decs[i].name,
|
chip->mib_decs[i].name,
|
||||||
mib_stats[i]);
|
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->value.s = buf;
|
||||||
val->len = len;
|
val->len = len;
|
||||||
|
|
Loading…
Reference in a new issue