Ethtool, Napi, Large receive offload (lro) – Dell Intel PRO Family of Adapters User Manual

Page 98: Hw rsc, Rx_dropped_backlog

Advertising
background image

ethtool

The driver uses the ethtool interface for driver configuration and diagnostics, as well as displaying statistical inform-
ation. The latest ethtool version is required for this functionality.

The latest release of ethtool can be found at:

http://sourceforge.net/projects/gkernel

.

NAPI

NAPI (Rx polling mode) is supported in the ixgbe driver.

See

ftp://robur.slu.se/pub/Linux/net-development/NAPI/usenix-paper.tgz

for more information on NAPI.

Large Receive Offload (LRO)

Large Receive Offload (LRO) is a technique for increasing inbound throughput of high-bandwidth network connections
by reducing CPU overhead. It works by aggregating multiple incoming packets from a single stream into a larger buffer
before they are passed higher up the networking stack, thus reducing the number of packets that have to be processed.
LRO combines multiple Ethernet frames into a single receive in the stack, thereby potentially decreasing CPU util-
ization for receives.

IXGBE_NO_LRO is a compile time flag. The user can enable it at compile time to remove support for LRO from the
driver. The flag is used by adding CFLAGS_EXTRA="-DIXGBE_NO_LRO" to the make file when it's being compiled.

make CFLAGS_EXTRA="-DIXGBE_NO_LRO" install

You can verify that the driver is using LRO by looking at these counters in ethtool:

l

lro_flushed - the total number of receives using LRO.

l

lro_coal - counts the total number of Ethernet packets that were combined.

HW RSC

82599-based adapters support hardware based receive side coalescing (RSC) which can merge multiple frames from
the same IPv4 TCP/IP flow into a single structure that can span one or more descriptors. It works similarly to software
large receive offload technique. By default HW RSC is enabled, and SW LRO can not be used for 82599-based
adapters unless HW RSC is disabled.

IXGBE_NO_HW_RSC is a compile time flag that can be enabled at compile time to remove support for HW RSC from
the driver. The flag is used by adding CFLAGS_EXTRA="-DIXGBE_NO_HW_RSC" to the make file when it is being
compiled.

make CFLAGS_EXTRA="-DIXGBE_NO_HW_RSC" install

You can verify that the driver is using HW RSC by looking at the counter in ethtool:

hw_rsc_count - counts the total number of Ethernet packets that were being com-

bined.

rx_dropped_backlog

When in a non-Napi (or Interrupt) mode, this counter indicates that the stack is dropping packets. There is an
adjustable parameter in the stack that allows you to adjust the amount of backlog. We recommend increasing the net-
dev_max_backlog if the counter goes up.

# sysctl -a |grep netdev_max_backlog

net.core.netdev_max_backlog = 1000

# sysctl -e net.core.netdev_max_backlog=10000

net.core.netdev_max_backlog = 10000

Advertising