User`s guide

Chapter II. Network (NIC/TOE)
Chelsio T5/T4 Unified Wire For Linux Page 56
[root@host]# lsmod | grep t4_tom
[root@host]# modprobe t4_tom
[root@host]# lsmod | grep t4_tom
t4_tom 88378 0 [permanent]
toecore 21618 1 t4_tom
cxgb4 225342 1 t4_tom
Then T5/T4’s hardware GRO/LRO implementation is enabled.
If you would like to use the Linux GRO/LRO for any reason, first the t4_tom kernel module
needs to be removed from kernel module list. Please note you might need to reboot your
system.
After removing the t4_tom module, you can use ethtool to check the status of current
GRO/LRO settings, for example:
[root@host]# ethtool -k eth6
Offload parameters for eth6:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
Now the generic-receive-offload option is on. This means GRO is enabled. Please note
that there are two offload options here: generic-receive-offload and large-receive-
offload. This is because on this Linux system (RHEL6.0), the kernel supports both GRO and
LRO. As mentioned earlier, GRO is always the preferred option when both of them are present.
On other systems LRO might be the only available option. Then ethtool could be used to
switch LRO on and off as well.
When Linux’s GRO is enabled, Chelsio’s T5/T4 driver provides two GRO-related statistics. They
are displayed using the following command:
[root@host]# ethtool -S eth6
...
GROPackets : 0
GROMerged : 897723
...