Skip to main content

Mechanism driver for Neutron ML2 plugin using BGP E-VPNs/IP VPNs as a backend

Project description

Driver and agent code to use bagpipe-bgp lightweight implementation of BGP-based VPNs as a backend, for Neutron-BGPVPN Interconnection or Neutron ML2.

Overview

This package includes:

  • a Neutron ML2 mechanism driver (‘bagpipe’)

  • compute node agent code for::

BGP-based VPNs

BGP-based VPNs rely on extensions to the BGP routing protocol and typically MPLS or VXLAN encapsulation to provide multi-site isolated networks. The specification for BGP/MPLS IPVPNs is RFC4364 and the specification for E-VPN is RFC7432.

Neutron ML2 mechanism driver

The bagpipe mechanism driver allocates a BGP VPN identifier (called “route target”) for each Neutron network, and will setup an E-VPN instance for each network.

When a Neutron port goes up, the agent on the corresponding compute node provides this VPN identifier to the locally running bagpipe-bgp, to trigger the attachement of the VM tap interface to the E-VPN instance.

Once E-VPN routes are exchanged, bagpipe-bgp setups VXLAN forwarding state in the linuxbridge.

Neutron BGPVPN Interconnection

The compute node agent code extends the OVS agent of the OVS ML2 driver.

It allows the establishment of interconnections between Neutron networks and BGP/MPLS IP VPNs, using the BGPVPN Interconnection service plugin (networking-bgpvpn) with its bagpipe driver.

How to use ?

How to use the ML2 driver in devstack?

  • install devstack (whether stable/kilo or master)

  • enable the devstack plugin by adding this to local.conf:

    • to use branch stable/X (e.g. stable/mitaka):

      enable_plugin networking-bagpipe https://git.openstack.org/openstack/networking-bagpipe.git stable/X
    • to use the development branch:

      enable_plugin networking-bagpipe https://git.openstack.org/openstack/networking-bagpipe.git master
  • use the following options in devstack local.conf:

    Q_PLUGIN=ml2
    Q_AGENT=bagpipe-linuxbridge
    Q_ML2_PLUGIN_TYPE_DRIVERS=flat,vlan,vxlan,route_target
    Q_ML2_PLUGIN_MECHANISM_DRIVERS=bagpipe
    
    [[post-config|/$Q_PLUGIN_CONF_FILE]]
    [ml2]
    tenant_network_types=route_target
    
    [ml2_type_route_target]
    # E-VPN route target ranges
    rt_nn_ranges = 100:119,500:519
    
    [ml2_bagpipe]
    # Data Center AS number
    as_number = 64512
  • install and configure bagpipe-bgp on each compute node, with a peering to at least one common BGP Route Reflector:

    • enable the devstack plugin for bagpipe-bgp by adding this to local.conf:

      enable_plugin bagpipe-bgp https://github.com/Orange-OpenSource/bagpipe-bgp.git
      BAGPIPE_DATAPLANE_DRIVER_EVPN=linux_vxlan.LinuxVXLANDataplaneDriver
      # IP of your route reflector or BGP router, or fakeRR:
      BAGPIPE_BGP_PEERS=1.2.3.4
    • for two compute nodes, you can use the FakeRR provided in bagpipe-bgp

    • for more than two compute nodes, you can use GoBGP (sample configuration) or a commercial E-VPN implementation (e.g. vendors participating in EANTC interop testing on E-VPN)

How to use the networking-bgpvpn driver in devstack ?

Information on how to use bagpipe driver for networking-bgpvpn is provided in BGPVPN documentation.

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-4.0.0.tar.gz (41.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

networking_bagpipe-4.0.0-py2-none-any.whl (47.4 kB view details)

Uploaded Python 2

File details

Details for the file networking-bagpipe-4.0.0.tar.gz.

File metadata

File hashes

Hashes for networking-bagpipe-4.0.0.tar.gz
Algorithm Hash digest
SHA256 9f7d7c0ef7735912d9712f5da3021e515201f07df166aee7ef19ff5013cdd3ab
MD5 aac793882cd05d6ec3a93fa09737abb2
BLAKE2b-256 fc43858a8a7bae41d51bca424a5805ab62f40a80e62deffa1109444ec019df6c

See more details on using hashes here.

File details

Details for the file networking_bagpipe-4.0.0-py2-none-any.whl.

File metadata

File hashes

Hashes for networking_bagpipe-4.0.0-py2-none-any.whl
Algorithm Hash digest
SHA256 c304fdc4acf72320e39ba74e27418e237e413dd99281eaa5acce0f43364fdd64
MD5 11e4feda042bf6114309a44ee66e7158
BLAKE2b-256 94675c46f8741316e963cf24cdc3fc7e4c6ecf88d774a20764b74aa2f6769227

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page