Can I use GRO offloading with virtual guests?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux (as KVM host)
  • Red Hat Enterprise Virtualization
  • Virtual guests with virtual network interfaces

Issue

  • Can I implement GRO offloading on my KVM host to re-assemble fragmented packets in hardware, before passing them through the host bridge interface to my KVM guest?

Resolution

No, GRO must be off for virtualization hosts.

Turn GRO off with ethtool -K ethX gro off

If your network driver defaults to GRO on, and you need to persist this change across reboots, you can do so by following instructions at:

How do I run a script or program immediately after my network interface goes up?

Root Cause

Using GRO on a virtualization host will result in Ethernet frames being coalesced into IP packets which are larger than the MTU of the host bridge interface, of the virtual guest tap interface, and of the virtual guest interface, resulting in traffic being silently dropped.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments