
Solarflare
Server
Adapter
User
Guide
Solarflare
Adapters
on
Linux
Issue
20
©
Solarflare
Communications
2017
107
TCP
Segmentation
Offload
(TSO)
TCP
Segmentation
Offload
(TSO)
offloads
the
splitting
of
outgoing
TCP
data
into
packets
to
the
adapter.
TSO
benefits
applications
using
TCP.
Applications
using
protocols
other
than
TCP
will
not
be
affected
by
TSO.
Enabling
TSO
will
reduce
CPU
utilization
on
the
transmit
side
of
a
TCP
connection
and
improve
peak
throughput,
if
the
CPU
is
fully
utilized.
Since
TSO
has
no
effect
on
latency,
it
can
be
enabled
at
all
times.
The
driver
has
TSO
enabled
by
default.
Therefore,
there
is
no
opportunity
to
improve
performance
from
the
default.
TSO
is
controlled
using
ethtool:
#
/sbin/ethtool
–K
<ethX>
tso
<on|off>
Verification
of
the
TSO
settings
may
be
performed
by
running
ethtool
with
the
–k
option.
TCP
and
IP
checksum
offloads
must
be
enabled
for
TSO
to
work.
NOTE:
Solarflare
recommend
that
you
do
not
disable
this
setting.
TCP
Large
Receive
Offload
(LRO)
TCP
Large
Receive
Offload
(LRO)
is
a
feature
whereby
the
adapter
coalesces
multiple
packets
received
on
a
TCP
connection
into
a
single
larger
packet
before
passing
this
onto
the
network
stack
for
receive
processing.
This
reduces
CPU
utilization
and
improves
peak
throughput
when
the
CPU
is
fully
utilized.
The
effectiveness
of
LRO
is
bounded
by
the
interrupt
moderation
delay,
and
is
limited
if
interrupt
moderation
is
disabled
(see
).
Enabling
LRO
does
not
itself
negatively
impact
latency.
NOTE:
The
Solarflare
network
adapter
driver
enables
LRO
by
default.
By
its
design,
LRO
is
of
greater
benefit
when
working
with
smaller
packets.
For
Solarflare
adapter,
LRO
will
become
disabled
if
the
MTU
is
set
larger
than
3979.
When
the
MTU
is
set
larger
than
3978,
LRO
cannot
be
enabled
and
will
be
reported
as
‘fixed
disabled’
by
ethtool.
NOTE:
LRO
should
NOT
be
enabled
when
using
the
host
to
forward
packets
from
one
interface
to
another.
For
example,
if
the
host
is
performing
IP
routing.