For some reason, ip -s link
does not show the same numbers as /proc/net/dev
, specifically the overrun count.
For a given interface, ip shows no overrun packets:
$ ip -s link show eth-ext1
7: eth-ext1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:08:a2:0d:00:74 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
1038103044434 1099087192 0 0 0 401298
TX: bytes packets errors dropped carrier collsns
543051882227 844808055 0 0 0 0
While in proc
we see non-zero overrun (which is what I am assuming fifo
is referring to):
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
[...]
eth-ext1: 1038106099296 1099090833 0 0 467554 0 0 401301 543052535442 844810749 0 0 0 0 0 0
I'm inclined to believe that there actually were overrun packets on the interface, so it appears that the output of ip link
is not correct. Is there anything I am missing?
fifo and overrun are not the same. Just type ip -s -s a, there would be something like this
overrun — the total number of receiver overruns resulting in dropped packets. As a rule, if the interface is overrun, it means serious problems in the kernel or that your machine is too slow for this interface.
fifo (file input file output) errors