[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMzD94RAV2WWBGAar_S729DU9rQBtgJy5iUReJ_diOj5DRb=ug@mail.gmail.com>
Date: Mon, 9 May 2022 13:10:42 -0700
From: Brian Vazquez <brianvv@...gle.com>
To: Jeffrey Ji <jeffreyjilinux@...il.com>
Cc: David Ahern <dsahern@...il.com>,
Stephen Hemminger <stephen@...workplumber.org>,
Eric Dumazet <edumazet@...gle.com>, netdev@...r.kernel.org,
Jeffrey Ji <jeffreyji@...gle.com>
Subject: Re: [PATCH net-next] show rx_otherhost_dropped stat in ip link show
Hey Jeffrey, thanks for working on this, some comments:
I think you meant iproute2-next in the subject. Could you resend, please?
On Mon, May 9, 2022 at 12:18 PM Jeffrey Ji <jeffreyjilinux@...il.com> wrote:
>
> From: Jeffrey Ji <jeffreyji@...gle.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@...gle.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",
I think you're missing a space in the line above (but code shouldn't
be here, see my comment below)
> 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_);
rx_otherhost_dropped code should be below in the "RX error stats" not
here, it should be after the rx_nohandler stat. Also IIUC, the code
should be:
cols[7], s->rx_otherhost_dropped? "otherhost_dropped" : "",
>
> 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
>
Powered by blists - more mailing lists