
Issue 11
© Solarflare Communications 2014
83
Solarflare Server Adapter
User Guide
.
LRO can be controlled using the module parameter
lro
. Add the following line to
/etc/
modprobe.conf
or add the options line to a file under the
/etc/modprobe.d
directory
to
disable LRO:
options sfc lro=0
Then reload the driver so it picks up this option:
rmmod sfc
modprobe sfc
The current value of this parameter can be found by running:
cat /sys/module/sfc/parameters/lro
NOTE:
It has been observed that as RHEL6 boots the libvirtd daemon changes the default
forwarding setting such that LRO is disabled on all network interfaces. This behaviour is undesirable
as it will potentially lower bandwidth and increase CPU utilization - especially for high bandwidth
streaming applications.
To determine if LRO is enabled on an interface:
ethtool -k ethX
If IP forwarding is not required on the server, Solarflare recommends either:
Disabling the libvirtd service (if this is not being used),
Or, as root before loading the Solarflare driver:
sysctl -w net.ipv4.conf.default.forwarding=0
(This command can be loaded into
/etc/rc.local
),
Or, after loading the Solarflare driver, turn off forwarding for only the Solarflare interfaces
and re-enable LRO:
sysctl -w net.ipv4.conf.ethX.forwarding=0
ethtool -K ethX lro on
(where X is the id of the Solarflare interface).
Disabling the libvirtd service is a permanent solution, whereas the other recommendations are
temporary and will not persist over reboot.
LRO should not be enabled if IP forwarding is being used on the same interface as this could result
in incorrect IP and TCP operation.