Router Extension for Dynamic Routing Using BGP
Add dynamic routing capability to Neutron L3 router. BGP route discovery and advertisement are discussed. The document also tries to lay foundation to generic dynamic routing capability.
Blueprint information
- Status:
- Complete
- Approver:
- Carl Baldwin
- Priority:
- Low
- Drafter:
- Artem Dmytrenko
- Direction:
- Approved
- Assignee:
- Ryan Tidwell
- Definition:
- Approved
- Series goal:
- Accepted for mitaka
- Implementation:
- Implemented
- Milestone target:
- mitaka-rc1
- Started by
- Armando Migliaccio
- Completed by
- Armando Migliaccio
Related branches
Related bugs
Sprints
Whiteboard
Mar-9-2016(armax): code complete, doc pending
Mar-01-2016 (carl_baldwin): Much of this code has merged. There are two more patches before things start working. Starting with: https:/
There are issues announcing N/S DVR host routes due to issues with the DVR data plane (fip namespace especially) not being fully implemented. So, the scope is slightly reduced so that in Mitaka, BGP will announce host routes (/32s) for IPv4 floating IPs (with and without DVR) but will announce central routes to the network for tenant networks, both v4 and v6. This means routes to tenant networks behind a DVR will still go through the central part of the router.
Jan-24-2016(armax): actively worked on.
Dec-15-2015(armax): this needs love, the queue of changes does not seem current as of today.
https:/
September-8 (mestery): Moving to Mitaka.
June-15 (mestery): Welcome to Liberty!
August-28 (mestery): Per discussion with Carl, this one won't make Juno, so moving out.
>> We need to start using years here
Sept 1-2015 (armax): Talked to Ryan -> aiming Mitaka 1
14-July (mestery): Approved as low priority for Juno-3.
30-May-2014 (yamamoto): as per a discussion on l3 subteam meeting today,
i started bgp speakers comparison wiki page.
https:/
28-Mar (nextone92): After discussion with L3 subteam, the document was re-arranged. The main change is to move dynamic routing functionality from L3 Neutron router objects to a GatewaySpec object that describes how to connect OpenStack to the outside networks.
19-Nov (markmcclain): Dynamic routing was discussed at the design summit. The consensus was that this feature should be deferred until a later release cycle. Placing into backlog for future consideration.
13-Feb (carl_baldwin): I'd like to flesh this out for the Atlanta summit. I think the use case(s) should be clarified and more concrete. My guess is that there are a handful of concrete use cases here. For example, it might be wise to consider learning routes from upstream separately from announcing routes upstream. Some may be interested in one and not the other.
Might also separate out BGP as an implementation detail. Let's talk about concrete use cases where dynamic routing in general can be useful within neutron and then BGP could be plugged in as a driver to a proper framework.
13-Mar (carl_baldwin) I attempted a higher level description of dynamic routing use cases at. https:/
Gerrit topic: https:/
BP:
===
Addressed by: https:/
BGP dynamic routing [Abandoned]
Addressed by: https:/
Dynamically advertise routes via BGP
Previous Code Changes [All are Abandoned]:
=======
Addressed by: https:/
[WIP] BGP Dynamic Routing: introduce entities
Addressed by: https:/
[WIP] BGP Dynamic Routing: adding agent and scheduling
Addressed by: https:/
[WIP] BGP Dynamic Routing: adding BGP driver
Addressed by: https:/
BGP Dynamic Routing neutron-client changes
Addressed by: https:/
[WIP] Add dr-agent service. (Devstack Changes)
New Code Changes proposed for Liberty:
=======
Addressed by: https:/
Add devref for BGP Speaker API extension
Addressed by: https:/
BGP Dynamic Routing: neutronclient changes
Addressed by: https:/
BGP Dynamic Routing: introduce entities and model
Addressed by: https:/
BGP Dynamic Routing: introduce dragent
Addressed by: https:/
BGP Dynamic Routing: introduce BgpDrAgent
Addressed by: https:/
BGP Dynamic Routing: introduce driver
Addressed by: https:/
[WIP] Add BGP Speaker Service Plugin RPC Calls
Addressed by: https:/
Add BGP Dynamic Routing Extension
Addressed by: https:/
Add L3 Notifications To Enable BGP Dynamic Routing
Addressed by: https:/
Add Queries For BGP Route Lookups
Gerrit topic: https:/
Addressed by: https:/
Rename new_network to new_network_id
Addressed by: https:/
[WIP] DB Queries For DVR Host Route Lookups
Addressed by: https:/
Test fixtures to facilitate testing BGP dynamic routing.
Addressed by: https:/
Add Auto-scheduling support
Work Items
Dependency tree
* Blueprints in grey have been implemented.