LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Vladimir Oltean <olteanv@gmail.com> To: Yajun Deng <yajun.deng@linux.dev> Cc: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH net-next] net: procfs: add seq_puts() statement for dev_mcast Date: Sat, 9 Oct 2021 19:35:11 +0300 [thread overview] Message-ID: <20211009163511.vayjvtn3rrteglsu@skbuf> (raw) In-Reply-To: <20210816085757.28166-1-yajun.deng@linux.dev> On Mon, Aug 16, 2021 at 04:57:57PM +0800, Yajun Deng wrote: > Add seq_puts() statement for dev_mcast, make it more readable. > As also, keep vertical alignment for {dev, ptype, dev_mcast} that > under /proc/net. > > Signed-off-by: Yajun Deng <yajun.deng@linux.dev> > --- FYI, this program got broken by this commit (reverting it restores functionality): root@debian:~# ifstat ifstat: /proc/net/dev: unsupported format. Confusingly enough, the "ifstat" provided by Debian is not from iproute2: https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/tree/misc/ifstat.c but rather a similarly named program: https://packages.debian.org/source/bullseye/ifstat https://github.com/matttbe/ifstat I haven't studied how this program parses /proc/net/dev, but here's how the kernel's output changed: Doesn't work: root@debian:~# cat /proc/net/dev Interface| Receive | Transmit | bytes packets errs drop fifo frame compressed multicast| bytes packets errs drop fifo colls carrier compressed lo: 97400 1204 0 0 0 0 0 0 97400 1204 0 0 0 0 0 0 bond0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sit0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eno2: 5002206 6651 0 0 0 0 0 0 105518642 1465023 0 0 0 0 0 0 swp0: 134531 2448 0 0 0 0 0 0 99599598 1464381 0 0 0 0 0 0 swp1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 swp2: 4867675 4203 0 0 0 0 0 0 58134 631 0 0 0 0 0 0 sw0p0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sw0p1: 124739 2448 0 1422 0 0 0 0 93741184 1464369 0 0 0 0 0 0 sw0p2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sw2p0: 4850863 4203 0 0 0 0 0 0 54722 619 0 0 0 0 0 0 sw2p1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sw2p2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sw2p3: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 br0: 10508 212 0 212 0 0 0 212 61369558 958857 0 0 0 0 0 0 Works: root@debian:~# cat /proc/net/dev Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 13160 164 0 0 0 0 0 0 13160 164 0 0 0 0 0 0 bond0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sit0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eno2: 30824 268 0 0 0 0 0 0 3332 37 0 0 0 0 0 0 swp0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 swp1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 swp2: 30824 268 0 0 0 0 0 0 2428 27 0 0 0 0 0 0 sw0p0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sw0p1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sw0p2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sw2p0: 29752 268 0 0 0 0 0 0 1564 17 0 0 0 0 0 0 sw2p1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sw2p2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sw2p3: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > net/core/net-procfs.c | 24 +++++++++++++----------- > 1 file changed, 13 insertions(+), 11 deletions(-) > > diff --git a/net/core/net-procfs.c b/net/core/net-procfs.c > index d8b9dbabd4a4..eab5fc88a002 100644 > --- a/net/core/net-procfs.c > +++ b/net/core/net-procfs.c > @@ -77,8 +77,8 @@ static void dev_seq_printf_stats(struct seq_file *seq, struct net_device *dev) > struct rtnl_link_stats64 temp; > const struct rtnl_link_stats64 *stats = dev_get_stats(dev, &temp); > > - seq_printf(seq, "%6s: %7llu %7llu %4llu %4llu %4llu %5llu %10llu %9llu " > - "%8llu %7llu %4llu %4llu %4llu %5llu %7llu %10llu\n", > + seq_printf(seq, "%9s: %16llu %12llu %4llu %6llu %4llu %5llu %10llu %9llu " > + "%16llu %12llu %4llu %6llu %4llu %5llu %7llu %10llu\n", > dev->name, stats->rx_bytes, stats->rx_packets, > stats->rx_errors, > stats->rx_dropped + stats->rx_missed_errors, > @@ -103,11 +103,11 @@ static void dev_seq_printf_stats(struct seq_file *seq, struct net_device *dev) > static int dev_seq_show(struct seq_file *seq, void *v) > { > if (v == SEQ_START_TOKEN) > - seq_puts(seq, "Inter-| Receive " > - " | Transmit\n" > - " face |bytes packets errs drop fifo frame " > - "compressed multicast|bytes packets errs " > - "drop fifo colls carrier compressed\n"); > + seq_puts(seq, "Interface| Receive " > + " | Transmit\n" > + " | bytes packets errs drop fifo frame " > + "compressed multicast| bytes packets errs " > + " drop fifo colls carrier compressed\n"); > else > dev_seq_printf_stats(seq, v); > return 0; > @@ -259,14 +259,14 @@ static int ptype_seq_show(struct seq_file *seq, void *v) > struct packet_type *pt = v; > > if (v == SEQ_START_TOKEN) > - seq_puts(seq, "Type Device Function\n"); > + seq_puts(seq, "Type Device Function\n"); > else if (pt->dev == NULL || dev_net(pt->dev) == seq_file_net(seq)) { > if (pt->type == htons(ETH_P_ALL)) > seq_puts(seq, "ALL "); > else > seq_printf(seq, "%04x", ntohs(pt->type)); > > - seq_printf(seq, " %-8s %ps\n", > + seq_printf(seq, " %-9s %ps\n", > pt->dev ? pt->dev->name : "", pt->func); > } > > @@ -327,12 +327,14 @@ static int dev_mc_seq_show(struct seq_file *seq, void *v) > struct netdev_hw_addr *ha; > struct net_device *dev = v; > > - if (v == SEQ_START_TOKEN) > + if (v == SEQ_START_TOKEN) { > + seq_puts(seq, "Ifindex Interface Refcount Global_use Address\n"); > return 0; > + } > > netif_addr_lock_bh(dev); > netdev_for_each_mc_addr(ha, dev) { > - seq_printf(seq, "%-4d %-15s %-5d %-5d %*phN\n", > + seq_printf(seq, "%-7d %-9s %-8d %-10d %*phN\n", > dev->ifindex, dev->name, > ha->refcount, ha->global_use, > (int)dev->addr_len, ha->addr); > -- > 2.32.0 >
next prev parent reply other threads:[~2021-10-09 16:35 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-16 8:57 [PATCH net-next] net: procfs: add seq_puts() statement for dev_mcast Yajun Deng 2021-08-18 9:20 ` patchwork-bot+netdevbpf 2021-10-09 16:35 ` Vladimir Oltean [this message] 2021-10-09 16:42 ` Vladimir Oltean 2021-10-11 2:44 ` yajun.deng
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211009163511.vayjvtn3rrteglsu@skbuf \ --to=olteanv@gmail.com \ --cc=davem@davemloft.net \ --cc=kuba@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=netdev@vger.kernel.org \ --cc=yajun.deng@linux.dev \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).