[ovs-discuss] OVS-DPDK - Very poor performance when connected to namespace/container

Mooney, Sean K sean.k.mooney at intel.com
Thu Jun 15 08:23:36 UTC 2017



> -----Original Message-----
> From: Dpdk-ovs [mailto:dpdk-ovs-bounces at lists.01.org] On Behalf Of Avi
> Cohen (A)
> Sent: Thursday, June 15, 2017 8:14 AM
> To: dpdk-ovs at lists.01.org; users at dpdk.org; ovs-discuss at openvswitch.org
> Subject: [Dpdk-ovs] OVS-DPDK - Very poor performance when connected to
> namespace/container
> 
> Hello   All,
> I have OVS-DPDK connected to a namespace via veth pair device.
> 
> I've got a very poor performance - compared to normal OVS (i.e. no
> DPDK).
> For example - TCP jumbo pkts throughput: normal OVS  ~ 10Gbps , OVS-
> DPDK 1.7 Gbps.
> 
> This can be explained as follows:
> veth is implemented in kernel - in OVS-DPDK data is transferred from
> veth to user space while in normal OVS we save this transfer
[Mooney, Sean K] that is part of the reason, the other reson this is slow and
The main limiter to scalling adding veth pairs or ovs internal port to ovs with dpdk is
That these linux kernel ports are not processed by the dpdk pmds. They are server by the
Ovs-vswitchd main thread via a fall back to the non dpdk acclarated netdev implementation.
> 
> Is there any other device to connect to namespace ? something like
> vhost-user ? I understand that vhost-user cannot be used for namespace
[Mooney, Sean K] I have been doing some experiments in this regard.
You should be able to use the tap, pcap or afpacket pmd to add a vedv that will improve
Performance. I have seen some strange issue with the tap pmd that cause packet to be drop
By the kernel on tx on some ports but not others so there may be issues with that dirver.

Previous experiment with libpcap seemed to work well with ovs 2.5 but I have not tried it
With ovs 2.7/master since the introduction of generic vdev support at runtime. Previously vdevs
And to be allocated using the dpdk args.

I would try following the af_packet example here 
https://github.com/openvswitch/ovs/blob/b132189d8456f38f3ee139f126d680901a9ee9a8/Documentation/howto/dpdk.rst#vdev-support

if you happen to be investigating this for use with openstack routers we
Are currently working on a way to remove the use of namespace entirely for dvr when using 
The default neutron agent and sdn controllers such as ovn already provide that functionality.
> 
> Best Regards
> avi
> _______________________________________________
> Dpdk-ovs mailing list
> Dpdk-ovs at lists.01.org
> https://lists.01.org/mailman/listinfo/dpdk-ovs


More information about the discuss mailing list