Home / Why packets drops against ‘rx_fifo_errors’ parameter in the output of ‘ethtool -S ‘ ?

Why packets drops against ‘rx_fifo_errors’ parameter in the output of ‘ethtool -S ‘ ?

The output of ethtool -S <interface> reveals receive fifo errors. Additionally, rx_queue_<n>_drops, the total of which equals the value of rx_fifo_errors, are reported.

# ethtool -S eth0 | egrep 'rx_fifo|drops'
rx_fifo_errors: 120674
rx_queue_0_drops: 4032
rx_queue_1_drops: 3036
rx_queue_2_drops: 5904
rx_queue_3_drops: 0
rx_queue_4_drops: 228
rx_queue_5_drops: 65656
rx_queue_6_drops: 19267
rx_queue_7_drops: 22551

# ethtool -S eth0 | egrep drops | awk '{print $2}' | paste -s -d+ | bc

The value of the rx_fifo_errors parameter indicates that the adapter is discarding packets because the RX interrupts cannot allocate buffers quickly enough.

Increase the ring buffer size, if possible. Check the present settings and the highest value that can be set before raising. Run the command below to get the maximum possible ring buffer size (Pre-set maximums: ) and the present ring buffer size (Current hardware settings: ).

# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 256
RX Mini: 0
RX Jumbo: 0
TX: 256

Run the command below to increase the ring buffer size (in this example, 4096).

# ethtool -G eth0 rx 4096

Keep in mind that this configuration will be lost if your computer reboots. You should make the setting persistent.

Check to see if more time is needed to address soft interruptions. Execute this command.

# cat /proc/net/softnet_stat

The soft-interrupt budget has occasionally not been enough to clear the packet queue on a single call if any number in the third column of output is rising. Run this command to view the current budget value.

# sysctl net.core.netdev_budget

To set a new value run (for example)

# sysctl -w net.core.netdev_budget=600

This change will not be persistent across reboot. You should make it persistent across reboots.

Leave a Reply