)]}'
{"doc/source/specs/bgp_dynamic_routing.rst":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"f85974878711cfbebd1b3878020baa09d443dfd8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed Change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Support BGP dynamic routing as an application in Dragonflow. Omit the"},{"line_number":46,"context_line":"functionality of address scope for now. Just treat address scope as a logic"},{"line_number":47,"context_line":"concept."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a430d35_b1300b03","line":45,"range":{"start_line":45,"start_character":34,"end_line":45,"end_character":45},"updated":"2017-02-06 08:43:23.000000000","message":"The BGP application doesn\u0027t need to modify the southbound, only access northbound database. Wouldn\u0027t it be better to have a Dragonflow BGP service as a separate standalone service, that connects to the NB DB and subscribes to the DF publisher?\n\nThis way, there is more control over where the BGP service is deployed, and it can be deployed on nodes that don\u0027t have Dragonflow controller, e.g. the API server.","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"ddda60c24ade2f210fe9167d933dfccada2719e1","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed Change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Support BGP dynamic routing as an application in Dragonflow. Omit the"},{"line_number":46,"context_line":"functionality of address scope for now. Just treat address scope as a logic"},{"line_number":47,"context_line":"concept."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_7faa3372","line":45,"range":{"start_line":45,"start_character":34,"end_line":45,"end_character":45},"in_reply_to":"1a430d35_b1300b03","updated":"2017-02-10 01:17:52.000000000","message":"Looks like a sound solution. This way, bgp service is like a customized agent for dragonflow. Will update it in next version.","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"68721db0529f0127ac0b2df6bcb45134556cc560","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed Change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Support BGP dynamic routing as an application in Dragonflow. Omit the"},{"line_number":46,"context_line":"functionality of address scope for now. Just treat address scope as a logic"},{"line_number":47,"context_line":"concept."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_f16c970a","line":45,"range":{"start_line":45,"start_character":34,"end_line":45,"end_character":45},"in_reply_to":"fa31d9ce_7faa3372","updated":"2017-02-10 01:52:32.000000000","message":"+1","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"f85974878711cfbebd1b3878020baa09d443dfd8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"   that Dragonflow uses Neutron L3 agents to host the router gateway port. The"},{"line_number":62,"context_line":"   next-hop of prefix routes should be the IP address of router gateway port."},{"line_number":63,"context_line":"   The router gateway port is where the routable tenant networks can be"},{"line_number":64,"context_line":"   accessed from."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The advertising of prefix routes for tenant networks is not expected to work"},{"line_number":67,"context_line":"with distributed SNAT. Further work is needed when both of these two features"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a430d35_31e97b81","line":64,"updated":"2017-02-06 08:43:23.000000000","message":"In the future, we will want to do away with Neutron L3 agents. Since we know where every port is bound, and what\u0027s its provider network address, can\u0027t we treat this case also as host routes?","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"ddda60c24ade2f210fe9167d933dfccada2719e1","unresolved":false,"context_lines":[{"line_number":61,"context_line":"   that Dragonflow uses Neutron L3 agents to host the router gateway port. The"},{"line_number":62,"context_line":"   next-hop of prefix routes should be the IP address of router gateway port."},{"line_number":63,"context_line":"   The router gateway port is where the routable tenant networks can be"},{"line_number":64,"context_line":"   accessed from."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The advertising of prefix routes for tenant networks is not expected to work"},{"line_number":67,"context_line":"with distributed SNAT. Further work is needed when both of these two features"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_dffddf6f","line":64,"in_reply_to":"1a430d35_31e97b81","updated":"2017-02-10 01:17:52.000000000","message":"It could be, and I think that is the direction where neutron DVR is working towards. I think we can add it in future, make it configurable.","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"f85974878711cfbebd1b3878020baa09d443dfd8","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The advertising of prefix routes for tenant networks is not expected to work"},{"line_number":67,"context_line":"with distributed SNAT. Further work is needed when both of these two features"},{"line_number":68,"context_line":"have been landed."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The BGP dynamic routing in this implementation will act as BGP routers of the"},{"line_number":71,"context_line":"entire Dragonflow cluster, which means it is a centralized service. So, all"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a430d35_51ba876f","line":68,"updated":"2017-02-06 08:43:23.000000000","message":"The first distributed sNAT solution should work out of the box - the NATed IPs are statically assigned, so no dynamic routing is needed.\n\nThe second solution will need integration - when an IP address is assigned to a \u003cchassis, tenant\u003e pair, BGP will have to be notified.","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"ddda60c24ade2f210fe9167d933dfccada2719e1","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The advertising of prefix routes for tenant networks is not expected to work"},{"line_number":67,"context_line":"with distributed SNAT. Further work is needed when both of these two features"},{"line_number":68,"context_line":"have been landed."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The BGP dynamic routing in this implementation will act as BGP routers of the"},{"line_number":71,"context_line":"entire Dragonflow cluster, which means it is a centralized service. So, all"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_5faacf1a","line":68,"in_reply_to":"1a430d35_51ba876f","updated":"2017-02-10 01:17:52.000000000","message":"I doubt that first solution will work out of box. If I understand correctly, it uses a double SNAT to make vm access external network. But BGP dynamic routing is to make external network access vm. Thinking of the duplicated vm ip address, I think the first solution will not work in this case.","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5bfb8eb99b58a6b721d7df8f0f9ecf068af5982d","unresolved":false,"context_lines":[{"line_number":83,"context_line":"BGP dynamic routing in OpenStack can\u0027t learn dynamic routes from peer BGP"},{"line_number":84,"context_line":"router now. To make things simple, the implementation in this spec will also"},{"line_number":85,"context_line":"not consider learning dynamic routes. Only advertising routes will be"},{"line_number":86,"context_line":"considered."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"NB Data Model Impact"},{"line_number":89,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a430d35_cf9b3871","line":86,"updated":"2017-02-06 03:32:17.000000000","message":"any future plan to enhance the dynamic routing?","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"ddda60c24ade2f210fe9167d933dfccada2719e1","unresolved":false,"context_lines":[{"line_number":83,"context_line":"BGP dynamic routing in OpenStack can\u0027t learn dynamic routes from peer BGP"},{"line_number":84,"context_line":"router now. To make things simple, the implementation in this spec will also"},{"line_number":85,"context_line":"not consider learning dynamic routes. Only advertising routes will be"},{"line_number":86,"context_line":"considered."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"NB Data Model Impact"},{"line_number":89,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_5f064f21","line":86,"in_reply_to":"1a430d35_cf9b3871","updated":"2017-02-10 01:17:52.000000000","message":"From a early document of BGP dynamic routing, there is such functionality. But I don\u0027t know their near plan, and the latest code doesn\u0027t have such feature.\n\nHowever, IMO, I think we can implement it without depending on BGP in neutron. After all, we create a separate service plugin here, and use different mechanism of message exchange.\n\nI think it could be something in next phase. I could add a note here.","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5bfb8eb99b58a6b721d7df8f0f9ecf068af5982d","unresolved":false,"context_lines":[{"line_number":169,"context_line":"application to update the BGP peer connection."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"The application will use the BGP drivers at [#]_. Currently, the only"},{"line_number":172,"context_line":"implementation is based on *ryu.services.protocols.bgp*. But when other"},{"line_number":173,"context_line":"drivers are added, it is easy to switch to other implementations."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":".. [#] https://github.com/openstack/neutron-dynamic-routing/tree/master/neutron_dynamic_routing/services/bgp/agent/driver"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a430d35_cf725849","line":172,"range":{"start_line":172,"start_character":28,"end_line":172,"end_character":54},"updated":"2017-02-06 03:32:17.000000000","message":"is there any comparison chart describing the difference of ryu bgp app and other popular bgp stack like quagga/bird? i don\u0027t know if ryu bgp app is fully-functional and is able to be put into production.","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"ddda60c24ade2f210fe9167d933dfccada2719e1","unresolved":false,"context_lines":[{"line_number":169,"context_line":"application to update the BGP peer connection."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"The application will use the BGP drivers at [#]_. Currently, the only"},{"line_number":172,"context_line":"implementation is based on *ryu.services.protocols.bgp*. But when other"},{"line_number":173,"context_line":"drivers are added, it is easy to switch to other implementations."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":".. [#] https://github.com/openstack/neutron-dynamic-routing/tree/master/neutron_dynamic_routing/services/bgp/agent/driver"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_d1beb3d3","line":172,"range":{"start_line":172,"start_character":28,"end_line":172,"end_character":54},"in_reply_to":"1a430d35_cf725849","updated":"2017-02-10 01:17:52.000000000","message":"I have no idea about it. But the common sense is that ryu implementation is new, and others like quagga are maturer.\n\nI found this work item in neutron. I believe it is inactive now. We can take that workitem if we want quagga driver. But I think it could be a standalone workitem.\n\nhttps://bugs.launchpad.net/neutron/+bug/1561824","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"68721db0529f0127ac0b2df6bcb45134556cc560","unresolved":false,"context_lines":[{"line_number":169,"context_line":"application to update the BGP peer connection."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"The application will use the BGP drivers at [#]_. Currently, the only"},{"line_number":172,"context_line":"implementation is based on *ryu.services.protocols.bgp*. But when other"},{"line_number":173,"context_line":"drivers are added, it is easy to switch to other implementations."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":".. [#] https://github.com/openstack/neutron-dynamic-routing/tree/master/neutron_dynamic_routing/services/bgp/agent/driver"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_d43b019b","line":172,"range":{"start_line":172,"start_character":28,"end_line":172,"end_character":54},"in_reply_to":"fa31d9ce_d1beb3d3","updated":"2017-02-10 01:52:32.000000000","message":"Thanks for providing such information. The spec is proposed for the next release cycle.","commit_id":"1e9b1ca8754691cdc790c868bdaa2928d2d44da3"}]}
