Intel Ethernet X520 10GbE Dual Port KX4 Mezz User Manual page 98

Table of Contents

Advertisement

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
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:
lro_flushed - the total number of receives using LRO.
l
lro_coal - counts the total number of Ethernet packets that were combined.
l
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
for more information on NAPI.

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents