)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"bd9feaf90163f8b4123ba947b8877874ee38c472","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2021-04-06 11:27:05 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"BGPaaS enhancements"},{"line_number":8,"context_line":"Related-Bug: #1921461"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Signed-off-by: Manu B \u003cmanubk2020@gmail.com\u003e"},{"line_number":11,"context_line":"Change-Id: I0d69aff98ee00d01fe2e4142b87ae39beae01adf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"53cff925_e9b5de10","line":8,"updated":"2021-04-07 11:42:41.000000000","message":"Please keep an empty line under the header.","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"}],"specs/wallaby/bgpaas-enhancements.rst":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"cd701d94027361ff2adcbf5878b40ed7d8a51da7","unresolved":true,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":7,"context_line":"Enhancement to Neutron BGPaaS to directly support Neutron Routers \u0026 bgp-peering from such routers over internal \u0026 external Neutron Networks"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"https://bugs.launchpad.net/neutron/+bug/1921461"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"27f36957_1c05e439","line":8,"range":{"start_line":6,"start_character":0,"end_line":8,"end_character":139},"updated":"2021-03-31 02:43:24.000000000","message":"Title is too long, please simplify it. How about \"Enhancement Neutron BGP functions\".","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":7,"context_line":"Enhancement to Neutron BGPaaS to directly support Neutron Routers \u0026 bgp-peering from such routers over internal \u0026 external Neutron Networks"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"https://bugs.launchpad.net/neutron/+bug/1921461"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3b029af4_33968f45","line":8,"range":{"start_line":6,"start_character":0,"end_line":8,"end_character":139},"in_reply_to":"27f36957_1c05e439","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"cd701d94027361ff2adcbf5878b40ed7d8a51da7","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"We have a very good foundation APIs in Neutron BGPaaS that brought in BGP service functionality into Neutron through Neutron Dynamic Routing. (see [3]_ )"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"However in Telco world, we have an initial use-case 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-IP-Networks and/or Non-Neutron-IP-Prefixes that are used internally inside the VNF applications. This advertisement enables the ISP-PE-Routers to learn such “service-addresses hosted by VNF”, thus enabling L3 connectivity towards such service-endpoints-hosted-by-VNF from mobile subscribers residing on ISP networks."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As you have noticed, 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."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"f2312ab4_8142faaa","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":559},"updated":"2021-03-31 02:43:24.000000000","message":"This line is too long to read for reviewers. Please align the bandwidth to 79 characters, in the style of python code.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"We have a very good foundation APIs in Neutron BGPaaS that brought in BGP service functionality into Neutron through Neutron Dynamic Routing. (see [3]_ )"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"However in Telco world, we have an initial use-case 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-IP-Networks and/or Non-Neutron-IP-Prefixes that are used internally inside the VNF applications. This advertisement enables the ISP-PE-Routers to learn such “service-addresses hosted by VNF”, thus enabling L3 connectivity towards such service-endpoints-hosted-by-VNF from mobile subscribers residing on ISP networks."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As you have noticed, 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."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3bef75bc_0d8fa2ae","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":559},"in_reply_to":"f2312ab4_8142faaa","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":32623,"name":"Per Wollbrand","email":"per.wollbrand@ericsson.com"},"change_message_id":"ea2de9be6e2eb390af0ba95f6f0b2d86de4abf88","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"However in Telco world, we have an initial use-case 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-IP-Networks and/or Non-Neutron-IP-Prefixes that are used internally inside the VNF applications. This advertisement enables the ISP-PE-Routers to learn such “service-addresses hosted by VNF”, thus enabling L3 connectivity towards such service-endpoints-hosted-by-VNF from mobile subscribers residing on ISP networks."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As you have noticed, 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."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Both of the above are not feasible today within existing BGPaaS,  because"},{"line_number":24,"context_line":"a. Existing BGPaaaS supports only peering over special networks which are not managed via Neutron "}],"source_content_type":"text/x-rst","patch_set":4,"id":"cfd09676_14113896","line":21,"updated":"2021-03-31 14:54:59.000000000","message":"In this initial description, the order of the use cases is: Router association, BFD and Peer Group, while below the first figure, the order is Router association, Peer Group and BFD. Please align.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"However in Telco world, we have an initial use-case 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-IP-Networks and/or Non-Neutron-IP-Prefixes that are used internally inside the VNF applications. This advertisement enables the ISP-PE-Routers to learn such “service-addresses hosted by VNF”, thus enabling L3 connectivity towards such service-endpoints-hosted-by-VNF from mobile subscribers residing on ISP networks."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As you have noticed, 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."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Both of the above are not feasible today within existing BGPaaS,  because"},{"line_number":24,"context_line":"a. Existing BGPaaaS supports only peering over special networks which are not managed via Neutron "}],"source_content_type":"text/x-rst","patch_set":4,"id":"8c601d48_b1e5050c","line":21,"in_reply_to":"cfd09676_14113896","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"cd701d94027361ff2adcbf5878b40ed7d8a51da7","unresolved":true,"context_lines":[{"line_number":50,"context_line":"         |                           |                       |"},{"line_number":51,"context_line":" +-----------------------------------------------+           |"},{"line_number":52,"context_line":" |               Neutron Router                  |-----------|"},{"line_number":53,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":54,"context_line":" |  |    Router1      |   |     Router2     |    |"},{"line_number":55,"context_line":" |  +-----------------+   +-----------------+    |-----------|"},{"line_number":56,"context_line":" +-----------------------------------------------+           |"},{"line_number":57,"context_line":"                         |                                   |"},{"line_number":58,"context_line":"                         |                                 EBGP"}],"source_content_type":"text/x-rst","patch_set":4,"id":"b0ee24f3_11aa6c1d","line":55,"range":{"start_line":53,"start_character":4,"end_line":55,"end_character":45},"updated":"2021-03-31 02:43:24.000000000","message":"Why two routers? Did you mean the HA router (master and backup) here?","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":true,"context_lines":[{"line_number":50,"context_line":"         |                           |                       |"},{"line_number":51,"context_line":" +-----------------------------------------------+           |"},{"line_number":52,"context_line":" |               Neutron Router                  |-----------|"},{"line_number":53,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":54,"context_line":" |  |    Router1      |   |     Router2     |    |"},{"line_number":55,"context_line":" |  +-----------------+   +-----------------+    |-----------|"},{"line_number":56,"context_line":" +-----------------------------------------------+           |"},{"line_number":57,"context_line":"                         |                                   |"},{"line_number":58,"context_line":"                         |                                 EBGP"}],"source_content_type":"text/x-rst","patch_set":4,"id":"b7651691_a33deecd","line":55,"range":{"start_line":53,"start_character":4,"end_line":55,"end_character":45},"in_reply_to":"b0ee24f3_11aa6c1d","updated":"2021-04-08 06:35:39.000000000","message":"The picture was mainly to show that there are 2 BGP sessions created, one between PE and Neutron router and the other between VM and Neutron Router. There is no specific reason for 2 routers. It can be n routers.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":32623,"name":"Per Wollbrand","email":"per.wollbrand@ericsson.com"},"change_message_id":"ea2de9be6e2eb390af0ba95f6f0b2d86de4abf88","unresolved":true,"context_lines":[{"line_number":177,"context_line":"       “redistribute_static”:  True"},{"line_number":178,"context_line":" }"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"By default, static routes on the router will be redistributed to bgp-peers by the bgpspeaker.  Turning OFF redistribute-static will disable advertisement of router’s static-routes by the bgpspeaker. Address scope is optional and more than one address scope is allowed."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"New neutron Client Command::"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"4e269ba9_2f3ec621","line":180,"range":{"start_line":180,"start_character":0,"end_line":180,"end_character":268},"updated":"2021-03-31 14:54:59.000000000","message":"Think it would be good to explain the address scope usage a bit here.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":177,"context_line":"       “redistribute_static”:  True"},{"line_number":178,"context_line":" }"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"By default, static routes on the router will be redistributed to bgp-peers by the bgpspeaker.  Turning OFF redistribute-static will disable advertisement of router’s static-routes by the bgpspeaker. Address scope is optional and more than one address scope is allowed."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"New neutron Client Command::"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"92c15aed_edcf83ce","line":180,"range":{"start_line":180,"start_character":0,"end_line":180,"end_character":268},"in_reply_to":"4e269ba9_2f3ec621","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":32623,"name":"Per Wollbrand","email":"per.wollbrand@ericsson.com"},"change_message_id":"ea2de9be6e2eb390af0ba95f6f0b2d86de4abf88","unresolved":true,"context_lines":[{"line_number":214,"context_line":"          {"},{"line_number":215,"context_line":"               “cidr”: “192.168.10.0/24”,"},{"line_number":216,"context_line":"               “nexthop”: “10.0.0.1”,"},{"line_number":217,"context_line":"               “route-type”: “local”"},{"line_number":218,"context_line":"          },"},{"line_number":219,"context_line":"          {"},{"line_number":220,"context_line":"               “cidr”: “192.168.11.0/24”,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"0495dbf6_3151b78a","line":217,"range":{"start_line":217,"start_character":16,"end_line":217,"end_character":26},"updated":"2021-03-31 14:54:59.000000000","message":"Please explain route-type attribute.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":214,"context_line":"          {"},{"line_number":215,"context_line":"               “cidr”: “192.168.10.0/24”,"},{"line_number":216,"context_line":"               “nexthop”: “10.0.0.1”,"},{"line_number":217,"context_line":"               “route-type”: “local”"},{"line_number":218,"context_line":"          },"},{"line_number":219,"context_line":"          {"},{"line_number":220,"context_line":"               “cidr”: “192.168.11.0/24”,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"948cced8_bb560068","line":217,"range":{"start_line":217,"start_character":16,"end_line":217,"end_character":26},"in_reply_to":"0495dbf6_3151b78a","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":32623,"name":"Per Wollbrand","email":"per.wollbrand@ericsson.com"},"change_message_id":"ea2de9be6e2eb390af0ba95f6f0b2d86de4abf88","unresolved":true,"context_lines":[{"line_number":229,"context_line":" openstack bgp speaker list routes"},{"line_number":230,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Use-case 2.b)"},{"line_number":233,"context_line":"Create BGP Peer Group API"},{"line_number":234,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":235,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"0988ae6d_c1604128","line":232,"range":{"start_line":232,"start_character":0,"end_line":232,"end_character":13},"updated":"2021-03-31 14:54:59.000000000","message":"For the BGP Peer Group API, I think it would be good to give some explanation of the attributes, especially for next_hop_self and update_source_ip. Actually, maybe this comment also goes for the rest of the APIs. Would probably be good to include some short description of each attribute.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"822bca391a96c18e66e50cf32b913f3966707159","unresolved":false,"context_lines":[{"line_number":229,"context_line":" openstack bgp speaker list routes"},{"line_number":230,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Use-case 2.b)"},{"line_number":233,"context_line":"Create BGP Peer Group API"},{"line_number":234,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":235,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bdcf30f8_02e93458","line":232,"range":{"start_line":232,"start_character":0,"end_line":232,"end_character":13},"in_reply_to":"0988ae6d_c1604128","updated":"2021-04-09 09:45:41.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":32623,"name":"Per Wollbrand","email":"per.wollbrand@ericsson.com"},"change_message_id":"ea2de9be6e2eb390af0ba95f6f0b2d86de4abf88","unresolved":true,"context_lines":[{"line_number":272,"context_line":" openstack bgp peer group delete"},{"line_number":273,"context_line":"               \u003cbgp-peer-group-id\u003e"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Create a bgp-peer using existing peer-group API"},{"line_number":276,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":277,"context_line":"::"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"b683ae95_ee797f31","line":275,"range":{"start_line":275,"start_character":0,"end_line":275,"end_character":47},"updated":"2021-03-31 14:54:59.000000000","message":"What does \"existing\" in “Create a bgp-peer using existing peer-group API” refer to? The peer-group API is a new proposed API.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":272,"context_line":" openstack bgp peer group delete"},{"line_number":273,"context_line":"               \u003cbgp-peer-group-id\u003e"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Create a bgp-peer using existing peer-group API"},{"line_number":276,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":277,"context_line":"::"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"4f31c4f9_3844edae","line":275,"range":{"start_line":275,"start_character":0,"end_line":275,"end_character":47},"in_reply_to":"b683ae95_ee797f31","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":32623,"name":"Per Wollbrand","email":"per.wollbrand@ericsson.com"},"change_message_id":"ea2de9be6e2eb390af0ba95f6f0b2d86de4abf88","unresolved":true,"context_lines":[{"line_number":277,"context_line":"::"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":280,"context_line":" {"},{"line_number":281,"context_line":"    \"bgp_peer\":{"},{"line_number":282,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":283,"context_line":"       \"name\":\"bgppeer1\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"077c7cf1_f311aac1","line":280,"updated":"2021-03-31 14:54:59.000000000","message":"When creating a BGP peer referring to a Peer group, the BFD monitor is not given as an input parameter. In that case, the BFD parameters instead are given as part of the Peer group create. Maybe that could be elaborated and explained a little bit more. Also please explain why the set of BFD attributes differs a bit between the BFD monitor and the BGP Peer group.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":true,"context_lines":[{"line_number":277,"context_line":"::"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":280,"context_line":" {"},{"line_number":281,"context_line":"    \"bgp_peer\":{"},{"line_number":282,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":283,"context_line":"       \"name\":\"bgppeer1\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"9bd80d3a_3bded400","line":280,"in_reply_to":"077c7cf1_f311aac1","updated":"2021-04-08 06:35:39.000000000","message":"Will be addressed in the new spec for BFD","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"fa453ee8907786ef6a55a561681c1eae0d722bce","unresolved":true,"context_lines":[{"line_number":277,"context_line":"::"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":280,"context_line":" {"},{"line_number":281,"context_line":"    \"bgp_peer\":{"},{"line_number":282,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":283,"context_line":"       \"name\":\"bgppeer1\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"f7c74714_ca98bb46","line":280,"in_reply_to":"9bd80d3a_3bded400","updated":"2021-04-08 09:09:16.000000000","message":"I think this has to be addressed in same spec. Will make changes and push a new patchset","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":32623,"name":"Per Wollbrand","email":"per.wollbrand@ericsson.com"},"change_message_id":"ea2de9be6e2eb390af0ba95f6f0b2d86de4abf88","unresolved":true,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":" openstack bgp speaker add peer mybgpspeaker bgpppeer1"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"Create BGP peers with update-source and next-hop-self parameters API"},{"line_number":303,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":304,"context_line":"::"},{"line_number":305,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"f2ab5525_6c109228","line":302,"range":{"start_line":302,"start_character":0,"end_line":302,"end_character":68},"updated":"2021-03-31 14:54:59.000000000","message":"Think it would be good with some more explanation around “Create BGP peers with update-source and next-hop-self parameters API”. As of now, it’s placed under the 2b) use case, but it doesn’t explicitly include the Peer Group.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"822bca391a96c18e66e50cf32b913f3966707159","unresolved":false,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":" openstack bgp speaker add peer mybgpspeaker bgpppeer1"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"Create BGP peers with update-source and next-hop-self parameters API"},{"line_number":303,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":304,"context_line":"::"},{"line_number":305,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"82de0da7_47bd2f23","line":302,"range":{"start_line":302,"start_character":0,"end_line":302,"end_character":68},"in_reply_to":"f2ab5525_6c109228","updated":"2021-04-09 09:45:41.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":32623,"name":"Per Wollbrand","email":"per.wollbrand@ericsson.com"},"change_message_id":"ea2de9be6e2eb390af0ba95f6f0b2d86de4abf88","unresolved":true,"context_lines":[{"line_number":464,"context_line":"User Documentation"},{"line_number":465,"context_line":"~~~~~~~~~~~~~~~~~~"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"New API and changes to legacy APIs like routers must be documented."},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"References"},{"line_number":470,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"af2f9c01_0816acd1","line":467,"range":{"start_line":467,"start_character":0,"end_line":467,"end_character":67},"updated":"2021-03-31 14:54:59.000000000","message":"Maybe BGP dynamic routing could be mentioned as well.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":464,"context_line":"User Documentation"},{"line_number":465,"context_line":"~~~~~~~~~~~~~~~~~~"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"New API and changes to legacy APIs like routers must be documented."},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"References"},{"line_number":470,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"4f124249_e216ed5e","line":467,"range":{"start_line":467,"start_character":0,"end_line":467,"end_character":67},"in_reply_to":"af2f9c01_0816acd1","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":32623,"name":"Per Wollbrand","email":"per.wollbrand@ericsson.com"},"change_message_id":"ea2de9be6e2eb390af0ba95f6f0b2d86de4abf88","unresolved":true,"context_lines":[{"line_number":466,"context_line":""},{"line_number":467,"context_line":"New API and changes to legacy APIs like routers must be documented."},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"References"},{"line_number":470,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":".. [1] https://tools.ietf.org/html/rfc4271"}],"source_content_type":"text/x-rst","patch_set":4,"id":"602fba8f_7df650af","line":469,"range":{"start_line":469,"start_character":0,"end_line":469,"end_character":10},"updated":"2021-03-31 14:54:59.000000000","message":"Please add https://docs.openstack.org/neutron/latest/admin/config-bgp-dynamic-routing.html to the references list.","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":466,"context_line":""},{"line_number":467,"context_line":"New API and changes to legacy APIs like routers must be documented."},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"References"},{"line_number":470,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":".. [1] https://tools.ietf.org/html/rfc4271"}],"source_content_type":"text/x-rst","patch_set":4,"id":"6a00c5ac_c6e11867","line":469,"range":{"start_line":469,"start_character":0,"end_line":469,"end_character":10},"in_reply_to":"602fba8f_7df650af","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"72ddf5959b97d7df2392c1ec92f5c5b419bfdb15"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f75967de_51fd4d2c","updated":"2021-04-07 11:41:42.000000000","message":"Please check the rendered version (better to check before uploading to save zuul resources with tox -edocs):\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_c0a/783791/7/check/openstack-tox-docs/c0a901a/docs/specs/wallaby/bgpaas-enhancements.html\n\nPlease also break lines to be shorter than 80 chars (except tables and long urls)","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8e7b3e37_1fb02e7c","in_reply_to":"f75967de_51fd4d2c","updated":"2021-04-08 06:35:39.000000000","message":"Ack","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The proposal is to provide the below functionalities"},{"line_number":69,"context_line":"Use-case 1.a)"},{"line_number":70,"context_line":"~~~~~~~~~~~~~"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"1. Provide the ability to associate a single neutron router to a BGP Speaker (along with optional address-scope)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"4124cd81_f464ee48","line":69,"updated":"2021-04-07 11:41:42.000000000","message":"nit: add a line-break for correct rendering","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The proposal is to provide the below functionalities"},{"line_number":69,"context_line":"Use-case 1.a)"},{"line_number":70,"context_line":"~~~~~~~~~~~~~"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"1. Provide the ability to associate a single neutron router to a BGP Speaker (along with optional address-scope)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"efa6224c_024871b4","line":69,"in_reply_to":"4124cd81_f464ee48","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":74,"context_line":"3. Provide the ability to implicitly make a bgpspeaker highly-available whenever the bgpspeaker is associated with a HA capable neutron-router."},{"line_number":75,"context_line":"4. Provide the ability for the BGPSpeaker to expose the entire list of routes it is currently managing (be it multiple bgp-peers)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Use-case 1.b)"},{"line_number":78,"context_line":"~~~~~~~~~~~~~"},{"line_number":79,"context_line":"1.Provide the ability to configure bfd-monitoring when configuring BGP peering, to enable BFD monitoring of BGP-Peering-Link between the BGP Speaker and the BGP Peer"},{"line_number":80,"context_line":"2.Provide the ability to unconfigure bfd-monitor from an existing BGP peering"}],"source_content_type":"text/x-rst","patch_set":7,"id":"8aa8868b_4b11711b","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":13},"updated":"2021-04-07 11:41:42.000000000","message":"nit: these should be in a list:\n* non-numbered item 1\n* non-numbered item 2\n\nOR\n\n# numbered item 1\n# numbered item 2","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":74,"context_line":"3. Provide the ability to implicitly make a bgpspeaker highly-available whenever the bgpspeaker is associated with a HA capable neutron-router."},{"line_number":75,"context_line":"4. Provide the ability for the BGPSpeaker to expose the entire list of routes it is currently managing (be it multiple bgp-peers)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Use-case 1.b)"},{"line_number":78,"context_line":"~~~~~~~~~~~~~"},{"line_number":79,"context_line":"1.Provide the ability to configure bfd-monitoring when configuring BGP peering, to enable BFD monitoring of BGP-Peering-Link between the BGP Speaker and the BGP Peer"},{"line_number":80,"context_line":"2.Provide the ability to unconfigure bfd-monitor from an existing BGP peering"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fe4efa6b_047af4c7","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":13},"in_reply_to":"8aa8868b_4b11711b","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Use-case 1.b)"},{"line_number":78,"context_line":"~~~~~~~~~~~~~"},{"line_number":79,"context_line":"1.Provide the ability to configure bfd-monitoring when configuring BGP peering, to enable BFD monitoring of BGP-Peering-Link between the BGP Speaker and the BGP Peer"},{"line_number":80,"context_line":"2.Provide the ability to unconfigure bfd-monitor from an existing BGP peering"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Use-case 1.c)"},{"line_number":83,"context_line":"~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":7,"id":"0607973e_14c52f9e","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":77},"updated":"2021-04-07 11:41:42.000000000","message":"For this there is a separate RFE:\nhttps://bugs.launchpad.net/neutron/+bug/1922716, so please remove BFD releates things from this spec, and propose a new one for it.","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Use-case 1.b)"},{"line_number":78,"context_line":"~~~~~~~~~~~~~"},{"line_number":79,"context_line":"1.Provide the ability to configure bfd-monitoring when configuring BGP peering, to enable BFD monitoring of BGP-Peering-Link between the BGP Speaker and the BGP Peer"},{"line_number":80,"context_line":"2.Provide the ability to unconfigure bfd-monitor from an existing BGP peering"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Use-case 1.c)"},{"line_number":83,"context_line":"~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":7,"id":"f6c022ec_dcf5e4f5","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":77},"in_reply_to":"0607973e_14c52f9e","updated":"2021-04-08 06:35:39.000000000","message":"Done. Will push a new spec soon for BFD","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":82,"context_line":"Use-case 1.c)"},{"line_number":83,"context_line":"~~~~~~~~~~~~~"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"1.Provide the ability to create a BGP Peer Group with BFD \u0026 other parameters (see [5]_ )"},{"line_number":86,"context_line":"2.Provide the ability to delete a BGP Peer Group (when its not in use by any BGPPeer)"},{"line_number":87,"context_line":"3.Provide the ability to create a bgp-peer using an existing bgp-peeer-group"},{"line_number":88,"context_line":"4.Provide the ability to create BGP peers with update-source and next-hop-self parameters"}],"source_content_type":"text/x-rst","patch_set":7,"id":"d026facc_711289a9","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":2},"updated":"2021-04-07 11:41:42.000000000","message":"nit: ditto please use numbered list (#....","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Use-case 1.c)"},{"line_number":83,"context_line":"~~~~~~~~~~~~~"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"1.Provide the ability to create a BGP Peer Group with BFD \u0026 other parameters (see [5]_ )"},{"line_number":86,"context_line":"2.Provide the ability to delete a BGP Peer Group (when its not in use by any BGPPeer)"},{"line_number":87,"context_line":"3.Provide the ability to create a bgp-peer using an existing bgp-peeer-group"},{"line_number":88,"context_line":"4.Provide the ability to create BGP peers with update-source and next-hop-self parameters"}],"source_content_type":"text/x-rst","patch_set":7,"id":"f4890e49_58949967","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":2},"in_reply_to":"d026facc_711289a9","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"822bca391a96c18e66e50cf32b913f3966707159","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Use-case 1.c)"},{"line_number":83,"context_line":"~~~~~~~~~~~~~"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"1.Provide the ability to create a BGP Peer Group with BFD \u0026 other parameters (see [5]_ )"},{"line_number":86,"context_line":"2.Provide the ability to delete a BGP Peer Group (when its not in use by any BGPPeer)"},{"line_number":87,"context_line":"3.Provide the ability to create a bgp-peer using an existing bgp-peeer-group"},{"line_number":88,"context_line":"4.Provide the ability to create BGP peers with update-source and next-hop-self parameters"}],"source_content_type":"text/x-rst","patch_set":7,"id":"e96a8eb8_b45d67d4","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":2},"in_reply_to":"f4890e49_58949967","updated":"2021-04-09 09:45:41.000000000","message":"New spec link https://review.opendev.org/c/openstack/neutron-specs/+/785349","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":87,"context_line":"3.Provide the ability to create a bgp-peer using an existing bgp-peeer-group"},{"line_number":88,"context_line":"4.Provide the ability to create BGP peers with update-source and next-hop-self parameters"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Peer Groups are advanced mechanism that allows us to seamlessly scale-out/scale-in bgp peers without the need to trigger neutron workflows."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"::"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"700459e6_ad08d2d0","line":90,"range":{"start_line":90,"start_character":0,"end_line":90,"end_character":139},"updated":"2021-04-07 11:41:42.000000000","message":"could you provide an example workflow, I suppose this can be useful for kubernetes or similar?","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Proposal is to enhance existing BGPaas (see [7]_), 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-dynamic-routing."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"A BGP speaker will be associated to a router. BGP speaker will be running inside the L3 router namespace which enables access to all the neutron-router-interfaces ie. both internal/external interfaces. BGP functionality provided by OS-Ken will be resued to excite BGP speaker functionality to run only within the neutron router namespace. Networking midonet (see [4]_ ) has made a similar change to associate a"},{"line_number":125,"context_line":"BGP speaker to a router but is only specific to networking-midonet and is not included in neutron service layer. The change proposed here will incorporate the APIs in the neutron-dynamic-routing layer itself."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"“Enhanced-L3-Plugin” will be running in Neutron-Server on controller-host and “Enhanced-L3-agent” on compute-host. Once router is associated to bgpspeaker, the ‘Enhanced BGP Service Plugin’ will schedule the request to create a BGPSpeaker towards ‘Enhanced-L3-Plugin’. ‘Enhanced-L3-Plugin’ in turn will realize the scheduling of the BGPSpeaker towards the ‘Enhanced-L3-Agent’ that is already hosting the router. ‘Enhanced-L3-Agent’ realizes bgpspeaker inside the router-namespace and now bgpspeaker can peer with anybody through the router-interface-ip-address of router."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fc7035bd_9816500a","line":124,"range":{"start_line":124,"start_character":339,"end_line":124,"end_character":357},"updated":"2021-04-07 11:41:42.000000000","message":"just a remark: networking-midonet is no more maintained and deprecated: https://opendev.org/openstack/networking-midonet\n\nperhaps it will be moved to x/ namespace, if somebody is interested in maintaining it there.","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Proposal is to enhance existing BGPaas (see [7]_), 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-dynamic-routing."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"A BGP speaker will be associated to a router. BGP speaker will be running inside the L3 router namespace which enables access to all the neutron-router-interfaces ie. both internal/external interfaces. BGP functionality provided by OS-Ken will be resued to excite BGP speaker functionality to run only within the neutron router namespace. Networking midonet (see [4]_ ) has made a similar change to associate a"},{"line_number":125,"context_line":"BGP speaker to a router but is only specific to networking-midonet and is not included in neutron service layer. The change proposed here will incorporate the APIs in the neutron-dynamic-routing layer itself."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"“Enhanced-L3-Plugin” will be running in Neutron-Server on controller-host and “Enhanced-L3-agent” on compute-host. Once router is associated to bgpspeaker, the ‘Enhanced BGP Service Plugin’ will schedule the request to create a BGPSpeaker towards ‘Enhanced-L3-Plugin’. ‘Enhanced-L3-Plugin’ in turn will realize the scheduling of the BGPSpeaker towards the ‘Enhanced-L3-Agent’ that is already hosting the router. ‘Enhanced-L3-Agent’ realizes bgpspeaker inside the router-namespace and now bgpspeaker can peer with anybody through the router-interface-ip-address of router."}],"source_content_type":"text/x-rst","patch_set":7,"id":"36615277_2328199b","line":124,"range":{"start_line":124,"start_character":247,"end_line":124,"end_character":253},"updated":"2021-04-07 11:41:42.000000000","message":"nit: reused","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Proposal is to enhance existing BGPaas (see [7]_), 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-dynamic-routing."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"A BGP speaker will be associated to a router. BGP speaker will be running inside the L3 router namespace which enables access to all the neutron-router-interfaces ie. both internal/external interfaces. BGP functionality provided by OS-Ken will be resued to excite BGP speaker functionality to run only within the neutron router namespace. Networking midonet (see [4]_ ) has made a similar change to associate a"},{"line_number":125,"context_line":"BGP speaker to a router but is only specific to networking-midonet and is not included in neutron service layer. The change proposed here will incorporate the APIs in the neutron-dynamic-routing layer itself."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"“Enhanced-L3-Plugin” will be running in Neutron-Server on controller-host and “Enhanced-L3-agent” on compute-host. Once router is associated to bgpspeaker, the ‘Enhanced BGP Service Plugin’ will schedule the request to create a BGPSpeaker towards ‘Enhanced-L3-Plugin’. ‘Enhanced-L3-Plugin’ in turn will realize the scheduling of the BGPSpeaker towards the ‘Enhanced-L3-Agent’ that is already hosting the router. ‘Enhanced-L3-Agent’ realizes bgpspeaker inside the router-namespace and now bgpspeaker can peer with anybody through the router-interface-ip-address of router."}],"source_content_type":"text/x-rst","patch_set":7,"id":"2ee49e48_4e172cea","line":124,"range":{"start_line":124,"start_character":247,"end_line":124,"end_character":253},"in_reply_to":"36615277_2328199b","updated":"2021-04-08 06:35:39.000000000","message":"Done","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":124,"context_line":"A BGP speaker will be associated to a router. BGP speaker will be running inside the L3 router namespace which enables access to all the neutron-router-interfaces ie. both internal/external interfaces. BGP functionality provided by OS-Ken will be resued to excite BGP speaker functionality to run only within the neutron router namespace. Networking midonet (see [4]_ ) has made a similar change to associate a"},{"line_number":125,"context_line":"BGP speaker to a router but is only specific to networking-midonet and is not included in neutron service layer. The change proposed here will incorporate the APIs in the neutron-dynamic-routing layer itself."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"“Enhanced-L3-Plugin” will be running in Neutron-Server on controller-host and “Enhanced-L3-agent” on compute-host. Once router is associated to bgpspeaker, the ‘Enhanced BGP Service Plugin’ will schedule the request to create a BGPSpeaker towards ‘Enhanced-L3-Plugin’. ‘Enhanced-L3-Plugin’ in turn will realize the scheduling of the BGPSpeaker towards the ‘Enhanced-L3-Agent’ that is already hosting the router. ‘Enhanced-L3-Agent’ realizes bgpspeaker inside the router-namespace and now bgpspeaker can peer with anybody through the router-interface-ip-address of router."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"HA-Capable Neutron Router with BGPaaS"},{"line_number":130,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":7,"id":"2aac2ce5_73138c58","line":127,"range":{"start_line":127,"start_character":1,"end_line":127,"end_character":19},"updated":"2021-04-07 11:41:42.000000000","message":"the code for this will be in neutron-dynamic-routing?","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":true,"context_lines":[{"line_number":124,"context_line":"A BGP speaker will be associated to a router. BGP speaker will be running inside the L3 router namespace which enables access to all the neutron-router-interfaces ie. both internal/external interfaces. BGP functionality provided by OS-Ken will be resued to excite BGP speaker functionality to run only within the neutron router namespace. Networking midonet (see [4]_ ) has made a similar change to associate a"},{"line_number":125,"context_line":"BGP speaker to a router but is only specific to networking-midonet and is not included in neutron service layer. The change proposed here will incorporate the APIs in the neutron-dynamic-routing layer itself."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"“Enhanced-L3-Plugin” will be running in Neutron-Server on controller-host and “Enhanced-L3-agent” on compute-host. Once router is associated to bgpspeaker, the ‘Enhanced BGP Service Plugin’ will schedule the request to create a BGPSpeaker towards ‘Enhanced-L3-Plugin’. ‘Enhanced-L3-Plugin’ in turn will realize the scheduling of the BGPSpeaker towards the ‘Enhanced-L3-Agent’ that is already hosting the router. ‘Enhanced-L3-Agent’ realizes bgpspeaker inside the router-namespace and now bgpspeaker can peer with anybody through the router-interface-ip-address of router."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"HA-Capable Neutron Router with BGPaaS"},{"line_number":130,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fc3c6a31_c0df9671","line":127,"range":{"start_line":127,"start_character":1,"end_line":127,"end_character":19},"in_reply_to":"2aac2ce5_73138c58","updated":"2021-04-08 06:35:39.000000000","message":"The code changes should be made in both neutron as well as neutron-dynamic-routing. Enhanced BGP Service Plugin changes has to be made in neutron-dynamic-routing and Enhanced-L3-Plugin changes in neutron service.","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Address scope is optional and more than one address scope is allowed. It decides which addresses will be advertised. Default is ´all´ which means all the networks available in the router (including static routes) will be advertised towards the peer. However, if we give a list of address scopes, then only those address scopes will be considered."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"New neutron Client Command::"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":" openstack bgp speaker set router"},{"line_number":189,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":190,"context_line":"               [--no-redistribute-static]"},{"line_number":191,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":192,"context_line":"               \u003crouter\u003e"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Disassociate neutron router from BGP Speaker API"},{"line_number":195,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":7,"id":"614dfbd6_36d65f37","line":192,"range":{"start_line":186,"start_character":0,"end_line":192,"end_character":23},"updated":"2021-04-07 11:41:42.000000000","message":"I think CLI is not necessary here, that will be cleared during the client reviews when we are there.","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":445,"context_line":"----------"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"* REST API update."},{"line_number":448,"context_line":"* L3 agent update to handle BGP:"},{"line_number":449,"context_line":"  * Associate router to bgp speaker"},{"line_number":450,"context_line":"  * Disassociate router from bgp speaker."},{"line_number":451,"context_line":"  * HA support for BGP speaker"},{"line_number":452,"context_line":"* CLI update."},{"line_number":453,"context_line":"* Documentation."},{"line_number":454,"context_line":"* Tests and CI related changes."}],"source_content_type":"text/x-rst","patch_set":7,"id":"c676b54e_d1f6f53a","line":451,"range":{"start_line":448,"start_character":0,"end_line":451,"end_character":30},"updated":"2021-04-07 11:41:42.000000000","message":"So the code change will be in Neutron l3-agent or in dynamic-routing?","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"779b24ca3f50fddf71c03a9cbcf750719ffb12be","unresolved":false,"context_lines":[{"line_number":445,"context_line":"----------"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"* REST API update."},{"line_number":448,"context_line":"* L3 agent update to handle BGP:"},{"line_number":449,"context_line":"  * Associate router to bgp speaker"},{"line_number":450,"context_line":"  * Disassociate router from bgp speaker."},{"line_number":451,"context_line":"  * HA support for BGP speaker"},{"line_number":452,"context_line":"* CLI update."},{"line_number":453,"context_line":"* Documentation."},{"line_number":454,"context_line":"* Tests and CI related changes."}],"source_content_type":"text/x-rst","patch_set":7,"id":"ef0788d5_4aaa2830","line":451,"range":{"start_line":448,"start_character":0,"end_line":451,"end_character":30},"in_reply_to":"c676b54e_d1f6f53a","updated":"2021-04-08 06:35:39.000000000","message":"Done. Updated the spec","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"40e735a58487a204327e4b272ffac84b7a83b78f","unresolved":true,"context_lines":[{"line_number":459,"context_line":"* Unit Test"},{"line_number":460,"context_line":"* Functional test"},{"line_number":461,"context_line":"* API test"},{"line_number":462,"context_line":"  Perhaps this is something that can be easily tested end-to-end with fullstack"},{"line_number":463,"context_line":"  tests. Need more investigation."},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"Documentation Impact"},{"line_number":466,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"36f3e4cd_2fe6c6c6","line":463,"range":{"start_line":462,"start_character":2,"end_line":463,"end_character":33},"updated":"2021-04-07 11:41:42.000000000","message":"For dynamic-routing I am not sure, it has only functional suite, but if You plan to add these functionality to core Neutron, it\u0027s possible that parts of it can be tested from functional and fullstack suites.","commit_id":"3ac76efd6018d27df5cbe00750709fc94fbb0b0c"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"6bc57e761d60232f4f425468a46a7334bd4037c9","unresolved":true,"context_lines":[{"line_number":19,"context_line":"There are very good foundation APIs in Neutron BGPaaS that brought in BGP"},{"line_number":20,"context_line":"service functionality (see [1]_) into Neutron through Neutron Dynamic Routing."},{"line_number":21,"context_line":"(see [3]_ ) [In this spec, we have used BGPaaS and neutron-dynamic-routing/bgp"},{"line_number":22,"context_line":"as synonymns]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"However in Telco world, there is an initial use-case. It requires “multiple"},{"line_number":25,"context_line":"service-addresses hosted by a VNF” to be advertised via BGP Control Plane"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dbf42da8_32bf41ab","line":22,"updated":"2021-04-14 13:03:47.000000000","message":"we have used Neutron-BGPaaS , BGPaaS and neutron-dynamic-routing/bgp, but please all these as synonyms to \"Neutron Dynamic Routing using BGPaaS\" function already available in Neutron.","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"5a90eed59c18f0fdc925dadb4d0b14491b477408","unresolved":false,"context_lines":[{"line_number":19,"context_line":"There are very good foundation APIs in Neutron BGPaaS that brought in BGP"},{"line_number":20,"context_line":"service functionality (see [1]_) into Neutron through Neutron Dynamic Routing."},{"line_number":21,"context_line":"(see [3]_ ) [In this spec, we have used BGPaaS and neutron-dynamic-routing/bgp"},{"line_number":22,"context_line":"as synonymns]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"However in Telco world, there is an initial use-case. It requires “multiple"},{"line_number":25,"context_line":"service-addresses hosted by a VNF” to be advertised via BGP Control Plane"}],"source_content_type":"text/x-rst","patch_set":11,"id":"d79a61e6_15656825","line":22,"in_reply_to":"dbf42da8_32bf41ab","updated":"2021-04-16 14:03:44.000000000","message":"Done","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"6bc57e761d60232f4f425468a46a7334bd4037c9","unresolved":true,"context_lines":[{"line_number":21,"context_line":"(see [3]_ ) [In this spec, we have used BGPaaS and neutron-dynamic-routing/bgp"},{"line_number":22,"context_line":"as synonymns]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"However in Telco world, there is an initial use-case. It requires “multiple"},{"line_number":25,"context_line":"service-addresses hosted by a VNF” to be advertised via BGP Control Plane"},{"line_number":26,"context_line":"towards peers which are ISP-PE-Routers. These “service-addresses” are"},{"line_number":27,"context_line":"typically Non-Neutron-IP-Networks and/or Non-Neutron-IP-Prefixes that are used"}],"source_content_type":"text/x-rst","patch_set":11,"id":"047b37a1_6292228a","line":24,"updated":"2021-04-14 13:03:47.000000000","message":"In a Telco Service Provider environment, we run VNFs (Virtual Network Functions) \u0026 CNFs (Containerized-Network-Functions)  that each provide from simple-to-fairly complex services to subscribers.  In order provide such services, within these VNFs we run applications that use many Non-Neutron IP-Addresses which need to be exposed to subscribers. It is through these Non-Neutron IP-Addresses the subscribers access the services provided by the VNFs (and CNFs). We refer such IPAddresses generically as \u0027Service-Address\u0027.  These \u0027Service-Address\u0027 can belong to either IPv4 (or) IPv6 address-families.\n\nService-Address are wholly managed inside a VNF transparent to Neutron, but reaching these Service-Address on the dataplane by subscribers is enabled through VNICs (or Ports) holding Neutron-managed Addresses.   Basically, the Neutron managed primary-addresses on VNFs VNICs act as NextHops enabling reachability to the Service-Address held inside by applications inside the VNF.\n\nIn order to enable L3 reachability to these Service-Addresses from an ISP-network (or) say from say another-internal-network entity,  these Service-Addresses need to be brought into a Neutron Router\u0027s Routing Table.  The #ofVNFs are high and thence the #ofserviceaddresses to be exposed are even more higher.\n\nUnder this situation, using \"BGP between the VNFs and their hosting Neutron Routers\" provides a very elegant and scalable automated approach to drive control-plane driven route-learning of Service-Address by the Neutron Router from the VNFs.   This as a consequence enables L3 reachability of such Service-Addresses to internal-network-entities.\n\nSo FIRST-USE-CASE that this Spec will address is enabling direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on its connected networks.\n\nNow having the Service-Address hosted in the Neutron Router is alone not sufficient.  Such addresses need to be advertised to the ISP-PE-Router, as only that will enable subscribers present on ISP-network be able to use the services exported by applications in the VNFs.\n\nAnd, so the SECOND-USE-CASE that this Spec will address is to enable BGP-Peering over Neutron External Networks from a Neutron Router to the ISP-PE-Router.   This will end up making the PE-Router learn the Service-Addresses over the BGP control plane, thereby enabling L3-reachability for subscribers on the ISP-side to be able to take advantage of services offered by VNFs (and CNFs).","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"5a90eed59c18f0fdc925dadb4d0b14491b477408","unresolved":false,"context_lines":[{"line_number":21,"context_line":"(see [3]_ ) [In this spec, we have used BGPaaS and neutron-dynamic-routing/bgp"},{"line_number":22,"context_line":"as synonymns]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"However in Telco world, there is an initial use-case. It requires “multiple"},{"line_number":25,"context_line":"service-addresses hosted by a VNF” to be advertised via BGP Control Plane"},{"line_number":26,"context_line":"towards peers which are ISP-PE-Routers. These “service-addresses” are"},{"line_number":27,"context_line":"typically Non-Neutron-IP-Networks and/or Non-Neutron-IP-Prefixes that are used"}],"source_content_type":"text/x-rst","patch_set":11,"id":"434cf333_9f222dad","line":24,"in_reply_to":"047b37a1_6292228a","updated":"2021-04-16 14:03:44.000000000","message":"Done","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"6bc57e761d60232f4f425468a46a7334bd4037c9","unresolved":true,"context_lines":[{"line_number":33,"context_line":"The above requires BGPaaS APIs to support BGP-Peering (see [2]_) directly"},{"line_number":34,"context_line":"towards the VNFs from a Neutron Router hosting the internal-networks of the"},{"line_number":35,"context_line":"VNF. In addition, we also require the BGPaaS API to support BGP-Peering"},{"line_number":36,"context_line":"towards the ISP-PE-Routers directly over the Neutron External Networks."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Both of the above are not feasible today within existing BGPaaS,  because"},{"line_number":39,"context_line":"* Existing BGPaaaS supports only peering over special networks which are not"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7769f1f7_0bd908da","line":36,"updated":"2021-04-14 13:03:47.000000000","message":"The above lines from 25 to 36 might not be required if the previous comment is accepted.","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"5a90eed59c18f0fdc925dadb4d0b14491b477408","unresolved":false,"context_lines":[{"line_number":33,"context_line":"The above requires BGPaaS APIs to support BGP-Peering (see [2]_) directly"},{"line_number":34,"context_line":"towards the VNFs from a Neutron Router hosting the internal-networks of the"},{"line_number":35,"context_line":"VNF. In addition, we also require the BGPaaS API to support BGP-Peering"},{"line_number":36,"context_line":"towards the ISP-PE-Routers directly over the Neutron External Networks."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Both of the above are not feasible today within existing BGPaaS,  because"},{"line_number":39,"context_line":"* Existing BGPaaaS supports only peering over special networks which are not"}],"source_content_type":"text/x-rst","patch_set":11,"id":"8586d4f4_86e640a1","line":36,"in_reply_to":"7769f1f7_0bd908da","updated":"2021-04-16 14:03:44.000000000","message":"Done","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"6bc57e761d60232f4f425468a46a7334bd4037c9","unresolved":true,"context_lines":[{"line_number":35,"context_line":"VNF. In addition, we also require the BGPaaS API to support BGP-Peering"},{"line_number":36,"context_line":"towards the ISP-PE-Routers directly over the Neutron External Networks."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Both of the above are not feasible today within existing BGPaaS,  because"},{"line_number":39,"context_line":"* Existing BGPaaaS supports only peering over special networks which are not"},{"line_number":40,"context_line":"managed via Neutron (see [9]_)"},{"line_number":41,"context_line":"* Similarly there is a non-availability of APIs to make the BGPSpeaker"}],"source_content_type":"text/x-rst","patch_set":11,"id":"af1acb69_a4028e1f","line":38,"updated":"2021-04-14 13:03:47.000000000","message":"The two use-cases we mentioned above are not available today in existing BGPaaS, as existing BGPaaS supports BGP Peering only over Non-Neutron Networks.   Please refer the current implementation and documentation as in [9].   \nSo existing BGPaaS mechanism lacks the functionality (both API and implementations) to do BGP Peering over Neutron External Networks as well as it lacks mechanisms to do BGP Peering over Neutron Internal Tenant Networks.","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"5a90eed59c18f0fdc925dadb4d0b14491b477408","unresolved":false,"context_lines":[{"line_number":35,"context_line":"VNF. In addition, we also require the BGPaaS API to support BGP-Peering"},{"line_number":36,"context_line":"towards the ISP-PE-Routers directly over the Neutron External Networks."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Both of the above are not feasible today within existing BGPaaS,  because"},{"line_number":39,"context_line":"* Existing BGPaaaS supports only peering over special networks which are not"},{"line_number":40,"context_line":"managed via Neutron (see [9]_)"},{"line_number":41,"context_line":"* Similarly there is a non-availability of APIs to make the BGPSpeaker"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5185cd95_391abc1d","line":38,"in_reply_to":"af1acb69_a4028e1f","updated":"2021-04-16 14:03:44.000000000","message":"Done","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"6bc57e761d60232f4f425468a46a7334bd4037c9","unresolved":true,"context_lines":[{"line_number":211,"context_line":"   |    |   BGP speaker    | |     |   |   BGP speaker   |  |"},{"line_number":212,"context_line":"   |    +------------------+ |     |   +-----------------+  |"},{"line_number":213,"context_line":"   |                         |     |                        |"},{"line_number":214,"context_line":"   +-------------------------+     +------------------------+"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"REST API \u0026 Neutron client command Impact"},{"line_number":217,"context_line":"----------------------------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"2acf3f9c_8932b130","line":214,"updated":"2021-04-14 13:03:47.000000000","message":"We have to mention in this Spec that we will be supporting only Centralized Neutron Routers (both HA and non-HA) and not Distributed Routers.","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"5a90eed59c18f0fdc925dadb4d0b14491b477408","unresolved":false,"context_lines":[{"line_number":211,"context_line":"   |    |   BGP speaker    | |     |   |   BGP speaker   |  |"},{"line_number":212,"context_line":"   |    +------------------+ |     |   +-----------------+  |"},{"line_number":213,"context_line":"   |                         |     |                        |"},{"line_number":214,"context_line":"   +-------------------------+     +------------------------+"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"REST API \u0026 Neutron client command Impact"},{"line_number":217,"context_line":"----------------------------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"6aaf6087_ba0646f2","line":214,"in_reply_to":"2acf3f9c_8932b130","updated":"2021-04-16 14:03:44.000000000","message":"Done","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"6c14cb23b5976788cc5c1ed2d9b3029760151851","unresolved":true,"context_lines":[{"line_number":422,"context_line":"Data Model Impact"},{"line_number":423,"context_line":"-----------------"},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"Bgp_speaker and bgp_peers tables will be updated to incorporate the new fields."},{"line_number":426,"context_line":"New tables will be created to manager bgp peer group."},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"Security Impact"},{"line_number":429,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ea6b24f5_bb7b1020","line":426,"range":{"start_line":425,"start_character":0,"end_line":426,"end_character":53},"updated":"2021-04-13 01:03:28.000000000","message":"It\u0027s better to paste the data model defination here.","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"4bbe53c827e63ba03cbc37241dcc1942cf86b9ab","unresolved":false,"context_lines":[{"line_number":422,"context_line":"Data Model Impact"},{"line_number":423,"context_line":"-----------------"},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"Bgp_speaker and bgp_peers tables will be updated to incorporate the new fields."},{"line_number":426,"context_line":"New tables will be created to manager bgp peer group."},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"Security Impact"},{"line_number":429,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"d9870122_f90233b5","line":426,"range":{"start_line":425,"start_character":0,"end_line":426,"end_character":53},"in_reply_to":"ea6b24f5_bb7b1020","updated":"2021-04-19 09:24:46.000000000","message":"Done","commit_id":"860d6b5339fdc6b9c4b284207e62e497fea7a99a"}],"specs/xena/bgpaas-enhancements.rst":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"d6f4e345_05f1ff1d","updated":"2021-04-28 15:06:06.000000000","message":"Here at the top let me summarize some concerns raised on the PTG (mostly by Miguel Lavalle, please correct me Miguel if I misunderstood something):\n\n1) Previously all dynamic routing functionality was implemented in the neutron-dynamic-routing repo. Can we implement everything proposed here in the neutron-dynamic-routing repo? Clearly we can do that for all service plugin modifications and hopefully for all l3-agent modifications via using an agent extension. However I\u0027m not familiar with agent extensions, so I\u0027m not sure about the latter. We definitely cannot have code in the neutron repo that depends on code in the n-d-r repo.\n\n2) Does the implementation of this proposal replace the already existing n-d-r?\nIs the functionality proposed here a clear superset of the already existing functionality?\n(For example will the implementation proposed here be able to handle speaker-net associations?)\nWill we have the functional enhancements proposed here available for speakers associated with networks?\n\nThe way I understand the current proposal is the following:\nThe API is extended so a speaker can be associated with either networks or a router, but never both.\nThe modified service plugin based on the association (whether it\u0027s a network(s) or a router) calls into the pre-existing dr-agent (for the network association) or into a newly modified l3-agent (for the router association.)\n\nHowever as pointed out on the PTG, this may lead to two separately maintained n-d-r implementations (below the point in the service plugin where the line of control differs). The two also possibly functionally diverging. The duplication raising the maintenance cost.\n\nHow do we plan to address these concerns? For example: Could we have a shared codebase which can be deployed both as a standalone agent (for backwards compatibility) and inside the l3-agent namespace?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"ded46d98_e231c53d","in_reply_to":"d6f4e345_05f1ff1d","updated":"2021-05-06 07:38:49.000000000","message":"Point 1 seems to be a better approach with probably common shared codebase. I will go through different possibilities and then come back with a better answer.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":22,"context_line":"neutron-dynamic-routing/bgp as synonymns. These refers to \"Neutron Dynamic"},{"line_number":23,"context_line":"Routing using BGPaaS\" function already available in Neutron]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In a Telco Service Provider environment, VNFs (Virtual Network Functions) \u0026"},{"line_number":26,"context_line":"CNFs (Containerized-Network-Functions) are run that provides simple-to-fairly"},{"line_number":27,"context_line":"complex services to subscribers. These VNFs use many Non-Neutron IP-Addresses"},{"line_number":28,"context_line":"which need to be exposed to subscribers. The subscribers access these services"}],"source_content_type":"text/x-rst","patch_set":15,"id":"8515ff17_21d38fa8","line":25,"range":{"start_line":25,"start_character":41,"end_line":25,"end_character":45},"updated":"2021-04-28 15:06:06.000000000","message":"Since not everybody in the Neutron community is from a Telco company it may make sense to mention the non-Telco names of these things, for example:\n\n* VNFs : VMs running apps\n* ISP PE router : the first router north of the neutron router","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":22,"context_line":"neutron-dynamic-routing/bgp as synonymns. These refers to \"Neutron Dynamic"},{"line_number":23,"context_line":"Routing using BGPaaS\" function already available in Neutron]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In a Telco Service Provider environment, VNFs (Virtual Network Functions) \u0026"},{"line_number":26,"context_line":"CNFs (Containerized-Network-Functions) are run that provides simple-to-fairly"},{"line_number":27,"context_line":"complex services to subscribers. These VNFs use many Non-Neutron IP-Addresses"},{"line_number":28,"context_line":"which need to be exposed to subscribers. The subscribers access these services"}],"source_content_type":"text/x-rst","patch_set":15,"id":"bcf61f89_17a2663d","line":25,"range":{"start_line":25,"start_character":41,"end_line":25,"end_character":45},"in_reply_to":"8515ff17_21d38fa8","updated":"2021-05-06 07:38:49.000000000","message":"Will be updated in next patch set","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":29,"context_line":"through these Non-Neutron IP-Addresses, referred as \u0027Service-Address\u0027. It can"},{"line_number":30,"context_line":"belong to either IPv4 (or) IPv6 address-families."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Service-Address are wholly managed inside a VNF transparent to Neutron. But"},{"line_number":33,"context_line":"these Service-Address are reachable on the dataplane by subscribers, through"},{"line_number":34,"context_line":"VNICs (or Ports) holding Neutron-managed Addresses. In short, the Neutron"},{"line_number":35,"context_line":"managed primary-addresses on VNFs VNICs act as NextHops to the Service-Address"}],"source_content_type":"text/x-rst","patch_set":15,"id":"e2c5fdd0_8dabd280","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":70},"updated":"2021-04-28 15:06:06.000000000","message":"I don\u0027t think this question alters the validity of the use case, however out of curiosity let me ask: Why can\u0027t a VNF allocate its service-addresses from Neutron?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":29,"context_line":"through these Non-Neutron IP-Addresses, referred as \u0027Service-Address\u0027. It can"},{"line_number":30,"context_line":"belong to either IPv4 (or) IPv6 address-families."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Service-Address are wholly managed inside a VNF transparent to Neutron. But"},{"line_number":33,"context_line":"these Service-Address are reachable on the dataplane by subscribers, through"},{"line_number":34,"context_line":"VNICs (or Ports) holding Neutron-managed Addresses. In short, the Neutron"},{"line_number":35,"context_line":"managed primary-addresses on VNFs VNICs act as NextHops to the Service-Address"}],"source_content_type":"text/x-rst","patch_set":15,"id":"c315c012_5d354e57","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":70},"in_reply_to":"e2c5fdd0_8dabd280","updated":"2021-05-18 06:42:24.000000000","message":"These VNF service addresses are not known to the neutron. They are internal to the VNFs and used between each other in a VNF cluster and outside. AFAIU, these addresses are managed by the VNFs.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":36,"context_line":"of VNF."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"In order to enable L3 reachability to these Service-Addresses from an"},{"line_number":39,"context_line":"ISP-network (or) say from say another-internal-network entity, these"},{"line_number":40,"context_line":"Service-Addresses need to be brought into a Neutron Router\u0027s Routing Table."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The no of VNFs are high and hence the no of service addresses to be exposed"}],"source_content_type":"text/x-rst","patch_set":15,"id":"2ff2419e_d778e77b","line":39,"updated":"2021-04-23 10:57:44.000000000","message":"(or) make the Service-addresses reachable from another internal-network entity","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":36,"context_line":"of VNF."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"In order to enable L3 reachability to these Service-Addresses from an"},{"line_number":39,"context_line":"ISP-network (or) say from say another-internal-network entity, these"},{"line_number":40,"context_line":"Service-Addresses need to be brought into a Neutron Router\u0027s Routing Table."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The no of VNFs are high and hence the no of service addresses to be exposed"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7ab9d372_22e6847f","line":39,"in_reply_to":"2ff2419e_d778e77b","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The no of VNFs are high and hence the no of service addresses to be exposed"},{"line_number":43,"context_line":"are higher. \"BGP between the VNFs and their hosting Neutron Routers\" provides"},{"line_number":44,"context_line":"a very elegant and scalable automated approach to drive control-plane driven"},{"line_number":45,"context_line":"route-learning of Service-Address by the Neutron Router from the VNFs. This"},{"line_number":46,"context_line":"enables L3 reachability of such Service-Addresses to"},{"line_number":47,"context_line":"internal-network-entities."}],"source_content_type":"text/x-rst","patch_set":15,"id":"5f80d53a_7f7846a3","line":44,"updated":"2021-04-23 10:57:44.000000000","message":"automated approach for a control-plane drive","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The no of VNFs are high and hence the no of service addresses to be exposed"},{"line_number":43,"context_line":"are higher. \"BGP between the VNFs and their hosting Neutron Routers\" provides"},{"line_number":44,"context_line":"a very elegant and scalable automated approach to drive control-plane driven"},{"line_number":45,"context_line":"route-learning of Service-Address by the Neutron Router from the VNFs. This"},{"line_number":46,"context_line":"enables L3 reachability of such Service-Addresses to"},{"line_number":47,"context_line":"internal-network-entities."}],"source_content_type":"text/x-rst","patch_set":15,"id":"06a5b0df_da691574","line":44,"in_reply_to":"5f80d53a_7f7846a3","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":44,"context_line":"a very elegant and scalable automated approach to drive control-plane driven"},{"line_number":45,"context_line":"route-learning of Service-Address by the Neutron Router from the VNFs. This"},{"line_number":46,"context_line":"enables L3 reachability of such Service-Addresses to"},{"line_number":47,"context_line":"internal-network-entities."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"These service addresses also need to be advertised to the ISP-PE-Router. This"},{"line_number":50,"context_line":"will enable subscribers present on ISP-network be able to use the services"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4c18aecc_d52b507b","line":47,"updated":"2021-04-23 10:57:44.000000000","message":"Service-Addresses from other neutron-internal-network-VNFs that might be attached to the same Neutron Router.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":44,"context_line":"a very elegant and scalable automated approach to drive control-plane driven"},{"line_number":45,"context_line":"route-learning of Service-Address by the Neutron Router from the VNFs. This"},{"line_number":46,"context_line":"enables L3 reachability of such Service-Addresses to"},{"line_number":47,"context_line":"internal-network-entities."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"These service addresses also need to be advertised to the ISP-PE-Router. This"},{"line_number":50,"context_line":"will enable subscribers present on ISP-network be able to use the services"}],"source_content_type":"text/x-rst","patch_set":15,"id":"27856a14_4ebb4f7b","line":47,"in_reply_to":"4c18aecc_d52b507b","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":50,"context_line":"will enable subscribers present on ISP-network be able to use the services"},{"line_number":51,"context_line":"exported by applications in the VNFs."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The existing BGPaaS doesn\u0027t support this requirement due to the below reasons :"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Existing BGPaaS lacks the functionality (both API and implementations) to do"},{"line_number":56,"context_line":"  BGP Peering over Neutron Internal Networks. Current implementation advertises"}],"source_content_type":"text/x-rst","patch_set":15,"id":"21febe86_cb07c508","line":53,"updated":"2021-04-23 10:57:44.000000000","message":"The existing Neutron Dynamic BGPaaS falls a little short of supporting the above requirements due to below reasons:","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":50,"context_line":"will enable subscribers present on ISP-network be able to use the services"},{"line_number":51,"context_line":"exported by applications in the VNFs."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The existing BGPaaS doesn\u0027t support this requirement due to the below reasons :"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Existing BGPaaS lacks the functionality (both API and implementations) to do"},{"line_number":56,"context_line":"  BGP Peering over Neutron Internal Networks. Current implementation advertises"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7896c19a_c9cad042","line":53,"in_reply_to":"21febe86_cb07c508","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":53,"context_line":"The existing BGPaaS doesn\u0027t support this requirement due to the below reasons :"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Existing BGPaaS lacks the functionality (both API and implementations) to do"},{"line_number":56,"context_line":"  BGP Peering over Neutron Internal Networks. Current implementation advertises"},{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."}],"source_content_type":"text/x-rst","patch_set":15,"id":"248cf16d_cc7a7d15","line":57,"range":{"start_line":56,"start_character":46,"end_line":57,"end_character":46},"updated":"2021-04-28 15:06:06.000000000","message":"So today we have bgp speakers that only advertise, but not learn. In the future we will have bgp speakers that advertise and learn. Do we have anything in the API (maybe a bgp speaker attribute) that exposes this difference? Or will we turn all speakers into advertise-and-learn mode? I guess that would break backwards compatibility.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Existing BGPaaS lacks the functionality (both API and implementations) to do"},{"line_number":56,"context_line":"  BGP Peering over Neutron Internal Networks. Current implementation advertises"},{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."}],"source_content_type":"text/x-rst","patch_set":15,"id":"c3364f0d_a46c9b39","line":57,"updated":"2021-04-23 10:57:44.000000000","message":"can we please remove the line \u0027current implemtantion only advertises routes...\u0027 as it seems injected for something else.  This statement would well fit after \u0027It also requires BGP speaker to learn routes from BGP peers.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":53,"context_line":"The existing BGPaaS doesn\u0027t support this requirement due to the below reasons :"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Existing BGPaaS lacks the functionality (both API and implementations) to do"},{"line_number":56,"context_line":"  BGP Peering over Neutron Internal Networks. Current implementation advertises"},{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."}],"source_content_type":"text/x-rst","patch_set":15,"id":"cef4a500_dbd1c686","line":57,"range":{"start_line":56,"start_character":46,"end_line":57,"end_character":46},"in_reply_to":"248cf16d_cc7a7d15","updated":"2021-05-06 07:38:49.000000000","message":"The current plan is to only modify the BGP speakers which are going to be associated to router. So that network associated BGP speakers can still continue the older approach(no learning but advertising) and thereby maintaining the backward compatibility.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Existing BGPaaS lacks the functionality (both API and implementations) to do"},{"line_number":56,"context_line":"  BGP Peering over Neutron Internal Networks. Current implementation advertises"},{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."}],"source_content_type":"text/x-rst","patch_set":15,"id":"f3230aa9_dc1c2691","line":57,"in_reply_to":"c3364f0d_a46c9b39","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":53,"context_line":"The existing BGPaaS doesn\u0027t support this requirement due to the below reasons :"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Existing BGPaaS lacks the functionality (both API and implementations) to do"},{"line_number":56,"context_line":"  BGP Peering over Neutron Internal Networks. Current implementation advertises"},{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."}],"source_content_type":"text/x-rst","patch_set":15,"id":"84c27ad3_9b56aa9a","line":57,"range":{"start_line":56,"start_character":46,"end_line":57,"end_character":46},"in_reply_to":"cef4a500_dbd1c686","updated":"2021-05-12 15:21:28.000000000","message":"Is it a good idea to have differently behaving speakers that can only be discovered in the API via their relations to other objects (nets and routers)? Here I\u0027m not saying to implement learning for net-attached speakers, just to make the behavior difference an attribute of the speaker, for example (thinking aloud):\n\nnew speaker attribute: advertise\u003dtrue/false\nnew speaker attribute: learn\u003dtrue/false\n\nNet-attached speakers would be advertise\u003dtrue and learn\u003dfalse, in the first implementation with no option to update learn to true.\nRouter-attached speakers would be advertise\u003dtrue and learn\u003dtrue.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":55,"context_line":"* Existing BGPaaS lacks the functionality (both API and implementations) to do"},{"line_number":56,"context_line":"  BGP Peering over Neutron Internal Networks. Current implementation advertises"},{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"17e914de_ed6d5467","line":58,"updated":"2021-04-23 10:57:44.000000000","message":"of VNF Non-neutron service-addresses into a Neutron Router\u0027s routing-table requires BGP control plane to bring them in via BGP peering from Neutron Router towards the VNFs over Neutron Tenant Networks.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* Existing BGPaaS lacks the functionality (both API and implementations) to do"},{"line_number":56,"context_line":"  BGP Peering over Neutron Internal Networks. Current implementation advertises"},{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"75d1ce1b_5dba4f51","line":58,"in_reply_to":"17e914de_ed6d5467","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"}],"source_content_type":"text/x-rst","patch_set":15,"id":"d51ab858_cb4c9fee","line":60,"updated":"2021-04-28 15:06:06.000000000","message":"This first point may actually contain three different concerns:\n\n1) bgp speakers cannot listen on Neutron internal networks\n2) bgp speakers only advertise, but do not learn from peers\n3) bgp speakers cannot advertise non-Neutron subnets, which of course can be solved the same way as (2) is solved, if we also re-distribute the addresses we learn","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"}],"source_content_type":"text/x-rst","patch_set":15,"id":"94b7ae8d_69a38dac","line":60,"in_reply_to":"67a4ed4a_bc9e9fa5","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  routes to peers but doesn\u0027t learn from peers. The addition of"},{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"}],"source_content_type":"text/x-rst","patch_set":15,"id":"67a4ed4a_bc9e9fa5","line":60,"in_reply_to":"d51ab858_cb4c9fee","updated":"2021-05-06 07:38:49.000000000","message":"I will modify the statement properly in the next patch so that all will be included","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"},{"line_number":64,"context_line":"  External Networks. This will enable the PE-Router to learn the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4c6203b1_917cbdd2","line":61,"updated":"2021-04-23 10:57:44.000000000","message":"Existing Neutron BGPaaS support BGP Peering","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"},{"line_number":64,"context_line":"  External Networks. This will enable the PE-Router to learn the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"b4198945_293b22ff","line":61,"range":{"start_line":61,"start_character":36,"end_line":61,"end_character":56},"updated":"2021-04-28 15:06:06.000000000","message":"For the sake of completeness: I believe it\u0027s technically possible today to deploy dr-agent so it can listen on some external networks (those that are already created at deployment time). Of course we still cannot put a bgp speaker on an internal network or an external network created later dynamically.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"},{"line_number":64,"context_line":"  External Networks. This will enable the PE-Router to learn the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4c6b351f_b6a7e62a","line":61,"in_reply_to":"4c6203b1_917cbdd2","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"},{"line_number":64,"context_line":"  External Networks. This will enable the PE-Router to learn the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"e36bf6be_c29054b5","line":61,"range":{"start_line":61,"start_character":36,"end_line":61,"end_character":56},"in_reply_to":"b4198945_293b22ff","updated":"2021-05-06 07:38:49.000000000","message":"current BGP speaker implementation does support listening on BGP tcp port. It has only support for advertising the routes.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  service-addresses to Neutron Router\u0027s Routing Table requires establishment of"},{"line_number":59,"context_line":"  BGP peering (see [2]_) over internal network. It also requires BGP speaker to"},{"line_number":60,"context_line":"  learn routes from the BGP peers."},{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"},{"line_number":64,"context_line":"  External Networks. This will enable the PE-Router to learn the"}],"source_content_type":"text/x-rst","patch_set":15,"id":"27d484fa_679005cf","line":61,"range":{"start_line":61,"start_character":36,"end_line":61,"end_character":56},"in_reply_to":"e36bf6be_c29054b5","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"},{"line_number":64,"context_line":"  External Networks. This will enable the PE-Router to learn the"},{"line_number":65,"context_line":"  Service-Addresses over the BGP control plane. Thereby, enabling"},{"line_number":66,"context_line":"  L3-reachability for subscribers on the ISP-side to be able to take advantage"},{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."}],"source_content_type":"text/x-rst","patch_set":15,"id":"132eccf4_e3240466","line":64,"range":{"start_line":64,"start_character":42,"end_line":64,"end_character":51},"updated":"2021-04-28 15:06:06.000000000","message":"which is the Neutron router, right?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"},{"line_number":64,"context_line":"  External Networks. This will enable the PE-Router to learn the"},{"line_number":65,"context_line":"  Service-Addresses over the BGP control plane. Thereby, enabling"},{"line_number":66,"context_line":"  L3-reachability for subscribers on the ISP-side to be able to take advantage"},{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."}],"source_content_type":"text/x-rst","patch_set":15,"id":"ea813284_8f4906d7","line":64,"range":{"start_line":64,"start_character":42,"end_line":64,"end_character":51},"in_reply_to":"132eccf4_e3240466","updated":"2021-05-06 07:38:49.000000000","message":"No, once the BGP speaker(inside neutron router) advertises the service addresses to PE routers, the service addresses will get reachable from PE routers. So the highlighted sentence actually means that the PE router will be able to learn the service addresses.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"},{"line_number":64,"context_line":"  External Networks. This will enable the PE-Router to learn the"},{"line_number":65,"context_line":"  Service-Addresses over the BGP control plane. Thereby, enabling"},{"line_number":66,"context_line":"  L3-reachability for subscribers on the ISP-side to be able to take advantage"},{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."}],"source_content_type":"text/x-rst","patch_set":15,"id":"58c807dd_bdfbc2a3","line":64,"range":{"start_line":64,"start_character":42,"end_line":64,"end_character":51},"in_reply_to":"2a3e0796_8a385b47","updated":"2021-05-18 06:42:24.000000000","message":"Done.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* It supports BGP Peering only over Non-Neutron Networks. Please refer the"},{"line_number":62,"context_line":"  current implementation and documentation as in [8]_ . Advertisment of"},{"line_number":63,"context_line":"  service-addresses to the ISP-PE-Router requires BGP Peering over Neutron"},{"line_number":64,"context_line":"  External Networks. This will enable the PE-Router to learn the"},{"line_number":65,"context_line":"  Service-Addresses over the BGP control plane. Thereby, enabling"},{"line_number":66,"context_line":"  L3-reachability for subscribers on the ISP-side to be able to take advantage"},{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."}],"source_content_type":"text/x-rst","patch_set":15,"id":"2a3e0796_8a385b47","line":64,"range":{"start_line":64,"start_character":42,"end_line":64,"end_character":51},"in_reply_to":"ea813284_8f4906d7","updated":"2021-05-12 15:21:28.000000000","message":"Okay, I was wondering if \"ISP-PE-Router\" and \"PE-Router\" is the same. If I understand your answer, they are the same. Maybe just write \"ISP-PE-Router\" for clarity.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":66,"context_line":"  L3-reachability for subscribers on the ISP-side to be able to take advantage"},{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."},{"line_number":68,"context_line":"* Exising BGPaaS doesn\u0027t provide API/implementation to associate a BGP speaker"},{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4bd4e4c5_9faf7c83","line":69,"updated":"2021-04-23 10:57:44.000000000","message":"BGP Speaker to a Neutron router. It only supports a \u0027loose-association\u0027 of provider-network to a BGP speaker.  This \u0027loose-association\u0027 is concept where the BGP speaker derives the routes of the Neutron Router through APIs and not due to direct connectivity of BGP Speaker to the Neutron Router","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":66,"context_line":"  L3-reachability for subscribers on the ISP-side to be able to take advantage"},{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."},{"line_number":68,"context_line":"* Exising BGPaaS doesn\u0027t provide API/implementation to associate a BGP speaker"},{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"}],"source_content_type":"text/x-rst","patch_set":15,"id":"377d7d6f_34e678f1","line":69,"in_reply_to":"19f80163_291f3064","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":false,"context_lines":[{"line_number":66,"context_line":"  L3-reachability for subscribers on the ISP-side to be able to take advantage"},{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."},{"line_number":68,"context_line":"* Exising BGPaaS doesn\u0027t provide API/implementation to associate a BGP speaker"},{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"}],"source_content_type":"text/x-rst","patch_set":15,"id":"19f80163_291f3064","line":69,"in_reply_to":"3c9d72b7_d0822713","updated":"2021-05-12 15:21:28.000000000","message":"\u003e Regarding the source from where we could gather routing information, probably we can use the osken itself for the routes.(https://ryu.readthedocs.io/en/latest/library_bgp_speaker_ref.html#ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.rib_get). Please let me know if this is a good approach\n\nSounds good to me. This may be worth adding to the spec and then later to the documentation.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":66,"context_line":"  L3-reachability for subscribers on the ISP-side to be able to take advantage"},{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."},{"line_number":68,"context_line":"* Exising BGPaaS doesn\u0027t provide API/implementation to associate a BGP speaker"},{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"}],"source_content_type":"text/x-rst","patch_set":15,"id":"a470bd63_f7df8446","line":69,"in_reply_to":"4bd4e4c5_9faf7c83","updated":"2021-04-28 15:06:06.000000000","message":"I also think it is a very important point here, that associating a speaker to a router is much more than associating a speaker to all networks directly connected to the router.\n\nContinuing Vivek\u0027s thought: So far the bgp speaker could not read nor write the router\u0027s routing table. As long as we only advertised Neutron subnets it could collect the same information directly from the Neutron DB. However this spec wants to enable learning from peers, therefore we need write access.\n\nIt\u0027s an interesting question from which source we should read though, when we could theoretically gather the same information both from the neutron DB and the router\u0027s actual routing table. In other words: Do we want to advertise the way our subnets and routes should look like (DB) or the way they actually look like (routing table). I guess this question becomes even more relevant with the followup RFE/spec that wants to allow monitoring of these routes.\n\nAlso the existing API allows individual control of which network\u0027s subnets to advertise. Do we want to retain this ability somehow when associating a speaker to a router?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":66,"context_line":"  L3-reachability for subscribers on the ISP-side to be able to take advantage"},{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."},{"line_number":68,"context_line":"* Exising BGPaaS doesn\u0027t provide API/implementation to associate a BGP speaker"},{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3c9d72b7_d0822713","line":69,"in_reply_to":"4bd4e4c5_9faf7c83","updated":"2021-05-06 07:38:49.000000000","message":"The address scope is planned to address this. There will be an option to specify which address scopes to be advertised, when associating BGP speaker to router.\n\nRegarding the source from where we could gather routing information, probably we can use the osken itself for the routes.(https://ryu.readthedocs.io/en/latest/library_bgp_speaker_ref.html#ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.rib_get). Please let me know if this is a good approach","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."},{"line_number":68,"context_line":"* Exising BGPaaS doesn\u0027t provide API/implementation to associate a BGP speaker"},{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"}],"source_content_type":"text/x-rst","patch_set":15,"id":"953555f0_47faeec6","line":70,"range":{"start_line":70,"start_character":39,"end_line":70,"end_character":53},"updated":"2021-04-28 15:06:06.000000000","message":"Do you mean that the bgp speaker starts listening on all these interfaces? On tcp port 179? Do we need to make the port configurable? Possibly not.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."},{"line_number":68,"context_line":"* Exising BGPaaS doesn\u0027t provide API/implementation to associate a BGP speaker"},{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7b8ef2b4_63732065","line":70,"range":{"start_line":70,"start_character":39,"end_line":70,"end_character":53},"in_reply_to":"61d61c7a_aad6364a","updated":"2021-05-12 15:21:28.000000000","message":"Let\u0027s please add these answers to the spec, so they don\u0027t get forgotten.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."},{"line_number":68,"context_line":"* Exising BGPaaS doesn\u0027t provide API/implementation to associate a BGP speaker"},{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"}],"source_content_type":"text/x-rst","patch_set":15,"id":"ed66f04e_f27e1996","line":70,"range":{"start_line":70,"start_character":39,"end_line":70,"end_character":53},"in_reply_to":"7b8ef2b4_63732065","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":67,"context_line":"  of services offered by VNFs (and CNFs)."},{"line_number":68,"context_line":"* Exising BGPaaS doesn\u0027t provide API/implementation to associate a BGP speaker"},{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"}],"source_content_type":"text/x-rst","patch_set":15,"id":"61d61c7a_aad6364a","line":70,"range":{"start_line":70,"start_character":39,"end_line":70,"end_character":53},"in_reply_to":"953555f0_47faeec6","updated":"2021-05-06 07:38:49.000000000","message":"BGP speaker can listen on 0.0.0.0:179 and then it will start accepting connections from any interfaces based on the peering request.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"}],"source_content_type":"text/x-rst","patch_set":15,"id":"363c9f1f_776b8b48","line":72,"updated":"2021-04-23 10:57:44.000000000","message":"This will enable a single bgpspeaker associated with the Neutron Router, be able to peer simultaneously towards VNFs on neutron-internal-network as well as the PE-Router on neutron-external-network","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  to a router. It currently supports association of network to BGP speaker."},{"line_number":70,"context_line":"  Association of BGP speaker to router enables access to all the"},{"line_number":71,"context_line":"  neutron-router-interfaces ie. both internal/external interfaces. This will"},{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"}],"source_content_type":"text/x-rst","patch_set":15,"id":"58405969_530e8815","line":72,"in_reply_to":"363c9f1f_776b8b48","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4f9e102a_0b3f3cbe","line":75,"updated":"2021-04-23 10:57:44.000000000","message":"Let us start with :\n\nIt will be good to offer \"BGP Peer Group feature\" that is not present in existing neutron bgpaas.  This feature enables automatic-bgp-peering towards VNFs by Neutron Router whenever the #ofVNFs are scaled-out in a VNF cluster (OR) whenever the #ofVNFs are scaled in from a VNF cluster.  The automatic-bgp-peering refers to the fact that we will enhance the current BGP Speaker to automatically accept peering-requests from VNF if the VNFs are within a pre-configured listen-range that openstack tenant can configure for the BGP speaker.\n\ncan we please avoid using \u0027BGP Dynamic Neighbors\u0027entirely in this spec and use only \u0027BGP Peer Groups\u0027 everywhere commonly.  \n\nplease note that we are \u0027not lacking\u0027 anything in existing neutron bgpaas, we are only enhancing it for  additional functionality, and so let our spec reflect that reality and positivity.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"64f6b9862acd2989f4089f3b9410058c16c28e70","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"}],"source_content_type":"text/x-rst","patch_set":15,"id":"2356c844_3e35f6b6","line":75,"in_reply_to":"0eca4293_e93ca6f9","updated":"2021-06-07 05:13:23.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"62a33a4af78576141d0292f57400d0e1b568a628","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"}],"source_content_type":"text/x-rst","patch_set":15,"id":"0eca4293_e93ca6f9","line":75,"in_reply_to":"29ece280_fae7924f","updated":"2021-06-04 11:42:27.000000000","message":"I think it\u0027s fine to give higher priority to db-derived routes.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"}],"source_content_type":"text/x-rst","patch_set":15,"id":"609b1c7e_bce0f5c9","line":75,"in_reply_to":"3f690b63_a9b461b5","updated":"2021-05-25 12:41:45.000000000","message":"Thinking of this I also realized a few more questions: Can bgp learned routes override routes derived from the neutron DB? If we accept all routes advertised to us and do the usual longest prefix match, that means they can override. Is that desirable? Do we accept advertised routes overlapping db-derived routes? When it comes to same length prefixes which routes have the higher priority/metric - db-derived routes or learned routes?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"}],"source_content_type":"text/x-rst","patch_set":15,"id":"daa94d1d_c4ecb485","line":75,"in_reply_to":"4f9e102a_0b3f3cbe","updated":"2021-04-28 15:06:06.000000000","message":"Learning from a malicious peer is a security risk, so:\n\nWhat control do we have over who can automatically peer with us?\n\nFirst, the specified source IP range.\nDo we have authentication/authorization options here?\nDo we want to make them optional or mandatory?\nDo we want to enable automatic acceptance of peering requests from internal and/or external networks?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"}],"source_content_type":"text/x-rst","patch_set":15,"id":"e173b2d6_c81f7339","line":75,"in_reply_to":"4f9e102a_0b3f3cbe","updated":"2021-05-06 07:38:49.000000000","message":"This can be used for both internal and external networks. But I\u0027m not sure whether this will be used for external networks(proabably Vivek can clarify).","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"338629c5d2e468df0abf0d262000741cf178e946","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"}],"source_content_type":"text/x-rst","patch_set":15,"id":"29ece280_fae7924f","line":75,"in_reply_to":"609b1c7e_bce0f5c9","updated":"2021-05-27 06:45:56.000000000","message":"Usually in a router, connected/direct routes have higher priority/preference compared to other routes learned from dynamic routing protocols.(Administrative Distance). So if we can consider the db routes as the connected routes, then I think we should give more priority to it(db-derived routes) than the learned routes. Please let me know if it is fine.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  enable direct BGP-Peering from a Neutron Router towards the VNFs (or CNFs) on"},{"line_number":73,"context_line":"  its connected networks. It also enables BGP-Peering over Neutron External"},{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f690b63_a9b461b5","line":75,"in_reply_to":"e173b2d6_c81f7339","updated":"2021-05-12 15:21:28.000000000","message":"Let\u0027s keep this open, until we know if we need this on external networks.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"},{"line_number":79,"context_line":"  dynamically establishes peering to a group of remote neighbors that are"},{"line_number":80,"context_line":"  defined using a range of IP addresses and BGP peer group. It also simplifies"},{"line_number":81,"context_line":"  the BGP configuration. This is particulary useful when a VNF Cluster is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"583d320c_b4568120","line":78,"range":{"start_line":77,"start_character":37,"end_line":78,"end_character":25},"updated":"2021-04-28 15:06:06.000000000","message":"I don\u0027t think this is the case. Peer configuration is exposed through the API, and that is programmable.\n\nLast time I heard about this topic offline I believe there was another reason: given a k8s over openstack deployment where the scale-in/out of an app is a pure k8s operation it was desirable to avoid calling into the neutron api and keep the operation pure k8s.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"},{"line_number":79,"context_line":"  dynamically establishes peering to a group of remote neighbors that are"},{"line_number":80,"context_line":"  defined using a range of IP addresses and BGP peer group. It also simplifies"},{"line_number":81,"context_line":"  the BGP configuration. This is particulary useful when a VNF Cluster is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"e6321c69_9bc5602f","line":78,"range":{"start_line":77,"start_character":37,"end_line":78,"end_character":25},"in_reply_to":"583d320c_b4568120","updated":"2021-05-06 07:38:49.000000000","message":"I will remove manual intervention in the next patch set.\n\nBy repeated configuration, I meant that bgp peer command has to be invoked multiple times. This can be avoided by using listen range.\n\nAnd thanks for the k8s option, I will include it in the next patch set.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  Networks from a Neutron Router to the ISP-PE-Router."},{"line_number":75,"context_line":"* It also lacks BGP peer group support and BGP Dynamic Neighbors which helps"},{"line_number":76,"context_line":"  in minimizing the configuration overhead. Existing implementation doesn\u0027t"},{"line_number":77,"context_line":"  scale with more number of peers as this requires manual intervention and"},{"line_number":78,"context_line":"  repeated configurations. With BGP Dynamic Neighbor feature, BGP speaker"},{"line_number":79,"context_line":"  dynamically establishes peering to a group of remote neighbors that are"},{"line_number":80,"context_line":"  defined using a range of IP addresses and BGP peer group. It also simplifies"},{"line_number":81,"context_line":"  the BGP configuration. This is particulary useful when a VNF Cluster is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dab268cd_bab1bd5c","line":78,"range":{"start_line":77,"start_character":37,"end_line":78,"end_character":25},"in_reply_to":"e6321c69_9bc5602f","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"#. ``Enable direct BGP-Peering (see [2]_) from a Neutron Router towards the"},{"line_number":91,"context_line":"   VNFs (or CNFs) on its connected networks.`` This provides L3 reachability to"},{"line_number":92,"context_line":"   the service-addresses from another-internal-network entity by installing"},{"line_number":93,"context_line":"   service-addresses in Neutron Router\u0027s Routing Table. The proposal is to"},{"line_number":94,"context_line":"   associate a BGP speaker to a router which enables access to all the"},{"line_number":95,"context_line":"   neutron-router-interfaces ie. both internal/external interfaces. A single"}],"source_content_type":"text/x-rst","patch_set":15,"id":"02796eb5_36bada39","line":92,"updated":"2021-04-23 10:57:44.000000000","message":"can we everywhere evenly use neutron-tenant-network instead of neutron-internal-network, as that might be right terminology.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"#. ``Enable direct BGP-Peering (see [2]_) from a Neutron Router towards the"},{"line_number":91,"context_line":"   VNFs (or CNFs) on its connected networks.`` This provides L3 reachability to"},{"line_number":92,"context_line":"   the service-addresses from another-internal-network entity by installing"},{"line_number":93,"context_line":"   service-addresses in Neutron Router\u0027s Routing Table. The proposal is to"},{"line_number":94,"context_line":"   associate a BGP speaker to a router which enables access to all the"},{"line_number":95,"context_line":"   neutron-router-interfaces ie. both internal/external interfaces. A single"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7525b4d2_8f4ef473","line":92,"in_reply_to":"02796eb5_36bada39","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"1269aec6f70770a72304a7a5a326763b950b1808","unresolved":true,"context_lines":[{"line_number":102,"context_line":"   by VNFs (and CNFs)."},{"line_number":103,"context_line":"#. ``Support BGP peer group support and BGP Dynamic Neighbors.`` This will"},{"line_number":104,"context_line":"   help to minimize the configuration overhead and allows to scale with more"},{"line_number":105,"context_line":"   number of peers when a VNF Cluster is scaled-out/scaled-in. It supports BGP"},{"line_number":106,"context_line":"   peering to a group of remote neighbors that are configured using a range of"},{"line_number":107,"context_line":"   IP addresses."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"8456bc65_00857674","line":105,"updated":"2021-04-23 10:57:44.000000000","message":"allows to transparently scale bgp peering to a number of VNFs , whenever VNF clusters are scaled-out or scaled-in.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":102,"context_line":"   by VNFs (and CNFs)."},{"line_number":103,"context_line":"#. ``Support BGP peer group support and BGP Dynamic Neighbors.`` This will"},{"line_number":104,"context_line":"   help to minimize the configuration overhead and allows to scale with more"},{"line_number":105,"context_line":"   number of peers when a VNF Cluster is scaled-out/scaled-in. It supports BGP"},{"line_number":106,"context_line":"   peering to a group of remote neighbors that are configured using a range of"},{"line_number":107,"context_line":"   IP addresses."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"c82ae10a_9e1582fb","line":105,"in_reply_to":"8456bc65_00857674","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":109,"context_line":"::"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":" +-----------------------------------------------+"},{"line_number":112,"context_line":" |                PE Router Pair                 |"},{"line_number":113,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":114,"context_line":" |  |    PE Router1   |   |    PE Router2   |    |-----------|"},{"line_number":115,"context_line":" |  +-----------------+   +-----------------+    |           |"}],"source_content_type":"text/x-rst","patch_set":15,"id":"ef7fae7f_45131e8d","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":32},"updated":"2021-04-28 15:06:06.000000000","message":"In the text this is called ISP PE router, isn\u0027t it?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":109,"context_line":"::"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":" +-----------------------------------------------+"},{"line_number":112,"context_line":" |                PE Router Pair                 |"},{"line_number":113,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":114,"context_line":" |  |    PE Router1   |   |    PE Router2   |    |-----------|"},{"line_number":115,"context_line":" |  +-----------------+   +-----------------+    |           |"}],"source_content_type":"text/x-rst","patch_set":15,"id":"717e1711_13481c57","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":32},"in_reply_to":"ef7fae7f_45131e8d","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":" +-----------------------------------------------+"},{"line_number":112,"context_line":" |                PE Router Pair                 |"},{"line_number":113,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":114,"context_line":" |  |    PE Router1   |   |    PE Router2   |    |-----------|"},{"line_number":115,"context_line":" |  +-----------------+   +-----------------+    |           |"},{"line_number":116,"context_line":" +-----------------------------------------------+           |"},{"line_number":117,"context_line":"         |                           |                     EBGP"},{"line_number":118,"context_line":"         |                           |                       |"}],"source_content_type":"text/x-rst","patch_set":15,"id":"a4773589_8155de03","line":115,"range":{"start_line":113,"start_character":0,"end_line":115,"end_character":50},"updated":"2021-04-28 15:06:06.000000000","message":"I\u0027m wondering if we need to complicate this spec by the details of HA. Is this feature in any way different in different deployment modes (HA or non-HA) of the ISP PE router?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":" +-----------------------------------------------+"},{"line_number":112,"context_line":" |                PE Router Pair                 |"},{"line_number":113,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":114,"context_line":" |  |    PE Router1   |   |    PE Router2   |    |-----------|"},{"line_number":115,"context_line":" |  +-----------------+   +-----------------+    |           |"},{"line_number":116,"context_line":" +-----------------------------------------------+           |"},{"line_number":117,"context_line":"         |                           |                     EBGP"},{"line_number":118,"context_line":"         |                           |                       |"}],"source_content_type":"text/x-rst","patch_set":15,"id":"20f6d984_ad46e7f7","line":115,"range":{"start_line":113,"start_character":0,"end_line":115,"end_character":50},"in_reply_to":"4e7a2e46_cf37553b","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":" +-----------------------------------------------+"},{"line_number":112,"context_line":" |                PE Router Pair                 |"},{"line_number":113,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":114,"context_line":" |  |    PE Router1   |   |    PE Router2   |    |-----------|"},{"line_number":115,"context_line":" |  +-----------------+   +-----------------+    |           |"},{"line_number":116,"context_line":" +-----------------------------------------------+           |"},{"line_number":117,"context_line":"         |                           |                     EBGP"},{"line_number":118,"context_line":"         |                           |                       |"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4e7a2e46_cf37553b","line":115,"range":{"start_line":113,"start_character":0,"end_line":115,"end_character":50},"in_reply_to":"a4773589_8155de03","updated":"2021-05-06 07:38:49.000000000","message":"This pic was added so that it represents the common deployment scenario","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":131,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":132,"context_line":" +-----------------------------------------------+"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"To advertise the multiple service addresses hosted by VNFs, 2 BGP sessions are"},{"line_number":135,"context_line":"created. One BGP session created directly towards the VNFs from a Neutron"},{"line_number":136,"context_line":"Router hosting the internal-networks of the VNF. And the next BGP-Peering"},{"line_number":137,"context_line":"towards the ISP-PE-Routers directly over the Neutron External Networks."}],"source_content_type":"text/x-rst","patch_set":15,"id":"0d34d248_8c2815c9","line":134,"range":{"start_line":134,"start_character":60,"end_line":134,"end_character":74},"updated":"2021-04-28 15:06:06.000000000","message":"However it may make sense (and it may have its own uses) to establish only one of these sessions, right?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":131,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":132,"context_line":" +-----------------------------------------------+"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"To advertise the multiple service addresses hosted by VNFs, 2 BGP sessions are"},{"line_number":135,"context_line":"created. One BGP session created directly towards the VNFs from a Neutron"},{"line_number":136,"context_line":"Router hosting the internal-networks of the VNF. And the next BGP-Peering"},{"line_number":137,"context_line":"towards the ISP-PE-Routers directly over the Neutron External Networks."}],"source_content_type":"text/x-rst","patch_set":15,"id":"d3f795e5_4384ddec","line":134,"range":{"start_line":134,"start_character":60,"end_line":134,"end_character":74},"in_reply_to":"0d34d248_8c2815c9","updated":"2021-05-06 07:38:49.000000000","message":"yes, it makes sense to establish one session.\n\nprobably i will rewrite the sentence to \"To advertise the multiple service addresses hosted by VNFs to ISP-PE routers, 2 BGP sessions are created\", then it might get more clear","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":131,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":132,"context_line":" +-----------------------------------------------+"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"To advertise the multiple service addresses hosted by VNFs, 2 BGP sessions are"},{"line_number":135,"context_line":"created. One BGP session created directly towards the VNFs from a Neutron"},{"line_number":136,"context_line":"Router hosting the internal-networks of the VNF. And the next BGP-Peering"},{"line_number":137,"context_line":"towards the ISP-PE-Routers directly over the Neutron External Networks."}],"source_content_type":"text/x-rst","patch_set":15,"id":"de12e7b6_1eb653bf","line":134,"range":{"start_line":134,"start_character":60,"end_line":134,"end_character":74},"in_reply_to":"d3f795e5_4384ddec","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":154,"context_line":" |       +----------------------------- -+       |           |"},{"line_number":155,"context_line":" |                       |                       |           |"},{"line_number":156,"context_line":" |       +-------------------------------------------+       |"},{"line_number":157,"context_line":" |       |       Enhanced L3 service plugin          |       |"},{"line_number":158,"context_line":" |       +-------------------------------------------+       |"},{"line_number":159,"context_line":" |                               |                           |"},{"line_number":160,"context_line":" +-------------------------------|---------------------------+"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4d1cb0fd_b53f091e","line":157,"range":{"start_line":157,"start_character":17,"end_line":157,"end_character":43},"updated":"2021-04-28 15:06:06.000000000","message":"I think we should also add the pre-existing n-d-r components to this picture, like dr-agent. To make it clear how those components are to be reused.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":154,"context_line":" |       +----------------------------- -+       |           |"},{"line_number":155,"context_line":" |                       |                       |           |"},{"line_number":156,"context_line":" |       +-------------------------------------------+       |"},{"line_number":157,"context_line":" |       |       Enhanced L3 service plugin          |       |"},{"line_number":158,"context_line":" |       +-------------------------------------------+       |"},{"line_number":159,"context_line":" |                               |                           |"},{"line_number":160,"context_line":" +-------------------------------|---------------------------+"}],"source_content_type":"text/x-rst","patch_set":15,"id":"86b728dc_20105e32","line":157,"range":{"start_line":157,"start_character":17,"end_line":157,"end_character":43},"in_reply_to":"2ca5500c_e4b0ff53","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":154,"context_line":" |       +----------------------------- -+       |           |"},{"line_number":155,"context_line":" |                       |                       |           |"},{"line_number":156,"context_line":" |       +-------------------------------------------+       |"},{"line_number":157,"context_line":" |       |       Enhanced L3 service plugin          |       |"},{"line_number":158,"context_line":" |       +-------------------------------------------+       |"},{"line_number":159,"context_line":" |                               |                           |"},{"line_number":160,"context_line":" +-------------------------------|---------------------------+"}],"source_content_type":"text/x-rst","patch_set":15,"id":"2ca5500c_e4b0ff53","line":157,"range":{"start_line":157,"start_character":17,"end_line":157,"end_character":43},"in_reply_to":"4d1cb0fd_b53f091e","updated":"2021-05-06 07:38:49.000000000","message":"ok sure, will update in the next patch set","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":187,"context_line":"the router-namespace and now bgpspeaker can peer with anybody through the"},{"line_number":188,"context_line":"router-interface-ip-address of router."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Networking midonet (see [4]_ ) has made a similar change to associate a BGP"},{"line_number":191,"context_line":"speaker to a router but is only specific to networking-midonet and is not"},{"line_number":192,"context_line":"included in neutron service layer. The change proposed here will incorporate"},{"line_number":193,"context_line":"the APIs in the neutron-dynamic-routing layer itself."},{"line_number":194,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"996cf891_e36daa75","line":191,"range":{"start_line":190,"start_character":57,"end_line":191,"end_character":19},"updated":"2021-04-28 15:06:06.000000000","message":"Syntactically yes, but I\u0027m not sure if the semantics of the midonet extension is the same as is proposed here.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":187,"context_line":"the router-namespace and now bgpspeaker can peer with anybody through the"},{"line_number":188,"context_line":"router-interface-ip-address of router."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Networking midonet (see [4]_ ) has made a similar change to associate a BGP"},{"line_number":191,"context_line":"speaker to a router but is only specific to networking-midonet and is not"},{"line_number":192,"context_line":"included in neutron service layer. The change proposed here will incorporate"},{"line_number":193,"context_line":"the APIs in the neutron-dynamic-routing layer itself."},{"line_number":194,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"d869f856_476f34e6","line":191,"range":{"start_line":190,"start_character":57,"end_line":191,"end_character":19},"in_reply_to":"996cf891_e36daa75","updated":"2021-05-18 06:42:24.000000000","message":"I will remove this paragraph related to Networking midonet since it is deprecated as well.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":198,"context_line":"instances will be run, one on active router namespace and other on the standby"},{"line_number":199,"context_line":"router namespace. Whenever the failover happens from Active to Standby"},{"line_number":200,"context_line":"Namespace, the BGPSpeaker on Standby will be able to peer with BGP-Peers and"},{"line_number":201,"context_line":"become an Active-BGP-Speaker managing the Router."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"The current implementation supports only Centralized Neutron Routers (both HA"},{"line_number":204,"context_line":"and non-HA) and not Distributed Routers"}],"source_content_type":"text/x-rst","patch_set":15,"id":"867210da_0f15d645","line":201,"updated":"2021-04-28 15:06:06.000000000","message":"It may be worth to include the following (if I\u0027m understanding it correctly)\"\n\n- the standby speaker has zero bgp peering sessions\n- at failover there\u0027s no state transfer from active to standby, but\n- the newly active speaker starts peering from scratch\n\nOn the API this is driven by the router\u0027s \u0027ha\u0027 attribute.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":198,"context_line":"instances will be run, one on active router namespace and other on the standby"},{"line_number":199,"context_line":"router namespace. Whenever the failover happens from Active to Standby"},{"line_number":200,"context_line":"Namespace, the BGPSpeaker on Standby will be able to peer with BGP-Peers and"},{"line_number":201,"context_line":"become an Active-BGP-Speaker managing the Router."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"The current implementation supports only Centralized Neutron Routers (both HA"},{"line_number":204,"context_line":"and non-HA) and not Distributed Routers"}],"source_content_type":"text/x-rst","patch_set":15,"id":"22243832_7c3e3b6b","line":201,"in_reply_to":"867210da_0f15d645","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":240,"context_line":"Use-case a)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"Associate neutron router to BGP Speaker API"},{"line_number":243,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":244,"context_line":"::"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"}],"source_content_type":"text/x-rst","patch_set":15,"id":"a614fd07_c9f941b9","line":243,"updated":"2021-04-28 15:06:06.000000000","message":"To be explicit: Is it allowed to associate multiple speakers to one router? Multiple routers to one speaker?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":240,"context_line":"Use-case a)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"Associate neutron router to BGP Speaker API"},{"line_number":243,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":244,"context_line":"::"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"}],"source_content_type":"text/x-rst","patch_set":15,"id":"fdab6269_cdbe05b6","line":243,"in_reply_to":"4ec238a0_bcaff42c","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":240,"context_line":"Use-case a)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"Associate neutron router to BGP Speaker API"},{"line_number":243,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":244,"context_line":"::"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4ec238a0_bcaff42c","line":243,"in_reply_to":"7fa85e8a_c5094155","updated":"2021-05-12 15:21:28.000000000","message":"Let\u0027s please include these answers in the spec.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":240,"context_line":"Use-case a)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"Associate neutron router to BGP Speaker API"},{"line_number":243,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":244,"context_line":"::"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7fa85e8a_c5094155","line":243,"in_reply_to":"a614fd07_c9f941b9","updated":"2021-05-06 07:38:49.000000000","message":"It is not planned to be supported as part of this spec. The current idea is to associate only one speaker with one router.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":243,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":244,"context_line":"::"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","}],"source_content_type":"text/x-rst","patch_set":15,"id":"8e516276_36299253","line":246,"range":{"start_line":246,"start_character":41,"end_line":246,"end_character":51},"updated":"2021-04-28 15:06:06.000000000","message":"This is mutually exclusive with associating a network, right?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":243,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":244,"context_line":"::"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","}],"source_content_type":"text/x-rst","patch_set":15,"id":"b42cb082_49dd001f","line":246,"range":{"start_line":246,"start_character":41,"end_line":246,"end_character":51},"in_reply_to":"37760775_36482eba","updated":"2021-05-12 15:21:28.000000000","message":"Here too.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":243,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":244,"context_line":"::"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","}],"source_content_type":"text/x-rst","patch_set":15,"id":"37760775_36482eba","line":246,"range":{"start_line":246,"start_character":41,"end_line":246,"end_character":51},"in_reply_to":"8e516276_36299253","updated":"2021-05-06 07:38:49.000000000","message":"yes","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":243,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":244,"context_line":"::"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","}],"source_content_type":"text/x-rst","patch_set":15,"id":"52559939_fb43411f","line":246,"range":{"start_line":246,"start_character":41,"end_line":246,"end_character":51},"in_reply_to":"b42cb082_49dd001f","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":250,"context_line":"       “address_scope”: [“myaddressscope1”, “myaddressscope2”]"},{"line_number":251,"context_line":"       “redistribute_static”:  True"},{"line_number":252,"context_line":" }"}],"source_content_type":"text/x-rst","patch_set":15,"id":"37cf7d49_63673319","line":249,"range":{"start_line":249,"start_character":7,"end_line":249,"end_character":8},"updated":"2021-04-28 15:06:06.000000000","message":"Please use as ascii.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":246,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_router"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":250,"context_line":"       “address_scope”: [“myaddressscope1”, “myaddressscope2”]"},{"line_number":251,"context_line":"       “redistribute_static”:  True"},{"line_number":252,"context_line":" }"}],"source_content_type":"text/x-rst","patch_set":15,"id":"00608606_aa40fe2c","line":249,"range":{"start_line":249,"start_character":7,"end_line":249,"end_character":8},"in_reply_to":"37cf7d49_63673319","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":250,"context_line":"       “address_scope”: [“myaddressscope1”, “myaddressscope2”]"},{"line_number":251,"context_line":"       “redistribute_static”:  True"},{"line_number":252,"context_line":" }"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dcd3406c_629e605c","line":251,"range":{"start_line":251,"start_character":8,"end_line":251,"end_character":27},"updated":"2021-04-28 15:06:06.000000000","message":"If I remember correctly my studies about dynamic routing, a sufficiently complex router usually has multiple options to control what exactly to redistribute. A structure like below could be more extensible:\n\n“redistribute”: {\"static\": True}","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":250,"context_line":"       “address_scope”: [“myaddressscope1”, “myaddressscope2”]"},{"line_number":251,"context_line":"       “redistribute_static”:  True"},{"line_number":252,"context_line":" }"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"}],"source_content_type":"text/x-rst","patch_set":15,"id":"b3c6cddd_75a23eca","line":251,"updated":"2021-04-28 15:06:06.000000000","message":"Please see my comment in line 57 about bgp speakers learning or not.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"62a33a4af78576141d0292f57400d0e1b568a628","unresolved":false,"context_lines":[{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":250,"context_line":"       “address_scope”: [“myaddressscope1”, “myaddressscope2”]"},{"line_number":251,"context_line":"       “redistribute_static”:  True"},{"line_number":252,"context_line":" }"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"}],"source_content_type":"text/x-rst","patch_set":15,"id":"31866293_01169c47","line":251,"in_reply_to":"09370110_6edada29","updated":"2021-06-04 11:42:27.000000000","message":"I see I commented on the wrong line, sorry.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"62a33a4af78576141d0292f57400d0e1b568a628","unresolved":false,"context_lines":[{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":250,"context_line":"       “address_scope”: [“myaddressscope1”, “myaddressscope2”]"},{"line_number":251,"context_line":"       “redistribute_static”:  True"},{"line_number":252,"context_line":" }"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"}],"source_content_type":"text/x-rst","patch_set":15,"id":"8478ec76_2346afeb","line":251,"range":{"start_line":251,"start_character":8,"end_line":251,"end_character":27},"in_reply_to":"302b2b5e_1a49d818","updated":"2021-06-04 11:42:27.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":true,"context_lines":[{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":250,"context_line":"       “address_scope”: [“myaddressscope1”, “myaddressscope2”]"},{"line_number":251,"context_line":"       “redistribute_static”:  True"},{"line_number":252,"context_line":" }"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"}],"source_content_type":"text/x-rst","patch_set":15,"id":"c72760f0_a0cad8eb","line":251,"in_reply_to":"b3c6cddd_75a23eca","updated":"2021-05-25 12:41:45.000000000","message":"I\u0027d say the \"redistribute\": {\"static\": True} format has a slight chance to be more future-proof, so why not use that.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"338629c5d2e468df0abf0d262000741cf178e946","unresolved":false,"context_lines":[{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":250,"context_line":"       “address_scope”: [“myaddressscope1”, “myaddressscope2”]"},{"line_number":251,"context_line":"       “redistribute_static”:  True"},{"line_number":252,"context_line":" }"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"}],"source_content_type":"text/x-rst","patch_set":15,"id":"09370110_6edada29","line":251,"in_reply_to":"c72760f0_a0cad8eb","updated":"2021-05-27 06:45:56.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":true,"context_lines":[{"line_number":248,"context_line":" {"},{"line_number":249,"context_line":"       “router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":250,"context_line":"       “address_scope”: [“myaddressscope1”, “myaddressscope2”]"},{"line_number":251,"context_line":"       “redistribute_static”:  True"},{"line_number":252,"context_line":" }"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"}],"source_content_type":"text/x-rst","patch_set":15,"id":"302b2b5e_1a49d818","line":251,"range":{"start_line":251,"start_character":8,"end_line":251,"end_character":27},"in_reply_to":"dcd3406c_629e605c","updated":"2021-05-18 06:42:24.000000000","message":"Yes but most of the other options might not be relevant to our use cases. The ones which we are interested would be connected and static(from the routers). Since the connected routes advertisement are default(and based on address scopes), only static was pendingto be added. Probably for a better design, we can add “redistribute”: {\"static\": True}\" as as you suggested. Please let me know.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":255,"context_line":"  to be associated."},{"line_number":256,"context_line":"* ``address_scope`` specifies which addresses will be advertised. Address"},{"line_number":257,"context_line":"  scope is optional and more than one address scope is allowed. Default is"},{"line_number":258,"context_line":"  ´all´ which means all the networks available in the router (including static"},{"line_number":259,"context_line":"  routes) will be advertised towards the peer. However, if we give a list of"},{"line_number":260,"context_line":"  address scopes, then only those address scopes will be considered."},{"line_number":261,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7ef0629b_642eb7a7","line":258,"range":{"start_line":258,"start_character":20,"end_line":258,"end_character":60},"updated":"2021-04-28 15:06:06.000000000","message":"all networks available in the router and being in an address scope","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":255,"context_line":"  to be associated."},{"line_number":256,"context_line":"* ``address_scope`` specifies which addresses will be advertised. Address"},{"line_number":257,"context_line":"  scope is optional and more than one address scope is allowed. Default is"},{"line_number":258,"context_line":"  ´all´ which means all the networks available in the router (including static"},{"line_number":259,"context_line":"  routes) will be advertised towards the peer. However, if we give a list of"},{"line_number":260,"context_line":"  address scopes, then only those address scopes will be considered."},{"line_number":261,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"}],"source_content_type":"text/x-rst","patch_set":15,"id":"cbd82689_4364e1c3","line":258,"range":{"start_line":258,"start_character":20,"end_line":258,"end_character":60},"in_reply_to":"7ef0629b_642eb7a7","updated":"2021-05-06 07:38:49.000000000","message":"ok. will update in the next patch","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":255,"context_line":"  to be associated."},{"line_number":256,"context_line":"* ``address_scope`` specifies which addresses will be advertised. Address"},{"line_number":257,"context_line":"  scope is optional and more than one address scope is allowed. Default is"},{"line_number":258,"context_line":"  ´all´ which means all the networks available in the router (including static"},{"line_number":259,"context_line":"  routes) will be advertised towards the peer. However, if we give a list of"},{"line_number":260,"context_line":"  address scopes, then only those address scopes will be considered."},{"line_number":261,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"}],"source_content_type":"text/x-rst","patch_set":15,"id":"fe6bd62e_1274ac8a","line":258,"range":{"start_line":258,"start_character":20,"end_line":258,"end_character":60},"in_reply_to":"cbd82689_4364e1c3","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":257,"context_line":"  scope is optional and more than one address scope is allowed. Default is"},{"line_number":258,"context_line":"  ´all´ which means all the networks available in the router (including static"},{"line_number":259,"context_line":"  routes) will be advertised towards the peer. However, if we give a list of"},{"line_number":260,"context_line":"  address scopes, then only those address scopes will be considered."},{"line_number":261,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"},{"line_number":262,"context_line":"  redistributed to bgp-peers by the bgpspeaker. By default, it will be"},{"line_number":263,"context_line":"  redistributed to bgp-peers by the bgpspeaker.  Turning OFF"}],"source_content_type":"text/x-rst","patch_set":15,"id":"772807cb_e8c30c37","line":260,"updated":"2021-04-28 15:06:06.000000000","message":"It may be worth mentioning that address-scope-less subnets are intentionally never advertised.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":257,"context_line":"  scope is optional and more than one address scope is allowed. Default is"},{"line_number":258,"context_line":"  ´all´ which means all the networks available in the router (including static"},{"line_number":259,"context_line":"  routes) will be advertised towards the peer. However, if we give a list of"},{"line_number":260,"context_line":"  address scopes, then only those address scopes will be considered."},{"line_number":261,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"},{"line_number":262,"context_line":"  redistributed to bgp-peers by the bgpspeaker. By default, it will be"},{"line_number":263,"context_line":"  redistributed to bgp-peers by the bgpspeaker.  Turning OFF"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dc128e82_636b0206","line":260,"in_reply_to":"772807cb_e8c30c37","updated":"2021-05-06 07:38:49.000000000","message":"ok. will update in the next patch","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":257,"context_line":"  scope is optional and more than one address scope is allowed. Default is"},{"line_number":258,"context_line":"  ´all´ which means all the networks available in the router (including static"},{"line_number":259,"context_line":"  routes) will be advertised towards the peer. However, if we give a list of"},{"line_number":260,"context_line":"  address scopes, then only those address scopes will be considered."},{"line_number":261,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"},{"line_number":262,"context_line":"  redistributed to bgp-peers by the bgpspeaker. By default, it will be"},{"line_number":263,"context_line":"  redistributed to bgp-peers by the bgpspeaker.  Turning OFF"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9048069c_4640da53","line":260,"in_reply_to":"dc128e82_636b0206","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":258,"context_line":"  ´all´ which means all the networks available in the router (including static"},{"line_number":259,"context_line":"  routes) will be advertised towards the peer. However, if we give a list of"},{"line_number":260,"context_line":"  address scopes, then only those address scopes will be considered."},{"line_number":261,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"},{"line_number":262,"context_line":"  redistributed to bgp-peers by the bgpspeaker. By default, it will be"},{"line_number":263,"context_line":"  redistributed to bgp-peers by the bgpspeaker.  Turning OFF"},{"line_number":264,"context_line":"  redistribute-static will disable advertisement of router’s static-routes by"}],"source_content_type":"text/x-rst","patch_set":15,"id":"13a9b920_46816d12","line":261,"range":{"start_line":261,"start_character":17,"end_line":261,"end_character":23},"updated":"2021-04-28 15:06:06.000000000","message":"What subset of the below routes are controlled by this option?\n\n* routes added implicitly by router interfaces\n* routes added implicitly by gateway ports\n* extraroutes","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":258,"context_line":"  ´all´ which means all the networks available in the router (including static"},{"line_number":259,"context_line":"  routes) will be advertised towards the peer. However, if we give a list of"},{"line_number":260,"context_line":"  address scopes, then only those address scopes will be considered."},{"line_number":261,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"},{"line_number":262,"context_line":"  redistributed to bgp-peers by the bgpspeaker. By default, it will be"},{"line_number":263,"context_line":"  redistributed to bgp-peers by the bgpspeaker.  Turning OFF"},{"line_number":264,"context_line":"  redistribute-static will disable advertisement of router’s static-routes by"}],"source_content_type":"text/x-rst","patch_set":15,"id":"113117c5_f95817ea","line":261,"range":{"start_line":261,"start_character":17,"end_line":261,"end_character":23},"in_reply_to":"13a9b920_46816d12","updated":"2021-05-18 06:42:24.000000000","message":"Static mainly include extraroutes. Others are connected routes and advertised based on eligibility","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"New neutron Client Command::"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":" openstack bgp speaker set router"},{"line_number":270,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":271,"context_line":"               [--no-redistribute-static]"},{"line_number":272,"context_line":"               \u003cbgpspeaker\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"d1c0c465_b9a92ad8","line":269,"range":{"start_line":269,"start_character":23,"end_line":269,"end_character":26},"updated":"2021-04-28 15:06:06.000000000","message":"While I personally find it hard to remember, I believe the usual pattern in this position is add/remove.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"New neutron Client Command::"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":" openstack bgp speaker set router"},{"line_number":270,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":271,"context_line":"               [--no-redistribute-static]"},{"line_number":272,"context_line":"               \u003cbgpspeaker\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9b485ca9_b2baf768","line":269,"range":{"start_line":269,"start_character":23,"end_line":269,"end_character":26},"in_reply_to":"d1c0c465_b9a92ad8","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":267,"context_line":"New neutron Client Command::"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":" openstack bgp speaker set router"},{"line_number":270,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":271,"context_line":"               [--no-redistribute-static]"},{"line_number":272,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":273,"context_line":"               \u003crouter\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4c1f6b00_cae7fd64","line":270,"range":{"start_line":270,"start_character":33,"end_line":270,"end_character":48},"updated":"2021-04-28 15:06:06.000000000","message":"The description says this is a list. We also need syntax to set it to the empty list.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":267,"context_line":"New neutron Client Command::"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":" openstack bgp speaker set router"},{"line_number":270,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":271,"context_line":"               [--no-redistribute-static]"},{"line_number":272,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":273,"context_line":"               \u003crouter\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"51b346b9_20d98b7c","line":270,"range":{"start_line":270,"start_character":33,"end_line":270,"end_character":48},"in_reply_to":"4c1f6b00_cae7fd64","updated":"2021-05-06 07:38:49.000000000","message":"ok. hope adding --no-address-scope will resolve this?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":267,"context_line":"New neutron Client Command::"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":" openstack bgp speaker set router"},{"line_number":270,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":271,"context_line":"               [--no-redistribute-static]"},{"line_number":272,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":273,"context_line":"               \u003crouter\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"642fc2ca_a58eeb99","line":270,"range":{"start_line":270,"start_character":33,"end_line":270,"end_character":48},"in_reply_to":"51b346b9_20d98b7c","updated":"2021-05-12 15:21:28.000000000","message":"Sounds good.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":267,"context_line":"New neutron Client Command::"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":" openstack bgp speaker set router"},{"line_number":270,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":271,"context_line":"               [--no-redistribute-static]"},{"line_number":272,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":273,"context_line":"               \u003crouter\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"c887e6a0_6a7c711b","line":270,"range":{"start_line":270,"start_character":33,"end_line":270,"end_character":48},"in_reply_to":"642fc2ca_a58eeb99","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":268,"context_line":""},{"line_number":269,"context_line":" openstack bgp speaker set router"},{"line_number":270,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":271,"context_line":"               [--no-redistribute-static]"},{"line_number":272,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":273,"context_line":"               \u003crouter\u003e"},{"line_number":274,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7fa5a674_cfdc9ab0","line":271,"range":{"start_line":271,"start_character":15,"end_line":271,"end_character":41},"updated":"2021-04-28 15:06:06.000000000","message":"These kind of switches usually come in pairs.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":268,"context_line":""},{"line_number":269,"context_line":" openstack bgp speaker set router"},{"line_number":270,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":271,"context_line":"               [--no-redistribute-static]"},{"line_number":272,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":273,"context_line":"               \u003crouter\u003e"},{"line_number":274,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"68c470bf_c0483256","line":271,"range":{"start_line":271,"start_character":15,"end_line":271,"end_character":41},"in_reply_to":"2fc00b34_92fa9e11","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":268,"context_line":""},{"line_number":269,"context_line":" openstack bgp speaker set router"},{"line_number":270,"context_line":"               [--address-scope  \u003caddress-scope\u003e]"},{"line_number":271,"context_line":"               [--no-redistribute-static]"},{"line_number":272,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":273,"context_line":"               \u003crouter\u003e"},{"line_number":274,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"2fc00b34_92fa9e11","line":271,"range":{"start_line":271,"start_character":15,"end_line":271,"end_character":41},"in_reply_to":"7fa5a674_cfdc9ab0","updated":"2021-05-06 07:38:49.000000000","message":"ok will add it in the next patch","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":314,"context_line":""},{"line_number":315,"context_line":"* ``nexthop`` is the ip address of the nexthop"},{"line_number":316,"context_line":"* ``cidr`` represents the CIDR prefix."},{"line_number":317,"context_line":"* ``route-type`` can be local or peer based on whether the routes are local or"},{"line_number":318,"context_line":"  learnt from the peer respectively."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"New Neutron Client Command::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dce1f62c_7c3aefcd","line":317,"range":{"start_line":317,"start_character":70,"end_line":317,"end_character":75},"updated":"2021-04-28 15:06:06.000000000","message":"\u0027local\u0027 includes which of the following routes?\n\n* routes added implicitly by router interfaces\n* routes added implicitly by gateway ports\n* extraroutes\n\nIs the information source the neutron DB or the routing table?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":314,"context_line":""},{"line_number":315,"context_line":"* ``nexthop`` is the ip address of the nexthop"},{"line_number":316,"context_line":"* ``cidr`` represents the CIDR prefix."},{"line_number":317,"context_line":"* ``route-type`` can be local or peer based on whether the routes are local or"},{"line_number":318,"context_line":"  learnt from the peer respectively."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"New Neutron Client Command::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"e5eee72a_8dbf7855","line":317,"range":{"start_line":317,"start_character":70,"end_line":317,"end_character":75},"in_reply_to":"dce1f62c_7c3aefcd","updated":"2021-05-18 06:42:24.000000000","message":"Current plan is to take all the routes from osken itself((https://ryu.readthedocs.io/en/latest/library_bgp_speaker_ref.html#ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.rib_get))\n\nAll the routes learned from the neighbors will be classified as peer and the rest of the routes as local. This can be refined later based on the requirements. Hope this is fine.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":339,"context_line":" }"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"* ``remote_asn`` represents the remote AS number of a BGP peer group"},{"line_number":342,"context_line":"* ``next_hop_self`` decides whether to modify the nexthop attribute to its own"},{"line_number":343,"context_line":"  during BGP advertisement."},{"line_number":344,"context_line":"* ``update_source_ip`` forces BGP to use the IP address specified while"},{"line_number":345,"context_line":"  talking to a BGP neighbor."},{"line_number":346,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"4d84209b_22a60d42","line":343,"range":{"start_line":342,"start_character":2,"end_line":343,"end_character":27},"updated":"2021-04-28 15:06:06.000000000","message":"What will be the advertised nexthop with and without \u0027next_hop_self\u0027?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":339,"context_line":" }"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"* ``remote_asn`` represents the remote AS number of a BGP peer group"},{"line_number":342,"context_line":"* ``next_hop_self`` decides whether to modify the nexthop attribute to its own"},{"line_number":343,"context_line":"  during BGP advertisement."},{"line_number":344,"context_line":"* ``update_source_ip`` forces BGP to use the IP address specified while"},{"line_number":345,"context_line":"  talking to a BGP neighbor."},{"line_number":346,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"9b6ba96c_c56fe4ec","line":343,"range":{"start_line":342,"start_character":2,"end_line":343,"end_character":27},"in_reply_to":"4d84209b_22a60d42","updated":"2021-05-18 06:42:24.000000000","message":"The \u0027next_hop_self\u0027 parameters are mainly used in certain situations (for eg : https://www.theroutingtable.com/when-to-use-bgp-next-hop-self/). Also it is supported by osken, so we probably can pass this directly to it during neighbor creation.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":341,"context_line":"* ``remote_asn`` represents the remote AS number of a BGP peer group"},{"line_number":342,"context_line":"* ``next_hop_self`` decides whether to modify the nexthop attribute to its own"},{"line_number":343,"context_line":"  during BGP advertisement."},{"line_number":344,"context_line":"* ``update_source_ip`` forces BGP to use the IP address specified while"},{"line_number":345,"context_line":"  talking to a BGP neighbor."},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"New neutron Client Commands::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"729f195f_9b187018","line":344,"range":{"start_line":344,"start_character":4,"end_line":344,"end_character":20},"updated":"2021-04-28 15:06:06.000000000","message":"Is it a good idea to allocate additional addresses without creating proper router ports for them? Why do we need a secondary address for peering when we already have control of all addresses of a router?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"338629c5d2e468df0abf0d262000741cf178e946","unresolved":false,"context_lines":[{"line_number":341,"context_line":"* ``remote_asn`` represents the remote AS number of a BGP peer group"},{"line_number":342,"context_line":"* ``next_hop_self`` decides whether to modify the nexthop attribute to its own"},{"line_number":343,"context_line":"  during BGP advertisement."},{"line_number":344,"context_line":"* ``update_source_ip`` forces BGP to use the IP address specified while"},{"line_number":345,"context_line":"  talking to a BGP neighbor."},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"New neutron Client Commands::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"37aeec52_afd7bbc0","line":344,"range":{"start_line":344,"start_character":4,"end_line":344,"end_character":20},"in_reply_to":"418af153_e248d7da","updated":"2021-05-27 06:45:56.000000000","message":"Yes","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":341,"context_line":"* ``remote_asn`` represents the remote AS number of a BGP peer group"},{"line_number":342,"context_line":"* ``next_hop_self`` decides whether to modify the nexthop attribute to its own"},{"line_number":343,"context_line":"  during BGP advertisement."},{"line_number":344,"context_line":"* ``update_source_ip`` forces BGP to use the IP address specified while"},{"line_number":345,"context_line":"  talking to a BGP neighbor."},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"New neutron Client Commands::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"88d33dcf_8ad05130","line":344,"range":{"start_line":344,"start_character":4,"end_line":344,"end_character":20},"in_reply_to":"729f195f_9b187018","updated":"2021-05-18 06:42:24.000000000","message":"Same as above","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":false,"context_lines":[{"line_number":341,"context_line":"* ``remote_asn`` represents the remote AS number of a BGP peer group"},{"line_number":342,"context_line":"* ``next_hop_self`` decides whether to modify the nexthop attribute to its own"},{"line_number":343,"context_line":"  during BGP advertisement."},{"line_number":344,"context_line":"* ``update_source_ip`` forces BGP to use the IP address specified while"},{"line_number":345,"context_line":"  talking to a BGP neighbor."},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"New neutron Client Commands::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"418af153_e248d7da","line":344,"range":{"start_line":344,"start_character":4,"end_line":344,"end_character":20},"in_reply_to":"88d33dcf_8ad05130","updated":"2021-05-25 12:41:45.000000000","message":"So I guess this is analog of Cisco\u0027s neighbor update-source","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":347,"context_line":"New neutron Client Commands::"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":" openstack bgp peer group create"},{"line_number":350,"context_line":"               [–next-hop-self \u003cTrue|False\u003e]"},{"line_number":351,"context_line":"               [–update_source-ip \u003cip-address\u003e]"},{"line_number":352,"context_line":"               –remote-asn \u003casn-number\u003e"},{"line_number":353,"context_line":"               \u003cbgp-peer-group-name\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"87b83e35_4fe67def","line":350,"range":{"start_line":350,"start_character":0,"end_line":350,"end_character":44},"updated":"2021-04-28 15:06:06.000000000","message":"I believe the usual format for this is --next-hop-self and --no-next-hop-self","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":347,"context_line":"New neutron Client Commands::"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":" openstack bgp peer group create"},{"line_number":350,"context_line":"               [–next-hop-self \u003cTrue|False\u003e]"},{"line_number":351,"context_line":"               [–update_source-ip \u003cip-address\u003e]"},{"line_number":352,"context_line":"               –remote-asn \u003casn-number\u003e"},{"line_number":353,"context_line":"               \u003cbgp-peer-group-name\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"83976b16_fe84f15f","line":350,"range":{"start_line":350,"start_character":0,"end_line":350,"end_character":44},"in_reply_to":"444eef2c_939942d3","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":347,"context_line":"New neutron Client Commands::"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":" openstack bgp peer group create"},{"line_number":350,"context_line":"               [–next-hop-self \u003cTrue|False\u003e]"},{"line_number":351,"context_line":"               [–update_source-ip \u003cip-address\u003e]"},{"line_number":352,"context_line":"               –remote-asn \u003casn-number\u003e"},{"line_number":353,"context_line":"               \u003cbgp-peer-group-name\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"444eef2c_939942d3","line":350,"range":{"start_line":350,"start_character":0,"end_line":350,"end_character":44},"in_reply_to":"87b83e35_4fe67def","updated":"2021-05-06 07:38:49.000000000","message":"will update it in next patch","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":361,"context_line":""},{"line_number":362,"context_line":"New Neutron Client Commands::"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":" openstack bgp peer group delete \u003cbgp-peer-group-id\u003e"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"Create a bgp-peer using a pre-created peer-group API"},{"line_number":367,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":15,"id":"657691f5_7552b5ec","line":364,"updated":"2021-04-28 15:06:06.000000000","message":"Can we delete a peer group when there are peers belonging to it? Probably we should allow that, otherwise we may have a race between deleting the peer group and peering connections creating new peers.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":361,"context_line":""},{"line_number":362,"context_line":"New Neutron Client Commands::"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":" openstack bgp peer group delete \u003cbgp-peer-group-id\u003e"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"Create a bgp-peer using a pre-created peer-group API"},{"line_number":367,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":15,"id":"e96c02dd_83600eba","line":364,"in_reply_to":"46de221a_33a47ddc","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":361,"context_line":""},{"line_number":362,"context_line":"New Neutron Client Commands::"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":" openstack bgp peer group delete \u003cbgp-peer-group-id\u003e"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"Create a bgp-peer using a pre-created peer-group API"},{"line_number":367,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":15,"id":"46de221a_33a47ddc","line":364,"in_reply_to":"657691f5_7552b5ec","updated":"2021-05-06 07:38:49.000000000","message":"I think we should not allow peer groups to be deleted when there are peers belonging to it.\nIf we allow then it might get more complicated. We might need to track and delete all the peers wherever peer_group_id is referenced.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":370,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":371,"context_line":" {"},{"line_number":372,"context_line":"    \"bgp_peer\":{"},{"line_number":373,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":374,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":375,"context_line":"       “listen_range”: “10.2.1.0/24”"},{"line_number":376,"context_line":"       “listen_limit”: 10"}],"source_content_type":"text/x-rst","patch_set":15,"id":"8d0935b9_c6065e4c","line":373,"range":{"start_line":373,"start_character":8,"end_line":373,"end_character":21},"updated":"2021-04-28 15:06:06.000000000","message":"Continuing the thought from line 364: In the POST request we have the peer_group_id, however we probably don\u0027t want to have a peer_group_id attribute for the peer object, so we can delete the peer group without creating dangling references.\n\nOr even: why do we even need an API to create peers from peer groups? We already have a way to create peers, and the peer group feature would create the peers based on peer groups implicitly, not via the API.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":true,"context_lines":[{"line_number":370,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":371,"context_line":" {"},{"line_number":372,"context_line":"    \"bgp_peer\":{"},{"line_number":373,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":374,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":375,"context_line":"       “listen_range”: “10.2.1.0/24”"},{"line_number":376,"context_line":"       “listen_limit”: 10"}],"source_content_type":"text/x-rst","patch_set":15,"id":"4b667213_c7a7d3b4","line":373,"range":{"start_line":373,"start_character":8,"end_line":373,"end_character":21},"in_reply_to":"1945392b_e5da1d3d","updated":"2021-05-25 12:41:45.000000000","message":"Having the option for a peer group to be active/inactive (taking connections or not) is another way to handle the problem. I\u0027m not sure how the solution can be purely solved inside os-ken (but please see option B below). I see the following workflow options to delete a peer group:\n\noption A: peers created in peer groups have the group as a parent object, dangling references are not allowed)\nstep 1) inactivate the peer group (for example a peer group update setting active\u003dFalse)\nstep 2) list all peers belonging to it\nstep 3) delete them\nstep 4) delete the peer group itself\n\noption B: peers created in peer groups have the group as a parent object, the deletion of a peer group automatically deletes all of the peers belonging to it)\nstep 1) delete the peer group\nIn this case the inactivation of the the peer group probably can be handled implicitly and pushed down to os-ken to handle it. However this means that the active/inactive property of a peer group cannot be observed on the API. And it also leads to  cascaded API operation which very easily leads to the trigger operation taking a long time and overrunning client side timeouts. Also cascading API operations are unusual in the Neutron API.\n\noption C: peer groups are used as templates, peers created from peer groups do not have any reference to the group used in creation)\nThis is problematic because we have no direct information to delete all peers \"belonging\"/created from a peer group.\n\noption D: peer groups are used as templates, peers created from peer groups have no parent object, but they have a history-like reference to the group they were created from, in this field we allow that the referenced peer group does not exist anymore)\nstep 1) delete the peer group\nstep 2) list all peers referencing the peer group just deleted\nstep 3) delete them\n\nI see options A and D as correct solutions - B and C seem to be problematic. To me D seems conceptually simpler, but this is just a question of taste, I can easily accept option A too.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"62a33a4af78576141d0292f57400d0e1b568a628","unresolved":true,"context_lines":[{"line_number":370,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":371,"context_line":" {"},{"line_number":372,"context_line":"    \"bgp_peer\":{"},{"line_number":373,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":374,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":375,"context_line":"       “listen_range”: “10.2.1.0/24”"},{"line_number":376,"context_line":"       “listen_limit”: 10"}],"source_content_type":"text/x-rst","patch_set":15,"id":"c0b8f496_0d16e8d3","line":373,"range":{"start_line":373,"start_character":8,"end_line":373,"end_character":21},"in_reply_to":"2e1bff2b_6d7a1e98","updated":"2021-06-04 11:42:27.000000000","message":"If you prefer option A, then let\u0027s add the \u0027enable\u0027 attribute to the peer group API.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":370,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":371,"context_line":" {"},{"line_number":372,"context_line":"    \"bgp_peer\":{"},{"line_number":373,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":374,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":375,"context_line":"       “listen_range”: “10.2.1.0/24”"},{"line_number":376,"context_line":"       “listen_limit”: 10"}],"source_content_type":"text/x-rst","patch_set":15,"id":"c56f517f_8170f636","line":373,"range":{"start_line":373,"start_character":8,"end_line":373,"end_character":21},"in_reply_to":"3dd81372_375744ac","updated":"2021-05-12 15:21:28.000000000","message":"This is an answer to both lines 364 and 373.\n\nFor the 2nd use case I believe we already have good tools via using HOT templates. So I don\u0027t think we need to solve this in neutron.\n\nWhat made me think here is the following problem: If we allow automatic creation of peers belonging to a peer group, then how do we delete peer groups? We may end up racing with peer creation.\n\nOne idea I had to avoid this problem is to treat the peer group not as a parent object, but as a template: At the time of peer creation its attributes get copied to the peer, but after creation the peer no longer has the group as its parent. If the group is only a template, then there\u0027s no dangling reference problem. On the other hand it\u0027s harder/impossible to find out which peers got auto-created (unless we do something about that).\n\nPlease also think about group updates: If I update an attribute of a group, does that automatically update the same attribute of all the peers belonging to the group? I believe it\u0027s better not to allow this \"cascading\" update.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"338629c5d2e468df0abf0d262000741cf178e946","unresolved":true,"context_lines":[{"line_number":370,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":371,"context_line":" {"},{"line_number":372,"context_line":"    \"bgp_peer\":{"},{"line_number":373,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":374,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":375,"context_line":"       “listen_range”: “10.2.1.0/24”"},{"line_number":376,"context_line":"       “listen_limit”: 10"}],"source_content_type":"text/x-rst","patch_set":15,"id":"2e1bff2b_6d7a1e98","line":373,"range":{"start_line":373,"start_character":8,"end_line":373,"end_character":21},"in_reply_to":"4b667213_c7a7d3b4","updated":"2021-05-27 06:45:56.000000000","message":"Thanks for the different options.\n\nYes, I also find options A and D as better solutions. For option A, probably we can add a new field \u0027enable\u0027 in bgp-peer-group object. But I\u0027m not clear with the option D, especially how to store the template and represent the history-like reference.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":370,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":371,"context_line":" {"},{"line_number":372,"context_line":"    \"bgp_peer\":{"},{"line_number":373,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":374,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":375,"context_line":"       “listen_range”: “10.2.1.0/24”"},{"line_number":376,"context_line":"       “listen_limit”: 10"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3dd81372_375744ac","line":373,"range":{"start_line":373,"start_character":8,"end_line":373,"end_character":21},"in_reply_to":"8d0935b9_c6065e4c","updated":"2021-05-06 07:38:49.000000000","message":"There are 2 uses to the peer groups.\n\n1. Automatic peering using listen_range and listen_limit\n2. It is also used as a way to group common parameters like remote_asn, next_hop_self,update_source_ip,bfd etc. In this case peer_group_id helps to reduce the repeated configurations. The peer_group_id represents all the common parameters that can be used across multiple peers","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":true,"context_lines":[{"line_number":370,"context_line":" POST /v2.0/bgp-peers/"},{"line_number":371,"context_line":" {"},{"line_number":372,"context_line":"    \"bgp_peer\":{"},{"line_number":373,"context_line":"       “peer_group_id\":\" a930d7f6-ceb7-40a0-8b81-a425dd994ccf \","},{"line_number":374,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":375,"context_line":"       “listen_range”: “10.2.1.0/24”"},{"line_number":376,"context_line":"       “listen_limit”: 10"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1945392b_e5da1d3d","line":373,"range":{"start_line":373,"start_character":8,"end_line":373,"end_character":21},"in_reply_to":"c56f517f_8170f636","updated":"2021-05-18 06:42:24.000000000","message":"Thanks for the points. I just found that the basic implementation of bgp peer group using osken itself might be challenging since there is no direct support for it.\n\nAnother solution which might solve this as well as the issues which you have mentioned, is probably to solve it at osken layer iself than neutron layer. Osken would have better control over the race condition problem issue[probably can disconnect all the tcp sessions within the listen range]. Please let me know if this is fine.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":380,"context_line":" }"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"* ``peer_group_id`` represents the UUID of the BGP peer group"},{"line_number":383,"context_line":"* ``listen_range`` defines a prefix range to be associated with the peer group."},{"line_number":384,"context_line":"* ``listen_limit`` defines the maximum number of BGP dynamic neighbors that can"},{"line_number":385,"context_line":"  be created"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"8cbc2bf8_1f22c9bd","line":383,"range":{"start_line":383,"start_character":0,"end_line":383,"end_character":41},"updated":"2021-04-28 15:06:06.000000000","message":"What is the meaning of this prefix range?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":380,"context_line":" }"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"* ``peer_group_id`` represents the UUID of the BGP peer group"},{"line_number":383,"context_line":"* ``listen_range`` defines a prefix range to be associated with the peer group."},{"line_number":384,"context_line":"* ``listen_limit`` defines the maximum number of BGP dynamic neighbors that can"},{"line_number":385,"context_line":"  be created"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"2f03d0e0_f7660bef","line":383,"range":{"start_line":383,"start_character":0,"end_line":383,"end_character":41},"in_reply_to":"1273ec2d_9e0dd823","updated":"2021-05-18 06:42:24.000000000","message":"This is the remote address range from which we accept the BGP peering connections.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":380,"context_line":" }"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"* ``peer_group_id`` represents the UUID of the BGP peer group"},{"line_number":383,"context_line":"* ``listen_range`` defines a prefix range to be associated with the peer group."},{"line_number":384,"context_line":"* ``listen_limit`` defines the maximum number of BGP dynamic neighbors that can"},{"line_number":385,"context_line":"  be created"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"e1fefd6e_841d57cd","line":383,"range":{"start_line":383,"start_character":0,"end_line":383,"end_character":41},"in_reply_to":"8cbc2bf8_1f22c9bd","updated":"2021-05-06 07:38:49.000000000","message":"it defines the range of IP addresses which can be associated to a peer group. Hope this answers","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":380,"context_line":" }"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"* ``peer_group_id`` represents the UUID of the BGP peer group"},{"line_number":383,"context_line":"* ``listen_range`` defines a prefix range to be associated with the peer group."},{"line_number":384,"context_line":"* ``listen_limit`` defines the maximum number of BGP dynamic neighbors that can"},{"line_number":385,"context_line":"  be created"},{"line_number":386,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1273ec2d_9e0dd823","line":383,"range":{"start_line":383,"start_character":0,"end_line":383,"end_character":41},"in_reply_to":"e1fefd6e_841d57cd","updated":"2021-05-12 15:21:28.000000000","message":"What I wanted to ask is this: Is this the remote address range from which we accept bgp peering connections, or is this something local? If the latter what do we use this for?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":381,"context_line":""},{"line_number":382,"context_line":"* ``peer_group_id`` represents the UUID of the BGP peer group"},{"line_number":383,"context_line":"* ``listen_range`` defines a prefix range to be associated with the peer group."},{"line_number":384,"context_line":"* ``listen_limit`` defines the maximum number of BGP dynamic neighbors that can"},{"line_number":385,"context_line":"  be created"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"Changed Neutron Client Commands ((see [7]_)::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"66f3cb68_2a3f553f","line":384,"range":{"start_line":384,"start_character":31,"end_line":384,"end_character":70},"updated":"2021-04-28 15:06:06.000000000","message":"Why is this called \u0027listen_limit\u0027?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":381,"context_line":""},{"line_number":382,"context_line":"* ``peer_group_id`` represents the UUID of the BGP peer group"},{"line_number":383,"context_line":"* ``listen_range`` defines a prefix range to be associated with the peer group."},{"line_number":384,"context_line":"* ``listen_limit`` defines the maximum number of BGP dynamic neighbors that can"},{"line_number":385,"context_line":"  be created"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"Changed Neutron Client Commands ((see [7]_)::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"be413467_cfa4d126","line":384,"range":{"start_line":384,"start_character":31,"end_line":384,"end_character":70},"in_reply_to":"3b79ae5c_3925573f","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":true,"context_lines":[{"line_number":381,"context_line":""},{"line_number":382,"context_line":"* ``peer_group_id`` represents the UUID of the BGP peer group"},{"line_number":383,"context_line":"* ``listen_range`` defines a prefix range to be associated with the peer group."},{"line_number":384,"context_line":"* ``listen_limit`` defines the maximum number of BGP dynamic neighbors that can"},{"line_number":385,"context_line":"  be created"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"Changed Neutron Client Commands ((see [7]_)::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3b79ae5c_3925573f","line":384,"range":{"start_line":384,"start_character":31,"end_line":384,"end_character":70},"in_reply_to":"66f3cb68_2a3f553f","updated":"2021-05-06 07:38:49.000000000","message":"\"bgp listen limit \u003cmax-number\u003e\" is the usual command in routers which determines the maximum number of peer-connections that is accepted for a particular listen_range.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":389,"context_line":" openstack bgp peer create"},{"line_number":390,"context_line":"               [--listen-range \u003clisten-network-range\u003e]"},{"line_number":391,"context_line":"               [--listen-limit \u003cnumber\u003e]"},{"line_number":392,"context_line":"               [–auth-type \u003cauth-type\u003e]"},{"line_number":393,"context_line":"               [–password \u003cpassword\u003e]"},{"line_number":394,"context_line":"               [–peer-group \u003cpeer-group-id\u003e]"},{"line_number":395,"context_line":"               \u003cbgp-peer\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"92ef5b76_4919625e","line":392,"range":{"start_line":392,"start_character":16,"end_line":392,"end_character":17},"updated":"2021-04-28 15:06:06.000000000","message":"Please use ascii in the whole document.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"a46149e87bf0fda46bbbafe324df7f67e6ff09dc","unresolved":false,"context_lines":[{"line_number":389,"context_line":" openstack bgp peer create"},{"line_number":390,"context_line":"               [--listen-range \u003clisten-network-range\u003e]"},{"line_number":391,"context_line":"               [--listen-limit \u003cnumber\u003e]"},{"line_number":392,"context_line":"               [–auth-type \u003cauth-type\u003e]"},{"line_number":393,"context_line":"               [–password \u003cpassword\u003e]"},{"line_number":394,"context_line":"               [–peer-group \u003cpeer-group-id\u003e]"},{"line_number":395,"context_line":"               \u003cbgp-peer\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"2b648097_9b353f9b","line":392,"range":{"start_line":392,"start_character":16,"end_line":392,"end_character":17},"in_reply_to":"92ef5b76_4919625e","updated":"2021-05-06 07:38:49.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":400,"context_line":"neutron client command. It specifies the name/UUID of the BGP peer group to"},{"line_number":401,"context_line":"which peer has to be associated."},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"Create BGP peers with update-source and next-hop-self parameters API"},{"line_number":404,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":405,"context_line":"As part of the enhancement, new attributes are introduced for the BGP peer"},{"line_number":406,"context_line":"model. These are next_hop_self and update_source_ip. ``next_hop_self`` decides"}],"source_content_type":"text/x-rst","patch_set":15,"id":"25b95972_742eded3","line":403,"updated":"2021-04-28 15:06:06.000000000","message":"The same question as I had for peer groups in lines 343-344.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":400,"context_line":"neutron client command. It specifies the name/UUID of the BGP peer group to"},{"line_number":401,"context_line":"which peer has to be associated."},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"Create BGP peers with update-source and next-hop-self parameters API"},{"line_number":404,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":405,"context_line":"As part of the enhancement, new attributes are introduced for the BGP peer"},{"line_number":406,"context_line":"model. These are next_hop_self and update_source_ip. ``next_hop_self`` decides"}],"source_content_type":"text/x-rst","patch_set":15,"id":"a27d7fd8_656d3e42","line":403,"in_reply_to":"25b95972_742eded3","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"dc1652aeef349f9a3539518835a9759fcd186fcb","unresolved":true,"context_lines":[{"line_number":492,"context_line":"Security Impact"},{"line_number":493,"context_line":"---------------"},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"None"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"Performance Impact"},{"line_number":498,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"a0d5dd81_f964f06e","line":495,"updated":"2021-04-28 15:06:06.000000000","message":"I believe enabling peering with not pre-created peers is a security concern, which we need to address.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":true,"context_lines":[{"line_number":492,"context_line":"Security Impact"},{"line_number":493,"context_line":"---------------"},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"None"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"Performance Impact"},{"line_number":498,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"e9e6aab6_319b8706","line":495,"in_reply_to":"a0d5dd81_f964f06e","updated":"2021-05-18 06:42:24.000000000","message":"If we handle bgp peer group from osken layer itself, we can probably disconnect the connections in the TCP layer itself if the peering request is not from a valid listen range. Will this solve the security issue? hope i have understood the question correctly.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"6e0ee50f25724feb62f07a444142d28a8ec7aa61","unresolved":false,"context_lines":[{"line_number":492,"context_line":"Security Impact"},{"line_number":493,"context_line":"---------------"},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"None"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"Performance Impact"},{"line_number":498,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"2a885ea1_ca7c2d61","line":495,"in_reply_to":"d6339dc3_eb8d74b1","updated":"2021-05-27 10:30:34.000000000","message":"I will update the security concerns part of the spec with these informations.","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":true,"context_lines":[{"line_number":492,"context_line":"Security Impact"},{"line_number":493,"context_line":"---------------"},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"None"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"Performance Impact"},{"line_number":498,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"d6339dc3_eb8d74b1","line":495,"in_reply_to":"e9e6aab6_319b8706","updated":"2021-05-25 12:41:45.000000000","message":"That can be part of the solution I believe. In my mind I have a future section in our docs like this:\n\n\"\"\"\nPlease beware that if you open up a peer group in the direction of untrusted networks, all your traffic may be hijacked. In order to avoid this please take care of ...\n\"\"\"\n\nAnd what will we write here?\n\nFrom peers on internal networks a listen_range seems to be enough. But the listen_range should never be inside a shared network\u0027s subnet, otherwise another tenant can gain an IP inside the listen_range.\n\nFrom peers on external networks we have even fewer guarantees. Maybe we should make authentication mandatory there?","commit_id":"dadbd16176b52d0f4de9a82dad8bad1ee3077bcf"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2e4671819c23aaeee0a4c348109d5d2470861b60","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"There are very good foundation APIs in Neutron BGPaaS that brought in BGP"},{"line_number":20,"context_line":"service functionality (see [1]_) into Neutron through Neutron Dynamic Routing."},{"line_number":21,"context_line":"(see [3]_ ) [In this spec, we have used Neutron-BGPaaS, BGPaaS and"},{"line_number":22,"context_line":"neutron-dynamic-routing/bgp as synonymns. These refers to \"Neutron Dynamic"},{"line_number":23,"context_line":"Routing using BGPaaS\" function already available in Neutron]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In a Telco Service Provider environment, VNFs (Virtual Network Functions [10]_)"},{"line_number":26,"context_line":"\u0026 CNFs (Containerized-Network-Functions) are run that provides simple-to-fairly"}],"source_content_type":"text/x-rst","patch_set":18,"id":"9f396aa4_027cbfa3","line":23,"range":{"start_line":21,"start_character":12,"end_line":23,"end_character":60},"updated":"2021-05-13 08:05:23.000000000","message":"nit: this should be a note:\n.. note::","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"There are very good foundation APIs in Neutron BGPaaS that brought in BGP"},{"line_number":20,"context_line":"service functionality (see [1]_) into Neutron through Neutron Dynamic Routing."},{"line_number":21,"context_line":"(see [3]_ ) [In this spec, we have used Neutron-BGPaaS, BGPaaS and"},{"line_number":22,"context_line":"neutron-dynamic-routing/bgp as synonymns. These refers to \"Neutron Dynamic"},{"line_number":23,"context_line":"Routing using BGPaaS\" function already available in Neutron]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In a Telco Service Provider environment, VNFs (Virtual Network Functions [10]_)"},{"line_number":26,"context_line":"\u0026 CNFs (Containerized-Network-Functions) are run that provides simple-to-fairly"}],"source_content_type":"text/x-rst","patch_set":18,"id":"fcbd3ed7_7389ff7e","line":23,"range":{"start_line":21,"start_character":12,"end_line":23,"end_character":60},"in_reply_to":"9f396aa4_027cbfa3","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2e4671819c23aaeee0a4c348109d5d2470861b60","unresolved":true,"context_lines":[{"line_number":26,"context_line":"\u0026 CNFs (Containerized-Network-Functions) are run that provides simple-to-fairly"},{"line_number":27,"context_line":"complex services to subscribers. These VNFs use many Non-Neutron IP-Addresses"},{"line_number":28,"context_line":"which need to be exposed to subscribers. The subscribers access these services"},{"line_number":29,"context_line":"through these Non-Neutron IP-Addresses, referred as \u0027Service-Address\u0027. It can"},{"line_number":30,"context_line":"belong to either IPv4 (or) IPv6 address-families."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Service-Address are wholly managed inside a VNF transparent to Neutron. But"}],"source_content_type":"text/x-rst","patch_set":18,"id":"262eb5ae_3e3d80b2","line":29,"range":{"start_line":29,"start_character":53,"end_line":29,"end_character":68},"updated":"2021-05-13 08:05:23.000000000","message":"Just a question (I can\u0027t find it in old question/asnwers): are these service-addresses map to service subnets (https://docs.openstack.org/neutron/latest/admin/config-service-subnets.html )?\nCould you clarify it in the text if it is related to service subnets or not? A note can be perfect","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":true,"context_lines":[{"line_number":26,"context_line":"\u0026 CNFs (Containerized-Network-Functions) are run that provides simple-to-fairly"},{"line_number":27,"context_line":"complex services to subscribers. These VNFs use many Non-Neutron IP-Addresses"},{"line_number":28,"context_line":"which need to be exposed to subscribers. The subscribers access these services"},{"line_number":29,"context_line":"through these Non-Neutron IP-Addresses, referred as \u0027Service-Address\u0027. It can"},{"line_number":30,"context_line":"belong to either IPv4 (or) IPv6 address-families."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Service-Address are wholly managed inside a VNF transparent to Neutron. But"}],"source_content_type":"text/x-rst","patch_set":18,"id":"4e5dc235_aba0ce7c","line":29,"range":{"start_line":29,"start_character":53,"end_line":29,"end_character":68},"in_reply_to":"262eb5ae_3e3d80b2","updated":"2021-05-18 06:42:24.000000000","message":"These VNF service addresses are not known to the neutron. AFAIU, these addresses are managed by the VNFs. So it may not be possible to associate it to a service type or a valid device owner (as mentioned in service-subnets). Please let me know if this answers your question.","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2e4671819c23aaeee0a4c348109d5d2470861b60","unresolved":true,"context_lines":[{"line_number":40,"context_line":"neutron-tenant-network entity, these Service-Addresses need to be brought into"},{"line_number":41,"context_line":"a Neutron Router\u0027s Routing Table."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"The no of VNFs are high and hence the no of service addresses to be exposed"},{"line_number":44,"context_line":"are higher. \"BGP between the VNFs and their hosting Neutron Routers\" provides"},{"line_number":45,"context_line":"a very elegant and scalable automated approach for a control-plane driven"},{"line_number":46,"context_line":"route-learning of Service-Address by the Neutron Router from the VNFs. This"}],"source_content_type":"text/x-rst","patch_set":18,"id":"394c3d4c_c05f9308","line":43,"range":{"start_line":43,"start_character":38,"end_line":43,"end_character":40},"updated":"2021-05-13 08:05:23.000000000","message":"number?","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2e4671819c23aaeee0a4c348109d5d2470861b60","unresolved":true,"context_lines":[{"line_number":40,"context_line":"neutron-tenant-network entity, these Service-Addresses need to be brought into"},{"line_number":41,"context_line":"a Neutron Router\u0027s Routing Table."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"The no of VNFs are high and hence the no of service addresses to be exposed"},{"line_number":44,"context_line":"are higher. \"BGP between the VNFs and their hosting Neutron Routers\" provides"},{"line_number":45,"context_line":"a very elegant and scalable automated approach for a control-plane driven"},{"line_number":46,"context_line":"route-learning of Service-Address by the Neutron Router from the VNFs. This"}],"source_content_type":"text/x-rst","patch_set":18,"id":"96f586e8_8ae2353f","line":43,"range":{"start_line":43,"start_character":4,"end_line":43,"end_character":6},"updated":"2021-05-13 08:05:23.000000000","message":"number?","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":40,"context_line":"neutron-tenant-network entity, these Service-Addresses need to be brought into"},{"line_number":41,"context_line":"a Neutron Router\u0027s Routing Table."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"The no of VNFs are high and hence the no of service addresses to be exposed"},{"line_number":44,"context_line":"are higher. \"BGP between the VNFs and their hosting Neutron Routers\" provides"},{"line_number":45,"context_line":"a very elegant and scalable automated approach for a control-plane driven"},{"line_number":46,"context_line":"route-learning of Service-Address by the Neutron Router from the VNFs. This"}],"source_content_type":"text/x-rst","patch_set":18,"id":"bb1745dc_9718f24f","line":43,"range":{"start_line":43,"start_character":38,"end_line":43,"end_character":40},"in_reply_to":"394c3d4c_c05f9308","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":40,"context_line":"neutron-tenant-network entity, these Service-Addresses need to be brought into"},{"line_number":41,"context_line":"a Neutron Router\u0027s Routing Table."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"The no of VNFs are high and hence the no of service addresses to be exposed"},{"line_number":44,"context_line":"are higher. \"BGP between the VNFs and their hosting Neutron Routers\" provides"},{"line_number":45,"context_line":"a very elegant and scalable automated approach for a control-plane driven"},{"line_number":46,"context_line":"route-learning of Service-Address by the Neutron Router from the VNFs. This"}],"source_content_type":"text/x-rst","patch_set":18,"id":"adf887cc_59643fb8","line":43,"range":{"start_line":43,"start_character":4,"end_line":43,"end_character":6},"in_reply_to":"96f586e8_8ae2353f","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":196,"context_line":"different BGP speaker has to be instantiated. This questions the scalability"},{"line_number":197,"context_line":"of option 1."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"VRF device (see [9]_) can be used instead of namespace for BGP peering. VRF is"},{"line_number":200,"context_line":"a layer 3 master network device with its own associated routing table. It also"},{"line_number":201,"context_line":"provides added benefit of ``VRF any`` socket which allows a single process"},{"line_number":202,"context_line":"instance to efficiently provide service across all VRFs. So for N router"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ecfeca7b_ec150bb3","line":199,"range":{"start_line":199,"start_character":0,"end_line":199,"end_character":10},"updated":"2021-05-12 15:21:28.000000000","message":"As far as I understand VRFs are a feature of the mainline Linux kernel for long years, so this does not introduce new dependencies.","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":196,"context_line":"different BGP speaker has to be instantiated. This questions the scalability"},{"line_number":197,"context_line":"of option 1."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"VRF device (see [9]_) can be used instead of namespace for BGP peering. VRF is"},{"line_number":200,"context_line":"a layer 3 master network device with its own associated routing table. It also"},{"line_number":201,"context_line":"provides added benefit of ``VRF any`` socket which allows a single process"},{"line_number":202,"context_line":"instance to efficiently provide service across all VRFs. So for N router"}],"source_content_type":"text/x-rst","patch_set":18,"id":"0d65ebc7_d6083805","line":199,"range":{"start_line":199,"start_character":0,"end_line":199,"end_character":10},"in_reply_to":"ecfeca7b_ec150bb3","updated":"2021-05-18 06:42:24.000000000","message":"Yes it is present in the mainline Linux which we can leverage","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2e4671819c23aaeee0a4c348109d5d2470861b60","unresolved":true,"context_lines":[{"line_number":199,"context_line":"VRF device (see [9]_) can be used instead of namespace for BGP peering. VRF is"},{"line_number":200,"context_line":"a layer 3 master network device with its own associated routing table. It also"},{"line_number":201,"context_line":"provides added benefit of ``VRF any`` socket which allows a single process"},{"line_number":202,"context_line":"instance to efficiently provide service across all VRFs. So for N router"},{"line_number":203,"context_line":"associated BGP speakers, n vrfs will be created but a single BGP speaker will"},{"line_number":204,"context_line":"serve all of them."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":18,"id":"b65cb3b8_1acb16b4","line":203,"range":{"start_line":202,"start_character":57,"end_line":203,"end_character":31},"updated":"2021-05-13 08:05:23.000000000","message":"N and n are the same? based on l227 yes, but please use the same N for them.","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":199,"context_line":"VRF device (see [9]_) can be used instead of namespace for BGP peering. VRF is"},{"line_number":200,"context_line":"a layer 3 master network device with its own associated routing table. It also"},{"line_number":201,"context_line":"provides added benefit of ``VRF any`` socket which allows a single process"},{"line_number":202,"context_line":"instance to efficiently provide service across all VRFs. So for N router"},{"line_number":203,"context_line":"associated BGP speakers, n vrfs will be created but a single BGP speaker will"},{"line_number":204,"context_line":"serve all of them."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":18,"id":"c4973507_51f78f1f","line":203,"range":{"start_line":202,"start_character":57,"end_line":203,"end_character":31},"in_reply_to":"b65cb3b8_1acb16b4","updated":"2021-05-18 06:42:24.000000000","message":"Done","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":201,"context_line":"provides added benefit of ``VRF any`` socket which allows a single process"},{"line_number":202,"context_line":"instance to efficiently provide service across all VRFs. So for N router"},{"line_number":203,"context_line":"associated BGP speakers, n vrfs will be created but a single BGP speaker will"},{"line_number":204,"context_line":"serve all of them."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"::"},{"line_number":207,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"039488ab_12bf45b5","line":204,"updated":"2021-05-12 15:21:28.000000000","message":"Between the ns-only and the mixed options I see a tradeoff:\n* the ns-only option is a smaller change, with lower overall code complexity, but\n* the mixed option provides a way forward for possibly better scalability\n\nI\u0027m not sure which one is finally the better choice, but in order to keep our options open I\u0027d suggest:\n\n1) Making it optional in the BGP speaker whether it uses a NS or a VRF.\n2) If we ever want to support the mixed option, then the BGP speaker cannot use the addresses of the router interfaces. We should not make assumptions about the router interface and bgp speaker address being the same. Plus if we want to allow the remote party to initiate bgp peering then we also most expose the speaker address in the API somewhere.","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":true,"context_lines":[{"line_number":201,"context_line":"provides added benefit of ``VRF any`` socket which allows a single process"},{"line_number":202,"context_line":"instance to efficiently provide service across all VRFs. So for N router"},{"line_number":203,"context_line":"associated BGP speakers, n vrfs will be created but a single BGP speaker will"},{"line_number":204,"context_line":"serve all of them."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"::"},{"line_number":207,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"a3dc36ee_81a599fb","line":204,"in_reply_to":"039488ab_12bf45b5","updated":"2021-05-18 06:42:24.000000000","message":"I will add an attribute to specify whether to use ns or vrf in the next patchset.  Mixed option seems to be a complex one to implement. Probably we can move from option 1 to 3 with your suggestion no 1. Hope this will also solve the upgrade issue.","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2e4671819c23aaeee0a4c348109d5d2470861b60","unresolved":true,"context_lines":[{"line_number":217,"context_line":" +-----------------------------------------------------------------+"},{"line_number":218,"context_line":" |       |                 |       |              |       |        |"},{"line_number":219,"context_line":" |     +--------+      +-------+  +-------+  +-------+  +-------+  |"},{"line_number":220,"context_line":" |     |Port tap|      |Port qr|  |Port qg|  |Port vr|  |Port vg|  |"},{"line_number":221,"context_line":" |     +--------+      +-------+  +-------+  +-------+  +-------+  |"},{"line_number":222,"context_line":" |                                                                 |"},{"line_number":223,"context_line":" |                      br-int                                     |"}],"source_content_type":"text/x-rst","patch_set":18,"id":"c210468e_3c3b8a5d","line":220,"range":{"start_line":220,"start_character":46,"end_line":220,"end_character":64},"updated":"2021-05-13 08:05:23.000000000","message":"These will be new ports on br-int, am I right?","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":217,"context_line":" +-----------------------------------------------------------------+"},{"line_number":218,"context_line":" |       |                 |       |              |       |        |"},{"line_number":219,"context_line":" |     +--------+      +-------+  +-------+  +-------+  +-------+  |"},{"line_number":220,"context_line":" |     |Port tap|      |Port qr|  |Port qg|  |Port vr|  |Port vg|  |"},{"line_number":221,"context_line":" |     +--------+      +-------+  +-------+  +-------+  +-------+  |"},{"line_number":222,"context_line":" |                                                                 |"},{"line_number":223,"context_line":" |                      br-int                                     |"}],"source_content_type":"text/x-rst","patch_set":18,"id":"74297b80_66eab752","line":220,"range":{"start_line":220,"start_character":46,"end_line":220,"end_character":64},"in_reply_to":"c210468e_3c3b8a5d","updated":"2021-05-18 06:42:24.000000000","message":"Yes, new ports are created for this on br-int","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2e4671819c23aaeee0a4c348109d5d2470861b60","unresolved":true,"context_lines":[{"line_number":244,"context_line":"provide neutron router functionality which includes dataplane L3-forwarding"},{"line_number":245,"context_line":"for east-west, north-south and NATing."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"This provides the same advantages as in option 2 and eliminates its"},{"line_number":248,"context_line":"disadvantages. But the main concern with this approach is that it will make a"},{"line_number":249,"context_line":"huge deviation from the existing L3 implementation which will require a lot"},{"line_number":250,"context_line":"of effort and time. This also requires changes to upgrade mechanisms."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"HA-Capable Neutron Router with BGPaaS"},{"line_number":253,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":18,"id":"8dba9636_c9c51fb3","line":250,"range":{"start_line":247,"start_character":0,"end_line":250,"end_character":69},"updated":"2021-05-13 08:05:23.000000000","message":"I can see this option only in parallel with the existing namespace based l3, perhaps with a deprecation path to the old ns based one if we can provide full parity with VRFs.","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5515a10a2de781d934ec124f144f93ecb472af3c","unresolved":true,"context_lines":[{"line_number":247,"context_line":"This provides the same advantages as in option 2 and eliminates its"},{"line_number":248,"context_line":"disadvantages. But the main concern with this approach is that it will make a"},{"line_number":249,"context_line":"huge deviation from the existing L3 implementation which will require a lot"},{"line_number":250,"context_line":"of effort and time. This also requires changes to upgrade mechanisms."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"HA-Capable Neutron Router with BGPaaS"},{"line_number":253,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":18,"id":"adec7141_de1be5b8","line":250,"updated":"2021-05-12 15:21:28.000000000","message":"If the level of isolation between VRFs is sufficient for us then I believe this could be a valid long term goal, because it likely improves performance/scalability. However I don\u0027t see an upgrade path from namespaces to VRFs without some traffic loss. Because of that I believe we must provide a gradual way of replacement, in which the operator is free to decide when to do the upgrade. Therefore I think it\u0027s not an option to go directly for this.\n\nAlso for keeping the scope here minimal and to avoid introducing big prerequisites I suggest to address the replacement of namespaces with VRFs in a standalone spec (if/whenever we get there).","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":244,"context_line":"provide neutron router functionality which includes dataplane L3-forwarding"},{"line_number":245,"context_line":"for east-west, north-south and NATing."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"This provides the same advantages as in option 2 and eliminates its"},{"line_number":248,"context_line":"disadvantages. But the main concern with this approach is that it will make a"},{"line_number":249,"context_line":"huge deviation from the existing L3 implementation which will require a lot"},{"line_number":250,"context_line":"of effort and time. This also requires changes to upgrade mechanisms."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"HA-Capable Neutron Router with BGPaaS"},{"line_number":253,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":18,"id":"061f754c_63a41984","line":250,"range":{"start_line":247,"start_character":0,"end_line":250,"end_character":69},"in_reply_to":"8dba9636_c9c51fb3","updated":"2021-05-18 06:42:24.000000000","message":"Yes, the current plan would be to start with option 1. Based on the requirements, if we need to go to option 3, we can provide a proper upgrade path.","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":true,"context_lines":[{"line_number":247,"context_line":"This provides the same advantages as in option 2 and eliminates its"},{"line_number":248,"context_line":"disadvantages. But the main concern with this approach is that it will make a"},{"line_number":249,"context_line":"huge deviation from the existing L3 implementation which will require a lot"},{"line_number":250,"context_line":"of effort and time. This also requires changes to upgrade mechanisms."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"HA-Capable Neutron Router with BGPaaS"},{"line_number":253,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":18,"id":"85a32412_1d1da2b3","line":250,"in_reply_to":"adec7141_de1be5b8","updated":"2021-05-18 06:42:24.000000000","message":"Yes sure, it would be better to be mentioned in a separate spec. \n\nThe current plan would be to start with option 1. Based on the requirements, if we need to go to option 3, we can provide the attribute(to specify whether to use ns or vrf) which gives the flexibility to operator. Hope this answers.","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2e4671819c23aaeee0a4c348109d5d2470861b60","unresolved":true,"context_lines":[{"line_number":261,"context_line":"and non-HA) and not Distributed Routers"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Networking midonet (see [4]_ ) has made a similar change to associate a BGP"},{"line_number":264,"context_line":"speaker to a router but is only specific to networking-midonet and is not"},{"line_number":265,"context_line":"included in neutron service layer. The change proposed here will incorporate"},{"line_number":266,"context_line":"the APIs in the neutron-dynamic-routing layer itself."},{"line_number":267,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7ce3c8f8_7489d7ac","line":264,"range":{"start_line":264,"start_character":44,"end_line":264,"end_character":61},"updated":"2021-05-13 08:05:23.000000000","message":"networking-midonet is deprecated and nobody maintains it :-(","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"42e8b4428f2aa1a828911ed25740dd6324a41e00","unresolved":false,"context_lines":[{"line_number":261,"context_line":"and non-HA) and not Distributed Routers"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Networking midonet (see [4]_ ) has made a similar change to associate a BGP"},{"line_number":264,"context_line":"speaker to a router but is only specific to networking-midonet and is not"},{"line_number":265,"context_line":"included in neutron service layer. The change proposed here will incorporate"},{"line_number":266,"context_line":"the APIs in the neutron-dynamic-routing layer itself."},{"line_number":267,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"ec79f9aa_0ec87084","line":264,"range":{"start_line":264,"start_character":44,"end_line":264,"end_character":61},"in_reply_to":"7ce3c8f8_7489d7ac","updated":"2021-05-18 06:42:24.000000000","message":"Done. I will remove it in the next patchset","commit_id":"e7cf33bf465eb079da7021db8d2039a6ad761da6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"44b7c45f9215f1118eda0acdd5182b92cfc8157a","unresolved":true,"context_lines":[{"line_number":261,"context_line":"    The current plan is to implement Option 1 which is simpler and doesn\u0027t"},{"line_number":262,"context_line":"    deviate much from the existing implementation. Incase the implementation"},{"line_number":263,"context_line":"    option 3 is going to be used, it will be only a gradual replacement (from"},{"line_number":264,"context_line":"    namespace to vrf) with proper upgrade path."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"HA-Capable Neutron Router with BGPaaS"},{"line_number":267,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":19,"id":"7cdc4bf4_c32569ab","line":264,"updated":"2021-05-19 15:04:37.000000000","message":"+1 for that :)","commit_id":"29b8219f7644b8f4e19b0ae6d349d51aa874116b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"44b7c45f9215f1118eda0acdd5182b92cfc8157a","unresolved":true,"context_lines":[{"line_number":368,"context_line":"  learnt from the peer respectively."},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"The routes can be obtained from the backend. For example, in case of os_ken"},{"line_number":371,"context_line":"backend, rib_get method (see [11]_) can be used to obtain the routes."},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"New Neutron Client Command::"},{"line_number":374,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"6daff868_020a61b2","line":371,"updated":"2021-05-19 15:04:37.000000000","message":"will it be synchronous operation? So when user will make API request, neutron-server will ask L3 agent for the routes and will wait for reply from agent?\nOr maybe routes from L3agent can be send to the neutron-server periodically, like in e.g. heartbeats?","commit_id":"29b8219f7644b8f4e19b0ae6d349d51aa874116b"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":true,"context_lines":[{"line_number":368,"context_line":"  learnt from the peer respectively."},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"The routes can be obtained from the backend. For example, in case of os_ken"},{"line_number":371,"context_line":"backend, rib_get method (see [11]_) can be used to obtain the routes."},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"New Neutron Client Command::"},{"line_number":374,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"e1cb8209_196fb936","line":371,"in_reply_to":"0db7078a_1f36c802","updated":"2021-05-25 12:41:45.000000000","message":"+1 to a heartbeat-like approach.","commit_id":"29b8219f7644b8f4e19b0ae6d349d51aa874116b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"05a369ce37cbb65e3034758f4e97a0f86d295e76","unresolved":false,"context_lines":[{"line_number":368,"context_line":"  learnt from the peer respectively."},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"The routes can be obtained from the backend. For example, in case of os_ken"},{"line_number":371,"context_line":"backend, rib_get method (see [11]_) can be used to obtain the routes."},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"New Neutron Client Command::"},{"line_number":374,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"04dada52_caf6e4b7","line":371,"in_reply_to":"53584214_a00867b9","updated":"2021-06-29 06:35:07.000000000","message":"yeah, I agree with Bence","commit_id":"29b8219f7644b8f4e19b0ae6d349d51aa874116b"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"47d1153e032da08e63c131dc0e92b5f15aa60ecd","unresolved":true,"context_lines":[{"line_number":368,"context_line":"  learnt from the peer respectively."},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"The routes can be obtained from the backend. For example, in case of os_ken"},{"line_number":371,"context_line":"backend, rib_get method (see [11]_) can be used to obtain the routes."},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"New Neutron Client Command::"},{"line_number":374,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"0db7078a_1f36c802","line":371,"in_reply_to":"6daff868_020a61b2","updated":"2021-05-20 11:39:22.000000000","message":"For the routes which are advertised by the BGP speaker, we can use the existing approach itself. \n\nBut for the learnt routes from peer, I was planning for a synchronous operation. If that is not a good approach, probably we can cache the learnt routes locally (using callback \u0027best_path_change_handler\u0027[1] which gets notified when there is a route change). Please let me if it is fine or if there is any other better approach.\n\n[1]https://ryu.readthedocs.io/en/latest/library_bgp_speaker_ref.html#ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker","commit_id":"29b8219f7644b8f4e19b0ae6d349d51aa874116b"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"338629c5d2e468df0abf0d262000741cf178e946","unresolved":false,"context_lines":[{"line_number":368,"context_line":"  learnt from the peer respectively."},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"The routes can be obtained from the backend. For example, in case of os_ken"},{"line_number":371,"context_line":"backend, rib_get method (see [11]_) can be used to obtain the routes."},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"New Neutron Client Command::"},{"line_number":374,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"53584214_a00867b9","line":371,"in_reply_to":"e1cb8209_196fb936","updated":"2021-05-27 06:45:56.000000000","message":"Ack","commit_id":"29b8219f7644b8f4e19b0ae6d349d51aa874116b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"44b7c45f9215f1118eda0acdd5182b92cfc8157a","unresolved":true,"context_lines":[{"line_number":552,"context_line":"Performance Impact"},{"line_number":553,"context_line":"------------------"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"None"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"Implementation"},{"line_number":558,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":19,"id":"d2e27d87_fe1b11bb","line":555,"updated":"2021-05-19 15:04:37.000000000","message":"if there will be many L3 routers on the node, bgpspeaker in each of them, will then not be any performance impact at all?","commit_id":"29b8219f7644b8f4e19b0ae6d349d51aa874116b"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"47d1153e032da08e63c131dc0e92b5f15aa60ecd","unresolved":false,"context_lines":[{"line_number":552,"context_line":"Performance Impact"},{"line_number":553,"context_line":"------------------"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"None"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"Implementation"},{"line_number":558,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":19,"id":"9c71c858_12b3adb5","line":555,"in_reply_to":"d2e27d87_fe1b11bb","updated":"2021-05-20 11:39:22.000000000","message":"Thanks. I will add it in the spec","commit_id":"29b8219f7644b8f4e19b0ae6d349d51aa874116b"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":true,"context_lines":[{"line_number":86,"context_line":"  enables automatic-bgp-peering towards VNFs by Neutron Router whenever the"},{"line_number":87,"context_line":"  VNFs are scaled-out in a VNF cluster or whenever the VNFs are scaled in from"},{"line_number":88,"context_line":"  a VNF cluster. The automatic-bgp-peering refers to the fact that the current"},{"line_number":89,"context_line":"  BGP Speaker will be enhanced to automatically accept peering-requests from"},{"line_number":90,"context_line":"  VNF if the VNFs are within a pre-configured listen-range that openstack"},{"line_number":91,"context_line":"  tenant can configure for the BGP speaker."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"4ca01bee_f184cb80","line":89,"range":{"start_line":89,"start_character":34,"end_line":89,"end_character":71},"updated":"2021-05-25 12:41:45.000000000","message":"... and create the bgp peer API objects based on the pre-configured peer group API object","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"b76913f9425582023ab602c5fad6181127d226e7","unresolved":true,"context_lines":[{"line_number":86,"context_line":"  enables automatic-bgp-peering towards VNFs by Neutron Router whenever the"},{"line_number":87,"context_line":"  VNFs are scaled-out in a VNF cluster or whenever the VNFs are scaled in from"},{"line_number":88,"context_line":"  a VNF cluster. The automatic-bgp-peering refers to the fact that the current"},{"line_number":89,"context_line":"  BGP Speaker will be enhanced to automatically accept peering-requests from"},{"line_number":90,"context_line":"  VNF if the VNFs are within a pre-configured listen-range that openstack"},{"line_number":91,"context_line":"  tenant can configure for the BGP speaker."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"c2de2534_ac83a814","line":89,"range":{"start_line":89,"start_character":34,"end_line":89,"end_character":71},"in_reply_to":"4ca01bee_f184cb80","updated":"2021-06-07 09:37:55.000000000","message":"Sorry, probably it wasn\u0027t clear in the spec, the idea would be to create a peer group and associate a peer with the peer group id. Once we add listen_range and listen_limit, then this peer can be considered as dynamic peer which starts accepting peer request from the neighbors in the listen_range.\n\n{\n    \"bgp_peer\":{\n       \"peer_group_id\":\"a930d7f6-ceb7-40a0-8b81-a425dd994ccf\",\n       \"name\":\"bgppeer1\",\n       \"listen_range\": \"10.2.1.0/24\"\n       \"listen_limit\": 10\n       \"auth_type\": \"md5\",\n       \"password\": \"\u003cpasswd\u003e\"\n       }\n }\n\nSuch neighbors whose request has been accepted by the BGP speaker are implicit peers, we do not need to create separate peer API objects. The implementation can handle it internally since the only configuration by admin would be a singe peer with listen_range,listen_limit, peer group id(+ bgp peer group config). We can probably show the connected peers inside a peer show or a peer association show output.\n\nlisten-range: 10.1.1.0/24\nlisten-limit: 100\n​current-peer-ips: [\"10.1.1.4\", \"10.1.1.6\"]","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":true,"context_lines":[{"line_number":426,"context_line":"    \"bgp_peer\":{"},{"line_number":427,"context_line":"       \"peer_group_id\":\"a930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":428,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":429,"context_line":"       \"listen_range\": \"10.2.1.0/24\""},{"line_number":430,"context_line":"       \"listen_limit\": 10"},{"line_number":431,"context_line":"       \"auth_type\": \"md5\","},{"line_number":432,"context_line":"       \"password\": \"\u003cpasswd\u003e\""}],"source_content_type":"text/x-rst","patch_set":20,"id":"950612f9_6359dd7a","line":429,"range":{"start_line":429,"start_character":8,"end_line":429,"end_character":20},"updated":"2021-05-25 12:41:45.000000000","message":"Is listen_range mandatory?","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"338629c5d2e468df0abf0d262000741cf178e946","unresolved":true,"context_lines":[{"line_number":426,"context_line":"    \"bgp_peer\":{"},{"line_number":427,"context_line":"       \"peer_group_id\":\"a930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":428,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":429,"context_line":"       \"listen_range\": \"10.2.1.0/24\""},{"line_number":430,"context_line":"       \"listen_limit\": 10"},{"line_number":431,"context_line":"       \"auth_type\": \"md5\","},{"line_number":432,"context_line":"       \"password\": \"\u003cpasswd\u003e\""}],"source_content_type":"text/x-rst","patch_set":20,"id":"ea2b9428_c596cece","line":429,"range":{"start_line":429,"start_character":8,"end_line":429,"end_character":20},"in_reply_to":"950612f9_6359dd7a","updated":"2021-05-27 06:45:56.000000000","message":"It is not a mandatory parameter","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"64f6b9862acd2989f4089f3b9410058c16c28e70","unresolved":true,"context_lines":[{"line_number":426,"context_line":"    \"bgp_peer\":{"},{"line_number":427,"context_line":"       \"peer_group_id\":\"a930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":428,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":429,"context_line":"       \"listen_range\": \"10.2.1.0/24\""},{"line_number":430,"context_line":"       \"listen_limit\": 10"},{"line_number":431,"context_line":"       \"auth_type\": \"md5\","},{"line_number":432,"context_line":"       \"password\": \"\u003cpasswd\u003e\""}],"source_content_type":"text/x-rst","patch_set":20,"id":"0b7addea_ae8d3e0a","line":429,"range":{"start_line":429,"start_character":8,"end_line":429,"end_character":20},"in_reply_to":"bf4b071e_b812913e","updated":"2021-06-07 05:13:23.000000000","message":"Sure, will add this to the spec.\n\nPeers API will have the existing mandatory parameters. Peering requests will be accepted only if listen_range is configured. This will also help to maintain the backward compatibity as well as the network-attached use case.","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"62a33a4af78576141d0292f57400d0e1b568a628","unresolved":true,"context_lines":[{"line_number":426,"context_line":"    \"bgp_peer\":{"},{"line_number":427,"context_line":"       \"peer_group_id\":\"a930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":428,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":429,"context_line":"       \"listen_range\": \"10.2.1.0/24\""},{"line_number":430,"context_line":"       \"listen_limit\": 10"},{"line_number":431,"context_line":"       \"auth_type\": \"md5\","},{"line_number":432,"context_line":"       \"password\": \"\u003cpasswd\u003e\""}],"source_content_type":"text/x-rst","patch_set":20,"id":"bf4b071e_b812913e","line":429,"range":{"start_line":429,"start_character":8,"end_line":429,"end_character":20},"in_reply_to":"ea2b9428_c596cece","updated":"2021-06-04 11:42:27.000000000","message":"And if it\u0027s not present, then do we accept peering requests from anybody or nobody?\n\nPlease let\u0027s add these answers to the spec.","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":true,"context_lines":[{"line_number":427,"context_line":"       \"peer_group_id\":\"a930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":428,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":429,"context_line":"       \"listen_range\": \"10.2.1.0/24\""},{"line_number":430,"context_line":"       \"listen_limit\": 10"},{"line_number":431,"context_line":"       \"auth_type\": \"md5\","},{"line_number":432,"context_line":"       \"password\": \"\u003cpasswd\u003e\""},{"line_number":433,"context_line":"       }"}],"source_content_type":"text/x-rst","patch_set":20,"id":"3db7dc18_605717b7","line":430,"range":{"start_line":430,"start_character":8,"end_line":430,"end_character":20},"updated":"2021-05-25 12:41:45.000000000","message":"Can we use 0 for unlimited?","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"338629c5d2e468df0abf0d262000741cf178e946","unresolved":true,"context_lines":[{"line_number":427,"context_line":"       \"peer_group_id\":\"a930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":428,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":429,"context_line":"       \"listen_range\": \"10.2.1.0/24\""},{"line_number":430,"context_line":"       \"listen_limit\": 10"},{"line_number":431,"context_line":"       \"auth_type\": \"md5\","},{"line_number":432,"context_line":"       \"password\": \"\u003cpasswd\u003e\""},{"line_number":433,"context_line":"       }"}],"source_content_type":"text/x-rst","patch_set":20,"id":"c88852c0_d06945f1","line":430,"range":{"start_line":430,"start_character":8,"end_line":430,"end_character":20},"in_reply_to":"3db7dc18_605717b7","updated":"2021-05-27 06:45:56.000000000","message":"Went through some of the supported values of listen_limit used by routers. Most of them supports limit from 0 to 5000 with a default value of 100. \n\nI think the unlimited option might overload the system. Please let me know your view.","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"64f6b9862acd2989f4089f3b9410058c16c28e70","unresolved":true,"context_lines":[{"line_number":427,"context_line":"       \"peer_group_id\":\"a930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":428,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":429,"context_line":"       \"listen_range\": \"10.2.1.0/24\""},{"line_number":430,"context_line":"       \"listen_limit\": 10"},{"line_number":431,"context_line":"       \"auth_type\": \"md5\","},{"line_number":432,"context_line":"       \"password\": \"\u003cpasswd\u003e\""},{"line_number":433,"context_line":"       }"}],"source_content_type":"text/x-rst","patch_set":20,"id":"0cb1b558_ae004b8f","line":430,"range":{"start_line":430,"start_character":8,"end_line":430,"end_character":20},"in_reply_to":"c6a2c4f0_35fb078b","updated":"2021-06-07 05:13:23.000000000","message":"We can have a default MAX, otherwise use the passed \u0027listen_limit\u0027. Do we need unlimited use case? Probably Im not getting the exact use case. We can have a discussion on this.\n\nSorry, the initial value I mentioned earlier is incorrect. The usual supported numbers are from 1-5000.\nR1(config-router)#bgp listen limit ?\n \u003c1-5000\u003e max number","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"62a33a4af78576141d0292f57400d0e1b568a628","unresolved":true,"context_lines":[{"line_number":427,"context_line":"       \"peer_group_id\":\"a930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":428,"context_line":"       \"name\":\"bgppeer1\","},{"line_number":429,"context_line":"       \"listen_range\": \"10.2.1.0/24\""},{"line_number":430,"context_line":"       \"listen_limit\": 10"},{"line_number":431,"context_line":"       \"auth_type\": \"md5\","},{"line_number":432,"context_line":"       \"password\": \"\u003cpasswd\u003e\""},{"line_number":433,"context_line":"       }"}],"source_content_type":"text/x-rst","patch_set":20,"id":"c6a2c4f0_35fb078b","line":430,"range":{"start_line":430,"start_character":8,"end_line":430,"end_character":20},"in_reply_to":"c88852c0_d06945f1","updated":"2021-06-04 11:42:27.000000000","message":"If we have the \u0027enable\u0027 bit that already covers the case when no peers are allowed, so there\u0027s no point in using 0 for that meaning. BGP peer groups will be an admin-only API right? Do we need to protect the admin from himself? I would say no. And we can also avoid hardcoding a magic number as the max, if we allow the \u00270 for unlimited\u0027 case.","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4057d93c467ab0434201b53a6af2a518afc322ba","unresolved":true,"context_lines":[{"line_number":613,"context_line":".. [8]  https://docs.openstack.org/neutron-dynamic-routing/latest/contributor/testing.html"},{"line_number":614,"context_line":".. [9]  https://www.kernel.org/doc/Documentation/networking/vrf.txt"},{"line_number":615,"context_line":".. [10] https://docs.openstack.org/mitaka/networking-guide/config-address-scopes.html#config-address-scopes"},{"line_number":616,"context_line":".. [11] https://ryu.readthedocs.io/en/latest/library_bgp_speaker_ref.html#ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.rib_get"}],"source_content_type":"text/x-rst","patch_set":20,"id":"95d94c1b_5b1cd5fb","line":616,"range":{"start_line":616,"start_character":8,"end_line":616,"end_character":130},"updated":"2021-05-25 12:41:45.000000000","message":"Maybe use the copy in os-ken?\n\nhttps://docs.openstack.org/os-ken/latest/library_bgp_speaker_ref.html#os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.rib_get","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"338629c5d2e468df0abf0d262000741cf178e946","unresolved":false,"context_lines":[{"line_number":613,"context_line":".. [8]  https://docs.openstack.org/neutron-dynamic-routing/latest/contributor/testing.html"},{"line_number":614,"context_line":".. [9]  https://www.kernel.org/doc/Documentation/networking/vrf.txt"},{"line_number":615,"context_line":".. [10] https://docs.openstack.org/mitaka/networking-guide/config-address-scopes.html#config-address-scopes"},{"line_number":616,"context_line":".. [11] https://ryu.readthedocs.io/en/latest/library_bgp_speaker_ref.html#ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.rib_get"}],"source_content_type":"text/x-rst","patch_set":20,"id":"b1c605bc_8ecd4cad","line":616,"range":{"start_line":616,"start_character":8,"end_line":616,"end_character":130},"in_reply_to":"95d94c1b_5b1cd5fb","updated":"2021-05-27 06:45:56.000000000","message":"Done","commit_id":"82078b4234d9725ec1ff2476f96c8f7fa6ca15b0"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"62a33a4af78576141d0292f57400d0e1b568a628","unresolved":true,"context_lines":[{"line_number":547,"context_line":"listen-range. This is of major concern if we support this option for external"},{"line_number":548,"context_line":"networks."},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"And this problem can be resolved using authentication which will be supported"},{"line_number":551,"context_line":"in peer-groups."},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":23,"id":"3fa348e1_d376aaf5","line":550,"updated":"2021-06-04 11:42:27.000000000","message":"Thanks for this.","commit_id":"17918b41830b4a6293630ac26535e95e34565cc7"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":23,"context_line":".. note::"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    In this spec, Neutron-BGPaaS, BGPaaS and  neutron-dynamic-routing/bgp are"},{"line_number":26,"context_line":"    used as synonymns. These refers to \"Neutron Dynamic Routing using BGPaaS\""},{"line_number":27,"context_line":"    function already available in Neutron"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"In a Telco Service Provider environment, VNFs (Virtual Network Functions [4]_)"}],"source_content_type":"text/x-rst","patch_set":24,"id":"9c2116fa_2dd0fb67","line":26,"updated":"2021-06-08 06:15:49.000000000","message":"similarly,  please consider our usage of term \u0027ISP network\u0027 same as \u0027Neutron External Network\u0027","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":23,"context_line":".. note::"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    In this spec, Neutron-BGPaaS, BGPaaS and  neutron-dynamic-routing/bgp are"},{"line_number":26,"context_line":"    used as synonymns. These refers to \"Neutron Dynamic Routing using BGPaaS\""},{"line_number":27,"context_line":"    function already available in Neutron"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"In a Telco Service Provider environment, VNFs (Virtual Network Functions [4]_)"}],"source_content_type":"text/x-rst","patch_set":24,"id":"ca5b9fc2_3d644325","line":26,"in_reply_to":"9c2116fa_2dd0fb67","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":87,"context_line":"  VNFs are scaled-out in a VNF cluster or whenever the VNFs are scaled in from"},{"line_number":88,"context_line":"  a VNF cluster. The automatic-bgp-peering refers to the fact that the current"},{"line_number":89,"context_line":"  BGP Speaker will be enhanced to automatically accept peering-requests from"},{"line_number":90,"context_line":"  VNF if the VNFs are within a pre-configured listen-range that openstack"},{"line_number":91,"context_line":"  tenant can configure for the BGP speaker."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":24,"id":"751d4b65_87d6dd6c","line":90,"updated":"2021-06-08 06:15:49.000000000","message":"pre-configure ip-address-range (aka listen-range)","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  VNFs are scaled-out in a VNF cluster or whenever the VNFs are scaled in from"},{"line_number":88,"context_line":"  a VNF cluster. The automatic-bgp-peering refers to the fact that the current"},{"line_number":89,"context_line":"  BGP Speaker will be enhanced to automatically accept peering-requests from"},{"line_number":90,"context_line":"  VNF if the VNFs are within a pre-configured listen-range that openstack"},{"line_number":91,"context_line":"  tenant can configure for the BGP speaker."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":24,"id":"f0eb20dd_123a2e5a","line":90,"in_reply_to":"751d4b65_87d6dd6c","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"#. ``Enable direct BGP-Peering (see [2]_) from a Neutron Router towards the"},{"line_number":100,"context_line":"   VNFs (or CNFs) on its connected networks.`` This provides L3 reachability to"},{"line_number":101,"context_line":"   the service-addresses from another-neutron-tenant-network entity by"},{"line_number":102,"context_line":"   installing service-addresses in Neutron Router\u0027s Routing Table. The proposal"},{"line_number":103,"context_line":"   is to associate a BGP speaker to a router which enables access to all the"},{"line_number":104,"context_line":"   neutron-router-interfaces ie. both internal/external interfaces. A single"}],"source_content_type":"text/x-rst","patch_set":24,"id":"633f67a6_fa2d3950","line":101,"updated":"2021-06-08 06:15:49.000000000","message":"service-addresses hosted on such VNFs, as such addresses will be installed in the Neutron Ruoter routing-table by the BGPaaS control plane .","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"#. ``Enable direct BGP-Peering (see [2]_) from a Neutron Router towards the"},{"line_number":100,"context_line":"   VNFs (or CNFs) on its connected networks.`` This provides L3 reachability to"},{"line_number":101,"context_line":"   the service-addresses from another-neutron-tenant-network entity by"},{"line_number":102,"context_line":"   installing service-addresses in Neutron Router\u0027s Routing Table. The proposal"},{"line_number":103,"context_line":"   is to associate a BGP speaker to a router which enables access to all the"},{"line_number":104,"context_line":"   neutron-router-interfaces ie. both internal/external interfaces. A single"}],"source_content_type":"text/x-rst","patch_set":24,"id":"05ad84d5_5c7405d1","line":101,"in_reply_to":"633f67a6_fa2d3950","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":101,"context_line":"   the service-addresses from another-neutron-tenant-network entity by"},{"line_number":102,"context_line":"   installing service-addresses in Neutron Router\u0027s Routing Table. The proposal"},{"line_number":103,"context_line":"   is to associate a BGP speaker to a router which enables access to all the"},{"line_number":104,"context_line":"   neutron-router-interfaces ie. both internal/external interfaces. A single"},{"line_number":105,"context_line":"   router can be associated to a BGP speaker and the speaker will be running"},{"line_number":106,"context_line":"   inside the L3 router namespace."},{"line_number":107,"context_line":"#. ``Enable BGP-Peering over Neutron External Networks from a Neutron Router to"}],"source_content_type":"text/x-rst","patch_set":24,"id":"82390444_af403368","line":104,"updated":"2021-06-08 06:15:49.000000000","message":"So the proposal is to provide facility to directly associate a BGP Speaker to a neutron-router, that will in turn enable the router to reach BGP-Control plane learned routes from the VNF.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":101,"context_line":"   the service-addresses from another-neutron-tenant-network entity by"},{"line_number":102,"context_line":"   installing service-addresses in Neutron Router\u0027s Routing Table. The proposal"},{"line_number":103,"context_line":"   is to associate a BGP speaker to a router which enables access to all the"},{"line_number":104,"context_line":"   neutron-router-interfaces ie. both internal/external interfaces. A single"},{"line_number":105,"context_line":"   router can be associated to a BGP speaker and the speaker will be running"},{"line_number":106,"context_line":"   inside the L3 router namespace."},{"line_number":107,"context_line":"#. ``Enable BGP-Peering over Neutron External Networks from a Neutron Router to"}],"source_content_type":"text/x-rst","patch_set":24,"id":"60d97208_458d475b","line":104,"in_reply_to":"82390444_af403368","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":103,"context_line":"   is to associate a BGP speaker to a router which enables access to all the"},{"line_number":104,"context_line":"   neutron-router-interfaces ie. both internal/external interfaces. A single"},{"line_number":105,"context_line":"   router can be associated to a BGP speaker and the speaker will be running"},{"line_number":106,"context_line":"   inside the L3 router namespace."},{"line_number":107,"context_line":"#. ``Enable BGP-Peering over Neutron External Networks from a Neutron Router to"},{"line_number":108,"context_line":"   the ISP-PE-Router.`` This allows the ISP-PE-Router to learn the"},{"line_number":109,"context_line":"   Service-Addresses over the BGP control plane. Thereby, enabling"}],"source_content_type":"text/x-rst","patch_set":24,"id":"33a8db8e_158191d4","line":106,"updated":"2021-06-08 06:15:49.000000000","message":"this aboev last statment looks good.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":106,"context_line":"   inside the L3 router namespace."},{"line_number":107,"context_line":"#. ``Enable BGP-Peering over Neutron External Networks from a Neutron Router to"},{"line_number":108,"context_line":"   the ISP-PE-Router.`` This allows the ISP-PE-Router to learn the"},{"line_number":109,"context_line":"   Service-Addresses over the BGP control plane. Thereby, enabling"},{"line_number":110,"context_line":"   L3-reachability for subscribers on the ISP-side to leverage services offered"},{"line_number":111,"context_line":"   by VNFs (and CNFs)."},{"line_number":112,"context_line":"#. ``Support BGP peer group feature`` This will allow to transparently scale"}],"source_content_type":"text/x-rst","patch_set":24,"id":"394b8129_daf505be","line":109,"updated":"2021-06-08 06:15:49.000000000","message":"over the BGP Control Plane from Neutron Router.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":106,"context_line":"   inside the L3 router namespace."},{"line_number":107,"context_line":"#. ``Enable BGP-Peering over Neutron External Networks from a Neutron Router to"},{"line_number":108,"context_line":"   the ISP-PE-Router.`` This allows the ISP-PE-Router to learn the"},{"line_number":109,"context_line":"   Service-Addresses over the BGP control plane. Thereby, enabling"},{"line_number":110,"context_line":"   L3-reachability for subscribers on the ISP-side to leverage services offered"},{"line_number":111,"context_line":"   by VNFs (and CNFs)."},{"line_number":112,"context_line":"#. ``Support BGP peer group feature`` This will allow to transparently scale"}],"source_content_type":"text/x-rst","patch_set":24,"id":"49ee28f9_0744ee7a","line":109,"in_reply_to":"394b8129_daf505be","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":131,"context_line":" |  +-----------------+   +-----------------+    |"},{"line_number":132,"context_line":" |  |    Router1      |   |     Router2     |    |"},{"line_number":133,"context_line":" |  +-----------------+   +-----------------+    |-----------|"},{"line_number":134,"context_line":" +-----------------------------------------------+           |"},{"line_number":135,"context_line":"                         |                                   |"},{"line_number":136,"context_line":"                         |                                 EBGP"},{"line_number":137,"context_line":" +-----------------------------------------------+           |"}],"source_content_type":"text/x-rst","patch_set":24,"id":"a76b1f8c_07ff0ba1","line":134,"updated":"2021-06-08 06:15:49.000000000","message":"is there a reason why we show two \"Routers\" and two \"ISP-PE-Routers\"? Can\u0027t this be just one router to one PE-Router.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":144,"context_line":"To advertise the multiple service addresses hosted by VNFs to ISP-PE routers,"},{"line_number":145,"context_line":"2 BGP sessions are created. One BGP session created directly towards the VNFs"},{"line_number":146,"context_line":"from a Neutron Router hosting the neutron-tenant-networks of the VNF. And the"},{"line_number":147,"context_line":"next BGP-Peering towards the ISP-PE-Routers directly over the Neutron External"},{"line_number":148,"context_line":"Networks."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Proposal is to enhance existing BGPaas (see [6]_), allow neutron router to be"}],"source_content_type":"text/x-rst","patch_set":24,"id":"9616739f_2444e0e4","line":147,"updated":"2021-06-08 06:15:49.000000000","message":"towards ISP-PE-Routers from Neutron Router","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":144,"context_line":"To advertise the multiple service addresses hosted by VNFs to ISP-PE routers,"},{"line_number":145,"context_line":"2 BGP sessions are created. One BGP session created directly towards the VNFs"},{"line_number":146,"context_line":"from a Neutron Router hosting the neutron-tenant-networks of the VNF. And the"},{"line_number":147,"context_line":"next BGP-Peering towards the ISP-PE-Routers directly over the Neutron External"},{"line_number":148,"context_line":"Networks."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Proposal is to enhance existing BGPaas (see [6]_), allow neutron router to be"}],"source_content_type":"text/x-rst","patch_set":24,"id":"f822be5c_08bc1f45","line":147,"in_reply_to":"9616739f_2444e0e4","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":170,"context_line":"BGP speaker to the router. ``BGP L3 agent extension`` will implement the L3"},{"line_number":171,"context_line":"agent side of BGP enhancements. It will be responsible for realizing"},{"line_number":172,"context_line":"bgpspeaker inside the router-namespace and now bgpspeaker can peer with"},{"line_number":173,"context_line":"anybody through the router-interface-ip-address of router. BGP speaker can"},{"line_number":174,"context_line":"listen on 0.0.0.0:179 which enables it to listen on all the"},{"line_number":175,"context_line":"neutron-router-interfaces and can peer with the neighbour based on the"},{"line_number":176,"context_line":"configuration."}],"source_content_type":"text/x-rst","patch_set":24,"id":"c0d3a84f_1eb0efb7","line":173,"updated":"2021-06-08 06:15:49.000000000","message":"peer over networks on the router from inside the router-namespace","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":170,"context_line":"BGP speaker to the router. ``BGP L3 agent extension`` will implement the L3"},{"line_number":171,"context_line":"agent side of BGP enhancements. It will be responsible for realizing"},{"line_number":172,"context_line":"bgpspeaker inside the router-namespace and now bgpspeaker can peer with"},{"line_number":173,"context_line":"anybody through the router-interface-ip-address of router. BGP speaker can"},{"line_number":174,"context_line":"listen on 0.0.0.0:179 which enables it to listen on all the"},{"line_number":175,"context_line":"neutron-router-interfaces and can peer with the neighbour based on the"},{"line_number":176,"context_line":"configuration."}],"source_content_type":"text/x-rst","patch_set":24,"id":"a3e753f7_1eae7e03","line":173,"in_reply_to":"c0d3a84f_1eb0efb7","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":199,"context_line":"~~~~~~~~"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Since BGP speaker is spawned inside router namespace, it can be used only"},{"line_number":202,"context_line":"within the particular namespace. For another BGP speaker associated router, a"},{"line_number":203,"context_line":"different BGP speaker has to be instantiated. This questions the scalability"},{"line_number":204,"context_line":"of option 1."},{"line_number":205,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"7590dbc2_5ac6f83a","line":202,"updated":"2021-06-08 06:15:49.000000000","message":"In Option 1 since BGP speaker is spawned inside router namespace, the speaker is tightly coupled with that router namespace. For a different BGP Speaker on a different router, wherein that router in turn is realized on the same network-node hosting the original router, a new instantiation of the Speaker is required.   This could potentially bring in scalability and performance problems with Option 1.\n\n\nnext para start:\n\nIn Option 2, the proposal is to create an use a VRF for BGP-Peering.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":199,"context_line":"~~~~~~~~"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Since BGP speaker is spawned inside router namespace, it can be used only"},{"line_number":202,"context_line":"within the particular namespace. For another BGP speaker associated router, a"},{"line_number":203,"context_line":"different BGP speaker has to be instantiated. This questions the scalability"},{"line_number":204,"context_line":"of option 1."},{"line_number":205,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"e5d46504_f945165f","line":202,"in_reply_to":"7590dbc2_5ac6f83a","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":238,"context_line":"Extra IPs has to be allocated from internal and external subnet pools for the"},{"line_number":239,"context_line":"vr, vg interfaces respectively. These IPs will be used for BGP peering and"},{"line_number":240,"context_line":"the allocation of new IPs can be considered as a short coming with this"},{"line_number":241,"context_line":"approach."},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Option 3"},{"line_number":244,"context_line":"~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":24,"id":"ab577f8d_0c8d00c6","line":241,"updated":"2021-06-08 06:15:49.000000000","message":"short coming with this option","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":238,"context_line":"Extra IPs has to be allocated from internal and external subnet pools for the"},{"line_number":239,"context_line":"vr, vg interfaces respectively. These IPs will be used for BGP peering and"},{"line_number":240,"context_line":"the allocation of new IPs can be considered as a short coming with this"},{"line_number":241,"context_line":"approach."},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Option 3"},{"line_number":244,"context_line":"~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":24,"id":"35b0b358_6e4ea2e7","line":241,"in_reply_to":"ab577f8d_0c8d00c6","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":269,"context_line":"instances will be run, one on active router namespace and other on the standby"},{"line_number":270,"context_line":"router namespace. Whenever the failover happens from Active to Standby"},{"line_number":271,"context_line":"Namespace, the BGPSpeaker on Standby will be able to peer with BGP-Peers and"},{"line_number":272,"context_line":"become an Active-BGP-Speaker managing the Router."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"The current implementation supports only Centralized Neutron Routers (both HA"},{"line_number":275,"context_line":"and non-HA) and not Distributed Routers"}],"source_content_type":"text/x-rst","patch_set":24,"id":"aecf844f_fe2acb14","line":272,"updated":"2021-06-08 06:15:49.000000000","message":"Can you please let us know if current BGPaaS is able to function with Highly Available Neutron Router ?","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"fd99805f672d12e104af68d5a827ea6f33f26626","unresolved":true,"context_lines":[{"line_number":269,"context_line":"instances will be run, one on active router namespace and other on the standby"},{"line_number":270,"context_line":"router namespace. Whenever the failover happens from Active to Standby"},{"line_number":271,"context_line":"Namespace, the BGPSpeaker on Standby will be able to peer with BGP-Peers and"},{"line_number":272,"context_line":"become an Active-BGP-Speaker managing the Router."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"The current implementation supports only Centralized Neutron Routers (both HA"},{"line_number":275,"context_line":"and non-HA) and not Distributed Routers"}],"source_content_type":"text/x-rst","patch_set":24,"id":"3f29d48a_afe87e51","line":272,"in_reply_to":"7c13f21e_9ea4cd6c","updated":"2021-06-09 07:22:52.000000000","message":"Understood.   If we use an ACTIVE-STANDBY Reference Router with already present BGPaaS,  does such routers share the same external-gw-port-ip-address, or does the ACTIVE \u0026 STANDBY use their own unique external-gw-port-ip-addresses?\n\nThis would be good to know because when the BGP-DR-Agent based bgp-daemon advertises the VM-routes-on-router,  which external-network-ip does it send as nexthop values for those routes?","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":true,"context_lines":[{"line_number":269,"context_line":"instances will be run, one on active router namespace and other on the standby"},{"line_number":270,"context_line":"router namespace. Whenever the failover happens from Active to Standby"},{"line_number":271,"context_line":"Namespace, the BGPSpeaker on Standby will be able to peer with BGP-Peers and"},{"line_number":272,"context_line":"become an Active-BGP-Speaker managing the Router."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"The current implementation supports only Centralized Neutron Routers (both HA"},{"line_number":275,"context_line":"and non-HA) and not Distributed Routers"}],"source_content_type":"text/x-rst","patch_set":24,"id":"7c13f21e_9ea4cd6c","line":272,"in_reply_to":"aecf844f_fe2acb14","updated":"2021-06-09 06:49:40.000000000","message":"In the existing implementation, both of them shouldn\u0027t be related. BGPaaS deploy the speaker in the host node and that wouldn\u0027t interfere with router functionality. Hope I understood the question correctly.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":272,"context_line":"become an Active-BGP-Speaker managing the Router."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"The current implementation supports only Centralized Neutron Routers (both HA"},{"line_number":275,"context_line":"and non-HA) and not Distributed Routers"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"REST API \u0026 Neutron client command Impact"},{"line_number":278,"context_line":"----------------------------------------"}],"source_content_type":"text/x-rst","patch_set":24,"id":"e7879931_41291d7d","line":275,"updated":"2021-06-08 06:15:49.000000000","message":"current implementation means \u0027existing BGPaaS\u0027 or we are claiming here that the implementation of this Spec will NOT support distributed routers?  Can this line be more clarified in spec please\u003e","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":272,"context_line":"become an Active-BGP-Speaker managing the Router."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"The current implementation supports only Centralized Neutron Routers (both HA"},{"line_number":275,"context_line":"and non-HA) and not Distributed Routers"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"REST API \u0026 Neutron client command Impact"},{"line_number":278,"context_line":"----------------------------------------"}],"source_content_type":"text/x-rst","patch_set":24,"id":"43d2edf3_13404227","line":275,"in_reply_to":"e7879931_41291d7d","updated":"2021-06-09 06:49:40.000000000","message":"It is the implementation planned in the spec. will address in the next patch set.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":283,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":284,"context_line":"::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_gateway_router"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":" {"},{"line_number":289,"context_line":"       \"router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf\","}],"source_content_type":"text/x-rst","patch_set":24,"id":"fbe4c2a9_119df7fe","line":286,"updated":"2021-06-08 06:15:49.000000000","message":"can you please let us know why we used \u0027add_gateway_router\u0027 and not just \u0027add-router\u0027?   The spec allows for use of BGP-over-Router even for within cloud L3 connectivity, without the need to provide external-access to VNFs.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":283,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":284,"context_line":"::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/add_gateway_router"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":" {"},{"line_number":289,"context_line":"       \"router_id\":\" c930d7f6-ceb7-40a0-8b81-a425dd994ccf\","}],"source_content_type":"text/x-rst","patch_set":24,"id":"83765730_70a35e5f","line":286,"in_reply_to":"fbe4c2a9_119df7fe","updated":"2021-06-09 06:49:40.000000000","message":"Thanks. I had changed it earlier depending on our initial plan and also to make it similar to \u0027add_gateway_network\u0027. But add_router is more correct, will address it in next patch","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":294,"context_line":"  to be associated."},{"line_number":295,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"},{"line_number":296,"context_line":"  redistributed to bgp-peers by the bgpspeaker. By default, it will be"},{"line_number":297,"context_line":"  redistributed to bgp-peers by the bgpspeaker.  Turning OFF"},{"line_number":298,"context_line":"  redistribute-static will disable advertisement of router’s static-routes by"},{"line_number":299,"context_line":"  the bgpspeaker."},{"line_number":300,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"76e41236_e06d5a2a","line":297,"updated":"2021-06-08 06:15:49.000000000","message":"default is \"True\" and thence all static routes will be redistributed to every other bgp-peer that is bound to the BGP Speaker","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":294,"context_line":"  to be associated."},{"line_number":295,"context_line":"* ``redistribute_static`` decides whether static routes on the router will be"},{"line_number":296,"context_line":"  redistributed to bgp-peers by the bgpspeaker. By default, it will be"},{"line_number":297,"context_line":"  redistributed to bgp-peers by the bgpspeaker.  Turning OFF"},{"line_number":298,"context_line":"  redistribute-static will disable advertisement of router’s static-routes by"},{"line_number":299,"context_line":"  the bgpspeaker."},{"line_number":300,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"e6e779f4_2d59276e","line":297,"in_reply_to":"76e41236_e06d5a2a","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":301,"context_line":".. note::"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    The enhancement will support only a single speaker to be associated with"},{"line_number":304,"context_line":"    the neutron router. The association of router to speaker and network to"},{"line_number":305,"context_line":"    speaker will be a mutually exclusive operation."},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"New neutron Client Command::"}],"source_content_type":"text/x-rst","patch_set":24,"id":"57f13eb9_f7565222","line":304,"updated":"2021-06-08 06:15:49.000000000","message":"can you please clarify if bgp-speaker entity \u0027IP version\u0027 is used for BGP Peer association validation (or) does that \u0027IP version\u0027 field has more significance like impacting family-of-routes exchangeable by that BGP SPeaker over the control-plane?\n\nCould the above statement be restated as , that we will support a router to be associated to only a single BGP Speaker?","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":301,"context_line":".. note::"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    The enhancement will support only a single speaker to be associated with"},{"line_number":304,"context_line":"    the neutron router. The association of router to speaker and network to"},{"line_number":305,"context_line":"    speaker will be a mutually exclusive operation."},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"New neutron Client Command::"}],"source_content_type":"text/x-rst","patch_set":24,"id":"e053ea4a_863d2435","line":304,"in_reply_to":"57f13eb9_f7565222","updated":"2021-06-09 06:49:40.000000000","message":"Yes, BGP speaker \u0027ip version\u0027 has significance in route advertisment.\nTo enable advertising IPv6 prefixes, a BGP speaker with ip_version\u003d6 and an address scope with ip_version\u003d6 has to be created. More details in the below link\nhttps://docs.openstack.org/neutron/rocky/admin/config-bgp-dynamic-routing.html#ipv6","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"fd99805f672d12e104af68d5a827ea6f33f26626","unresolved":false,"context_lines":[{"line_number":301,"context_line":".. note::"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    The enhancement will support only a single speaker to be associated with"},{"line_number":304,"context_line":"    the neutron router. The association of router to speaker and network to"},{"line_number":305,"context_line":"    speaker will be a mutually exclusive operation."},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"New neutron Client Command::"}],"source_content_type":"text/x-rst","patch_set":24,"id":"e42ed99b_7535adc9","line":304,"in_reply_to":"e053ea4a_863d2435","updated":"2021-06-09 07:22:52.000000000","message":"This we will need to come with more clarity.  let us discuss and come back.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":"New neutron Client Command::"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":" openstack bgp speaker add router"},{"line_number":310,"context_line":"               [--redistribute-static]"},{"line_number":311,"context_line":"               [--no-redistribute-static]"},{"line_number":312,"context_line":"               \u003cbgpspeaker\u003e"}],"source_content_type":"text/x-rst","patch_set":24,"id":"24ed9466_c7cc35f3","line":309,"updated":"2021-06-08 06:15:49.000000000","message":"having an API use \u0027add-gateway-router\u0027 while CLI using \u0027add router\u0027 looks unmatching :)","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":"New neutron Client Command::"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":" openstack bgp speaker add router"},{"line_number":310,"context_line":"               [--redistribute-static]"},{"line_number":311,"context_line":"               [--no-redistribute-static]"},{"line_number":312,"context_line":"               \u003cbgpspeaker\u003e"}],"source_content_type":"text/x-rst","patch_set":24,"id":"76becc4f_98a694fc","line":309,"in_reply_to":"24ed9466_c7cc35f3","updated":"2021-06-09 06:49:40.000000000","message":"Ack","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":353,"context_line":" }"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"* ``nexthop`` is the ip address of the nexthop"},{"line_number":356,"context_line":"* ``cidr`` represents the CIDR prefix."},{"line_number":357,"context_line":"* ``route-type`` can be local or peer based on whether the routes are local or"},{"line_number":358,"context_line":"  learnt from the peer respectively."},{"line_number":359,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"dc06e4a5_8d65ee15","line":356,"updated":"2021-06-08 06:15:49.000000000","message":"if a given route has multiple nexthops, can you educate how the above rest output will be formatted?\n\nAlso is there way to know from which Peer a route was learnt in the output?","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":true,"context_lines":[{"line_number":353,"context_line":" }"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"* ``nexthop`` is the ip address of the nexthop"},{"line_number":356,"context_line":"* ``cidr`` represents the CIDR prefix."},{"line_number":357,"context_line":"* ``route-type`` can be local or peer based on whether the routes are local or"},{"line_number":358,"context_line":"  learnt from the peer respectively."},{"line_number":359,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"df22be0c_c2092b35","line":356,"in_reply_to":"dc06e4a5_8d65ee15","updated":"2021-06-09 06:49:40.000000000","message":"Yes we can make the nexthop as a list to support multiple nexthops.\n\nAnd for the second question, is nexthop information enough to identify peer?","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"fd99805f672d12e104af68d5a827ea6f33f26626","unresolved":true,"context_lines":[{"line_number":353,"context_line":" }"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"* ``nexthop`` is the ip address of the nexthop"},{"line_number":356,"context_line":"* ``cidr`` represents the CIDR prefix."},{"line_number":357,"context_line":"* ``route-type`` can be local or peer based on whether the routes are local or"},{"line_number":358,"context_line":"  learnt from the peer respectively."},{"line_number":359,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"3c25f8ce_48518ea8","line":356,"in_reply_to":"df22be0c_c2092b35","updated":"2021-06-09 07:22:52.000000000","message":"peer should a be a bgp-peer-uuid or should represent bgp-peer-ip.  \nWas requesting this comment only to enable visibility and troubleshooting, but this can be lowest priority.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":377,"context_line":"       \"project_id\":\"\","},{"line_number":378,"context_line":"       \"remote_asn\":\"4566\","},{"line_number":379,"context_line":"       \"next_hop_self\" : True,"},{"line_number":380,"context_line":"       \"update_source_ip\": \"10.20.1.5\""},{"line_number":381,"context_line":"       \"auth_type\": \"md5\","},{"line_number":382,"context_line":"       \"password\": \"\u003cpasswd\u003e\""},{"line_number":383,"context_line":"     }"}],"source_content_type":"text/x-rst","patch_set":24,"id":"84f0fd00_caaa3e17","line":380,"updated":"2021-06-08 06:15:49.000000000","message":"won\u0027t having next-hop-self and update-source-ip inside a peer-group tightly couple a peer-group to specific bgp-peer.  \n\nSuggest that these two fields be retained at the BGP Peer level (like listen-range) rather than inside Peer-Group Level.. Please let us know your thoughts..","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"fd99805f672d12e104af68d5a827ea6f33f26626","unresolved":true,"context_lines":[{"line_number":377,"context_line":"       \"project_id\":\"\","},{"line_number":378,"context_line":"       \"remote_asn\":\"4566\","},{"line_number":379,"context_line":"       \"next_hop_self\" : True,"},{"line_number":380,"context_line":"       \"update_source_ip\": \"10.20.1.5\""},{"line_number":381,"context_line":"       \"auth_type\": \"md5\","},{"line_number":382,"context_line":"       \"password\": \"\u003cpasswd\u003e\""},{"line_number":383,"context_line":"     }"}],"source_content_type":"text/x-rst","patch_set":24,"id":"80a10818_bfb7b4b6","line":380,"in_reply_to":"7a191cac_29d67600","updated":"2021-06-09 07:22:52.000000000","message":"Can we please see other backends (vendors) on where they support update-source \u0026 next-hop-self for peer-group functionality?","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":true,"context_lines":[{"line_number":377,"context_line":"       \"project_id\":\"\","},{"line_number":378,"context_line":"       \"remote_asn\":\"4566\","},{"line_number":379,"context_line":"       \"next_hop_self\" : True,"},{"line_number":380,"context_line":"       \"update_source_ip\": \"10.20.1.5\""},{"line_number":381,"context_line":"       \"auth_type\": \"md5\","},{"line_number":382,"context_line":"       \"password\": \"\u003cpasswd\u003e\""},{"line_number":383,"context_line":"     }"}],"source_content_type":"text/x-rst","patch_set":24,"id":"7a191cac_29d67600","line":380,"in_reply_to":"84f0fd00_caaa3e17","updated":"2021-06-09 06:49:40.000000000","message":"As of now in the current spec, next-hop-self and update-source-ip is supported inside both peer-groups as well as in peers (https://review.opendev.org/c/openstack/neutron-specs/+/783791/24/specs/xena/bgpaas-enhancements.rst#457).\nIf it is only required in bgp-peers, then I will modify in next patch, Please let me know","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":"::"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":" DELETE /v2.0/bgp-peer-groups/\u003cbgp-peer-group-id\u003e"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"New Neutron Client Commands::"},{"line_number":415,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"47d25b20_0b35f175","line":412,"updated":"2021-06-08 06:15:49.000000000","message":"Deletion of peer-group will succeed only if there are no BGP-Peers referring to this peer-group.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":"::"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":" DELETE /v2.0/bgp-peer-groups/\u003cbgp-peer-group-id\u003e"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"New Neutron Client Commands::"},{"line_number":415,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"d448bc9d_2b15ac52","line":412,"in_reply_to":"47d25b20_0b35f175","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":"``peer-group`` attribute is introduced in the already existing ``bgp peer``"},{"line_number":454,"context_line":"neutron client command. It specifies the name/UUID of the BGP peer group to"},{"line_number":455,"context_line":"which peer has to be associated."},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"Create BGP peers with update-source and next-hop-self parameters API"},{"line_number":458,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":24,"id":"b4d8e8f5_04c67d88","line":455,"updated":"2021-06-08 06:15:49.000000000","message":"of the BGP Peer Group that has to be used by BGP Peer\n\nThought would be good to avoid over-use of \u0027association\u0027 term\n\nIt would also be good to state that a BGP-Peer-Group can be re-used by multiple BGP Peers.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":"``peer-group`` attribute is introduced in the already existing ``bgp peer``"},{"line_number":454,"context_line":"neutron client command. It specifies the name/UUID of the BGP peer group to"},{"line_number":455,"context_line":"which peer has to be associated."},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"Create BGP peers with update-source and next-hop-self parameters API"},{"line_number":458,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":24,"id":"06b91b91_2e459302","line":455,"in_reply_to":"b4d8e8f5_04c67d88","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":508,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":509,"context_line":"| update_source_ip    | String   | Forces BGP to use the IP address         |"},{"line_number":510,"context_line":"|                     |          | specified while talking to a BGP neighbor|"},{"line_number":511,"context_line":"| next_hop_self       | Boolean  | decides whether to modify the nexthop    |"},{"line_number":512,"context_line":"|                     |          | attribute to its own during BGP          |"},{"line_number":513,"context_line":"|                     |          | advertisement                            |"},{"line_number":514,"context_line":"+---------------------+----------+------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":24,"id":"fabea0dd_ce0d638e","line":511,"updated":"2021-06-08 06:15:49.000000000","message":"Setting to True enables all published routes to carry BGPSpeaker IP address over the BGP Control Plane towards this BGP Peer.","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":508,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":509,"context_line":"| update_source_ip    | String   | Forces BGP to use the IP address         |"},{"line_number":510,"context_line":"|                     |          | specified while talking to a BGP neighbor|"},{"line_number":511,"context_line":"| next_hop_self       | Boolean  | decides whether to modify the nexthop    |"},{"line_number":512,"context_line":"|                     |          | attribute to its own during BGP          |"},{"line_number":513,"context_line":"|                     |          | advertisement                            |"},{"line_number":514,"context_line":"+---------------------+----------+------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":24,"id":"3545dbc1_445a94fd","line":511,"in_reply_to":"fabea0dd_ce0d638e","updated":"2021-06-09 06:49:40.000000000","message":"Done","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":536,"context_line":"| project_id          | String   | Owner of the BGP peer group              |"},{"line_number":537,"context_line":"| remote_asn          | Integer  | Remote AS number of a BGP peer group     |"},{"line_number":538,"context_line":"| update_source_ip    | String   | Forces BGP to use the IP address         |"},{"line_number":539,"context_line":"|                     |          | specified while talking to a BGP neighbor|"},{"line_number":540,"context_line":"| next_hop_self       | Boolean  | decides whether to modify the nexthop    |"},{"line_number":541,"context_line":"|                     |          | attribute to its own during BGP          |"},{"line_number":542,"context_line":"|                     |          | advertisement                            |"}],"source_content_type":"text/x-rst","patch_set":24,"id":"08b759f4_0150a61d","line":539,"updated":"2021-06-08 06:15:49.000000000","message":"ditto comments as above for possibly not additionally having update-source and nexthopself inside peer-group","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"f7f390a4aeb26253d3af283aafb4fb234ed06657","unresolved":true,"context_lines":[{"line_number":573,"context_line":"----------"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"* REST API update."},{"line_number":576,"context_line":"* BGP plugin, L3 plugin, L3 agent update to handle BGP:"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"  * Associate router to bgp speaker"},{"line_number":579,"context_line":"  * Disassociate router from bgp speaker."}],"source_content_type":"text/x-rst","patch_set":24,"id":"8293fea2_fa2d9f04","line":576,"updated":"2021-06-08 06:15:49.000000000","message":"is L3 plugin changes required?","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"62dc47b1e2180e90bcff1b0568f0bec1e2d7e0c2","unresolved":false,"context_lines":[{"line_number":573,"context_line":"----------"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"* REST API update."},{"line_number":576,"context_line":"* BGP plugin, L3 plugin, L3 agent update to handle BGP:"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"  * Associate router to bgp speaker"},{"line_number":579,"context_line":"  * Disassociate router from bgp speaker."}],"source_content_type":"text/x-rst","patch_set":24,"id":"6d1d86aa_14b7fbfa","line":576,"in_reply_to":"8293fea2_fa2d9f04","updated":"2021-06-09 06:49:40.000000000","message":"not required, will be addressed in next patch","commit_id":"6a4636167f5ec4389a3222d50a365402577d11ff"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":322,"context_line":"  \"router_association\":"},{"line_number":323,"context_line":"      {"},{"line_number":324,"context_line":"       \"router_id\": \"c930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":325,"context_line":"       \"redistribute\":  {\"static\": True}"},{"line_number":326,"context_line":"      }"},{"line_number":327,"context_line":" }"},{"line_number":328,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"fd20eba9_0ef5b557","line":325,"updated":"2021-06-22 05:59:35.000000000","message":"can this be \"advertise_extra_routes\": \"True\"\n\ndefaulted to True.   We may need to use \u0027advertise_extra_routes\u0027 to align with other paramters existing in bgpspeaker like advertise_tenant_networks,  advertise_floating_ips etc.","commit_id":"d3a0ce1bbab2d8f0347e2aeaa6c55c7c0a2d9328"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"1e35062232202655351466635e5929210496bf4d","unresolved":false,"context_lines":[{"line_number":322,"context_line":"  \"router_association\":"},{"line_number":323,"context_line":"      {"},{"line_number":324,"context_line":"       \"router_id\": \"c930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":325,"context_line":"       \"redistribute\":  {\"static\": True}"},{"line_number":326,"context_line":"      }"},{"line_number":327,"context_line":" }"},{"line_number":328,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"8b280ed8_ae92d894","line":325,"in_reply_to":"fd20eba9_0ef5b557","updated":"2021-06-23 11:14:00.000000000","message":"Done","commit_id":"d3a0ce1bbab2d8f0347e2aeaa6c55c7c0a2d9328"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":343,"context_line":"New neutron Client Command::"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":" openstack bgp speaker router association create"},{"line_number":346,"context_line":"               [--redistribute-static]"},{"line_number":347,"context_line":"               [--no-redistribute-static]"},{"line_number":348,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":349,"context_line":"               \u003crouter\u003e"}],"source_content_type":"text/x-rst","patch_set":26,"id":"18061b86_94e4a1ce","line":346,"updated":"2021-06-22 05:59:35.000000000","message":"\"advertise-extra-routes\" / \"no-advertise-extra-routes\"","commit_id":"d3a0ce1bbab2d8f0347e2aeaa6c55c7c0a2d9328"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"1e35062232202655351466635e5929210496bf4d","unresolved":false,"context_lines":[{"line_number":343,"context_line":"New neutron Client Command::"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":" openstack bgp speaker router association create"},{"line_number":346,"context_line":"               [--redistribute-static]"},{"line_number":347,"context_line":"               [--no-redistribute-static]"},{"line_number":348,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":349,"context_line":"               \u003crouter\u003e"}],"source_content_type":"text/x-rst","patch_set":26,"id":"194942b1_d8c86035","line":346,"in_reply_to":"18061b86_94e4a1ce","updated":"2021-06-23 11:14:00.000000000","message":"Done","commit_id":"d3a0ce1bbab2d8f0347e2aeaa6c55c7c0a2d9328"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b25f4b2086809c6c502c35c9f3041e57f49088bc","unresolved":true,"context_lines":[{"line_number":112,"context_line":"   VNFs (or CNFs) on its connected networks.`` This provides L3 reachability to"},{"line_number":113,"context_line":"   the service-addresses hosted on such VNFs, as such addresses will be"},{"line_number":114,"context_line":"   installed in the Neutron Router\u0027s routing-table by the BGPaaS control"},{"line_number":115,"context_line":"   plane. The proposal is to to provide facility to directly associate a BGP"},{"line_number":116,"context_line":"   Speaker to a neutron-router, that will in turn enable the router to reach"},{"line_number":117,"context_line":"   BGP-Control plane learned routes from the VNF.. A single router can be"},{"line_number":118,"context_line":"   associated to a BGP speaker and the speaker will be running inside the L3"}],"source_content_type":"text/x-rst","patch_set":29,"id":"d3c77ce3_b7a81acb","line":115,"range":{"start_line":115,"start_character":26,"end_line":115,"end_character":31},"updated":"2021-06-16 08:57:44.000000000","message":"nitty nit: double \"to\"","commit_id":"3baa5f813e622c7d2acacb4323241644d06fa42b"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"1e35062232202655351466635e5929210496bf4d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"   VNFs (or CNFs) on its connected networks.`` This provides L3 reachability to"},{"line_number":113,"context_line":"   the service-addresses hosted on such VNFs, as such addresses will be"},{"line_number":114,"context_line":"   installed in the Neutron Router\u0027s routing-table by the BGPaaS control"},{"line_number":115,"context_line":"   plane. The proposal is to to provide facility to directly associate a BGP"},{"line_number":116,"context_line":"   Speaker to a neutron-router, that will in turn enable the router to reach"},{"line_number":117,"context_line":"   BGP-Control plane learned routes from the VNF.. A single router can be"},{"line_number":118,"context_line":"   associated to a BGP speaker and the speaker will be running inside the L3"}],"source_content_type":"text/x-rst","patch_set":29,"id":"f3851f62_558148c5","line":115,"range":{"start_line":115,"start_character":26,"end_line":115,"end_character":31},"in_reply_to":"d3c77ce3_b7a81acb","updated":"2021-06-23 11:14:00.000000000","message":"Done","commit_id":"3baa5f813e622c7d2acacb4323241644d06fa42b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b25f4b2086809c6c502c35c9f3041e57f49088bc","unresolved":true,"context_lines":[{"line_number":462,"context_line":"  has realized the peer association successfully on the cloud-substrate."},{"line_number":463,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"Create BGP speaker Network Association"},{"line_number":466,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":29,"id":"94827908_6e460a8c","line":465,"updated":"2021-06-16 08:57:44.000000000","message":"isn\u0027t all of that something what we already have in https://docs.openstack.org/api-ref/network/v2/?expanded\u003dassociate-flavor-with-a-service-profile-detail#bgp-dynamic-routing ?","commit_id":"3baa5f813e622c7d2acacb4323241644d06fa42b"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"1e35062232202655351466635e5929210496bf4d","unresolved":true,"context_lines":[{"line_number":462,"context_line":"  has realized the peer association successfully on the cloud-substrate."},{"line_number":463,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"Create BGP speaker Network Association"},{"line_number":466,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":29,"id":"5b573791_edea9a03","line":465,"in_reply_to":"94827908_6e460a8c","updated":"2021-06-23 11:14:00.000000000","message":"These are associations object which are a little bit different to the existing ones\nhttps://review.opendev.org/c/openstack/neutron-specs/+/783791/30/specs/xena/bgpaas-enhancements.rst#132\n\nWe need not implement this. This was stated purely for completeness and can be taken up in the future.","commit_id":"3baa5f813e622c7d2acacb4323241644d06fa42b"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":156,"context_line":"   |                                               |"},{"line_number":157,"context_line":"   |                ISP- PE Router                 |---------|"},{"line_number":158,"context_line":"   |                                               |         |"},{"line_number":159,"context_line":"   +-----------------------------------------------+        EBGP"},{"line_number":160,"context_line":"                           |                                 |"},{"line_number":161,"context_line":"                           |                                 |"},{"line_number":162,"context_line":"   +-----------------------------------------------+         |"}],"source_content_type":"text/x-rst","patch_set":30,"id":"e0b6e65b_77c9789a","line":159,"range":{"start_line":159,"start_character":60,"end_line":159,"end_character":64},"updated":"2021-06-21 12:28:40.000000000","message":"I find this figure a bit misleading, since EBGP will be in-band. I understand this wants to show the logical connection though.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":156,"context_line":"   |                                               |"},{"line_number":157,"context_line":"   |                ISP- PE Router                 |---------|"},{"line_number":158,"context_line":"   |                                               |         |"},{"line_number":159,"context_line":"   +-----------------------------------------------+        EBGP"},{"line_number":160,"context_line":"                           |                                 |"},{"line_number":161,"context_line":"                           |                                 |"},{"line_number":162,"context_line":"   +-----------------------------------------------+         |"}],"source_content_type":"text/x-rst","patch_set":30,"id":"da3e598e_521312c2","line":159,"range":{"start_line":159,"start_character":60,"end_line":159,"end_character":64},"in_reply_to":"e0b6e65b_77c9789a","updated":"2021-06-22 05:59:35.000000000","message":"we can use a different symbol like ~~~  for showing logical connections and use the current --- for showing physical connections..","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":318,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":319,"context_line":"::"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":" POST /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":" {"},{"line_number":324,"context_line":"  \"router_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"c3a66d24_4bbafdd5","line":321,"updated":"2021-06-21 12:28:40.000000000","message":"Is this part of the same of Neutron API extension as the other proposed API changes? For client side programmers and other implementors of this spec it may be best to have one extension for each new/changed resource. Could you please add the proposed extension names to the spec? For example: bgp-speaker-learn, bgp-peer-group, bgp-peer-something (for the update source ip and next hop self attributes), bgp-speaker-router-association, bgp-speaker-peer-association, bgp-speaker-net-association, ...","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":318,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":319,"context_line":"::"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":" POST /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":" {"},{"line_number":324,"context_line":"  \"router_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"3624c9e2_03267c9b","line":321,"in_reply_to":"c3a66d24_4bbafdd5","updated":"2021-06-22 05:59:35.000000000","message":"Having multiple extensions might be cumbersome.   \n\nIs this subset ok:\nbgp-learn (this will cover learning, update-source-ip of bgp peer, next-hop-self of bgp peer)\nbgp-speaker-associations  (within which we cover router-association, peer-association)\nbgp-peer-with-peer-group","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":369,"context_line":"::"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations/\u003crouter"},{"line_number":372,"context_line":"     -association-uuid\u003e"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":" {"},{"line_number":375,"context_line":"  \"router_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"cce35a37_1d42e3d1","line":372,"updated":"2021-06-21 12:28:40.000000000","message":"What functionality does update give us over delete-and-create? Likely we don\u0027t need update at all.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":369,"context_line":"::"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":" PUT /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations/\u003crouter"},{"line_number":372,"context_line":"     -association-uuid\u003e"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":" {"},{"line_number":375,"context_line":"  \"router_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"5e61bc2f_d3a3b296","line":372,"in_reply_to":"cce35a37_1d42e3d1","updated":"2021-06-22 05:59:35.000000000","message":"A delete and create will result in a dataplane outage , as a delete of association will remove all the external routes by this bgpspeaker that it received from multiple bgp-peers.\n\nAPIs have to be designed that such a way that changing selective parameters for existing entities should be via UPDATE workflow rather than a delete-followed-by-create.\n\nredistributing static when made True from False, immediately the BGP Speaker will advertise all the static routes to the existing configured peers.  The vice-versa of withdrawal of routes will happen when the flag is changed to False from True","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":390,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":391,"context_line":"               \u003crouter\u003e"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"Show BGP Speaker Router Association"},{"line_number":394,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":395,"context_line":"::"},{"line_number":396,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"d93a7499_593edaeb","line":393,"range":{"start_line":393,"start_character":34,"end_line":393,"end_character":35},"updated":"2021-06-21 12:28:40.000000000","message":"There\u0027s some confusion in this section: the title and the example response shows singular, but the request shows plural router_associations.\n\nAlso do we need something like this?\nGET /v2.0/router_associations/\u003crouter-association-id\u003e","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":390,"context_line":"               \u003cbgpspeaker\u003e"},{"line_number":391,"context_line":"               \u003crouter\u003e"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"Show BGP Speaker Router Association"},{"line_number":394,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":395,"context_line":"::"},{"line_number":396,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"c47966f7_f23318b4","line":393,"range":{"start_line":393,"start_character":34,"end_line":393,"end_character":35},"in_reply_to":"d93a7499_593edaeb","updated":"2021-06-22 05:59:35.000000000","message":"Comment taken..\n\nWe should support GET of singular router-association for a specific-router-to-speaker as well as plural router-associations that will output all the routers associated to a given bgp-speaker.\n\n GET /v2.0/router_associations/\u003crouter-association-id\u003e\" is not the correct URL. The right one is\n  GET /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations/\u003crouter-association-id\u003e","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":394,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":395,"context_line":"::"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":" GET /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":" {"},{"line_number":400,"context_line":"  \"router_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"d1fba9c8_7b9a5c9a","line":397,"updated":"2021-06-21 12:28:40.000000000","message":"Can we delete a bgp speaker while there is a router associated with it?\n\nCan we delete a router while there is a bgp speaker router association for it? In the Neutron API the usual convention is that we cannot. That is router deletion does not auto-delete the relevant associations. However if we have a reason and its documented, I think then we can have auto-delete too. But we should have it written here, which one will happen.\n\nIf we cannot delete a router while having associations, how does the user discover which associations are blocking the delete? That is, how does the user query the associations starting from a router?","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"1e35062232202655351466635e5929210496bf4d","unresolved":false,"context_lines":[{"line_number":394,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":395,"context_line":"::"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":" GET /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":" {"},{"line_number":400,"context_line":"  \"router_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"f5fb301e_d5683544","line":397,"in_reply_to":"78849074_0a1d5318","updated":"2021-06-23 11:14:00.000000000","message":"thanks, will be captured in the next patchset","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":394,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":395,"context_line":"::"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":" GET /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":" {"},{"line_number":400,"context_line":"  \"router_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"78849074_0a1d5318","line":397,"in_reply_to":"d1fba9c8_7b9a5c9a","updated":"2021-06-22 05:59:35.000000000","message":"NO, we donot allow the operation of deleting a bgp-speaker that has a router-associated to it.\n\nDeleting a router when there is a bgpspeaker using it is also disallowed.\n\nAuto-delete via DB Cascading is not good system-design for dependent resources in Neutron, such a design doesn\u0027t give the necessary callback-opportunity to the neutron backends for a proper delete workflow and cleanup.\n\nPlease do a \"openstack bgp speaker router association list \u003cbgpspeaker\u003e\" will show list of router-assocation-ids under a given bgp speaker.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":401,"context_line":"      {"},{"line_number":402,"context_line":"       \"router_id\": \"c930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":403,"context_line":"       \"redistribute\":  {\"static\": True}"},{"line_number":404,"context_line":"       \"status\": ACTIVE"},{"line_number":405,"context_line":"      }"},{"line_number":406,"context_line":" }"},{"line_number":407,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"7cb05557_612e32d9","line":404,"range":{"start_line":404,"start_character":17,"end_line":404,"end_character":23},"updated":"2021-06-21 12:28:40.000000000","message":"nit: missing apostrophes","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"1e35062232202655351466635e5929210496bf4d","unresolved":false,"context_lines":[{"line_number":401,"context_line":"      {"},{"line_number":402,"context_line":"       \"router_id\": \"c930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":403,"context_line":"       \"redistribute\":  {\"static\": True}"},{"line_number":404,"context_line":"       \"status\": ACTIVE"},{"line_number":405,"context_line":"      }"},{"line_number":406,"context_line":" }"},{"line_number":407,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"ac1fc6fc_7f8dea4b","line":404,"range":{"start_line":404,"start_character":17,"end_line":404,"end_character":23},"in_reply_to":"7cb05557_612e32d9","updated":"2021-06-23 11:14:00.000000000","message":"Done","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":407,"context_line":""},{"line_number":408,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":409,"context_line":"  has realized the router association successfully on the cloud-substrate."},{"line_number":410,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"Create BGP speaker Peer Association"},{"line_number":413,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":30,"id":"2b5a989f_486129bc","line":410,"range":{"start_line":410,"start_character":2,"end_line":410,"end_character":52},"updated":"2021-06-21 12:28:40.000000000","message":"Usually we need at least three states (no matter how they are called) for the initial state and successful/unsuccessful end states. Otherwise we cannot tell the difference between the initial (makes sense to wait) and the error state (no sense in waiting).\n\nIs the DOWN state final? In other words: Is there a way to recover an association from the DOWN state, other than deleting and recreating it?","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":407,"context_line":""},{"line_number":408,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":409,"context_line":"  has realized the router association successfully on the cloud-substrate."},{"line_number":410,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"Create BGP speaker Peer Association"},{"line_number":413,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":30,"id":"fdb101f3_95871c8f","line":410,"range":{"start_line":410,"start_character":2,"end_line":410,"end_character":52},"in_reply_to":"2b5a989f_486129bc","updated":"2021-06-22 05:59:35.000000000","message":"It is good to have INIT / DOWN/ ACTIVE states, but we have not seen any other resource in Neutron using INIT as a status-field value.   So w proposed only DOWN and ACTIVE.\n\nYes, there is no way to recover an association that is stuck with DOWN state other than deleting and recreating it.\n\nIf you have suggestions, please share ..","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":414,"context_line":""},{"line_number":415,"context_line":"::"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":" POST /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/peer_associations"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":" {"},{"line_number":420,"context_line":"  \"peer_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"f68963cf_f559b128","line":417,"updated":"2021-06-21 12:28:40.000000000","message":"Can we delete a speaker while there is a peer associated with it?\nCan we delete a peer while there is a speaker associated with it?","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":414,"context_line":""},{"line_number":415,"context_line":"::"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":" POST /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/peer_associations"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":" {"},{"line_number":420,"context_line":"  \"peer_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"eb734092_09fef09a","line":417,"in_reply_to":"f68963cf_f559b128","updated":"2021-06-22 05:59:35.000000000","message":"No, we disallow deletion of speaker when there is peer is associated.\nNo, we disallow deletion of peer when there is a speaker bound to that peer.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":446,"context_line":"               \u003cpeer\u003e"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"Show BGP Speaker Peer Association"},{"line_number":449,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":450,"context_line":"::"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":" GET /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/peer_associations"}],"source_content_type":"text/x-rst","patch_set":30,"id":"cd2d46a6_32e331a4","line":449,"updated":"2021-06-21 12:28:40.000000000","message":"The same singular/plural confusion and questions as in line 393.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":446,"context_line":"               \u003cpeer\u003e"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"Show BGP Speaker Peer Association"},{"line_number":449,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":450,"context_line":"::"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":" GET /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/peer_associations"}],"source_content_type":"text/x-rst","patch_set":30,"id":"a55dbd85_a2c4c71b","line":449,"in_reply_to":"cd2d46a6_32e331a4","updated":"2021-06-22 05:59:35.000000000","message":"Answered earlier for router-associations, please apply the same for rest of the associations.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":455,"context_line":"  \"peer_association\":"},{"line_number":456,"context_line":"      {"},{"line_number":457,"context_line":"       \"peer_id\": \"b930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":458,"context_line":"       \"status\": ACTIVE"},{"line_number":459,"context_line":"      }"},{"line_number":460,"context_line":" }"},{"line_number":461,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"f9abd212_a5aa788e","line":458,"range":{"start_line":458,"start_character":17,"end_line":458,"end_character":23},"updated":"2021-06-21 12:28:40.000000000","message":"nit: missing apostrophes","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"1e35062232202655351466635e5929210496bf4d","unresolved":false,"context_lines":[{"line_number":455,"context_line":"  \"peer_association\":"},{"line_number":456,"context_line":"      {"},{"line_number":457,"context_line":"       \"peer_id\": \"b930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":458,"context_line":"       \"status\": ACTIVE"},{"line_number":459,"context_line":"      }"},{"line_number":460,"context_line":" }"},{"line_number":461,"context_line":""}],"source_content_type":"text/x-rst","patch_set":30,"id":"52b01fd4_6e23e78e","line":458,"range":{"start_line":458,"start_character":17,"end_line":458,"end_character":23},"in_reply_to":"f9abd212_a5aa788e","updated":"2021-06-23 11:14:00.000000000","message":"Done","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":461,"context_line":""},{"line_number":462,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":463,"context_line":"  has realized the peer association successfully on the cloud-substrate."},{"line_number":464,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"Create BGP speaker Network Association"},{"line_number":467,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":30,"id":"23425f40_91cbef4b","line":464,"updated":"2021-06-21 12:28:40.000000000","message":"As in line 410, we have too few states to tell the difference between the initial state and an error state.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":461,"context_line":""},{"line_number":462,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":463,"context_line":"  has realized the peer association successfully on the cloud-substrate."},{"line_number":464,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"Create BGP speaker Network Association"},{"line_number":467,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":30,"id":"3d43286f_1ce16824","line":464,"in_reply_to":"23425f40_91cbef4b","updated":"2021-06-22 05:59:35.000000000","message":"Agree.. May be we can have INIT / DOWN/ ACTIVE.  INIT state to DOWN state means initial realization failed.   INIT state to ACTIVE state means realization succeeded.  ACTIVE to DOWN state means something in the bgp backend crashed.\n\nBut as said earlier, since there are no previous examples using INIT, we avoided that path.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":468,"context_line":""},{"line_number":469,"context_line":"::"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":" POST /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/network_associations"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":" {"},{"line_number":474,"context_line":"  \"network_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"4c3b618e_5406c822","line":471,"updated":"2021-06-21 12:28:40.000000000","message":"Is this something we need for our use case or did we list this for the sake of completeness? In the latter case do we really want to implement an API for which we don\u0027t have a use case?\n\nHow does this interact (does it) with the old way of using the \u0027networks\u0027 attribute of the bgp speaker?\n\nCan we delete a network while there is a bgp speaker associated with it?\nIf not, how can the user query which associations block the deletion of a particular network?","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":468,"context_line":""},{"line_number":469,"context_line":"::"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":" POST /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/network_associations"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":" {"},{"line_number":474,"context_line":"  \"network_association\":"}],"source_content_type":"text/x-rst","patch_set":30,"id":"a30ee6b7_50b2a941","line":471,"in_reply_to":"4c3b618e_5406c822","updated":"2021-06-22 05:59:35.000000000","message":"We need not implement this.  \nThis was stated purely for completeness and can be taken up in the future.\n\nPeer-Association is good to have and this Spec will implement Peer-Associations.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"816875bb4961f097e70476f36fcd3681419eafb5","unresolved":true,"context_lines":[{"line_number":605,"context_line":" openstack bgp peer group delete \u003cbgp-peer-group-id\u003e"},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"Create a bgp-peer using a pre-created peer-group API"},{"line_number":608,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":609,"context_line":"::"},{"line_number":610,"context_line":""},{"line_number":611,"context_line":" POST /v2.0/bgp-peers/"}],"source_content_type":"text/x-rst","patch_set":30,"id":"b0515197_8cbe66d2","line":608,"updated":"2021-06-21 12:28:40.000000000","message":"While discussing this offline we realized that we may not think the same about what happens when a peer is auto-created by having a peer group and somebody initiating a peering session with us. Will we have an API peer object auto-created or not?\n\nAlso I\u0027m still not sure why do we need the create peer by peer group API. Do we need to create a peer this way before we start accepting peering sessions?","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"d7dee80ecf7f18b4b027e3f36b5ce35747812a0c","unresolved":true,"context_lines":[{"line_number":605,"context_line":" openstack bgp peer group delete \u003cbgp-peer-group-id\u003e"},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"Create a bgp-peer using a pre-created peer-group API"},{"line_number":608,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":609,"context_line":"::"},{"line_number":610,"context_line":""},{"line_number":611,"context_line":" POST /v2.0/bgp-peers/"}],"source_content_type":"text/x-rst","patch_set":30,"id":"58597114_aa641f18","line":608,"in_reply_to":"b0515197_8cbe66d2","updated":"2021-06-22 05:59:35.000000000","message":"A bgp peer is always a openstack-user-driven configuration, it is never a auto-driven .\n\nWhen we create a bgp-peer that uses network-listen-ip-range,  implicitly we entertain multiple BGPPeers in that network-listen-ip-range to be able to peer with the speaker.   Each of this individual BGPPeers we call them as sub-peers inside the \"global BGPPeer that has the network-list-ip-range configured\".  We will provide very basic information sub-peers information as part of \u0027openstack bgp peer show\u0027 API which will be documented here in this Spec.\n\nAlso please note that Peer-Group is an entity re-usable across multiple BGP Peers as Peer-Group has common parameters that we can apply to any bgp peer.   While creating a BGP-Peer with listen-range we will accept a peer-group.  Any other BGP-Peer creation workflow that does not use listen-range WILL NOT ACCEPT Peer-Group.","commit_id":"d7e7913874b5ff15fb7c6fdb9693243498085b16"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":100,"context_line":"  BGP Speakers, having a Status field in bgp-peer won’t be useful. It is"},{"line_number":101,"context_line":"  useful only when associated to Peer Association resource. Similarly,"},{"line_number":102,"context_line":"  ``association`` objects (Network Association, Router Association, Peer"},{"line_number":103,"context_line":"  Association) will be added as part of this spec."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Proposed Change"},{"line_number":106,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":31,"id":"64a64398_552912de","line":103,"updated":"2021-06-23 12:57:21.000000000","message":"BGPaaS is an advanced capability that is provided in Neutron.  Different Neutron backends will have varying implementations to provide this capability.  So it would be good to have some feedback ingrained in the Neutron BGPaaS API through which various Neutron backends (including our reference BGPaaS backend) can drive realization status inside Openstack Infra for the BGP resources exposed by Neutron BGPaaS.   To that direction, we are proposing in this Spec to add a new resource type \u0027Association\u0027 that can work with current BGPSpeaker object.  More specifically, we are planning to support router_association, peer_association as resources under a BGPSpeaker object.   A \u0027router_association\u0027 resource will be used to create a binding between a BGPSpeaker and a Neutron Router, that internally realizes BGP Control Plane over that Neutron Router.  Similarly, a \"peer_association\u0027 resource will be used to create a binding between a BGPSpeaker and a BGPPeer , that internally realized BGP Peering between the BGPSpeaker and the BGPPeer resource.","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":100,"context_line":"  BGP Speakers, having a Status field in bgp-peer won’t be useful. It is"},{"line_number":101,"context_line":"  useful only when associated to Peer Association resource. Similarly,"},{"line_number":102,"context_line":"  ``association`` objects (Network Association, Router Association, Peer"},{"line_number":103,"context_line":"  Association) will be added as part of this spec."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Proposed Change"},{"line_number":106,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":31,"id":"09375feb_a23b4881","line":103,"in_reply_to":"64a64398_552912de","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":138,"context_line":"  to associations rather than directly to parent resouces(speaker, peer). A"},{"line_number":139,"context_line":"  BGP Peer can be associated to different BGP Speakers, so having a Status"},{"line_number":140,"context_line":"  field in bgp-peer won’t be beneficial. It is useful only when associated to"},{"line_number":141,"context_line":"  Peer Association resource."},{"line_number":142,"context_line":"* Allows a Neutron-BGPaaS backend software to provide realization-status"},{"line_number":143,"context_line":"  towards the Openstack Tenant configuring the BGP Service. As mentioned in"},{"line_number":144,"context_line":"  the problem description, this is only possible using association objects."}],"source_content_type":"text/x-rst","patch_set":31,"id":"f9b8e5b8_2443a5ab","line":141,"updated":"2021-06-23 12:57:21.000000000","message":"Enables provisioning of certain BGP control plane parameters specific to\" BGP-Speaker-to-BGP-Peer\"  and also specific to \u0027BGP-Speaker-to-Router\u0027 binding.\n\nEg.,  BFD Monitor, advertising-extra-routes","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":138,"context_line":"  to associations rather than directly to parent resouces(speaker, peer). A"},{"line_number":139,"context_line":"  BGP Peer can be associated to different BGP Speakers, so having a Status"},{"line_number":140,"context_line":"  field in bgp-peer won’t be beneficial. It is useful only when associated to"},{"line_number":141,"context_line":"  Peer Association resource."},{"line_number":142,"context_line":"* Allows a Neutron-BGPaaS backend software to provide realization-status"},{"line_number":143,"context_line":"  towards the Openstack Tenant configuring the BGP Service. As mentioned in"},{"line_number":144,"context_line":"  the problem description, this is only possible using association objects."}],"source_content_type":"text/x-rst","patch_set":31,"id":"8ab9750e_64ee2d22","line":141,"in_reply_to":"f9b8e5b8_2443a5ab","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":140,"context_line":"  field in bgp-peer won’t be beneficial. It is useful only when associated to"},{"line_number":141,"context_line":"  Peer Association resource."},{"line_number":142,"context_line":"* Allows a Neutron-BGPaaS backend software to provide realization-status"},{"line_number":143,"context_line":"  towards the Openstack Tenant configuring the BGP Service. As mentioned in"},{"line_number":144,"context_line":"  the problem description, this is only possible using association objects."},{"line_number":145,"context_line":"* As part of spec (see [11]_), BFD for BGP will be introduced. Whenever a"},{"line_number":146,"context_line":"  BFD-Monitor has to be added to BGP Service, it is better that the"}],"source_content_type":"text/x-rst","patch_set":31,"id":"598000c8_db51221c","line":143,"updated":"2021-06-23 12:57:21.000000000","message":"Enables the Neutron BGPaaS APIs to provide feedback on the realization status of BGP Control Plane towards Openstack Tenant.","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":140,"context_line":"  field in bgp-peer won’t be beneficial. It is useful only when associated to"},{"line_number":141,"context_line":"  Peer Association resource."},{"line_number":142,"context_line":"* Allows a Neutron-BGPaaS backend software to provide realization-status"},{"line_number":143,"context_line":"  towards the Openstack Tenant configuring the BGP Service. As mentioned in"},{"line_number":144,"context_line":"  the problem description, this is only possible using association objects."},{"line_number":145,"context_line":"* As part of spec (see [11]_), BFD for BGP will be introduced. Whenever a"},{"line_number":146,"context_line":"  BFD-Monitor has to be added to BGP Service, it is better that the"}],"source_content_type":"text/x-rst","patch_set":31,"id":"c3d990f2_ec2c23be","line":143,"in_reply_to":"598000c8_db51221c","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":148,"context_line":"  Peer is a re-usable resource across a variety of BGP Speakers and so it is"},{"line_number":149,"context_line":"  not possible to tag BGP-Peer with a specific BFD-Monitor entity. This will"},{"line_number":150,"context_line":"  unnecessary introduce coupling that BGP Peer can only be added to a single"},{"line_number":151,"context_line":"  BGPSPeaker."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"::"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"e5ebe9e6_befe3377","line":151,"updated":"2021-06-23 12:57:21.000000000","message":"this section on BFD can be removed from here and we can talk about this into other spec BFD over BGP","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":148,"context_line":"  Peer is a re-usable resource across a variety of BGP Speakers and so it is"},{"line_number":149,"context_line":"  not possible to tag BGP-Peer with a specific BFD-Monitor entity. This will"},{"line_number":150,"context_line":"  unnecessary introduce coupling that BGP Peer can only be added to a single"},{"line_number":151,"context_line":"  BGPSPeaker."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"::"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"8e093cbf_ab03b998","line":151,"in_reply_to":"e5ebe9e6_befe3377","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":328,"context_line":"      }"},{"line_number":329,"context_line":" }"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"},{"line_number":332,"context_line":"  to be associated."},{"line_number":333,"context_line":"* ``advertise_extra_routes`` decides whether extra routes on the router will"},{"line_number":334,"context_line":"  be redistributed to bgp-peers by the bgpspeaker. Default is ``True`` and so"}],"source_content_type":"text/x-rst","patch_set":31,"id":"4ca4f892_b1550c82","line":331,"updated":"2021-06-23 12:57:21.000000000","message":"of the neutron router","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":328,"context_line":"      }"},{"line_number":329,"context_line":" }"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"},{"line_number":332,"context_line":"  to be associated."},{"line_number":333,"context_line":"* ``advertise_extra_routes`` decides whether extra routes on the router will"},{"line_number":334,"context_line":"  be redistributed to bgp-peers by the bgpspeaker. Default is ``True`` and so"}],"source_content_type":"text/x-rst","patch_set":31,"id":"79a0f317_7de22ff5","line":331,"in_reply_to":"4ca4f892_b1550c82","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"},{"line_number":332,"context_line":"  to be associated."},{"line_number":333,"context_line":"* ``advertise_extra_routes`` decides whether extra routes on the router will"},{"line_number":334,"context_line":"  be redistributed to bgp-peers by the bgpspeaker. Default is ``True`` and so"},{"line_number":335,"context_line":"  all extra routes will be redistributed to every bgp-peer that is bound to"},{"line_number":336,"context_line":"  the BGP Speaker. Turning OFF advertise_extra_routes will disable"}],"source_content_type":"text/x-rst","patch_set":31,"id":"4f42b83a_c8bbac73","line":333,"updated":"2021-06-23 12:57:21.000000000","message":"neutron extra routes on the neutron router","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":"* ``router_id`` represents the UUID of the router to which the BGP speaker has"},{"line_number":332,"context_line":"  to be associated."},{"line_number":333,"context_line":"* ``advertise_extra_routes`` decides whether extra routes on the router will"},{"line_number":334,"context_line":"  be redistributed to bgp-peers by the bgpspeaker. Default is ``True`` and so"},{"line_number":335,"context_line":"  all extra routes will be redistributed to every bgp-peer that is bound to"},{"line_number":336,"context_line":"  the BGP Speaker. Turning OFF advertise_extra_routes will disable"}],"source_content_type":"text/x-rst","patch_set":31,"id":"4cfccb9a_270e1d84","line":333,"in_reply_to":"4f42b83a_c8bbac73","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":365,"context_line":""},{"line_number":366,"context_line":".. note::"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    Deleting a BGP speaker which has router-associated will not be allowed."},{"line_number":369,"context_line":"    Similarly, deletion of a router that is asoociated to a BGP speaker is"},{"line_number":370,"context_line":"    also not allowed"},{"line_number":371,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"861e2686_7c5135b2","line":368,"updated":"2021-06-23 12:57:21.000000000","message":"BGP SPeaker will not be permitted, if the speaker already has multiple associations on itself like peer-associations and router-associations.","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":365,"context_line":""},{"line_number":366,"context_line":".. note::"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    Deleting a BGP speaker which has router-associated will not be allowed."},{"line_number":369,"context_line":"    Similarly, deletion of a router that is asoociated to a BGP speaker is"},{"line_number":370,"context_line":"    also not allowed"},{"line_number":371,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"a6a4834e_077bc9d7","line":368,"in_reply_to":"861e2686_7c5135b2","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":399,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":400,"context_line":"::"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":" GET /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":" {"},{"line_number":405,"context_line":"  \"router_association\":"}],"source_content_type":"text/x-rst","patch_set":31,"id":"3bde928b_e94f4af7","line":402,"updated":"2021-06-23 12:57:21.000000000","message":"this should give you a list of associations on that bgp-speaker","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":399,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":400,"context_line":"::"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":" GET /v2.0/bgp-speakers/\u003cbgp-speaker-id\u003e/router_associations"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":" {"},{"line_number":405,"context_line":"  \"router_association\":"}],"source_content_type":"text/x-rst","patch_set":31,"id":"10a09b9a_128960d7","line":402,"in_reply_to":"3bde928b_e94f4af7","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":403,"context_line":""},{"line_number":404,"context_line":" {"},{"line_number":405,"context_line":"  \"router_association\":"},{"line_number":406,"context_line":"      {"},{"line_number":407,"context_line":"       \"router_id\": \"c930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":408,"context_line":"       \"advertise_extra_routes\": True"},{"line_number":409,"context_line":"       \"status\": \u0027ACTIVE\u0027"}],"source_content_type":"text/x-rst","patch_set":31,"id":"3af84dda_649e3d76","line":406,"updated":"2021-06-23 12:57:21.000000000","message":"[ ]","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":403,"context_line":""},{"line_number":404,"context_line":" {"},{"line_number":405,"context_line":"  \"router_association\":"},{"line_number":406,"context_line":"      {"},{"line_number":407,"context_line":"       \"router_id\": \"c930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":408,"context_line":"       \"advertise_extra_routes\": True"},{"line_number":409,"context_line":"       \"status\": \u0027ACTIVE\u0027"}],"source_content_type":"text/x-rst","patch_set":31,"id":"262342d6_434d79b2","line":406,"in_reply_to":"3af84dda_649e3d76","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":411,"context_line":" }"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":414,"context_line":"  has realized the router association successfully on the cloud-substrate."},{"line_number":415,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"Create BGP speaker Peer Association"}],"source_content_type":"text/x-rst","patch_set":31,"id":"899ea946_ea54f518","line":414,"updated":"2021-06-23 12:57:21.000000000","message":"successfully on the openstack infrastructure","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":411,"context_line":" }"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":414,"context_line":"  has realized the router association successfully on the cloud-substrate."},{"line_number":415,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"Create BGP speaker Peer Association"}],"source_content_type":"text/x-rst","patch_set":31,"id":"c8907737_6e8e3d79","line":414,"in_reply_to":"899ea946_ea54f518","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":413,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":414,"context_line":"  has realized the router association successfully on the cloud-substrate."},{"line_number":415,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"Create BGP speaker Peer Association"},{"line_number":418,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":419,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"9d0bf85e_13c0805b","line":416,"updated":"2021-06-23 12:57:21.000000000","message":"can you please add \u0027GET a single router-association\u0027?","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":413,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":414,"context_line":"  has realized the router association successfully on the cloud-substrate."},{"line_number":415,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"Create BGP speaker Peer Association"},{"line_number":418,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":419,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"91066a0c_0cb99fd1","line":416,"in_reply_to":"9d0bf85e_13c0805b","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":428,"context_line":"      }"},{"line_number":429,"context_line":" }"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"* ``peer_id`` represents the UUID of the peer to which the BGP speaker has"},{"line_number":432,"context_line":"  to be associated."},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"New neutron Client Command::"}],"source_content_type":"text/x-rst","patch_set":31,"id":"116d3c2f_b3fd57b3","line":431,"updated":"2021-06-23 12:57:21.000000000","message":"uuid of the BGP-Peer","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":428,"context_line":"      }"},{"line_number":429,"context_line":" }"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"* ``peer_id`` represents the UUID of the peer to which the BGP speaker has"},{"line_number":432,"context_line":"  to be associated."},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"New neutron Client Command::"}],"source_content_type":"text/x-rst","patch_set":31,"id":"9ce65265_0ea89cd0","line":431,"in_reply_to":"116d3c2f_b3fd57b3","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":462,"context_line":""},{"line_number":463,"context_line":" {"},{"line_number":464,"context_line":"  \"peer_association\":"},{"line_number":465,"context_line":"      {"},{"line_number":466,"context_line":"       \"peer_id\": \"b930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":467,"context_line":"       \"status\": \u0027ACTIVE\u0027"},{"line_number":468,"context_line":"      }"}],"source_content_type":"text/x-rst","patch_set":31,"id":"f4da4fdd_6c86b4e4","line":465,"updated":"2021-06-23 12:57:21.000000000","message":"list [ ]","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":462,"context_line":""},{"line_number":463,"context_line":" {"},{"line_number":464,"context_line":"  \"peer_association\":"},{"line_number":465,"context_line":"      {"},{"line_number":466,"context_line":"       \"peer_id\": \"b930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":467,"context_line":"       \"status\": \u0027ACTIVE\u0027"},{"line_number":468,"context_line":"      }"}],"source_content_type":"text/x-rst","patch_set":31,"id":"2f149d95_6dff5dd9","line":465,"in_reply_to":"f4da4fdd_6c86b4e4","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":471,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":472,"context_line":"  has realized the peer association successfully on the cloud-substrate."},{"line_number":473,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"Create BGP speaker Network Association"},{"line_number":476,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":477,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"902020a9_71a86dc0","line":474,"updated":"2021-06-23 12:57:21.000000000","message":"ditto - please add GET section to fetch a  specific peer-association","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":471,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":472,"context_line":"  has realized the peer association successfully on the cloud-substrate."},{"line_number":473,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"Create BGP speaker Network Association"},{"line_number":476,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":477,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"b6278eff_bd0ae202","line":474,"in_reply_to":"902020a9_71a86dc0","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":525,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":526,"context_line":"  has realized the network association successfully on the cloud-substrate."},{"line_number":527,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"Show routes managed by BGP Speaker API"},{"line_number":530,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":531,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":31,"id":"90f6eda2_5c088370","line":528,"updated":"2021-06-23 12:57:21.000000000","message":"Should we mention this above section on Network Associations at all if we donot intend to provide implementation for the same?","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":525,"context_line":"* ``status`` attribute helps to know whether Neutron-BGPaaS backend software"},{"line_number":526,"context_line":"  has realized the network association successfully on the cloud-substrate."},{"line_number":527,"context_line":"  Status field can be either ``DOWN`` or ``ACTIVE``."},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"Show routes managed by BGP Speaker API"},{"line_number":530,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":531,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":31,"id":"595afad8_49cf447b","line":528,"in_reply_to":"90f6eda2_5c088370","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":573,"context_line":"       \"project_id\":\"\","},{"line_number":574,"context_line":"       \"remote_asn\":\"4566\","},{"line_number":575,"context_line":"       \"next_hop_self\" : True,"},{"line_number":576,"context_line":"       \"update_source_ip\": \"10.20.1.5\""},{"line_number":577,"context_line":"       \"auth_type\": \"md5\","},{"line_number":578,"context_line":"       \"password\": \"\u003cpasswd\u003e\""},{"line_number":579,"context_line":"     }"}],"source_content_type":"text/x-rst","patch_set":31,"id":"75ac509e_d99e2c8c","line":576,"updated":"2021-06-23 12:57:21.000000000","message":"given that a peer-group can be re-used by multiple bgp-peers and such peers can go into different BGPSpeakers, it looks odd to have next-hop-self and update-source-ip inside peer-groups?\n\nCan you give outside examples on which this way we aligned?\n\ncan\u0027t these two fields go into the Peer-Association object instead of peer-group?","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":573,"context_line":"       \"project_id\":\"\","},{"line_number":574,"context_line":"       \"remote_asn\":\"4566\","},{"line_number":575,"context_line":"       \"next_hop_self\" : True,"},{"line_number":576,"context_line":"       \"update_source_ip\": \"10.20.1.5\""},{"line_number":577,"context_line":"       \"auth_type\": \"md5\","},{"line_number":578,"context_line":"       \"password\": \"\u003cpasswd\u003e\""},{"line_number":579,"context_line":"     }"}],"source_content_type":"text/x-rst","patch_set":31,"id":"db277fe7_ab860b6d","line":576,"in_reply_to":"75ac509e_d99e2c8c","updated":"2021-06-24 07:01:25.000000000","message":"Currently in this spec, these parameters are allowed in both peers and peer-groups.\n\nAlso, I was just going through some router implementations of the peer group. Most of them uses these parameters inside the peer-groups as well.\nhttps://cciethebeginning.wordpress.com/2009/01/05/bgp-peer-groups/\n\nPlease let me know whether it is only required under bgp peers","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":710,"context_line":"| next_hop_self       | Boolean  | Setting to True enables all published    |"},{"line_number":711,"context_line":"|                     |          | routes to carry BGPSpeaker IP address    |"},{"line_number":712,"context_line":"|                     |          | over the BGP Control Plane towards this  |"},{"line_number":713,"context_line":"|                     |          | BGP Peer.                                |"},{"line_number":714,"context_line":"+---------------------+----------+------------------------------------------+"},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"New table ``bgp_speaker_router_bindings`` will be created to manage the"}],"source_content_type":"text/x-rst","patch_set":31,"id":"37f69b90_6b73d44a","line":713,"updated":"2021-06-23 12:57:21.000000000","message":"aren\u0027t these better to go under peer-association table?","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":9361,"name":"Vivekanandan Narasimhan","email":"n.vivekanandan@ericsson.com","username":"viveknarasimhan"},"change_message_id":"5a60ad95c8f6122889f45952fa70fc9cdc5c02c6","unresolved":true,"context_lines":[{"line_number":724,"context_line":"| bgp_speaker_id      | uuid-str | UUID of the BGP speaker                  |"},{"line_number":725,"context_line":"| router_id           | uuid-str | UUID of the router to which the BGP      |"},{"line_number":726,"context_line":"|                     |          | speaker has to be associated             |"},{"line_number":727,"context_line":"| redistribute_static | Boolean  | Decides whether static routes on the     |"},{"line_number":728,"context_line":"|                     |          | router will be redistributed to bgp-peers|"},{"line_number":729,"context_line":"| status              | String   | Shows whether Neutron-BGPaaS backend     |"},{"line_number":730,"context_line":"|                     |          | software has realized the router         |"}],"source_content_type":"text/x-rst","patch_set":31,"id":"0b6c1e23_7755062b","line":727,"updated":"2021-06-23 12:57:21.000000000","message":"shouldn\u0027t this be advertise_extra_routes?","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":33273,"name":"Manu B","display_name":"Manu B","email":"manu.b@est.tech","username":"eceghkl"},"change_message_id":"19c5bc3af86baaa5437abe43a3cbb4f208185d77","unresolved":false,"context_lines":[{"line_number":724,"context_line":"| bgp_speaker_id      | uuid-str | UUID of the BGP speaker                  |"},{"line_number":725,"context_line":"| router_id           | uuid-str | UUID of the router to which the BGP      |"},{"line_number":726,"context_line":"|                     |          | speaker has to be associated             |"},{"line_number":727,"context_line":"| redistribute_static | Boolean  | Decides whether static routes on the     |"},{"line_number":728,"context_line":"|                     |          | router will be redistributed to bgp-peers|"},{"line_number":729,"context_line":"| status              | String   | Shows whether Neutron-BGPaaS backend     |"},{"line_number":730,"context_line":"|                     |          | software has realized the router         |"}],"source_content_type":"text/x-rst","patch_set":31,"id":"c7799d8a_2c6f8f0a","line":727,"in_reply_to":"0b6c1e23_7755062b","updated":"2021-06-24 07:01:25.000000000","message":"Done","commit_id":"760b76fb2c3f62263f0319e793b948bb53acae11"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"05a369ce37cbb65e3034758f4e97a0f86d295e76","unresolved":true,"context_lines":[{"line_number":204,"context_line":"networks on the router from inside the router-namespace. BGP speaker can"},{"line_number":205,"context_line":"listen on 0.0.0.0:179 which enables it to listen on all the"},{"line_number":206,"context_line":"neutron-router-interfaces and can peer with the neighbour based on the"},{"line_number":207,"context_line":"configuration."},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"::"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":32,"id":"3d121a68_5acaa9b8","line":207,"updated":"2021-06-29 06:35:07.000000000","message":"that configuration will be created dynamically by the neutron agent, right?","commit_id":"3bba00dea2e26b9afd43393a724136bb30d64b23"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"05a369ce37cbb65e3034758f4e97a0f86d295e76","unresolved":true,"context_lines":[{"line_number":365,"context_line":""},{"line_number":366,"context_line":".. note::"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    Deleting a BGP SPeaker will not be permitted, if the speaker already has"},{"line_number":369,"context_line":"    multiple associations on itself like peer-associations and"},{"line_number":370,"context_line":"    router-associations. Similarly, deletion of a router that is asoociated"},{"line_number":371,"context_line":"    to a BGP speaker is also not allowed."}],"source_content_type":"text/x-rst","patch_set":32,"id":"1d7abc9d_372bb511","line":368,"range":{"start_line":368,"start_character":20,"end_line":368,"end_character":21},"updated":"2021-06-29 06:35:07.000000000","message":"nitty nit: should be lowecase","commit_id":"3bba00dea2e26b9afd43393a724136bb30d64b23"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"05a369ce37cbb65e3034758f4e97a0f86d295e76","unresolved":true,"context_lines":[{"line_number":380,"context_line":" {"},{"line_number":381,"context_line":"  \"router_association\":"},{"line_number":382,"context_line":"      {"},{"line_number":383,"context_line":"       \"router_id\": \"c930d7f6-ceb7-40a0-8b81-a425dd994ccf\","},{"line_number":384,"context_line":"       \"advertise_extra_routes\": True"},{"line_number":385,"context_line":"      }"},{"line_number":386,"context_line":" }"}],"source_content_type":"text/x-rst","patch_set":32,"id":"499a0b7d_76dc98a7","line":383,"updated":"2021-06-29 06:35:07.000000000","message":"will it be able to change router_id in that case?","commit_id":"3bba00dea2e26b9afd43393a724136bb30d64b23"}]}
