<div dir="ltr">We'd like to introduce the VPP mechanism driver, networking-vpp[1], to the developer community.<br><br>networking-vpp is an ML2 mechanism driver to control DPDK-based VPP user-space forwarders on OpenStack compute nodes.  The code does what mechanism drivers do - it connects VMs to each other and to other Neutron-provided network services like routers.  It also does it with care - we aim to make sure this is a robust design that can withstand common cloud problems and failures - and with clarity - so that it's straightforward to see what it's chosen to do and what it's thinking.<br><br>To give some background:<br><br>VPP is an open source network forwarder originally developed by Cisco and now part of the Linux Foundation FD.io project for fast dataplanes.  It's very very good at moving packets around, and has demonstrated performance up to and well beyond 10Gbps - of tiny packets: ten times the number of packets iperf uses to fill a 10Gbps link.  This makes it especially useful for NFV use cases.  It's a user space forwarder, which has other benefits versus kernel packet forwarding: it can be stopped and upgraded without rebooting the host, and (in the worst case) it can crash without bringing down the whole system.<br><br>networking-vpp is its driver for OpenStack.  We've written about 3,000 lines of code, consisting of a mechanism driver and an agent to program VPP through its Python API, and we use etcd to be a robust datastore and communication channel living between the two.<br><br><br>The code, at the moment, is in a fairly early stage, so please play with it and fix or report any problems you find.  It will move packets between VLANs and flat networks and VMs, and will connect to DHCP servers, routers and the metadata server in your cloud, so for basic uses it will work just the way you expect.  However, we certainly don't support every feature of Neutron just yet.  In particular, we haven't tested some things like LBaaS and VPNaaS with it - they should work, we just haven't tried - and, most obviously, security groups are not yet implemented - that's on the way.  However, we'd like to get it into your hands so that you can have a go with it, see what you like and don't like about it, and help us file down the rough edges if you feel like joining us.  Enjoy!<br><br>[1]<br><a href="https://github.com/openstack/networking-vpp" target="_blank">https://github.com/openstack/<wbr>networking-vpp</a> for all your code needs<br><a href="https://review.openstack.org/#/q/status:open+project:openstack/networking-vpp" target="_blank">https://review.openstack.org/#<wbr>/q/status:open+project:<wbr>openstack/networking-vpp</a> to help<br><a href="https://launchpad.net/networking-vpp" target="_blank">https://launchpad.net/<wbr>networking-vpp</a> for bugs<br><br></div>