Add drivers document for neutron dynamic routing
This patch add document about neutron dynamic routing drivers. Change-Id: Iccba29b89ef542a973efe4a10a0b8fef2365f745 Partially-Implements: blueprint bgp-spinout Partial-Bug: #156000
This commit is contained in:
parent
8375c51f70
commit
6e78541edc
|
@ -25,4 +25,80 @@
|
||||||
Drivers
|
Drivers
|
||||||
=======
|
=======
|
||||||
|
|
||||||
TODO: Coming Soon
|
Introduction
|
||||||
|
------------
|
||||||
|
The Neutron dynamic routing drivers are used to support different dynamic
|
||||||
|
routing protocol stacks which implement the dynamic routing functionality.
|
||||||
|
|
||||||
|
As shown in the following figure, the drivers are managed by `DRAgent <./agent-scheduler.html>`_
|
||||||
|
through a "Driver Manager" which provides consistent APIs to realize the
|
||||||
|
functionality of a dynamic routing protocol::
|
||||||
|
|
||||||
|
Neutron Dynamic Routing Drivers
|
||||||
|
+-------------------------------+
|
||||||
|
| DRAgent |
|
||||||
|
| |
|
||||||
|
| +-------------------------+ |
|
||||||
|
| | Driver Manager | |
|
||||||
|
| +-------------------------+ |
|
||||||
|
| | Common Driver API | |
|
||||||
|
| +-------------------------+ |
|
||||||
|
| | |
|
||||||
|
| | |
|
||||||
|
| +------------+------------+ |
|
||||||
|
| | Ryu | Other | |
|
||||||
|
| | Driver | Drivers | |
|
||||||
|
| +------------+------------+ |
|
||||||
|
| |
|
||||||
|
+-------------------------------+
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
In the first release, only the integration with Ryu is supported. Later release will
|
||||||
|
have support for Quagga, Bird etc. Besides, BGP is the only protocol supported now
|
||||||
|
but support for more dynamic routing protocols might come in the future.
|
||||||
|
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
Driver configurations are done in a separate configuration file.
|
||||||
|
|
||||||
|
BGP Driver
|
||||||
|
~~~~~~~~~~
|
||||||
|
There are two configuration parameters related to BGP which are specified in ``bgp_dragent.ini``.
|
||||||
|
|
||||||
|
* bgp_speaker_driver, to define BGP speaker driver class. Default is Ryu
|
||||||
|
(neutron_dynamic_routing.services.bgp.agent.driver.ryu.driver.RyuBgpDriver).
|
||||||
|
* bgp_router_id, to define BGP identity (typically an IPv4 address). Default is
|
||||||
|
a unique loopback interface IP address.
|
||||||
|
|
||||||
|
Common Driver API
|
||||||
|
-----------------
|
||||||
|
Common Driver API is needed to provide a generic and consistent interface
|
||||||
|
to different drivers. Each driver need to implement the provided
|
||||||
|
`base driver class <https://git.openstack.org/cgit/openstack/neutron-dynamic-routing/tree/neutron_dynamic_routing/services/bgp/agent/driver/base.py>`_.
|
||||||
|
|
||||||
|
|
||||||
|
BGP
|
||||||
|
~~~
|
||||||
|
Following interfaces need to be implemented by a driver for realizing BGP
|
||||||
|
functionality.
|
||||||
|
|
||||||
|
+--------------------------------+-----------------------------------------+
|
||||||
|
|API name |Description |
|
||||||
|
+================================+=========================================+
|
||||||
|
|add_bgp_speaker() |Add a BGP Speaker |
|
||||||
|
+--------------------------------+-----------------------------------------+
|
||||||
|
|delete_bgp_speaker() |Delete a BGP speaker |
|
||||||
|
+--------------------------------+-----------------------------------------+
|
||||||
|
|add_bgp_peer() |Add a BGP peer |
|
||||||
|
+--------------------------------+-----------------------------------------+
|
||||||
|
|delete_bgp_peer() |Delete a BGP peer |
|
||||||
|
+--------------------------------+-----------------------------------------+
|
||||||
|
|advertise_route() |Add a new prefix to advertise |
|
||||||
|
+--------------------------------+-----------------------------------------+
|
||||||
|
|withdraw_route() |Withdraw an advertised prefix |
|
||||||
|
+--------------------------------+-----------------------------------------+
|
||||||
|
|get_bgp_speaker_statistics() |Collect BGP Speaker statistics |
|
||||||
|
+--------------------------------+-----------------------------------------+
|
||||||
|
|get_bgp_peer_statistics() |Collect BGP Peer statistics |
|
||||||
|
+--------------------------------+-----------------------------------------+
|
||||||
|
|
Loading…
Reference in New Issue