Subject: Re: [PATCH net-next] net: procfs: add seq_puts() statement for dev_mcast

From: [email-masked]
Date: Mon, 11 Oct 2021 02:44:04 +0000

There is PCIe NIC with long name, this is the reason why put the 'Interface' a whole.

before:
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:  251136    2956    0    0    0     0          0         0   251136    2956    0    0    0     0       0          0
enp27s0f0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
enp27s0f1: 95099489  627116    0 328486    0     0          0    187285 18680642   67213    0    0    0     0       0          0
docker0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

after:
Interface|                            Receive                                       |                                 Transmit
         |            bytes      packets errs   drop fifo frame compressed multicast|            bytes      packets errs   drop fifo colls carrier compressed
       lo:           251136         2956    0      0    0     0          0         0            251136         2956    0      0    0     0       0          0
enp27s0f0:                0            0    0      0    0     0          0         0                 0            0    0      0    0     0       0          0
enp27s0f1:         95099489       627116    0 328486    0     0          0    187285          18680642        67213    0      0    0     0       0          0
  docker0:                0            0    0      0    0     0          0         0                 0            0    0      0    0     0       0          0

October 10, 2021 12:42 AM, "Vladimir Oltean" <[email-masked]> 写到:

> On Sat, Oct 09, 2021 at 07:35:11PM +0300, Vladimir Oltean wrote:
> 
>> 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 <[email-masked]>
>> ---
>> 
>> 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:
> 
> Ah, it scrapes the text for "Inter-|":
> https://github.com/matttbe/ifstat/blob/main/drivers.c#L825
> 
>> 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