<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div style="box-sizing:inherit;color:rgb(29,28,29);font-family:Slack-Lato,appleLogo,sans-serif;font-size:15px;font-style:normal;font-variant-ligatures:common-ligatures;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(248,248,248);text-decoration-style:initial;text-decoration-color:initial">Looking for someone who knows OpenStack with OpenVSwitch, and in addition to that, DPDK with OpenStack and OVS.<span style="box-sizing:inherit;display:block;height:8px"></span>I am using OpenStack Queens, with OpenVSwitch. The architecture I am using is documented here:<br style="box-sizing:inherit"><a href="https://docs.openstack.org/neutron/queens/admin/deploy-ovs-provider.html" rel="noopener noreferrer" style="box-sizing:inherit;text-decoration:none" target="_blank">https://docs.openstack.org/neutron/queens/admin/deploy-ovs-provider.html</a><span style="box-sizing:inherit;display:block;height:8px"></span>The OVS I am using on the Compute Node, is compiled with DPDK, and I have enabled the datapath to netdev (DPDK) on br-prv (provider network bridge), and br-tun (tunneling bridge). <span style="box-sizing:inherit;display:block;height:8px"></span>But these two bridges, br-tun and br-prv, are patched into another OpenStack bridge, called br-int. I wasn’t actually sure about whether to tinker with this bridge, and wondered what datapath it was using.<span style="box-sizing:inherit;display:block;height:8px"></span>Then, I realized there is a parameter in the openvswitch_agent.ini file, which I will list here:<br style="box-sizing:inherit"></div><pre style="box-sizing:inherit;margin:4px 0px;padding:8px;font-size:12px;line-height:1.50001;font-variant-ligatures:none;white-space:pre-wrap;word-break:normal;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;border-radius:4px;color:rgb(29,28,29);font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"># OVS datapath to use. 'system' is the default value and corresponds to the<br style="box-sizing:inherit"># kernel datapath. To enable the userspace datapath set this value to 'netdev'.<br style="box-sizing:inherit"># (string value)<br style="box-sizing:inherit"># Possible values:<br style="box-sizing:inherit"># system - <No description provided><br style="box-sizing:inherit"># netdev - <No description provided><br style="box-sizing:inherit">#datapath_type = system<br style="box-sizing:inherit">datapath_type = netdev</pre><div style="box-sizing:inherit;color:rgb(29,28,29);font-family:Slack-Lato,appleLogo,sans-serif;font-size:15px;font-style:normal;font-variant-ligatures:common-ligatures;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(248,248,248);text-decoration-style:initial;text-decoration-color:initial">So in tinkering with this, what I realized, is that when you set this datapath_type to system or netdev, it will adjust the br-int bridge to that datapath type.<span style="box-sizing:inherit;display:block;height:8px"></span>So here is my question. How can I launch a non-DPDK VM, if all of the bridges are using the netdev datapath type?<span style="box-sizing:inherit;display:block;height:8px"></span>Here is another question. What if one of the flavors don’t have the largepages property set on them? I assumed OpenStack would revert to a system datapath and not use DPDK for those VM interfaces. Well, I found out in testing, that is not the case. If you set all your bridges up for netdev, and you don’t set the property on the Flavor of the VM (largepages), the VM will launch, but it simply won’t work.<span style="box-sizing:inherit;display:block;height:8px"></span>Is there no way, on a specific Compute Host, to support both DPDK (netdev datapaths) and non-DPDK (system datapaths)?<span style="box-sizing:inherit;display:block;height:8px"></span>Either on a VM interface level (VM has one interface that is netdev DPDK and another that is system datapath non-DPDK)?<span style="box-sizing:inherit;display:block;height:8px"></span>Or on a VM by VM basis (VM 1 has 1 or more netdev datapath interfaces and VM 2 has 1 or more system datapath interfaces)?<span style="box-sizing:inherit;display:block;height:8px"></span>Am I right here? Once you set up a Compute Host for DPDK, it’s DPDK or nothing on that Compute Host?<span dir="ltr" style="box-sizing:inherit;font-size:13px;white-space:nowrap"> (edited) <br></span></div></div>
</div></div>