[ovs-dev] ovs segments frames when transmitting to veth

Ramu Ramamurthy sramamur at linux.vnet.ibm.com
Thu Jan 14 00:49:33 UTC 2016


On 2016-01-13 16:22, Jesse Gross wrote:
> On Wed, Jan 13, 2016 at 3:51 PM, Ramu Ramamurthy
> <sramamur at linux.vnet.ibm.com> wrote:
>> 
>> Problem:
>> ---------
>> 
>> We are running centos 7.2 (ovs-kernel module from distribution) with 
>> OVS
>> 2.3.1.
>> 
>> Large tcp frames (> 30Kbytes gro'd) are coming into a vxlan-tunnel 
>> port and
>> switched by an ovs-bridge onto a veth port
>> 
>> vxlan-tunnel--(gro'd tcp frames sized > 30K)-->OVS-bridge--(frames 
>> sized
>> 1448)-->veth port
>> 
>> As the ovs transmits onto the veth port, the frames are getting 
>> segmented
>> into 1448 byte sized packets. All the offload settings are at default 
>> on the
>> veth port (gso on, gro on, tso on)
>> 
>> We expect that the OVS can transmit the frame without segmentation 
>> onto the
>> veth port. But, due to segmentation, the performance suffers.
> 
> I think the problem is that tunnel decapsulation (in all cases, not
> just VXLAN, and not just with OVS) doesn't appear to strip off the GSO
> type that indicates that it is a tunnel frame. As a result, the veth
> (which didn't support tunnel GSO until 3.13) sees this as a tunnel
> frame rather than just a TCP frame and forces software segmentation.
> The issue isn't with OVS code, so I would recommend that you submit a
> patch to upstream Linux.
Thanks, I will look into the fix for this upstream.




More information about the dev mailing list