[openstack-dev] [neutron][networking-vpp]Introducing networking-vpp

Jerome Tollet (jtollet) jtollet at cisco.com
Thu Oct 6 07:46:03 UTC 2016


Hey Kevin,
Thanks for your interest in this project.
We found etcd very convenient to store desired states as well as operational states. It made the design easy to provide production grade features (e.g. agent restart, mechanical driver restart, …) in a very concise code. In addition to that, debugging is simple to do using simple “etcdwatch” commands. Please note that etcd is not an alternative to rabbitmq even though communication protocol is HTTP/JSON.
Jerome

De : Kevin Benton <kevin at benton.pub>
Répondre à : "OpenStack Development Mailing List (not for usage questions)" <openstack-dev at lists.openstack.org>
Date : jeudi 6 octobre 2016 00:27
À : "OpenStack Development Mailing List (not for usage questions)" <openstack-dev at lists.openstack.org>
Objet : Re: [openstack-dev] [neutron][networking-vpp]Introducing networking-vpp

Cool. Always like to see more drivers.

I'm curious about the choice of etcd instead of rabbitmq as the communication mechanism between the mech driver and the agents since it introduces a new dependency into the deployment. Is this because the agent is written to work with other things like Kubernetes, Docker, etc as well?

On Wed, Oct 5, 2016 at 12:01 PM, Ian Wells <ijw.ubuntu at cack.org.uk<mailto:ijw.ubuntu at cack.org.uk>> wrote:
We'd like to introduce the VPP mechanism driver, networking-vpp[1], to the developer community.

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.

To give some background:

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.

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.


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!

[1]
https://github.com/openstack/networking-vpp for all your code needs
https://review.openstack.org/#/q/status:open+project:openstack/networking-vpp to help
https://launchpad.net/networking-vpp for bugs

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe<http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20161006/765a6815/attachment.html>


More information about the OpenStack-dev mailing list