<div dir="ltr">Guys,<div><br></div><div> I manage to deploy Ocata on Ubuntu 16.04 with OVN for the first time ever, today!</div><div><br></div><div> It looks very, very good... OVN L3 Router is working, OVN DHCP working... bridge mappings "br-ex" on each compute node... All good!</div><div><br></div><div> Then, I've said: time for DPDK!</div><div><br></div><div> I manage to use OVS with DPDK easily on top of Ubuntu (plus Ocata Cloud Archive) with plain KVM, no OpenStack, so, I have experience about how to setup DPDK, OVS+DPDK, Libvirt vhostuser, KVM and etc...</div><div><br></div><div> After configuring DPDK on a compute node, I tried the following instructions:</div><div><br></div><div> <a href="https://docs.openstack.org/developer/networking-ovn/dpdk.html">https://docs.openstack.org/developer/networking-ovn/dpdk.html</a></div><div><br></div><div> It looks quite simple!</div><div><br></div><div> To make things even simpler, I have just 1 controller, and 1 compute node, to begin with, before enabling DPDK at the compute node and changing the "br-int" datapath, I deleted all OVN Routers and all Neutron Networks and Subnets, that was previously working with regular OVS (no DPDK).</div><div><br></div><div> Then, after enabling DPDK and updating the "br-int" and the "br-ex" interfaces, right after connecting the "OVN L3 Router" into the "ext-net / br-ex" network, the following errors appeared on OpenvSwitch logs of the related compute node (OpenFlow error):</div><div><br></div><div><br></div><div> * After connecting OVN L3 Router against the "ext-net / br-ex" Flat / VLAN Network:<br></div><div><br></div><div> ovs-vswitchd.log:</div><div><br></div><div> <a href="http://paste.openstack.org/show/605800/">http://paste.openstack.org/show/605800/</a><br></div><div><br></div><div> ovn-controller.log:</div><div><br></div><div> <a href="http://paste.openstack.org/show/605801/">http://paste.openstack.org/show/605801/</a></div><div><br></div><div><br></div><div> Also, after connecting the OVN L3 Router into the local (GENEVE) network, very similar error messages appeared on OpenvSwitch logs...</div><div><br></div><div><br></div><div> * After connecting OVN L3 Router on a "local" GENEVE Network:</div><div><br></div><div> ovs-vswitchd.log:</div><div><br></div><div> <a href="http://paste.openstack.org/show/605804/">http://paste.openstack.org/show/605804/</a></div><div><br></div><div> ovn-controller.log:</div><div><br></div><div> <a href="http://paste.openstack.org/show/605805/">http://paste.openstack.org/show/605805/</a></div><div><br></div><div><br></div><div> * Output of "ovs-vsctl show" at the single compute node, after plugging the OVN L3 Router against the two networks (external / GENEVE):</div><div><br></div><div> <a href="http://paste.openstack.org/show/605806/">http://paste.openstack.org/show/605806/</a></div><div><br></div><div><br></div><div> Then, I tried to launch an Instance anyway and, for my surprise, the Instance was created! Using vhostuser OVS+DPDK socket!</div><div><br></div><div> Also, the Instance got its IP! Which is great!</div><div><br></div><div> However, the Instance can not ping its OVN L3 Router (its default gateway), with or without any kind of security groups applied, no deal...   :-(</div><div><br></div><div> BTW, the Instance did not received the ARP stuff of the OVN L3 Router, I mean, for the instance, the gateway IP on "arp -an" shows "<incomplete>".</div><div><br></div><div><br></div><div> * The ovs-vswitchd.log after launching an Instance on top of OVN/OVS+DPDK:</div><div><br></div><div> <a href="http://paste.openstack.org/show/605807/">http://paste.openstack.org/show/605807/</a></div><div><br></div><div> * The output of "ovs-vsctl show" after launching the above instance:</div><div><br></div><div> <a href="http://paste.openstack.org/show/605809/">http://paste.openstack.org/show/605809/</a> - Line 33 is the dpdkvhostuser</div><div><br></div><div><br></div><div> Just to give another try, I started a second Instance, to see if the Instances can ping each other... Also did not worked, the Instances can not ping each other.</div><div><br></div><div><br></div><div> So, from what I'm seeing, OVN on top of DPDK does not work.</div><div><br></div><div> Any tips?<br></div><div><br></div><div><br></div><div> NOTE:</div><div><br></div><div> I tried to enable "hugepages" on my OpenStack's flavor, just in case... Then, I found another bug, it doesn't even boot the Instance:</div><div><br></div><div> <a href="https://bugs.launchpad.net/cloud-archive/+bug/1680956">https://bugs.launchpad.net/cloud-archive/+bug/1680956</a></div><div><br></div><div><br></div><div> For now, I'll deploy Ocata with regular OVN, no DPDK, but, my goal with this cloud is for high performance networks, so, I need DPDK, and I also need GENEVE and Provider Networks, everything on top of DPDK.</div><div><br></div><div>---</div><div> After researching more about this "high perf networks", I found this:</div><div><br></div><div> * DPDK-like performance in Linux kernel with XDP !</div><div><br></div><div> <a href="http://openvswitch.org/support/ovscon2016/7/0930-pettit.pdf">http://openvswitch.org/support/ovscon2016/7/0930-pettit.pdf</a></div><div><br></div><div> <a href="https://www.iovisor.org/technology/xdp">https://www.iovisor.org/technology/xdp</a></div><div> <a href="https://www.iovisor.org/technology/ebpf">https://www.iovisor.org/technology/ebpf</a></div><div><br></div><div> <a href="https://qmonnet.github.io/whirl-offload/2016/09/01/dive-into-bpf/">https://qmonnet.github.io/whirl-offload/2016/09/01/dive-into-bpf/</a></div><div><br></div><div> But I have no idea about how to use OpenvSwitch with this thing, however, if I can achieve DPDK-Like performance, without DPDK, using just plain Linux, I'm a 100% sure that I'll prefer it!</div><div><br></div><div> I'm okay to give OpenvSwitch + DPDK another try, even knowing that it [OVS] STILL have serious problems (<a href="https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1577088).">https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1577088).</a>..</div><div>---</div><div><br></div><div> OpenStack on Ubuntu rocks!   :-D</div><div><br></div><div>Thanks!</div><div>Thiago</div></div>