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
|
||||
=======
|
||||
|
||||
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
Block a user