# OpenContrail driver

## Introduction

The OpenContrail driver for the BGPVPN service plugin is designed to work jointly with the OpenContrail SDN controller (GitHub). The BGP VPN driver can be found in the monolithic Neutron plugin tree [1].

Note

The BGPVPN Contrail driver that was under `networking_bgpvpn` (`networking_bgpvpn.neutron.services.service_drivers.opencontrail.opencontrail.OpenContrailBGPVPNDriver`) has been deprecated in Queens release, and has been completly removed in Stein release. The documentation below refers to the production ready driver under `Juniper/contrail-neutron-plugin`. Be careful, no migration path is planned.

## Limitations

### Route Distinguishers

The OpenContrail driver for the BGPVPN service plugin does not permit specifying route distinguisher.

### Resource Association

The OpenContrail driver for the BGPVPN service plugin does not yet support association with ports. But it supports network associations and router associations.

### VPN Type

The OpenContrail driver for the BGPVPN service plugin can create L2 & L3 VPN types for network associations and L3 VPN type for router association.

## How to use ?

### On an Openstack Installation

[TBC (package installation + config)]

### In devstack

A devstack plugin can be used to setup an OpenContrail dev/test platform.

- Clone devstack:

      git clone git@github.com:openstack-dev/devstack

- Here a proposed devstack `local.conf` file which permits to deploy OpenStack keystone, glance, nova, neutron/networking-bgpvpn and compile/install all OpenContrail services and dependencies:

    [[local|localrc]]
    LOG=True
    LOGDAYS=1
    PASSWORD="secret"
    DATABASE_PASSWORD=$PASSWORD
    RABBIT_PASSWORD=$PASSWORD
    SERVICE_TOKEN=$PASSWORD
    SERVICE_PASSWORD=$PASSWORD
    ADMIN_PASSWORD=$PASSWORD

    # disable some nova services
    disable_service n-obj n-novnc n-cauth
    # disable cinder
    disable_service cinder c-api c-vol c-sch
    # disable heat
    disable_service h-eng h-api h-api-cfn h-api-cw
    # diable horizon
    disable_service horizon
    # disable swift
    disable_service swift s-proxy s-object s-container s-account
    # disable some contrail services
    #disable_service ui-webs ui-jobs named dns query-engine

    DEST=/opt/stack/openstack
    CONTRAIL_DEST=/opt/stack/contrail

    enable_plugin contrail https://github.com/zioc/contrail-devstack-plugin.git

    enable_plugin networking-bgpvpn https://opendev.org/openstack/networking-bgpvpn.git
    NETWORKING_BGPVPN_DRIVER="BGPVPN:OpenContrail:neutron_plugin_contrail.plugins.opencontrail.networking_bgpvpn.contrail.ContrailBGPVPNDriver:default"

[1]

That driver requires OpenContrail release upper or equal to 4.0

this page last updated: 2026-04-14 16:25:50

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug