[RFE] Enhancement to Neutron BGPaaS to directly support Neutron Routers & bgp-peering from such routers over internal & external Neutron Networks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
#Problem Description
There are good foundation APIs in Neutron BGPaaS that brought in BGP service functionality into Neutron through Neutron Dynamic Routing.
However there are telco use cases which requires “multiple service-addresses hosted by a VNF” to be advertised via BGP Control Plane towards peers which are ISP-PE-Routers. These “service-addresses” are typically Non-Neutron-
The above requires BGPaaS APIs to support BGP-Peering directly towards the VNFs from a Neutron Router hosting the internal-networks of the VNF. In addition, we also require the BGPaaS API to support BGP-Peering towards the ISP-PE-Routers directly over the Neutron External Networks.
Both of the above are not feasible today within existing BGPaaS, because
a. Existing BGPaaaS supports only peering over special networks which are not managed via Neutron
b. Similarly there is a non-availability of APIs to make the BGPSpeaker directly peer with VNFs over Neutron Internal Networks.
There is a another use-case where we wanted to automate multiple-
So through Specification we wanted to address the above 3 use-cases by :
a. Enhancing BGPaaS API support within “bgp” extension under neutron-
b. Enhance BGPaaS Reference implementations to support the enhanced APIs.
#Proposed Change
Proposal is to enhance existing BGPaaS, allow neutron router to be associated to a BGP Speaker and allow BGP Speaker to peer with both the internal-Networks and External-Networks present on that Neutron Router. This will be implemented using enhancements to the neutron-service and neutron-
“Enhanced-
The proposal is to provide the below functionalities
Use-case 1.a)
~~~~~~~~~~~~~
1. Provide the ability to associate a single neutron router to a BGP Speaker (along with optional address-scope)
2. Provide the ability to disassociate that single neutron router from a BGP Speaker
3. Provide the ability to implicitly make a bgp-speaker highly-available whenever the bgp-speaker is associated with a HA capable neutron-router.
4. Provide the ability for the BGP Speaker to expose the entire list of routes it is currently managing (be it multiple bgp-peers)
Use-case 1.b)
~~~~~~~~~~~~~
* Add the following new APIs to Neutron: (more details in the spec)
PUT /v2.0/bgp-
PUT /v2.0/bgp-
GET /v2.0/bgp-
POST /v2.0/bgp-
DELETE /v2.0/bgp-
Related spec has been proposed https:/ /review. opendev. org/c/openstack /neutron- specs/+ /783791