diff options
author | Jeffrey Ji <jeffreyji@google.com> | 2022-06-09 21:05:16 +0000 |
---|---|---|
committer | David Ahern <dsahern@kernel.org> | 2022-06-12 09:52:24 -0600 |
commit | cebf67a35d8aa8945e5aaa409220e1b3c612969c (patch) | |
tree | 167d783dcc83e327061a245bf2759f68320acb45 | |
parent | b112043ea8f26ab61e932f3b25c670eeaa620b73 (diff) | |
download | iproute2-cebf67a35d8aa8945e5aaa409220e1b3c612969c.tar.gz |
show rx_otherehost_dropped stat in ip link show
This stat was added in commit 794c24e9921f ("net-core: rx_otherhost_dropped to core_stats")
Tested: sent packet with wrong MAC address from 1
network namespace to another, verified that counter showed "1" in
`ip -s -s link sh` and `ip -s -s -j link sh`
Signed-off-by: Jeffrey Ji <jeffreyji@google.com>
Signed-off-by: David Ahern <dsahern@kernel.org>
-rw-r--r-- | ip/ipaddress.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/ip/ipaddress.c b/ip/ipaddress.c index 142731933..67403185c 100644 --- a/ip/ipaddress.c +++ b/ip/ipaddress.c @@ -692,6 +692,7 @@ void print_stats64(FILE *fp, struct rtnl_link_stats64 *s, strlen("heartbt"), strlen("overrun"), strlen("compressed"), + strlen("otherhost"), }; if (is_json_context()) { @@ -730,6 +731,10 @@ void print_stats64(FILE *fp, struct rtnl_link_stats64 *s, if (s->rx_nohandler) print_u64(PRINT_JSON, "nohandler", NULL, s->rx_nohandler); + if (s->rx_otherhost_dropped) + print_u64(PRINT_JSON, + "otherhost", NULL, + s->rx_otherhost_dropped); } close_json_object(); @@ -778,7 +783,8 @@ void print_stats64(FILE *fp, struct rtnl_link_stats64 *s, size_columns(cols, ARRAY_SIZE(cols), 0, s->rx_length_errors, s->rx_crc_errors, s->rx_frame_errors, s->rx_fifo_errors, - s->rx_over_errors, s->rx_nohandler); + s->rx_over_errors, s->rx_nohandler, + s->rx_otherhost_dropped); size_columns(cols, ARRAY_SIZE(cols), s->tx_bytes, s->tx_packets, s->tx_errors, s->tx_dropped, s->tx_carrier_errors, @@ -811,11 +817,14 @@ void print_stats64(FILE *fp, struct rtnl_link_stats64 *s, /* RX error stats */ if (show_stats > 1) { fprintf(fp, "%s", _SL_); - fprintf(fp, " RX errors:%*s %*s %*s %*s %*s %*s %*s%s", + fprintf(fp, " RX errors:%*s %*s %*s %*s %*s %*s%*s%*s%s", cols[0] - 10, "", cols[1], "length", cols[2], "crc", cols[3], "frame", cols[4], "fifo", cols[5], "overrun", - cols[6], s->rx_nohandler ? "nohandler" : "", + s->rx_nohandler ? cols[6] + 1 : 0, + s->rx_nohandler ? " nohandler" : "", + s->rx_otherhost_dropped ? cols[7] + 1 : 0, + s->rx_otherhost_dropped ? " otherhost" : "", _SL_); fprintf(fp, "%*s", cols[0] + 5, ""); print_num(fp, cols[1], s->rx_length_errors); @@ -825,6 +834,8 @@ void print_stats64(FILE *fp, struct rtnl_link_stats64 *s, print_num(fp, cols[5], s->rx_over_errors); if (s->rx_nohandler) print_num(fp, cols[6], s->rx_nohandler); + if (s->rx_otherhost_dropped) + print_num(fp, cols[7], s->rx_otherhost_dropped); } fprintf(fp, "%s", _SL_); |