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

From: yajun . deng
Date: Sun Oct 10 2021 - 22:44:13 EST


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" <olteanv@xxxxxxxxx> 写到:

> 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 <yajun.deng@xxxxxxxxx>
>> ---
>>
>> 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