Sorry! this time wrapped :)
we are experimenting with an Openstack-based OVS setup and are looking into
performance. In particular, we are currently using a 4.4.21 Linux kernel with
We observe the following behavior: When GRO is enabled in the receiving NIC
driver (tested with multiple HW & drivers), we see large TCP segments being
passed up from the NIC (observed via tcpdump). However, the OVS module seems to
refragment those segments again to MTU-sized packets, i.e. tcpdump on
qvo/tap/etc interfaces shows small segments again. This is causing considerable
overhead, because of subsequent per-packet costs.
At various places on the web it is suggested to switch off NIC-driver GRO and
we then see that OVS kicks in its own GRO, which is better than low-level GRO
However, the ideal case would be NIC-driver GRO and no refragmentation in the
network stack. This is the behavior that we have seen with OVS 2.1.2.
Does anybody have a clue what cause this refragmentation and how to disable it?
discuss mailing list