[ovs-discuss] performance drop 60% when using vxlan tunnel

FengYu LeiDian fengyuleidian0615 at gmail.com
Thu Nov 6 06:58:33 UTC 2014


于 2014年11月06日 00:08, Jesse Gross 写道:
> On Tue, Nov 4, 2014 at 11:03 PM, FengYu LeiDian
> <fengyuleidian0615 at gmail.com> wrote:
>> Hi
>>
>> Env: redhat 6.4, OpenvSwitch-2.1.2, using native
>> datapath/linux/openvswitch.ko module
>>
>> VM1 on host1, VM2 on host2, host1 and host2 are connected by a switch.
>> both VM enable virtio/vhost when launching VM
>>
>> case1:
>> VM -> tap -> ovs-bridge -> eth1
>>
>> case2:
>> VM -> tap -> ovs-bridge -> vxlan -> eth1
>>
>> When using vxlan in case2, iperf performance drop 60%,
>
> Your NIC probably doesn't support offloads (checksum, TSO, etc.) in
> the presence of VXLAN.

This is the default features supported by my NIC 82599 both in case1 and 
case2.
Features for eth4:
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
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: on
receive-hashing: on

In vxlan scenario in case2:

1. Set eth4 mtu to a larger value to make udp packet not fragmented,
    so ufo won't be involved here.

2. enable UDP RSS by:
    ethtool -N eth4 rx-flow-hash udp4 sdfn

    After setting UDP RSS, udp packets are scaled into multiple queues.
    Without UDP RSS, udp packets fall into a single queue. Then the
    performance changed from 2Gbps to 2.5Gbps, still large drop
    compared with original none vxlan 7.6Gbps scenario.






More information about the discuss mailing list