Hi Kapil,

I am afraid there is no really efficient way today to connect a user-space 
(netdev-dpdk) datapath in OVS to kernel interfaces (such as internal/tap ports 
or veth pairs) today. Communication works but packet I/O is very slow compared 
to DPDK interfaces (both ethernet and vhostuser). The PMD threads polling the 
DPDK interfaces are heavily slowed down when sending packets to kernel ports 
and in the other direction all kernel interfaces are polled by the main 
ovs-vswitchd thread.

If your other bridge also uses DPDK in user space, you can try with DPDK ring 
ports as interface between the two bridges. DPDK ring ports should be supported 
in OVS.

Another almost as efficient solution for sending packets from the OVS DPDK 
datapath to another DPDK vSwitch would be to run the other vSwitch in a VM and 
connect it to OVS-DPDK on the host through a vhostuser port. The DPDK vSwitch 
in the VM would then use the virtio PMD, I expect this to be supported by all 
DPDK vSwitches.

BR, Jan

From: Kapil A [mailto:kapil20...@gmail.com]
Sent: Wednesday, 14 February, 2018 03:47
To: Jan Scheurich <jan.scheur...@ericsson.com>
Cc: disc...@openvswitch.org; d...@openvswitch.org
Subject: Re: [ovs-dev] DPDK: How to send packets from one OVS bridge to another 
OVS bridge while running in the same user space ?


Hi Jan,

Thanks for the clarification. I also came across patch port as the best option 
between ovs Bridges. But, is it possible to use patch ports to an external 
OpenFlow bridge? Like one bridge is OVS, other is Lagopus bridge or LINC 
bridge? For my use case, I want to send packets from OVS Bridge to another 
OpenFlow bridge(like a loopback port) as OVS doesn't support the functionality 
I am looking for.

On Tue, Feb 13, 2018, 21:22 Jan Scheurich 
<jan.scheur...@ericsson.com<mailto:jan.scheur...@ericsson.com>> wrote:
Hi Kapil,

This is what patch ports are for. They are only traversed for the first packet 
of a flow in the slow path. The resulting datapath flow entry collapses the 
processing in both bridges into a single megaflow. So there is no performance 
overhead compared to having a single bridge.

Regards, Jan

> -----Original Message-----
> From: ovs-dev-boun...@openvswitch.org<mailto:ovs-dev-boun...@openvswitch.org> 
> [mailto:ovs-dev-boun...@openvswitch.org<mailto:ovs-dev-boun...@openvswitch.org>]
>  On Behalf Of Kapil A
> Sent: Tuesday, 13 February, 2018 16:44
> To: disc...@openvswitch.org<mailto:disc...@openvswitch.org>; 
> d...@openvswitch.org<mailto:d...@openvswitch.org>
> Subject: [ovs-dev] DPDK: How to send packets from one OVS bridge to another 
> OVS bridge while running in the same user space ?
>
> Hello,
>
> In my setup, i have two DPDK ports, where dpdk0 is part of br0 and and
> dpdk1 is part of br1. How can i send packets from br0 to br1 in an
> efficient way within userspace with good performance?
> I came across, veth pair as one option, but i couldn't find if it will
> provide good performance in userspace while running in dpdk mode ?
>
> My query might sound odd, but i have a use case where i need to send the
> packets across bridges within the same userspace, so appreciate some help
> on this.
>
> Regards
> Kapil
> _______________________________________________
> dev mailing list
> d...@openvswitch.org<mailto:d...@openvswitch.org>
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev


--

Regards
Kapil
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to