Bug 1410565

Summary: [RFE] OVN and OVS/DPDK userspace datapath
Product: Red Hat Enterprise Linux 7 Reporter: Kevin Traynor <ktraynor>
Component: openvswitchAssignee: Kevin Traynor <ktraynor>
Status: CLOSED NOTABUG QA Contact: ovs-qe
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: aloughla, atragler, fleitner, hsowa, lrichard, mleitner, sukulkar, thiagocmartinsc
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-28 13:15:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1333920    
Bug Blocks:    

Description Kevin Traynor 2017-01-05 18:37:17 UTC
Description of problem:
OVN will work to some degree with OVS-DPDK and the userspace OVS datapath.

However, userspace OVS datapath conntrack is missing some features (such as IP fragmentation) and does not have NAT. It is anticipated that these will be required by the vast majority of OVN users.

This bugzilla is to identify what is missing in userspace OVS datapath to enable fully functional OVN.

Comment 3 Thiago Martins 2017-04-10 20:28:04 UTC
Hey guys,

 I have successfully deployed Ocata with Networking OVN, but, when I try to reconfigure OpenvSwitch to use DPDK, it stops working.

 After enabling OVS+DPDK, I can still create Neutron Networks, Subnets and Routers, however, when I try to plug the OVN L3 Router, into a Network, the following error appear on OVS logs:


 ovs-vswitchd.log:

 http://paste.openstack.org/show/605800/


 ovn-controller.log:

 http://paste.openstack.org/show/605801/


 Here is a more detailed description about the problems I faced while trying to run OVN, with both GENEVE and Provider Networks, on top of DPDK:

 http://lists.openstack.org/pipermail/openstack-dev/2017-April/115152.html

 Hope it helps somehow!

Cheers!
Thiago

Comment 4 Thiago Martins 2017-04-10 21:06:15 UTC
Worth to mention that I can easily use OpenvSwitch with DPDK on a KVM-Only hypervisor, no OpenStack.

I'm facing a hard time to integrate it with OpenStack...

My Instances have many interfaces (i.e., eth0, eth1, eth2, eth3) and mixed underlying technologies, for example:


* first 2 (eth0 and eth1), are GENEVE / VXLAN networks, being used by "Control" and "Service", where "Control" is for people to access the Instances' itself, via its Floating IP, SSH, HTTP, etc, its Security Groups are locked by default and, the "Service" is for the Instance to talk with other Instances on the same Stack, Security Groups are opened, no firewall. Doesn't need OVS+DPDK but, would be good to have it.


* latest 2 (eth2 and eth3), are Flat / VLAN Provider Networks, being used by a L2 Bridge Application running inside of the Instance, so, it is is a NFV (L2 Bridge) App. It needs OVS+DPDK at the host.


This is very easy to deploy on a KVM-Only hypervisor. Using 1 KVM with OpenvSwitch host, I can easily create 2 regular OVS bridges, and 2 DPDK-Based OVS bridges and it just works!

However, when with OpenStack, it doesn't play well... Previously, with Neutron OpenvSwitch Agent, it is all or nothing, I mean, you have to change openvsiwtch ML2 config, to make the whole thing DPDK-Based, or Kernel-Based, there is no way to use half / half.

When I moved to OVN, I was expecting to be able to use it on top of DPDK (because the docs that I found on the Internet says it works on top of ANY datapath), for both GENEVE and Provider Networks but, still no deal.