Hello,
run into this problem - why the mlx4_en driver does not enable LRO by default? Is there any reason for it? It takes some time to figure it out. Especially strange is that performance tuning guide does not talk much about it. Enabling LRO got my single flow TCP performance up by 50% to 30gbps.
[root@igmp-tester mlx4]# ethtool -i p2p1
driver: mlx4_en
version: 2.2-1.0.1 (Jul 20 2014)
firmware-version: 2.31.5050
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes
[root@igmp-tester mlx4]# ethtool -k p2p1
Features for p2p1:
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
ntuple-filters: off
receive-hashing: on
Regards,
Philip