Mechanism driver for Neutron ML2 plugin using BGP E-VPNs/IP VPNs as a backend
Project description
==================
networking-bagpipe
==================
Driver and agent code to use BaGPipe lightweight implementation
of BGP-based VPNs as a backend for Neutron.
* Free software: Apache license
* Documentation: https://docs.openstack.org/networking-bagpipe/latest/
* Source: http://git.openstack.org/cgit/openstack/networking-bagpipe
* Bugs: http://bugs.launchpad.net/networking-bagpipe
Team and repository tags
------------------------
.. image:: http://governance.openstack.org/badges/networking-bagpipe.svg
:target: http://governance.openstack.org/reference/tags/index.html
.. Change things from this point on
Overview
--------
BGP-based VPNs rely on extensions to the BGP routing protocol and dataplane
isolation (e.g. MPLS-over-x, VXLAN) to create multi-site isolated virtual
networks over a shared infrastructure, such as BGP/MPLS IPVPNs (RFC4364_) and
E-VPN (RFC7432_). They have been heavily used in IP/MPLS WAN backbones
since the early 2000's.
These BGP VPNs are relevant in the context of Neutron, for two distinct
use cases:
1. creating reachability between Neutron ports (typically VMs) and BGP VPNs
outside the cloud datacenter (this is true independently of the backend
chosen for Neutron)
2. leveraging these BGP VPNs in Neutron's backend, to benefit from the
flexibility, robustness and scalability of the underlying technology
(as do other existing backends such as OpenContrail, Nuage Networks,
or Calico -- although the latter relies on plain, non-VPN, BGP)
BaGPipe proposal is to address these two use cases by implementing this
protocol stack -- both the BGP routing protocol VPN extensions and the
dataplane encapsulation -- in compute nodes or possibly ToR switches, and
articulating it with Neutron thanks to drivers and plugins.
The networking-bagpipe package includes:
* for use case 1: backend code for Neutron's BGPVPN Interconnection
service plugin (networking-bgpvpn_) ; only compute node code (agent
and BGP) is in networking-bagpipe, the Neutron server-side part,
being currently in networking-bgpvpn_ package)
* for use case 2: a Neutron ML2 mechanism driver
* compute code common to both: agent extensions for Neutron agent
(linuxbridge or openvswitch) to consolidate and pass information via
its REST API to :ref:`bagpipe-bgp`: a lightweight BGP VPN implementation
(note that a previous version of bagpipe-bgp was hosted under github)
.. _networking-bgpvpn: https://github.com/openstack/networking-bgpvpn
.. _RFC4364: http://tools.ietf.org/html/rfc4364
.. _RFC7432: http://tools.ietf.org/html/rfc7432
networking-bagpipe
==================
Driver and agent code to use BaGPipe lightweight implementation
of BGP-based VPNs as a backend for Neutron.
* Free software: Apache license
* Documentation: https://docs.openstack.org/networking-bagpipe/latest/
* Source: http://git.openstack.org/cgit/openstack/networking-bagpipe
* Bugs: http://bugs.launchpad.net/networking-bagpipe
Team and repository tags
------------------------
.. image:: http://governance.openstack.org/badges/networking-bagpipe.svg
:target: http://governance.openstack.org/reference/tags/index.html
.. Change things from this point on
Overview
--------
BGP-based VPNs rely on extensions to the BGP routing protocol and dataplane
isolation (e.g. MPLS-over-x, VXLAN) to create multi-site isolated virtual
networks over a shared infrastructure, such as BGP/MPLS IPVPNs (RFC4364_) and
E-VPN (RFC7432_). They have been heavily used in IP/MPLS WAN backbones
since the early 2000's.
These BGP VPNs are relevant in the context of Neutron, for two distinct
use cases:
1. creating reachability between Neutron ports (typically VMs) and BGP VPNs
outside the cloud datacenter (this is true independently of the backend
chosen for Neutron)
2. leveraging these BGP VPNs in Neutron's backend, to benefit from the
flexibility, robustness and scalability of the underlying technology
(as do other existing backends such as OpenContrail, Nuage Networks,
or Calico -- although the latter relies on plain, non-VPN, BGP)
BaGPipe proposal is to address these two use cases by implementing this
protocol stack -- both the BGP routing protocol VPN extensions and the
dataplane encapsulation -- in compute nodes or possibly ToR switches, and
articulating it with Neutron thanks to drivers and plugins.
The networking-bagpipe package includes:
* for use case 1: backend code for Neutron's BGPVPN Interconnection
service plugin (networking-bgpvpn_) ; only compute node code (agent
and BGP) is in networking-bagpipe, the Neutron server-side part,
being currently in networking-bgpvpn_ package)
* for use case 2: a Neutron ML2 mechanism driver
* compute code common to both: agent extensions for Neutron agent
(linuxbridge or openvswitch) to consolidate and pass information via
its REST API to :ref:`bagpipe-bgp`: a lightweight BGP VPN implementation
(note that a previous version of bagpipe-bgp was hosted under github)
.. _networking-bgpvpn: https://github.com/openstack/networking-bgpvpn
.. _RFC4364: http://tools.ietf.org/html/rfc4364
.. _RFC7432: http://tools.ietf.org/html/rfc7432
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
networking-bagpipe-7.0.0.0rc1.tar.gz
(190.5 kB
view hashes)
Built Distribution
Close
Hashes for networking-bagpipe-7.0.0.0rc1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c026182028e90a1d4eadfc0505ad3488508328fd8448e951d5782d6d4a1ff1a |
|
MD5 | 070e3144409e273d475adc224217a884 |
|
BLAKE2b-256 | 3e9de473bcb988a94efbcc794fdfbea1bedf3c7854174bdb4066933ec496724a |
Close
Hashes for networking_bagpipe-7.0.0.0rc1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 228d055255d1860a44b2098643a84dab81649d109a04146d0ad6ef8a5bc95664 |
|
MD5 | 1aaf932d036edc9a6010a0123ee1270c |
|
BLAKE2b-256 | 513bc3a4b4d7a5282354ee8497a7f0409145a03f8dc3ae79ff2bfbc0536ad9c7 |