I am working on some cable benchmarking and have been having some problems gathering accurate ethernet error statistics. When running traffic generation software, I found that the OS counters (both ifconfig and /proc/net/dev) always have ethernet errors at 0 even though typically well performing ethernet have at least 1 in 1012 bit error rate (probably worse since I am using a lossy cable). I am wondering if there is some other place I can look for ethernet metrics. Why does the OS not seem to update the packet errors? Are packets with errors dropped automatically and not counted? Is there some issue with my current NIC/driver/kernel combo? Any tips on how to get more accurate measurements?
Current my setup is 2 linux Ubuntu 16.04.5 LTS servers with a 10gE ethernet running between both. I am using 2 NICs and a cat6 cable going between both servers that supports 10gE. The NIC is using Intel(R) 10 Gigabit PCI Express Network Driver - version 4.2.1-k.
Thanks for any help!
Below is the output:
Features for ens4f0:
tx-checksum-ip-generic: off [fixed]
tx-checksum-fcoe-crc: on [fixed]
tx-scatter-gather-fraglist: off [fixed]
tx-tcp-ecn-segmentation: off [fixed]
udp-fragmentation-offload: off [fixed]
highdma: on [fixed]
rx-vlan-filter: on [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: on [fixed]
tx-gre-segmentation: off [fixed]
tx-ipip-segmentation: off [fixed]
tx-sit-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
fcoe-mtu: off [fixed]
loopback: off [fixed]
rx-fcs: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
busy-poll: on [fixed]
It is fixed to off so I am not able to turn it on.
Any updates? I tried updating the drivers to 5.5.3 but now both the rx-fcs and rx-all options are fixed to off which made the problem worse. In general I would like to know if there is any possible way to get error counts from the NIC.
I have a question regarding the e1000e driver. As opposed to the previously mentioned 10gE driver, the e1000e driver does seem to allow rx-fcs and rx-all to be set to on (no '[fixed]' on ethtool). However, went I tried to enable both settings using ethtool -K rx-fcs on rx-all on only rx-all was set to 'on' but rx-fcs looks like the following:
rx-fcs: off [requested on]
What exactly does to the '[requested on]' refer to? Does the 1gE drivers support setting rx-fcs to on?