netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] show rx_otherhost_dropped stat in ip link show
@ 2022-05-09 19:18 Jeffrey Ji
  2022-05-09 20:10 ` Brian Vazquez
  2022-05-10  7:09 ` Ido Schimmel
  0 siblings, 2 replies; 6+ messages in thread
From: Jeffrey Ji @ 2022-05-09 19:18 UTC (permalink / raw)
  To: David Ahern, Stephen Hemminger
  Cc: Eric Dumazet, Brian Vazquez, netdev, Jeffrey Ji

From: Jeffrey Ji <jeffreyji@google.com>

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>
---
 include/uapi/linux/if_link.h |  2 ++
 ip/ipaddress.c               | 15 +++++++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
index 22e21e57afc9..50477985bfea 100644
--- a/include/uapi/linux/if_link.h
+++ b/include/uapi/linux/if_link.h
@@ -243,6 +243,8 @@ struct rtnl_link_stats64 {
 	__u64	rx_compressed;
 	__u64	tx_compressed;
 	__u64	rx_nohandler;
+
+	__u64	rx_otherhost_dropped;
 };
 
 /* Subset of link stats useful for in-HW collection. Meaning of the fields is as
diff --git a/ip/ipaddress.c b/ip/ipaddress.c
index a80996efdc28..9d6af56e2a72 100644
--- a/ip/ipaddress.c
+++ b/ip/ipaddress.c
@@ -692,6 +692,7 @@ static void __print_link_stats(FILE *fp, struct rtattr *tb[])
 		strlen("heartbt"),
 		strlen("overrun"),
 		strlen("compressed"),
+		strlen("otherhost_dropped"),
 	};
 	int ret;
 
@@ -713,6 +714,10 @@ static void __print_link_stats(FILE *fp, struct rtattr *tb[])
 		if (s->rx_compressed)
 			print_u64(PRINT_JSON,
 				   "compressed", NULL, s->rx_compressed);
+		if (s->rx_otherhost_dropped)
+			print_u64(PRINT_JSON,
+				   "otherhost_dropped",
+				   NULL, s->rx_otherhost_dropped);
 
 		/* RX error stats */
 		if (show_stats > 1) {
@@ -795,11 +800,15 @@ static void __print_link_stats(FILE *fp, struct rtattr *tb[])
 				     rta_getattr_u32(carrier_changes) : 0);
 
 		/* RX stats */
-		fprintf(fp, "    RX: %*s %*s %*s %*s %*s %*s %*s%s",
+		fprintf(fp, "    RX: %*s %*s %*s %*s %*s %*s %*s%*s%s",
 			cols[0] - 4, "bytes", cols[1], "packets",
 			cols[2], "errors", cols[3], "dropped",
 			cols[4], "missed", cols[5], "mcast",
-			cols[6], s->rx_compressed ? "compressed" : "", _SL_);
+			s->rx_compressed ? cols[6] : 0,
+			s->rx_compressed ? "compressed " : "",
+			s->rx_otherhost_dropped ? cols[7] : 0,
+			s->rx_otherhost_dropped ? "otherhost_dropped" : "",
+			_SL_);
 
 		fprintf(fp, "    ");
 		print_num(fp, cols[0], s->rx_bytes);
@@ -810,6 +819,8 @@ static void __print_link_stats(FILE *fp, struct rtattr *tb[])
 		print_num(fp, cols[5], s->multicast);
 		if (s->rx_compressed)
 			print_num(fp, cols[6], s->rx_compressed);
+		if (s->rx_otherhost_dropped)
+			print_num(fp, cols[7], s->rx_otherhost_dropped);
 
 		/* RX error stats */
 		if (show_stats > 1) {
-- 
2.36.0.512.ge40c2bad7a-goog


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-05-18 20:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-09 19:18 [PATCH net-next] show rx_otherhost_dropped stat in ip link show Jeffrey Ji
2022-05-09 20:10 ` Brian Vazquez
2022-05-10  7:09 ` Ido Schimmel
2022-05-18 17:29   ` Jeffrey Ji
2022-05-18 19:39     ` Jakub Kicinski
2022-05-18 20:00     ` Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).