I’m seeing very high RX dropped packets in the output of ifconfig: Thousands of packets per second, an order of magnitude more than regular RX packets.
wlan0 Link encap:Ethernet HWaddr 74:da:38:3a:f4:bb
inet addr:192.168.99.147 Bcast:192.168.99.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:31741 errors:0 dropped:646737 overruns:0 frame:0
TX packets:18424 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:90393262 (86.2 MiB) TX bytes:2348219 (2.2 MiB)
I’m testing WiFi dongles. Both have this problem, and the one with the higher drop rate actually performs better in ping floods. The one with low dropped packets suffers from extreme Ping RTTs, while the other never skips a beat.
- What does Linux consider a dropped packet?
- Why am I seeing so many of them?
- Why doesn’t it seem to affect performance?
There are lots of questions around with answers that say a dropped packet could be one of the following but that doesn’t help me very much, because those possibilities don’t seem to make sense in this scenario.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
Packet Dropped seen from ifconfig could be due to many reasons, you should dig deeper into NIC statistics to figure out real reason. Below are some general reasons
- NIC ring buffers getting full and unable to cope-up with incoming bursts of traffic
- CPU receiving NIC interrupts is very busy and unable to process
- some cable/hardware/duplex issues
- some bug in NIC driver
Look at the output of
ethtool -S wlan0iwconfig wlan0
and the content of /proc/net/wireless for any further information.
Method 2
For our case with the same issue with RX dropping packets due to IP address value is larger than Netmask value (ex: 17.229.24.266 vs 255.255.255.0, 266 > 255)
BBui 3/3/2020
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0