)]}'
{"doc/networking-guide/source/adv-config-bgp-dyamic-routing.rst":[{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"1dd1c8229b84761d65ab60ba874165f384255091","unresolved":false,"context_lines":[{"line_number":6,"context_line":"How it works"},{"line_number":7,"context_line":"~~~~~~~~~~~~"},{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers, peer them with other BGP peers, attach BGP speakers to external networks, and control what tenant prefixes get announced via BGP.There are two components: the Neutron BGP service plugin and the BGP dynamic routing agent.  The BGP service plugin implements the server-side admin extensions. An admin creates and configures a BGP speaker on the Neutron server.  BGP speakers are scheduled to a BGP dynamic routing agent that will maintain the BGP peering sessions and handles announcement of routes to the appropriate peers.  What prefixes get announced depends on what external networks a BGP speaker gets bound to, and what address scope the external and internal subnets are allocated in.  Address scopes are key in determining which prefixes get announced by a BGP speaker. Make sure you understand address scopes before proceeding. Read about address scope here (insert link)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_b601473c","line":9,"updated":"2016-03-05 07:35:35.000000000","message":"This line is too long. wrap the sentences \u003c 79","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"fcd66d92cdb994ab88568c07e46176078e418406","unresolved":false,"context_lines":[{"line_number":6,"context_line":"How it works"},{"line_number":7,"context_line":"~~~~~~~~~~~~"},{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers, peer them with other BGP peers, attach BGP speakers to external networks, and control what tenant prefixes get announced via BGP.There are two components: the Neutron BGP service plugin and the BGP dynamic routing agent.  The BGP service plugin implements the server-side admin extensions. An admin creates and configures a BGP speaker on the Neutron server.  BGP speakers are scheduled to a BGP dynamic routing agent that will maintain the BGP peering sessions and handles announcement of routes to the appropriate peers.  What prefixes get announced depends on what external networks a BGP speaker gets bound to, and what address scope the external and internal subnets are allocated in.  Address scopes are key in determining which prefixes get announced by a BGP speaker. Make sure you understand address scopes before proceeding. Read about address scope here (insert link)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_58c90cac","line":9,"in_reply_to":"7af24918_b601473c","updated":"2016-03-05 17:42:57.000000000","message":"Done","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"1dd1c8229b84761d65ab60ba874165f384255091","unresolved":false,"context_lines":[{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers, peer them with other BGP peers, attach BGP speakers to external networks, and control what tenant prefixes get announced via BGP.There are two components: the Neutron BGP service plugin and the BGP dynamic routing agent.  The BGP service plugin implements the server-side admin extensions. An admin creates and configures a BGP speaker on the Neutron server.  BGP speakers are scheduled to a BGP dynamic routing agent that will maintain the BGP peering sessions and handles announcement of routes to the appropriate peers.  What prefixes get announced depends on what external networks a BGP speaker gets bound to, and what address scope the external and internal subnets are allocated in.  Address scopes are key in determining which prefixes get announced by a BGP speaker. Make sure you understand address scopes before proceeding. Read about address scope here (insert link)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To enable BGP on the Neutron server, make sure the L3 service plugin and the BGP service plugin are enabled."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_d6f8534c","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":21},"updated":"2016-03-05 07:35:35.000000000","message":"use -------------- as underline. for reference\nhttps://wiki.openstack.org/wiki/Documentation/Migrate#Headings","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"fcd66d92cdb994ab88568c07e46176078e418406","unresolved":false,"context_lines":[{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers, peer them with other BGP peers, attach BGP speakers to external networks, and control what tenant prefixes get announced via BGP.There are two components: the Neutron BGP service plugin and the BGP dynamic routing agent.  The BGP service plugin implements the server-side admin extensions. An admin creates and configures a BGP speaker on the Neutron server.  BGP speakers are scheduled to a BGP dynamic routing agent that will maintain the BGP peering sessions and handles announcement of routes to the appropriate peers.  What prefixes get announced depends on what external networks a BGP speaker gets bound to, and what address scope the external and internal subnets are allocated in.  Address scopes are key in determining which prefixes get announced by a BGP speaker. Make sure you understand address scopes before proceeding. Read about address scope here (insert link)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To enable BGP on the Neutron server, make sure the L3 service plugin and the BGP service plugin are enabled."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_38cec0b4","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":21},"in_reply_to":"7af24918_d6f8534c","updated":"2016-03-05 17:42:57.000000000","message":"Done","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5b58201ea77bde228b4a55ff5ff85bcf383f41dd","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"From neutron.conf:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"service_plugins \u003d bgp,router"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"To configure the BGP dyanmic routing agent, ensure the following flags are set in bgp_dragent.ini:"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_4c45d215","line":17,"updated":"2016-03-05 11:59:43.000000000","message":"how about a third-party has implemented the l3-router functionality like odl, onos?","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"fcd66d92cdb994ab88568c07e46176078e418406","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"From neutron.conf:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"service_plugins \u003d bgp,router"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"To configure the BGP dyanmic routing agent, ensure the following flags are set in bgp_dragent.ini:"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_18cf84b4","line":17,"in_reply_to":"7af24918_4c45d215","updated":"2016-03-05 17:42:57.000000000","message":"Not sure if we can claim support for that at the moment. I suppose if the 3rd-party implementation uses the same DB schema on the Neutron server for then it would be supported. I haven\u0027t tested it or even investigated it yet so I\u0027m not claiming support, even if it *might* actually work. If someone tried it out and could verify support that would be awesome, but I haven\u0027t had time to look into it.","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"1dd1c8229b84761d65ab60ba874165f384255091","unresolved":false,"context_lines":[{"line_number":24,"context_line":"bgp_router_id is the 32-bit BGP identifier, typically an IPv4 address owned by the system running the BGP dynamic routing agent. For more information on BGP router ID, see \"BGP Identifier\" in section 1.1 of https://tools.ietf.org/html/rfc4271."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Commands"},{"line_number":27,"context_line":"________"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Create a BGP speaker:"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_369417e7","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":8},"updated":"2016-03-05 07:35:35.000000000","message":"use ------------","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"fcd66d92cdb994ab88568c07e46176078e418406","unresolved":false,"context_lines":[{"line_number":24,"context_line":"bgp_router_id is the 32-bit BGP identifier, typically an IPv4 address owned by the system running the BGP dynamic routing agent. For more information on BGP router ID, see \"BGP Identifier\" in section 1.1 of https://tools.ietf.org/html/rfc4271."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Commands"},{"line_number":27,"context_line":"________"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Create a BGP speaker:"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_78c0487d","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":8},"in_reply_to":"7af24918_369417e7","updated":"2016-03-05 17:42:57.000000000","message":"Done","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"1dd1c8229b84761d65ab60ba874165f384255091","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Neutron will announce prefixes for tenant networks and host routes for floating IP\u0027s."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Tenant prefixes"},{"line_number":79,"context_line":"_______________"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"A BGP speaker should be bound to one or more external networks. Neutron will identify which address scope the subnets on the external network belong to. This is the address scope that the BGP speaker will announce routes in.  Any tenant subnets belonging to this address scope that are attached to a router with a gateway port on the bound external network will be announced by the BGP speaker.  The next-hop for the subnet will be the IP address of the gateway port on the Neutron router."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_56a3a34f","line":79,"range":{"start_line":79,"start_character":0,"end_line":79,"end_character":15},"updated":"2016-03-05 07:35:35.000000000","message":"use -----------","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"fcd66d92cdb994ab88568c07e46176078e418406","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Neutron will announce prefixes for tenant networks and host routes for floating IP\u0027s."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Tenant prefixes"},{"line_number":79,"context_line":"_______________"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"A BGP speaker should be bound to one or more external networks. Neutron will identify which address scope the subnets on the external network belong to. This is the address scope that the BGP speaker will announce routes in.  Any tenant subnets belonging to this address scope that are attached to a router with a gateway port on the bound external network will be announced by the BGP speaker.  The next-hop for the subnet will be the IP address of the gateway port on the Neutron router."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_d8bd1c04","line":79,"range":{"start_line":79,"start_character":0,"end_line":79,"end_character":15},"in_reply_to":"7af24918_56a3a34f","updated":"2016-03-05 17:42:57.000000000","message":"Done","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"1dd1c8229b84761d65ab60ba874165f384255091","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Tenant prefixes"},{"line_number":79,"context_line":"_______________"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"A BGP speaker should be bound to one or more external networks. Neutron will identify which address scope the subnets on the external network belong to. This is the address scope that the BGP speaker will announce routes in.  Any tenant subnets belonging to this address scope that are attached to a router with a gateway port on the bound external network will be announced by the BGP speaker.  The next-hop for the subnet will be the IP address of the gateway port on the Neutron router."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Floating IP\u0027s"},{"line_number":84,"context_line":"_____________"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_d68fb3ca","line":81,"updated":"2016-03-05 07:35:35.000000000","message":"line too long make multiple lines and each line should be \u003c 79 characters","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"fcd66d92cdb994ab88568c07e46176078e418406","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Tenant prefixes"},{"line_number":79,"context_line":"_______________"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"A BGP speaker should be bound to one or more external networks. Neutron will identify which address scope the subnets on the external network belong to. This is the address scope that the BGP speaker will announce routes in.  Any tenant subnets belonging to this address scope that are attached to a router with a gateway port on the bound external network will be announced by the BGP speaker.  The next-hop for the subnet will be the IP address of the gateway port on the Neutron router."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Floating IP\u0027s"},{"line_number":84,"context_line":"_____________"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_183664b4","line":81,"in_reply_to":"7af24918_d68fb3ca","updated":"2016-03-05 17:42:57.000000000","message":"Done","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"1dd1c8229b84761d65ab60ba874165f384255091","unresolved":false,"context_lines":[{"line_number":81,"context_line":"A BGP speaker should be bound to one or more external networks. Neutron will identify which address scope the subnets on the external network belong to. This is the address scope that the BGP speaker will announce routes in.  Any tenant subnets belonging to this address scope that are attached to a router with a gateway port on the bound external network will be announced by the BGP speaker.  The next-hop for the subnet will be the IP address of the gateway port on the Neutron router."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Floating IP\u0027s"},{"line_number":84,"context_line":"_____________"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Neutron will announce host routes for every floating IP on an external bound to a BGP speaker.  Floating IP\u0027s do not need to be in an address scope for the host route to be announced.  Simply binding an external network to a BGP speaker is sufficient to begin announcement of the host route.  When using non-distributed router, the next-hop is announced as the gateway IP of the Neutron router the floating IP is bound to."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_b68827c8","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":13},"updated":"2016-03-05 07:35:35.000000000","message":"ditto","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"fcd66d92cdb994ab88568c07e46176078e418406","unresolved":false,"context_lines":[{"line_number":81,"context_line":"A BGP speaker should be bound to one or more external networks. Neutron will identify which address scope the subnets on the external network belong to. This is the address scope that the BGP speaker will announce routes in.  Any tenant subnets belonging to this address scope that are attached to a router with a gateway port on the bound external network will be announced by the BGP speaker.  The next-hop for the subnet will be the IP address of the gateway port on the Neutron router."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Floating IP\u0027s"},{"line_number":84,"context_line":"_____________"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Neutron will announce host routes for every floating IP on an external bound to a BGP speaker.  Floating IP\u0027s do not need to be in an address scope for the host route to be announced.  Simply binding an external network to a BGP speaker is sufficient to begin announcement of the host route.  When using non-distributed router, the next-hop is announced as the gateway IP of the Neutron router the floating IP is bound to."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_f83a9897","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":13},"in_reply_to":"7af24918_b68827c8","updated":"2016-03-05 17:42:57.000000000","message":"Done","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"1dd1c8229b84761d65ab60ba874165f384255091","unresolved":false,"context_lines":[{"line_number":83,"context_line":"Floating IP\u0027s"},{"line_number":84,"context_line":"_____________"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Neutron will announce host routes for every floating IP on an external bound to a BGP speaker.  Floating IP\u0027s do not need to be in an address scope for the host route to be announced.  Simply binding an external network to a BGP speaker is sufficient to begin announcement of the host route.  When using non-distributed router, the next-hop is announced as the gateway IP of the Neutron router the floating IP is bound to."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"BGP and DVR"},{"line_number":89,"context_line":"___________"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_36bb7777","line":86,"updated":"2016-03-05 07:35:35.000000000","message":"line too long","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"fcd66d92cdb994ab88568c07e46176078e418406","unresolved":false,"context_lines":[{"line_number":83,"context_line":"Floating IP\u0027s"},{"line_number":84,"context_line":"_____________"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Neutron will announce host routes for every floating IP on an external bound to a BGP speaker.  Floating IP\u0027s do not need to be in an address scope for the host route to be announced.  Simply binding an external network to a BGP speaker is sufficient to begin announcement of the host route.  When using non-distributed router, the next-hop is announced as the gateway IP of the Neutron router the floating IP is bound to."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"BGP and DVR"},{"line_number":89,"context_line":"___________"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_5840ec07","line":86,"in_reply_to":"7af24918_36bb7777","updated":"2016-03-05 17:42:57.000000000","message":"Done","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"1dd1c8229b84761d65ab60ba874165f384255091","unresolved":false,"context_lines":[{"line_number":86,"context_line":"Neutron will announce host routes for every floating IP on an external bound to a BGP speaker.  Floating IP\u0027s do not need to be in an address scope for the host route to be announced.  Simply binding an external network to a BGP speaker is sufficient to begin announcement of the host route.  When using non-distributed router, the next-hop is announced as the gateway IP of the Neutron router the floating IP is bound to."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"BGP and DVR"},{"line_number":89,"context_line":"___________"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"When using distributed Neutron routers, the next-hop IP for floating IP host routes is announced as the IP address of the floating IP agent gateway on the corresponding compute node."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_96852baf","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":11},"updated":"2016-03-05 07:35:35.000000000","message":"ditto","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"fcd66d92cdb994ab88568c07e46176078e418406","unresolved":false,"context_lines":[{"line_number":86,"context_line":"Neutron will announce host routes for every floating IP on an external bound to a BGP speaker.  Floating IP\u0027s do not need to be in an address scope for the host route to be announced.  Simply binding an external network to a BGP speaker is sufficient to begin announcement of the host route.  When using non-distributed router, the next-hop is announced as the gateway IP of the Neutron router the floating IP is bound to."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"BGP and DVR"},{"line_number":89,"context_line":"___________"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"When using distributed Neutron routers, the next-hop IP for floating IP host routes is announced as the IP address of the floating IP agent gateway on the corresponding compute node."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_38452017","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":11},"in_reply_to":"7af24918_96852baf","updated":"2016-03-05 17:42:57.000000000","message":"Done","commit_id":"c06a91a5f26b38954ff84a33880be6ec7700dd57"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"1d8fc9ad4661aeea9a19892f1cf37af5a4dcdd75","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"How it works"},{"line_number":7,"context_line":"~~~~~~~~~~~~"},{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers, peer them with other BGP peers, attach BGP speakers to external networks, and control what tenant prefixes get announced via BGP.There are two components: the Neutron BGP service plugin and the BGP dynamic routing agent.  The BGP service plugin implements the server-side admin extensions. An admin creates and configures a BGP speaker on the Neutron server.  BGP speakers are scheduled to a BGP dynamic routing agent that will maintain the BGP peering sessions and handles announcement of routes to the appropriate peers.  What prefixes get announced depends on what external networks a BGP speaker gets bound to, and what address scope the external and internal subnets are allocated in.  Address scopes are key in determining which prefixes get announced by a BGP speaker. Make sure you understand address scopes before proceeding. Read about address scope here (insert link)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_d1e80bb7","line":8,"updated":"2016-03-08 23:25:05.000000000","message":"Line is too long.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"How it works"},{"line_number":7,"context_line":"~~~~~~~~~~~~"},{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers, peer them with other BGP peers, attach BGP speakers to external networks, and control what tenant prefixes get announced via BGP.There are two components: the Neutron BGP service plugin and the BGP dynamic routing agent.  The BGP service plugin implements the server-side admin extensions. An admin creates and configures a BGP speaker on the Neutron server.  BGP speakers are scheduled to a BGP dynamic routing agent that will maintain the BGP peering sessions and handles announcement of routes to the appropriate peers.  What prefixes get announced depends on what external networks a BGP speaker gets bound to, and what address scope the external and internal subnets are allocated in.  Address scopes are key in determining which prefixes get announced by a BGP speaker. Make sure you understand address scopes before proceeding. Read about address scope here (insert link)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_e173ac7e","line":8,"in_reply_to":"5aef4532_7672c4ae","updated":"2016-03-09 04:51:39.000000000","message":"Right, need to flesh out more details here.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"How it works"},{"line_number":7,"context_line":"~~~~~~~~~~~~"},{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers, peer them with other BGP peers, attach BGP speakers to external networks, and control what tenant prefixes get announced via BGP.There are two components: the Neutron BGP service plugin and the BGP dynamic routing agent.  The BGP service plugin implements the server-side admin extensions. An admin creates and configures a BGP speaker on the Neutron server.  BGP speakers are scheduled to a BGP dynamic routing agent that will maintain the BGP peering sessions and handles announcement of routes to the appropriate peers.  What prefixes get announced depends on what external networks a BGP speaker gets bound to, and what address scope the external and internal subnets are allocated in.  Address scopes are key in determining which prefixes get announced by a BGP speaker. Make sure you understand address scopes before proceeding. Read about address scope here (insert link)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_a1dec43c","line":8,"in_reply_to":"5aef4532_d1e80bb7","updated":"2016-03-09 04:51:39.000000000","message":"Done","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c2036ceac65dd8d0f95a9b610d18f6321d0ef250","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"How it works"},{"line_number":7,"context_line":"~~~~~~~~~~~~"},{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers, peer them with other BGP peers, attach BGP speakers to external networks, and control what tenant prefixes get announced via BGP.There are two components: the Neutron BGP service plugin and the BGP dynamic routing agent.  The BGP service plugin implements the server-side admin extensions. An admin creates and configures a BGP speaker on the Neutron server.  BGP speakers are scheduled to a BGP dynamic routing agent that will maintain the BGP peering sessions and handles announcement of routes to the appropriate peers.  What prefixes get announced depends on what external networks a BGP speaker gets bound to, and what address scope the external and internal subnets are allocated in.  Address scopes are key in determining which prefixes get announced by a BGP speaker. Make sure you understand address scopes before proceeding. Read about address scope here (insert link)."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_7672c4ae","line":8,"in_reply_to":"5aef4532_d1e80bb7","updated":"2016-03-09 03:58:21.000000000","message":"we have only 2 components? How about the scheduler?","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c2036ceac65dd8d0f95a9b610d18f6321d0ef250","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To enable BGP on the Neutron server, make sure the L3 service plugin and the BGP service plugin are enabled."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"From neutron.conf:"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_967dd070","line":13,"updated":"2016-03-09 03:58:21.000000000","message":"let\u0027s say neutron l3 router plugin instead of just l3 plugin.. l3 plugin could also be vendor specific which we don\u0027t support now.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Neutron Configuration"},{"line_number":11,"context_line":"_____________________"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To enable BGP on the Neutron server, make sure the L3 service plugin and the BGP service plugin are enabled."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"From neutron.conf:"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_c16e7095","line":13,"in_reply_to":"5aef4532_967dd070","updated":"2016-03-09 04:51:39.000000000","message":"Done","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c2036ceac65dd8d0f95a9b610d18f6321d0ef250","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":".. code-block:: console"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    $ neutron bgp-speaker-create --ip-version 4 --local-as 1234 my-bgp-speaker"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Bind a BGP speaker to an external network:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_96279063","line":33,"updated":"2016-03-09 03:58:21.000000000","message":"How about mentioning the other options bgp-speaker has... like --advertise-floating-ip-host-routes \u0026 advertise-tenant-networks?","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"85d8dd96f3255cf65a5f63ec0c90da4b3f857ee0","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":".. code-block:: console"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    $ neutron bgp-speaker-create --ip-version 4 --local-as 1234 my-bgp-speaker"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Bind a BGP speaker to an external network:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af94dfe_b195bae5","line":33,"in_reply_to":"3afc51ec_866840f7","updated":"2016-03-16 04:36:23.000000000","message":"Done","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":".. code-block:: console"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    $ neutron bgp-speaker-create --ip-version 4 --local-as 1234 my-bgp-speaker"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Bind a BGP speaker to an external network:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_e1e8cce4","line":33,"in_reply_to":"5aef4532_96279063","updated":"2016-03-09 04:51:39.000000000","message":"We definitely need to mention these attributes. I was looking for a simple example to walk through, but maybe it\u0027s worth it to talk about all the flags on a BGP speaker.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a94bbbce9ce106ca8c869869a4707c452dee56b1","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":".. code-block:: console"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    $ neutron bgp-speaker-create --ip-version 4 --local-as 1234 my-bgp-speaker"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Bind a BGP speaker to an external network:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afc51ec_866840f7","line":33,"in_reply_to":"5aef4532_e1e8cce4","updated":"2016-03-13 04:42:48.000000000","message":"It\u0027d be good to show live output, as done in other sections.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c2036ceac65dd8d0f95a9b610d18f6321d0ef250","unresolved":false,"context_lines":[{"line_number":37,"context_line":".. code-block:: console"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    $ neutron net-list"},{"line_number":40,"context_line":"    $ neutron bgp-speaker-network-add"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Create a BGP peer:"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_d6de386c","line":40,"updated":"2016-03-09 03:58:21.000000000","message":"lets add \u003cnet-name\u003e at the end","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":37,"context_line":".. code-block:: console"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    $ neutron net-list"},{"line_number":40,"context_line":"    $ neutron bgp-speaker-network-add"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Create a BGP peer:"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_210594bb","line":40,"in_reply_to":"5aef4532_d6de386c","updated":"2016-03-09 04:51:39.000000000","message":"Done","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c2036ceac65dd8d0f95a9b610d18f6321d0ef250","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    $ neutron bgp-peer-create --peer-ip 172.24.4.2 --remote-as 4321 --auth-type none my-bgp-peer"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add BGP peer to a BGP speaker:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":".. code-block:: console"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_56d18856","line":48,"updated":"2016-03-09 03:58:21.000000000","message":"By default, the auth-type will be \u0027none\u0027. I think no need to mention.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    $ neutron bgp-peer-create --peer-ip 172.24.4.2 --remote-as 4321 --auth-type none my-bgp-peer"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add BGP peer to a BGP speaker:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":".. code-block:: console"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_010058a9","line":48,"in_reply_to":"5aef4532_56d18856","updated":"2016-03-09 04:51:39.000000000","message":"Good suggestion","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c2036ceac65dd8d0f95a9b610d18f6321d0ef250","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":".. code-block:: console"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    $ neutron bgp-speaker-peer-add"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Show the routes advertised by a BGP speaker:"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_b6c0cc7d","line":52,"updated":"2016-03-09 03:58:21.000000000","message":"let\u0027s add \u003cbgp-peer-name\u003e at the end.. For example the same what we have created @L48.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":".. code-block:: console"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    $ neutron bgp-speaker-peer-add"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Show the routes advertised by a BGP speaker:"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_612ddc45","line":52,"in_reply_to":"5aef4532_b6c0cc7d","updated":"2016-03-09 04:51:39.000000000","message":"Done","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c2036ceac65dd8d0f95a9b610d18f6321d0ef250","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. code-block:: console"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    $ neutron bgp-speaker-advertiseroute-list \u003cBGP speaker ID\u003e"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Show available dynamic routing agents:"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_563868a0","line":58,"updated":"2016-03-09 03:58:21.000000000","message":"Either of the name or ID can be specified.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. code-block:: console"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    $ neutron bgp-speaker-advertiseroute-list \u003cBGP speaker ID\u003e"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Show available dynamic routing agents:"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_4130a09e","line":58,"in_reply_to":"5aef4532_563868a0","updated":"2016-03-09 04:51:39.000000000","message":"Will mention this","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c2036ceac65dd8d0f95a9b610d18f6321d0ef250","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    $ neutron bgp-speaker-advertiseroute-list \u003cBGP speaker ID\u003e"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Show available dynamic routing agents:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":".. code-block:: console"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_b6472c1c","line":60,"updated":"2016-03-09 03:58:21.000000000","message":"I believe you mean neutron agents here as we are executing \"agent-list\" cmd below.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    $ neutron bgp-speaker-advertiseroute-list \u003cBGP speaker ID\u003e"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Show available dynamic routing agents:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":".. code-block:: console"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_812aa82a","line":60,"in_reply_to":"5aef4532_b6472c1c","updated":"2016-03-09 04:51:39.000000000","message":"Yes, I can re-word this as it might be confusing","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c2036ceac65dd8d0f95a9b610d18f6321d0ef250","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. code-block:: console"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    $ neutron bgp-dragent-speaker-add \u003cagent ID\u003e \u003cBGP speaker ID\u003e"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"What Prefixes Get Announced?"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_96595001","line":70,"updated":"2016-03-09 03:58:21.000000000","message":"Either of the BGP speaker name or ID can be specified.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"2ccab40211346173f7ed25e9d1ebe343a46129fa","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. code-block:: console"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    $ neutron bgp-dragent-speaker-add \u003cagent ID\u003e \u003cBGP speaker ID\u003e"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"What Prefixes Get Announced?"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_211c7411","line":70,"in_reply_to":"5aef4532_96595001","updated":"2016-03-09 04:51:39.000000000","message":"Will mention","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"4a0ccd27b5e77472896f7c514b18d8489297bf9e","unresolved":false,"context_lines":[{"line_number":68,"context_line":".. code-block:: console"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    $ neutron bgp-dragent-speaker-add \u003cagent ID\u003e \u003cBGP speaker ID\u003e"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"What Prefixes Get Announced?"},{"line_number":74,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aef4532_33932951","line":71,"updated":"2016-03-09 06:57:11.000000000","message":"One generic suggestion, we can also show the output of each command line as done by qos \"https://review.openstack.org/#/c/273638/11/doc/networking-guide/source/adv-config-qos.rst\"","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a94bbbce9ce106ca8c869869a4707c452dee56b1","unresolved":false,"context_lines":[{"line_number":88,"context_line":"BGP and DVR"},{"line_number":89,"context_line":"___________"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"When using distributed Neutron routers, the next-hop IP for floating IP host routes is announced as the IP address of the floating IP agent gateway on the corresponding compute node."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afc51ec_e66dc405","line":91,"updated":"2016-03-13 04:42:48.000000000","message":"consider adding a section on Limitations of the existing functionality.","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"85d8dd96f3255cf65a5f63ec0c90da4b3f857ee0","unresolved":false,"context_lines":[{"line_number":88,"context_line":"BGP and DVR"},{"line_number":89,"context_line":"___________"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"When using distributed Neutron routers, the next-hop IP for floating IP host routes is announced as the IP address of the floating IP agent gateway on the corresponding compute node."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af94dfe_f19f4201","line":91,"in_reply_to":"3afc51ec_e66dc405","updated":"2016-03-16 04:36:23.000000000","message":"Done","commit_id":"6fc805ee98caa2c16033179c306265726de3f4b2"}],"doc/networking-guide/source/adv-config-bgp-dynamic-routing.rst":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"~~~~~~~~~~~~"},{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers,"},{"line_number":9,"context_line":"peer them with other BGP peers, attach BGP speakers to external networks, and"},{"line_number":10,"context_line":"control what tenant prefixes get announced via BGP. There are two components:"},{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_7cdb517c","line":10,"updated":"2016-03-19 06:01:06.000000000","message":"I would suggest to put mentioned support as separate bullets for better readability.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"~~~~~~~~~~~~"},{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers,"},{"line_number":9,"context_line":"peer them with other BGP peers, attach BGP speakers to external networks, and"},{"line_number":10,"context_line":"control what tenant prefixes get announced via BGP. There are two components:"},{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_dc4d45c5","line":10,"in_reply_to":"1af94dfe_7cdb517c","updated":"2016-03-19 06:42:43.000000000","message":"Done","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers,"},{"line_number":9,"context_line":"peer them with other BGP peers, attach BGP speakers to external networks, and"},{"line_number":10,"context_line":"control what tenant prefixes get announced via BGP. There are two components:"},{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"},{"line_number":14,"context_line":"scheduled to a BGP dynamic routing agent that will maintain the BGP peering"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_5cc935ab","line":11,"updated":"2016-03-19 06:01:06.000000000","message":"How about mentioning about the scheduler as well?","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers,"},{"line_number":9,"context_line":"peer them with other BGP peers, attach BGP speakers to external networks, and"},{"line_number":10,"context_line":"control what tenant prefixes get announced via BGP. There are two components:"},{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"},{"line_number":14,"context_line":"scheduled to a BGP dynamic routing agent that will maintain the BGP peering"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_dcfb8545","line":11,"in_reply_to":"1af94dfe_5cc935ab","updated":"2016-03-19 06:42:43.000000000","message":"Because we don\u0027t have auto-scheduling and it\u0027s not a component that is directly exposed to an operator I decided not to get into it. The most a user sees is the CLI, nothing to configure or deploy. The user simply enables the service plugin and deploys the dr_agent. To get things running, the user doesn\u0027t ever see a scheduler component so I decided against mentioning it. The scheduler is something you see when you look under the hood.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"a1ad2ee7d41cf10c6d50528a5192853385f66d93","unresolved":false,"context_lines":[{"line_number":8,"context_line":"The BGP dynamic routing service plugin enables admins to create BGP speakers,"},{"line_number":9,"context_line":"peer them with other BGP peers, attach BGP speakers to external networks, and"},{"line_number":10,"context_line":"control what tenant prefixes get announced via BGP. There are two components:"},{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"},{"line_number":14,"context_line":"scheduled to a BGP dynamic routing agent that will maintain the BGP peering"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_e606af84","line":11,"in_reply_to":"1af94dfe_dcfb8545","updated":"2016-03-19 13:43:04.000000000","message":"Sounds reasonable..","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"peer them with other BGP peers, attach BGP speakers to external networks, and"},{"line_number":10,"context_line":"control what tenant prefixes get announced via BGP. There are two components:"},{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"},{"line_number":14,"context_line":"scheduled to a BGP dynamic routing agent that will maintain the BGP peering"},{"line_number":15,"context_line":"sessions and handles announcement of routes to the appropriate peers.  What"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_dcbd4503","line":12,"updated":"2016-03-19 06:01:06.000000000","message":"An admin \u0027CAN ONLY\u0027 create","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"},{"line_number":14,"context_line":"scheduled to a BGP dynamic routing agent that will maintain the BGP peering"},{"line_number":15,"context_line":"sessions and handles announcement of routes to the appropriate peers.  What"},{"line_number":16,"context_line":"prefixes get announced depends on what external networks a BGP speaker gets"},{"line_number":17,"context_line":"bound to, and what address scope the external and internal subnets are"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_9c4e1d39","line":14,"updated":"2016-03-19 06:01:06.000000000","message":"If we want to specifically say as \u0027BGP DRAgent\u0027 then probably we got to revist the help msgs where we still say the agent as \u0027DRAgent\u0027 instead of \u0027BGP DRAgent\u0027\n\nhttps://github.com/openstack/python-neutronclient/blob/master/neutronclient/neutron/v2_0/bgp/dragentscheduler.py#L27","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"},{"line_number":14,"context_line":"scheduled to a BGP dynamic routing agent that will maintain the BGP peering"},{"line_number":15,"context_line":"sessions and handles announcement of routes to the appropriate peers.  What"},{"line_number":16,"context_line":"prefixes get announced depends on what external networks a BGP speaker gets"},{"line_number":17,"context_line":"bound to, and what address scope the external and internal subnets are"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_5c9e5507","line":14,"in_reply_to":"1af94dfe_9c4e1d39","updated":"2016-03-19 06:42:43.000000000","message":"I\u0027m just being a little more formal for purposes of the user guide. I don\u0027t see a need to adjust log messages.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"sessions and handles announcement of routes to the appropriate peers.  What"},{"line_number":16,"context_line":"prefixes get announced depends on what external networks a BGP speaker gets"},{"line_number":17,"context_line":"bound to, and what address scope the external and internal subnets are"},{"line_number":18,"context_line":"allocated in.  Address scopes are key in determining which prefixes get"},{"line_number":19,"context_line":"announced by a BGP speaker. Make sure you understand address scopes before"},{"line_number":20,"context_line":"proceeding. Read more about address scope here (insert link)."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_3c28a932","line":18,"updated":"2016-03-19 06:01:06.000000000","message":"Can we provide a link to \u0027What Prefixes Get Announced?\u0027 for further reading.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"sessions and handles announcement of routes to the appropriate peers.  What"},{"line_number":16,"context_line":"prefixes get announced depends on what external networks a BGP speaker gets"},{"line_number":17,"context_line":"bound to, and what address scope the external and internal subnets are"},{"line_number":18,"context_line":"allocated in.  Address scopes are key in determining which prefixes get"},{"line_number":19,"context_line":"announced by a BGP speaker. Make sure you understand address scopes before"},{"line_number":20,"context_line":"proceeding. Read more about address scope here (insert link)."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_7c523168","line":18,"in_reply_to":"1af94dfe_3c28a932","updated":"2016-03-19 06:42:43.000000000","message":"Yes, I intend to put together a table of contents.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"0474ca36c2af8fd0deec980b2b31e5079bdafa44","unresolved":false,"context_lines":[{"line_number":41,"context_line":"the system running the BGP dynamic routing agent. For more information on BGP"},{"line_number":42,"context_line":"router ID, see \"BGP Identifier\" in section 1.1 of"},{"line_number":43,"context_line":"https://tools.ietf.org/html/rfc4271."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Commands"},{"line_number":46,"context_line":"________"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_db9eef61","line":44,"updated":"2016-03-19 00:29:04.000000000","message":"Need to add a section with a diagram or 2 showing some reference architectures.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":41,"context_line":"the system running the BGP dynamic routing agent. For more information on BGP"},{"line_number":42,"context_line":"router ID, see \"BGP Identifier\" in section 1.1 of"},{"line_number":43,"context_line":"https://tools.ietf.org/html/rfc4271."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Commands"},{"line_number":46,"context_line":"________"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_dc5425cb","line":44,"in_reply_to":"1af94dfe_db9eef61","updated":"2016-03-19 06:01:06.000000000","message":"Nice idea!","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    Set gateway for router 49439b14-f6ee-420d-8c48-d3767fadcb3a"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    $ neutron router-interface-add 49439b14-f6ee-420d-8c48-d3767fadcb3a 8edd3dc2-df40-4d71-816e-a4586d61c809"},{"line_number":195,"context_line":"    Added interface 969a1d4b-7fa1-4346-9963-de06becab87a to router 49439b14-f6ee-420d-8c48-d3767fadcb3a."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Create a BGP speaker:"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_5c5775c9","line":195,"updated":"2016-03-19 06:01:06.000000000","message":"Better to show what all interfaces router has via a show output.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    Set gateway for router 49439b14-f6ee-420d-8c48-d3767fadcb3a"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    $ neutron router-interface-add 49439b14-f6ee-420d-8c48-d3767fadcb3a 8edd3dc2-df40-4d71-816e-a4586d61c809"},{"line_number":195,"context_line":"    Added interface 969a1d4b-7fa1-4346-9963-de06becab87a to router 49439b14-f6ee-420d-8c48-d3767fadcb3a."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Create a BGP speaker:"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_9c573d57","line":195,"in_reply_to":"1af94dfe_5c5775c9","updated":"2016-03-19 06:42:43.000000000","message":"Done","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    +-----------+--------------------------------------+"},{"line_number":259,"context_line":"    | auth_type | none                                 |"},{"line_number":260,"context_line":"    | id        | 35c89ca0-ac5a-4298-a815-0b073c2362e9 |"},{"line_number":261,"context_line":"    | name      | my-border-router                     |"},{"line_number":262,"context_line":"    | peer_ip   | 192.168.122.1                        |"},{"line_number":263,"context_line":"    | remote_as | 4321                                 |"},{"line_number":264,"context_line":"    | tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d     |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_7c707172","line":261,"updated":"2016-03-19 06:01:06.000000000","message":"the name sound\u0027s little odd.. How about using \u0027my-external-bgp-peer\u0027 or \u0027my-remote-peer\u0027 or something like this?","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    +-----------+--------------------------------------+"},{"line_number":259,"context_line":"    | auth_type | none                                 |"},{"line_number":260,"context_line":"    | id        | 35c89ca0-ac5a-4298-a815-0b073c2362e9 |"},{"line_number":261,"context_line":"    | name      | my-border-router                     |"},{"line_number":262,"context_line":"    | peer_ip   | 192.168.122.1                        |"},{"line_number":263,"context_line":"    | remote_as | 4321                                 |"},{"line_number":264,"context_line":"    | tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d     |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_3c5c297c","line":261,"in_reply_to":"1af94dfe_7c707172","updated":"2016-03-19 06:42:43.000000000","message":"Just trying to illustrate that this is a peer that is outside of Neutron.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":275,"context_line":"    +-----------------------------------+--------------------------------------+"},{"line_number":276,"context_line":"    | Field                             | Value                                |"},{"line_number":277,"context_line":"    +-----------------------------------+--------------------------------------+"},{"line_number":278,"context_line":"    | advertise_floating_ip_host_routes | True                                 |"},{"line_number":279,"context_line":"    | advertise_tenant_networks         | True                                 |"},{"line_number":280,"context_line":"    | id                                | 5f227f14-4f46-4eca-9524-fc5a1eabc358 |"},{"line_number":281,"context_line":"    | ip_version                        | 4                                    |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_5c0e55e5","line":278,"updated":"2016-03-19 06:01:06.000000000","message":"I think better we can explain the importance of different advertise_* flag we have for BGP speaker configuration.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":275,"context_line":"    +-----------------------------------+--------------------------------------+"},{"line_number":276,"context_line":"    | Field                             | Value                                |"},{"line_number":277,"context_line":"    +-----------------------------------+--------------------------------------+"},{"line_number":278,"context_line":"    | advertise_floating_ip_host_routes | True                                 |"},{"line_number":279,"context_line":"    | advertise_tenant_networks         | True                                 |"},{"line_number":280,"context_line":"    | id                                | 5f227f14-4f46-4eca-9524-fc5a1eabc358 |"},{"line_number":281,"context_line":"    | ip_version                        | 4                                    |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_bc71590e","line":278,"in_reply_to":"1af94dfe_5c0e55e5","updated":"2016-03-19 06:42:43.000000000","message":"I do touch on this later under \"What routes get advertised?\". I\u0027ll look into weaving a little more info on this in.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":286,"context_line":"    | tenant_id                         | b3ac05ef10bf441fbf4aa17f16ae1e6d     |"},{"line_number":287,"context_line":"    +-----------------------------------+--------------------------------------+"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"Show available dynamic routing agents:"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":".. code-block:: console"},{"line_number":292,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_3c11c904","line":289,"updated":"2016-03-19 06:01:06.000000000","message":"Would you like to rename it as \u0027Show available BGP dynamic routing agent\"?","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    | 7b21f70b-bf7f-4b0d-bea5-19a2a60a28c0 | Metadata agent            | devstack |                   | :-)   | True           | neutron-metadata-agent    |"},{"line_number":302,"context_line":"    +--------------------------------------+---------------------------+----------+-------------------+-------+----------------+---------------------------+"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"Schedule a BGP speaker to a dynamic routing agent:"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":".. code-block:: console"},{"line_number":307,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_7cf7d1d2","line":304,"updated":"2016-03-19 06:01:06.000000000","message":"ditto","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":336,"context_line":"conditions:"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"* The the external network and the tenant network must be in the same"},{"line_number":339,"context_line":"  address scope"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"* The tenant network must have a router interface attached to it, and the"},{"line_number":342,"context_line":"  router must have the external network set as its gateway."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_bc14b9e8","line":339,"updated":"2016-03-19 06:01:06.000000000","message":"period is missing at the end.","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":336,"context_line":"conditions:"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"* The the external network and the tenant network must be in the same"},{"line_number":339,"context_line":"  address scope"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"* The tenant network must have a router interface attached to it, and the"},{"line_number":342,"context_line":"  router must have the external network set as its gateway."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_9c70dd0c","line":339,"in_reply_to":"1af94dfe_bc14b9e8","updated":"2016-03-19 06:42:43.000000000","message":"Done","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":341,"context_line":"* The tenant network must have a router interface attached to it, and the"},{"line_number":342,"context_line":"  router must have the external network set as its gateway."},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"* A BGP speaker must be associated with the external network that the tenant"},{"line_number":345,"context_line":"  router uses as its gateway port."},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"* The BGP speaker must be configured to announce tenant prefixes by having"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_1cd68d27","line":344,"updated":"2016-03-19 06:01:06.000000000","message":"Can\u0027t we club point 2 and 3..","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":413,"context_line":""},{"line_number":414,"context_line":"When using the Ryu BGP driver, it may be necessary to suppress capability"},{"line_number":415,"context_line":"negotiation OPEN messages on peers the BGP dr_agent is configured to peer"},{"line_number":416,"context_line":"with."},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"Sample Quagga configuration for peering with Neutron BGP dr_agent over IPv6:"},{"line_number":419,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_5c349548","line":416,"updated":"2016-03-19 06:42:43.000000000","message":"This paragraph can be removed. I\u0027ve now got IPv6 peering and IPv6 prefix announcements working without any special config. Ryu continues to impress!","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"0474ca36c2af8fd0deec980b2b31e5079bdafa44","unresolved":false,"context_lines":[{"line_number":417,"context_line":""},{"line_number":418,"context_line":"Sample Quagga configuration for peering with Neutron BGP dr_agent over IPv6:"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"   .. code-block:: ini"},{"line_number":421,"context_line":"      router bgp 4321 view test"},{"line_number":422,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 remote-as 1234"},{"line_number":423,"context_line":"        no neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 strict-capability-match"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_5baadf85","line":420,"updated":"2016-03-19 00:29:04.000000000","message":"This section needs a little more polish","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":419,"context_line":""},{"line_number":420,"context_line":"   .. code-block:: ini"},{"line_number":421,"context_line":"      router bgp 4321 view test"},{"line_number":422,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 remote-as 1234"},{"line_number":423,"context_line":"        no neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 strict-capability-match"},{"line_number":424,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 override-capability"},{"line_number":425,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 dont-capability-negotiate"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_1c7ccdea","line":422,"updated":"2016-03-19 06:42:43.000000000","message":"After this line, add the following line:\n\nno neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 activate\n\nIf I understand correctly this disables IPv4 announcements and leaves us with only over IPv6 announcements Quagga","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":420,"context_line":"   .. code-block:: ini"},{"line_number":421,"context_line":"      router bgp 4321 view test"},{"line_number":422,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 remote-as 1234"},{"line_number":423,"context_line":"        no neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 strict-capability-match"},{"line_number":424,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 override-capability"},{"line_number":425,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 dont-capability-negotiate"},{"line_number":426,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_7c3d112a","line":423,"updated":"2016-03-19 06:42:43.000000000","message":"Remove","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":421,"context_line":"      router bgp 4321 view test"},{"line_number":422,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 remote-as 1234"},{"line_number":423,"context_line":"        no neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 strict-capability-match"},{"line_number":424,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 override-capability"},{"line_number":425,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 dont-capability-negotiate"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        address-family ipv6"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_dc48a5ce","line":424,"updated":"2016-03-19 06:42:43.000000000","message":"Remove","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":422,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 remote-as 1234"},{"line_number":423,"context_line":"        no neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 strict-capability-match"},{"line_number":424,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 override-capability"},{"line_number":425,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 dont-capability-negotiate"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        address-family ipv6"},{"line_number":428,"context_line":"          neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 passive"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_bc4319ae","line":425,"updated":"2016-03-19 06:42:43.000000000","message":"Remove","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":436,"context_line":"subnet via the central SNAT node, but will not announce host routes for fixed"},{"line_number":437,"context_line":"IP\u0027s in such a way that \"north-south\" traffic gets routed directly to the"},{"line_number":438,"context_line":"compute node. This is due to the fact that DVR does not currently support"},{"line_number":439,"context_line":"routing directly to a fixed IP via the floating IP agent gateway port."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_1c2fad3f","line":439,"updated":"2016-03-19 06:01:06.000000000","message":"Better to mention about the following as well: \n1. HA limitation ....\n2. Only one speaker can be scheduled per dr_agent.\n3. There is no limitation on the number of BGP speaker and BGP peer count. This depends upon the driver support..","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c7d21ab0f45586b6075fa27a96f66dadd7f6a41a","unresolved":false,"context_lines":[{"line_number":436,"context_line":"subnet via the central SNAT node, but will not announce host routes for fixed"},{"line_number":437,"context_line":"IP\u0027s in such a way that \"north-south\" traffic gets routed directly to the"},{"line_number":438,"context_line":"compute node. This is due to the fact that DVR does not currently support"},{"line_number":439,"context_line":"routing directly to a fixed IP via the floating IP agent gateway port."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_5c82d5c8","line":439,"in_reply_to":"1af94dfe_1c2fad3f","updated":"2016-03-19 06:42:43.000000000","message":"Done","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"62b964e52d9df3d3f70b5bc875fbaba44468ac68","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   .. code-block:: ini"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To configure the BGP dyanmic routing agent, ensure the following flags are set"},{"line_number":35,"context_line":"in bgp_dragent.ini:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_44c34f57","line":32,"updated":"2016-03-31 11:21:46.000000000","message":"I think we need to enable it by \"q-bgp\"\nhttps://github.com/openstack/neutron/blob/master/devstack/plugin.sh#L19. Moreover, need to enable \u0027q-bgp-agt\u0027 for starting bgp dynamic routing agent.","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"16f5e14ab9bdd7e1eecf73e90d341eb3f0420a0a","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   .. code-block:: ini"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To configure the BGP dyanmic routing agent, ensure the following flags are set"},{"line_number":35,"context_line":"in bgp_dragent.ini:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_ff42d3ac","line":32,"in_reply_to":"ba0121b8_44c34f57","updated":"2016-03-31 17:51:00.000000000","message":"That is how you enable it in devstack, but this is what actually goes in your neutron.conf.","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"62b964e52d9df3d3f70b5bc875fbaba44468ac68","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    | 01da3e19-129f-4d26-b065-255ade0e5e2c | private | 8edd3dc2-df40-4d71-816e-a4586d61c809 10.0.0.0/24   |"},{"line_number":191,"context_line":"    +--------------------------------------+---------+----------------------------------------------------+"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    $ neutron router-gateway-set 49439b14-f6ee-420d-8c48-d3767fadcb3a 68ec148c-181f-4656-8334-8f4eb148689d"},{"line_number":194,"context_line":"    Set gateway for router 49439b14-f6ee-420d-8c48-d3767fadcb3a"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    $ neutron router-interface-add 49439b14-f6ee-420d-8c48-d3767fadcb3a 8edd3dc2-df40-4d71-816e-a4586d61c809"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_a4618b3b","line":193,"updated":"2016-03-31 11:21:46.000000000","message":"IMO, Let\u0027s comment each action.. How about using names instead cryptic UUID\u0027s?","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"16f5e14ab9bdd7e1eecf73e90d341eb3f0420a0a","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    | 01da3e19-129f-4d26-b065-255ade0e5e2c | private | 8edd3dc2-df40-4d71-816e-a4586d61c809 10.0.0.0/24   |"},{"line_number":191,"context_line":"    +--------------------------------------+---------+----------------------------------------------------+"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    $ neutron router-gateway-set 49439b14-f6ee-420d-8c48-d3767fadcb3a 68ec148c-181f-4656-8334-8f4eb148689d"},{"line_number":194,"context_line":"    Set gateway for router 49439b14-f6ee-420d-8c48-d3767fadcb3a"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    $ neutron router-interface-add 49439b14-f6ee-420d-8c48-d3767fadcb3a 8edd3dc2-df40-4d71-816e-a4586d61c809"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_1f4987b7","line":193,"in_reply_to":"ba0121b8_a4618b3b","updated":"2016-03-31 17:51:00.000000000","message":"Sure, comments are good and I can swap out UUID\u0027s where it would help.","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"62b964e52d9df3d3f70b5bc875fbaba44468ac68","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":".. code-block:: console"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    $ neutron bgp-speaker-network-add my-bgp-speaker public"},{"line_number":232,"context_line":"    Added network public to BGP speaker my-bgp-speaker."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    $ neutron bgp-speaker-show my-bgp-speaker"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_7f01bcae","line":231,"updated":"2016-03-31 11:21:46.000000000","message":"Till now we have not spoken about the network \"public\". Better we can add the creation of \"public\" network as well somewhere in the beginning.","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"16f5e14ab9bdd7e1eecf73e90d341eb3f0420a0a","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":".. code-block:: console"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    $ neutron bgp-speaker-network-add my-bgp-speaker public"},{"line_number":232,"context_line":"    Added network public to BGP speaker my-bgp-speaker."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    $ neutron bgp-speaker-show my-bgp-speaker"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_5ff49f59","line":231,"in_reply_to":"ba0121b8_7f01bcae","updated":"2016-03-31 17:51:00.000000000","message":"We did create a network named \"public\", but you are correct that it is only referenced by UUID until this point.","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"62b964e52d9df3d3f70b5bc875fbaba44468ac68","unresolved":false,"context_lines":[{"line_number":316,"context_line":".. code-block:: console"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"    $ neutron bgp-dragent-speaker-add 37729181-2224-48d8-89ef-16eca8e2f77e my-bgp-speaker"},{"line_number":319,"context_line":"    Associated BGP speaker my-bgp-speaker to the Dynamic Routing agent."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"    $ neutron bgp-dragent-list-hosting-speaker my-bgp-speaker"},{"line_number":322,"context_line":"    +--------------------------------------+----------+----------------+-------+"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_3f7e2419","line":319,"updated":"2016-03-31 11:21:46.000000000","message":"Should we use \"BGP dynamic routing agent\" instead of \"Dynamic Routing agent\"? I understand if we need to do this then the CLI code needs to be modified. Stuck me so thought getting your opinion.","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"16f5e14ab9bdd7e1eecf73e90d341eb3f0420a0a","unresolved":false,"context_lines":[{"line_number":316,"context_line":".. code-block:: console"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"    $ neutron bgp-dragent-speaker-add 37729181-2224-48d8-89ef-16eca8e2f77e my-bgp-speaker"},{"line_number":319,"context_line":"    Associated BGP speaker my-bgp-speaker to the Dynamic Routing agent."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"    $ neutron bgp-dragent-list-hosting-speaker my-bgp-speaker"},{"line_number":322,"context_line":"    +--------------------------------------+----------+----------------+-------+"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_bfb5fb7e","line":319,"in_reply_to":"ba0121b8_3f7e2419","updated":"2016-03-31 17:51:00.000000000","message":"Not worried about proper capitalization, someone with better editing and English skills than me can make the edit inline if they feel strongly :)","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"62b964e52d9df3d3f70b5bc875fbaba44468ac68","unresolved":false,"context_lines":[{"line_number":448,"context_line":"subnet via the central SNAT node, but will not announce host routes for fixed"},{"line_number":449,"context_line":"IP\u0027s in such a way that \"north-south\" traffic gets routed directly to the"},{"line_number":450,"context_line":"compute node. This is due to the fact that DVR does not currently support"},{"line_number":451,"context_line":"routing directly to a fixed IP via the floating IP agent gateway port."}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_7f753cf8","line":451,"updated":"2016-03-31 11:21:46.000000000","message":"Let\u0027s mention about HA as well.","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"16f5e14ab9bdd7e1eecf73e90d341eb3f0420a0a","unresolved":false,"context_lines":[{"line_number":448,"context_line":"subnet via the central SNAT node, but will not announce host routes for fixed"},{"line_number":449,"context_line":"IP\u0027s in such a way that \"north-south\" traffic gets routed directly to the"},{"line_number":450,"context_line":"compute node. This is due to the fact that DVR does not currently support"},{"line_number":451,"context_line":"routing directly to a fixed IP via the floating IP agent gateway port."}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba0121b8_1fa50746","line":451,"in_reply_to":"ba0121b8_7f753cf8","updated":"2016-03-31 17:51:00.000000000","message":"WIll do","commit_id":"1dc5f4cc44d6c95cea881a1181ecdbc0377d2ddb"},{"author":{"_account_id":14947,"name":"Maria Zlatkova","email":"mzlatkova@mirantis.com","username":"mzlatkova"},"change_message_id":"24bc858b6608f424b4d6f215ccbbff726eed2a39","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"BGP Dynamic Routing"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_007f4ae0","line":2,"range":{"start_line":2,"start_character":4,"end_line":2,"end_character":13},"updated":"2016-04-01 09:41:57.000000000","message":"dynamic routing\n\nSentence-style capitalization. Please check other titles as well.","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4df7eb2102705acf59ec3c5c9ab1a81d4ee9f90c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"BGP Dynamic Routing"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_34c71797","line":2,"range":{"start_line":2,"start_character":4,"end_line":2,"end_character":13},"in_reply_to":"ba0121b8_007f4ae0","updated":"2016-04-01 17:47:31.000000000","message":"Done","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b0fb0f769a14c0685f33f1f8103940e4534bb0e8","unresolved":false,"context_lines":[{"line_number":10,"context_line":"control what tenant prefixes get announced via BGP. There are two components:"},{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"},{"line_number":14,"context_line":"scheduled to a BGP dynamic routing agent that will maintain the BGP peering"},{"line_number":15,"context_line":"sessions and handles announcement of routes to the appropriate peers.  What"},{"line_number":16,"context_line":"prefixes get announced depends on what external networks a BGP speaker gets"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_2269c8f9","line":13,"range":{"start_line":13,"start_character":52,"end_line":13,"end_character":53},"updated":"2016-03-31 21:35:49.000000000","message":"remove the double space after the period for all instances throughout","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4df7eb2102705acf59ec3c5c9ab1a81d4ee9f90c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"control what tenant prefixes get announced via BGP. There are two components:"},{"line_number":11,"context_line":"the Neutron BGP service plugin and the BGP dynamic routing agent. The BGP"},{"line_number":12,"context_line":"service plugin implements the server-side admin extensions. An admin creates"},{"line_number":13,"context_line":"and configures a BGP speaker on the Neutron server.  BGP speakers are"},{"line_number":14,"context_line":"scheduled to a BGP dynamic routing agent that will maintain the BGP peering"},{"line_number":15,"context_line":"sessions and handles announcement of routes to the appropriate peers.  What"},{"line_number":16,"context_line":"prefixes get announced depends on what external networks a BGP speaker gets"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_14c2d384","line":13,"range":{"start_line":13,"start_character":52,"end_line":13,"end_character":53},"in_reply_to":"ba0121b8_2269c8f9","updated":"2016-04-01 17:47:31.000000000","message":"Done","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b0fb0f769a14c0685f33f1f8103940e4534bb0e8","unresolved":false,"context_lines":[{"line_number":25,"context_line":"To enable BGP on the Neutron server, make sure the L3 service plugin and the"},{"line_number":26,"context_line":"BGP service plugin are enabled."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"From neutron.conf:"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   .. code-block:: ini"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_4234bcfa","line":28,"range":{"start_line":28,"start_character":5,"end_line":28,"end_character":17},"updated":"2016-03-31 21:35:49.000000000","message":"``neutron.conf``","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":14947,"name":"Maria Zlatkova","email":"mzlatkova@mirantis.com","username":"mzlatkova"},"change_message_id":"24bc858b6608f424b4d6f215ccbbff726eed2a39","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To configure the BGP dyanmic routing agent, ensure the following flags are set"},{"line_number":35,"context_line":"in bgp_dragent.ini:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   .. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_c0fd52b2","line":34,"range":{"start_line":34,"start_character":21,"end_line":34,"end_character":28},"updated":"2016-04-01 09:41:57.000000000","message":"dynamic","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4df7eb2102705acf59ec3c5c9ab1a81d4ee9f90c","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To configure the BGP dyanmic routing agent, ensure the following flags are set"},{"line_number":35,"context_line":"in bgp_dragent.ini:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   .. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_54b8cb10","line":34,"range":{"start_line":34,"start_character":21,"end_line":34,"end_character":28},"in_reply_to":"ba0121b8_c0fd52b2","updated":"2016-04-01 17:47:31.000000000","message":"Done","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b0fb0f769a14c0685f33f1f8103940e4534bb0e8","unresolved":false,"context_lines":[{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To configure the BGP dyanmic routing agent, ensure the following flags are set"},{"line_number":35,"context_line":"in bgp_dragent.ini:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   .. code-block:: ini"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_e229909c","line":35,"range":{"start_line":35,"start_character":3,"end_line":35,"end_character":18},"updated":"2016-03-31 21:35:49.000000000","message":"``bgp_dragent.ini``\n\nPut any names of files etc are in back ticks, please. Apply throughout","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4df7eb2102705acf59ec3c5c9ab1a81d4ee9f90c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To configure the BGP dyanmic routing agent, ensure the following flags are set"},{"line_number":35,"context_line":"in bgp_dragent.ini:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   .. code-block:: ini"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_b43967a6","line":35,"range":{"start_line":35,"start_character":3,"end_line":35,"end_character":18},"in_reply_to":"ba0121b8_e229909c","updated":"2016-04-01 17:47:31.000000000","message":"Done","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b0fb0f769a14c0685f33f1f8103940e4534bb0e8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"bgp_router_id is the 32-bit BGP identifier, typically an IPv4 address owned by"},{"line_number":43,"context_line":"the system running the BGP dynamic routing agent. For more information on BGP"},{"line_number":44,"context_line":"router ID, see \"BGP Identifier\" in section 1.1 of"},{"line_number":45,"context_line":"https://tools.ietf.org/html/rfc4271."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Commands"},{"line_number":48,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_0206441f","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":36},"updated":"2016-03-31 21:35:49.000000000","message":"Use the correct link formatting","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4df7eb2102705acf59ec3c5c9ab1a81d4ee9f90c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"bgp_router_id is the 32-bit BGP identifier, typically an IPv4 address owned by"},{"line_number":43,"context_line":"the system running the BGP dynamic routing agent. For more information on BGP"},{"line_number":44,"context_line":"router ID, see \"BGP Identifier\" in section 1.1 of"},{"line_number":45,"context_line":"https://tools.ietf.org/html/rfc4271."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Commands"},{"line_number":48,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_943c2394","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":36},"in_reply_to":"ba0121b8_0206441f","updated":"2016-04-01 17:47:31.000000000","message":"Done","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":14947,"name":"Maria Zlatkova","email":"mzlatkova@mirantis.com","username":"mzlatkova"},"change_message_id":"24bc858b6608f424b4d6f215ccbbff726eed2a39","unresolved":false,"context_lines":[{"line_number":345,"context_line":"Tenant prefixes will be announced under the following"},{"line_number":346,"context_line":"conditions:"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"* The the external network and the tenant network must be in the same"},{"line_number":349,"context_line":"  address scope."},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"* The tenant network must have a router interface attached to it, and the"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_00a74abd","line":348,"range":{"start_line":348,"start_character":6,"end_line":348,"end_character":9},"updated":"2016-04-01 09:41:57.000000000","message":"Extra \"the\"","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4df7eb2102705acf59ec3c5c9ab1a81d4ee9f90c","unresolved":false,"context_lines":[{"line_number":345,"context_line":"Tenant prefixes will be announced under the following"},{"line_number":346,"context_line":"conditions:"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"* The the external network and the tenant network must be in the same"},{"line_number":349,"context_line":"  address scope."},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"* The tenant network must have a router interface attached to it, and the"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_f43f5f84","line":348,"range":{"start_line":348,"start_character":6,"end_line":348,"end_character":9},"in_reply_to":"ba0121b8_00a74abd","updated":"2016-04-01 17:47:31.000000000","message":"Done","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b0fb0f769a14c0685f33f1f8103940e4534bb0e8","unresolved":false,"context_lines":[{"line_number":440,"context_line":"          neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 passive"},{"line_number":441,"context_line":"          neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 activate"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"HA"},{"line_number":444,"context_line":"~~"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"For HA purposes, it is possible to schedule a BGP speaker to multiple"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_c516164b","line":443,"range":{"start_line":443,"start_character":0,"end_line":443,"end_character":2},"updated":"2016-03-31 21:35:49.000000000","message":"Expand to high availability please","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4df7eb2102705acf59ec3c5c9ab1a81d4ee9f90c","unresolved":false,"context_lines":[{"line_number":440,"context_line":"          neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 passive"},{"line_number":441,"context_line":"          neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 activate"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"HA"},{"line_number":444,"context_line":"~~"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"For HA purposes, it is possible to schedule a BGP speaker to multiple"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_344ef73a","line":443,"range":{"start_line":443,"start_character":0,"end_line":443,"end_character":2},"in_reply_to":"ba0121b8_c516164b","updated":"2016-04-01 17:47:31.000000000","message":"Done","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"1487f6045215e319251e2b6e3f1e5bbbc3534618","unresolved":false,"context_lines":[{"line_number":440,"context_line":"          neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 passive"},{"line_number":441,"context_line":"          neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 activate"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"HA"},{"line_number":444,"context_line":"~~"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"For HA purposes, it is possible to schedule a BGP speaker to multiple"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_5892e04c","line":443,"range":{"start_line":443,"start_character":0,"end_line":443,"end_character":2},"in_reply_to":"ba0121b8_c516164b","updated":"2016-04-01 05:59:50.000000000","message":"Nice..","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"b0fb0f769a14c0685f33f1f8103940e4534bb0e8","unresolved":false,"context_lines":[{"line_number":443,"context_line":"HA"},{"line_number":444,"context_line":"~~"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"For HA purposes, it is possible to schedule a BGP speaker to multiple"},{"line_number":447,"context_line":"BGP dynamic routing agents.  This will effectively duplicate the BGP speaker"},{"line_number":448,"context_line":"and cause BGP announcements to reach the same peer from different agents. If"},{"line_number":449,"context_line":"one agent should fail, the peers associated with the BGP speaker will still"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_45296689","line":446,"range":{"start_line":446,"start_character":4,"end_line":446,"end_character":6},"updated":"2016-03-31 21:35:49.000000000","message":"ditto \"high availability (HA) purposes...\"","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4df7eb2102705acf59ec3c5c9ab1a81d4ee9f90c","unresolved":false,"context_lines":[{"line_number":443,"context_line":"HA"},{"line_number":444,"context_line":"~~"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"For HA purposes, it is possible to schedule a BGP speaker to multiple"},{"line_number":447,"context_line":"BGP dynamic routing agents.  This will effectively duplicate the BGP speaker"},{"line_number":448,"context_line":"and cause BGP announcements to reach the same peer from different agents. If"},{"line_number":449,"context_line":"one agent should fail, the peers associated with the BGP speaker will still"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba0121b8_544f2b33","line":446,"range":{"start_line":446,"start_character":4,"end_line":446,"end_character":6},"in_reply_to":"ba0121b8_45296689","updated":"2016-04-01 17:47:31.000000000","message":"Done","commit_id":"4489a1044cdb256a0de2aac292ee642d6e9d65c0"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"213fefa1763ab8d108d495f39f81b426ade1eb3f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"   .. code-block:: ini"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"      bgp_router_id \u003d 192.168.122.150"},{"line_number":40,"context_line":"      bgp_speaker_driver \u003d neutron.services.bgp.driver.ryu.driver.RyuBgpDriver"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"bgp_router_id is the 32-bit BGP identifier, typically an IPv4 address owned by"},{"line_number":43,"context_line":"the system running the BGP dynamic routing agent. For more information on BGP"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_e22af72e","line":40,"updated":"2016-04-01 22:57:21.000000000","message":"missed explanation of this variable. I suppose for now this is not meant to be touched.","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"39f4f6fc59b9d1f3cbd654b3cf60a45875291038","unresolved":false,"context_lines":[{"line_number":37,"context_line":"   .. code-block:: ini"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"      bgp_router_id \u003d 192.168.122.150"},{"line_number":40,"context_line":"      bgp_speaker_driver \u003d neutron.services.bgp.driver.ryu.driver.RyuBgpDriver"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"bgp_router_id is the 32-bit BGP identifier, typically an IPv4 address owned by"},{"line_number":43,"context_line":"the system running the BGP dynamic routing agent. For more information on BGP"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_3536e7e7","line":40,"in_reply_to":"ba0121b8_e22af72e","updated":"2016-04-01 23:13:59.000000000","message":"Done","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"213fefa1763ab8d108d495f39f81b426ade1eb3f","unresolved":false,"context_lines":[{"line_number":44,"context_line":"router ID, see \"BGP Identifier\" in section 1.1 of `RFC 4271"},{"line_number":45,"context_line":"\u003chttps://tools.ietf.org/html/rfc4271\u003e`_."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Commands"},{"line_number":48,"context_line":"--------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Create an address scope to announce routes within:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_e2d15731","line":47,"updated":"2016-04-01 22:57:21.000000000","message":"Rather than simply listing commands like this, I\u0027d give them purpose. For instance I\u0027d say: if you want to \u0027sell apples on the market\u0027, follow these steps (make sure to include the role - admin vs user).","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"39f4f6fc59b9d1f3cbd654b3cf60a45875291038","unresolved":false,"context_lines":[{"line_number":44,"context_line":"router ID, see \"BGP Identifier\" in section 1.1 of `RFC 4271"},{"line_number":45,"context_line":"\u003chttps://tools.ietf.org/html/rfc4271\u003e`_."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Commands"},{"line_number":48,"context_line":"--------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Create an address scope to announce routes within:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_f523cfa5","line":47,"in_reply_to":"ba0121b8_e2d15731","updated":"2016-04-01 23:13:59.000000000","message":"Done","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"213fefa1763ab8d108d495f39f81b426ade1eb3f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"\u003chttps://tools.ietf.org/html/rfc4271\u003e`_."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Commands"},{"line_number":48,"context_line":"--------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Create an address scope to announce routes within:"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_e29f9763","line":48,"updated":"2016-04-01 22:57:21.000000000","message":"Can you also clarify the requirements to these commands? For instance you use \u0027public\u0027 below. But what is it? (It\u0027s obviously a router:external network) but it\u0027d be nice to clarify.","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"39f4f6fc59b9d1f3cbd654b3cf60a45875291038","unresolved":false,"context_lines":[{"line_number":45,"context_line":"\u003chttps://tools.ietf.org/html/rfc4271\u003e`_."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Commands"},{"line_number":48,"context_line":"--------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Create an address scope to announce routes within:"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_951c136c","line":48,"in_reply_to":"ba0121b8_e29f9763","updated":"2016-04-01 23:13:59.000000000","message":"I\u0027ve probably glossed over creating the external network.","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"213fefa1763ab8d108d495f39f81b426ade1eb3f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Commands"},{"line_number":48,"context_line":"--------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Create an address scope to announce routes within:"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. code-block:: console"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_62e6e717","line":50,"updated":"2016-04-01 22:57:21.000000000","message":"within (the system)?","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"39f4f6fc59b9d1f3cbd654b3cf60a45875291038","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Commands"},{"line_number":48,"context_line":"--------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Create an address scope to announce routes within:"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. code-block:: console"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_82021b0a","line":50,"in_reply_to":"ba0121b8_62e6e717","updated":"2016-04-01 23:13:59.000000000","message":"Will re-word, perhaps something along the lines of:\n\n\"Create a routing domain by creating an address scope\"","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"213fefa1763ab8d108d495f39f81b426ade1eb3f","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"},{"line_number":203,"context_line":"    | cc4547cd-00d6-4c29-a1cd-19f7a11a06d0 |      | fa:16:3e:30:4e:12 | {\"subnet_id\": \"994ae28d-46f9-401e-b6cf-ced386ccc1a4\", \"ip_address\": \"10.0.0.1\"}           |"},{"line_number":204,"context_line":"    | daf5b2eb-9caf-4052-a81f-ee4963614b77 |      | fa:16:3e:6e:4f:59 | {\"subnet_id\": \"7e977566-d119-42d0-b70f-7fdb9c45d6b7\", \"ip_address\": \"172.24.4.4\"}         |"},{"line_number":205,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Create a BGP speaker:"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_a29e3f61","line":205,"updated":"2016-04-01 22:57:21.000000000","message":"Here\u0027d I\u0027d recap what you did:\n\nPerhaps a topology diagram would be useful, but textual would be fine.","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"39f4f6fc59b9d1f3cbd654b3cf60a45875291038","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"},{"line_number":203,"context_line":"    | cc4547cd-00d6-4c29-a1cd-19f7a11a06d0 |      | fa:16:3e:30:4e:12 | {\"subnet_id\": \"994ae28d-46f9-401e-b6cf-ced386ccc1a4\", \"ip_address\": \"10.0.0.1\"}           |"},{"line_number":204,"context_line":"    | daf5b2eb-9caf-4052-a81f-ee4963614b77 |      | fa:16:3e:6e:4f:59 | {\"subnet_id\": \"7e977566-d119-42d0-b70f-7fdb9c45d6b7\", \"ip_address\": \"172.24.4.4\"}         |"},{"line_number":205,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Create a BGP speaker:"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_422123b4","line":205,"in_reply_to":"ba0121b8_a29e3f61","updated":"2016-04-01 23:13:59.000000000","message":"Done","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"213fefa1763ab8d108d495f39f81b426ade1eb3f","unresolved":false,"context_lines":[{"line_number":273,"context_line":"    | remote_as | 4321                                 |"},{"line_number":274,"context_line":"    | tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d     |"},{"line_number":275,"context_line":"    +-----------+--------------------------------------+"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Add BGP peer to a BGP speaker:"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_82a97b7e","line":276,"updated":"2016-04-01 22:57:21.000000000","message":"Wonder if it\u0027s useful mention that local-as, remote-as and peer-ip provider supplied input that make sense in the user BGP deployments.","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"39f4f6fc59b9d1f3cbd654b3cf60a45875291038","unresolved":false,"context_lines":[{"line_number":273,"context_line":"    | remote_as | 4321                                 |"},{"line_number":274,"context_line":"    | tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d     |"},{"line_number":275,"context_line":"    +-----------+--------------------------------------+"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Add BGP peer to a BGP speaker:"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_223a2fe8","line":276,"in_reply_to":"ba0121b8_82a97b7e","updated":"2016-04-01 23:13:59.000000000","message":"Good catch, a paragraph on this topic is definitely in order.","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"213fefa1763ab8d108d495f39f81b426ade1eb3f","unresolved":false,"context_lines":[{"line_number":300,"context_line":""},{"line_number":301,"context_line":".. code-block:: console"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    $ neutron agent-list"},{"line_number":304,"context_line":"    +--------------------------------------+---------------------------+----------+-------------------+-------+----------------+---------------------------+"},{"line_number":305,"context_line":"    | id                                   | agent_type                | host     | availability_zone | alive | admin_state_up | binary                    |"},{"line_number":306,"context_line":"    +--------------------------------------+---------------------------+----------+-------------------+-------+----------------+---------------------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_02ebabb1","line":303,"updated":"2016-04-01 22:57:21.000000000","message":"I\u0027d filter out with agent-type\u003d\u003d\"BGP dynamic routing agent\" but no biggie","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"39f4f6fc59b9d1f3cbd654b3cf60a45875291038","unresolved":false,"context_lines":[{"line_number":300,"context_line":""},{"line_number":301,"context_line":".. code-block:: console"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    $ neutron agent-list"},{"line_number":304,"context_line":"    +--------------------------------------+---------------------------+----------+-------------------+-------+----------------+---------------------------+"},{"line_number":305,"context_line":"    | id                                   | agent_type                | host     | availability_zone | alive | admin_state_up | binary                    |"},{"line_number":306,"context_line":"    +--------------------------------------+---------------------------+----------+-------------------+-------+----------------+---------------------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_e2baf770","line":303,"in_reply_to":"ba0121b8_02ebabb1","updated":"2016-04-01 23:13:59.000000000","message":"Good suggestion.","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"213fefa1763ab8d108d495f39f81b426ade1eb3f","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    +--------------------------------------+----------------+----------+------------+"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"At this stage, the BGP dr_agent will attempt to open a BGP session with its"},{"line_number":336,"context_line":"peers and begin announcing all of its routes to its peers."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"What prefixes get announced?"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_02028b6f","line":336,"updated":"2016-04-01 22:57:21.000000000","message":"a recap would be nice. By the way, is it worth mentioning:\n\na) what can be actions that admin can perform, what are ones that tenants can perform\nb) what happens if I want to add/remove a new tenant network\nc) tune the BGP plumbing","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"48123df322fc2fb0ef2a46c27d7371723ece73c6","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    +--------------------------------------+----------------+----------+------------+"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"At this stage, the BGP dr_agent will attempt to open a BGP session with its"},{"line_number":336,"context_line":"peers and begin announcing all of its routes to its peers."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"What prefixes get announced?"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a061dce_d9ae8b84","line":336,"in_reply_to":"9a061dce_62bc0c6d","updated":"2016-04-05 11:11:43.000000000","message":"Change of local/remote AS is not permitted.","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"39f4f6fc59b9d1f3cbd654b3cf60a45875291038","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    +--------------------------------------+----------------+----------+------------+"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"At this stage, the BGP dr_agent will attempt to open a BGP session with its"},{"line_number":336,"context_line":"peers and begin announcing all of its routes to its peers."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"What prefixes get announced?"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba0121b8_a280ff8c","line":336,"in_reply_to":"ba0121b8_02028b6f","updated":"2016-04-01 23:13:59.000000000","message":"A and B are actually important points that have been the genesis of many questions I get, great suggestion.  Could you elaborate on C?","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"74f2bce866cdfeb2e266e2666839e256bde3d2cb","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    +--------------------------------------+----------------+----------+------------+"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"At this stage, the BGP dr_agent will attempt to open a BGP session with its"},{"line_number":336,"context_line":"peers and begin announcing all of its routes to its peers."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"What prefixes get announced?"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a061dce_62bc0c6d","line":336,"in_reply_to":"ba0121b8_a280ff8c","updated":"2016-04-04 18:58:16.000000000","message":"I meant, something like changing the local AS, remote AS or add/remove speakers/peers etc.","commit_id":"35ac5f105af0f2e4f6ae94286b51181a7bd94396"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":16,"context_line":"prefixes get announced depends on what external networks a BGP speaker gets"},{"line_number":17,"context_line":"bound to, and what address scope the external and internal subnets are"},{"line_number":18,"context_line":"allocated in. Address scopes are key in determining which prefixes get"},{"line_number":19,"context_line":"announced by a BGP speaker. Make sure you understand address scopes before"},{"line_number":20,"context_line":"proceeding with using BGP dynamic routing."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Neutron configuration"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_e987c1b2","line":19,"updated":"2016-04-07 11:08:54.000000000","message":"lets provide a hyperlink to the address scope functionality.","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":16,"context_line":"prefixes get announced depends on what external networks a BGP speaker gets"},{"line_number":17,"context_line":"bound to, and what address scope the external and internal subnets are"},{"line_number":18,"context_line":"allocated in. Address scopes are key in determining which prefixes get"},{"line_number":19,"context_line":"announced by a BGP speaker. Make sure you understand address scopes before"},{"line_number":20,"context_line":"proceeding with using BGP dynamic routing."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Neutron configuration"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_40d66d4f","line":19,"in_reply_to":"9a061dce_e987c1b2","updated":"2016-04-07 15:22:24.000000000","message":"I\u0027d love to, but I don\u0027t think the address scope docs have merged yet :(","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   .. code-block:: ini"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To configure the BGP dynamic routing agent, ensure the following flags are set"},{"line_number":35,"context_line":"in ``bgp_dragent.ini``:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_2953793a","line":32,"updated":"2016-04-07 11:08:54.000000000","message":"I think we also need to enable q-bgp-dragent for the devstack right?","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   .. code-block:: ini"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To configure the BGP dynamic routing agent, ensure the following flags are set"},{"line_number":35,"context_line":"in ``bgp_dragent.ini``:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_0050f5d2","line":32,"in_reply_to":"9a061dce_2953793a","updated":"2016-04-07 15:22:24.000000000","message":"This isn\u0027t illustrating devstack :)","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    +---------------------------+--------------------------------------+"},{"line_number":148,"context_line":"    | admin_state_up            | True                                 |"},{"line_number":149,"context_line":"    | id                        | 68ec148c-181f-4656-8334-8f4eb148689d |"},{"line_number":150,"context_line":"    | name                      | ext-net                              |"},{"line_number":151,"context_line":"    | provider:network_type     | flat                                 |"},{"line_number":152,"context_line":"    | provider:physical_network | external                             |"},{"line_number":153,"context_line":"    | provider:segmentation_id  |                                      |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_248ba069","line":150,"updated":"2016-04-07 11:08:54.000000000","message":"Let\u0027s capitalize the name everywhere. Better to use EXT-NET","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    +---------------------------+--------------------------------------+"},{"line_number":148,"context_line":"    | admin_state_up            | True                                 |"},{"line_number":149,"context_line":"    | id                        | 68ec148c-181f-4656-8334-8f4eb148689d |"},{"line_number":150,"context_line":"    | name                      | ext-net                              |"},{"line_number":151,"context_line":"    | provider:network_type     | flat                                 |"},{"line_number":152,"context_line":"    | provider:physical_network | external                             |"},{"line_number":153,"context_line":"    | provider:segmentation_id  |                                      |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_202ff9a1","line":150,"in_reply_to":"9a061dce_248ba069","updated":"2016-04-07 15:22:24.000000000","message":"meh","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    | tenant_id                 | b3ac05ef10bf441fbf4aa17f16ae1e6d     |"},{"line_number":159,"context_line":"    +---------------------------+--------------------------------------+"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Create a subnet on the external network, allocating the subnet from our public"},{"line_number":162,"context_line":"subnet pool:"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_843a6c97","line":161,"updated":"2016-04-07 11:08:54.000000000","message":"%/our public/external","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    | tenant_id                 | b3ac05ef10bf441fbf4aa17f16ae1e6d     |"},{"line_number":159,"context_line":"    +---------------------------+--------------------------------------+"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Create a subnet on the external network, allocating the subnet from our public"},{"line_number":162,"context_line":"subnet pool:"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_c0e55d09","line":161,"in_reply_to":"9a061dce_843a6c97","updated":"2016-04-07 15:22:24.000000000","message":"I prefer external to public. All prefixes in the address scope are routable, therefore the tenant network could be considered public as well.","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    +---------------------------+--------------------------------------+"},{"line_number":199,"context_line":"    | admin_state_up            | True                                 |"},{"line_number":200,"context_line":"    | id                        | 01da3e19-129f-4d26-b065-255ade0e5e2c |"},{"line_number":201,"context_line":"    | name                      | tenant-net                           |"},{"line_number":202,"context_line":"    | shared                    | False                                |"},{"line_number":203,"context_line":"    | status                    | ACTIVE                               |"},{"line_number":204,"context_line":"    | subnets                   |                                      |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_646478b8","line":201,"updated":"2016-04-07 11:08:54.000000000","message":"let\u0027s capitalize name.","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    +---------------------------+--------------------------------------+"},{"line_number":199,"context_line":"    | admin_state_up            | True                                 |"},{"line_number":200,"context_line":"    | id                        | 01da3e19-129f-4d26-b065-255ade0e5e2c |"},{"line_number":201,"context_line":"    | name                      | tenant-net                           |"},{"line_number":202,"context_line":"    | shared                    | False                                |"},{"line_number":203,"context_line":"    | status                    | ACTIVE                               |"},{"line_number":204,"context_line":"    | subnets                   |                                      |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_8046c578","line":201,"in_reply_to":"9a061dce_646478b8","updated":"2016-04-07 15:22:24.000000000","message":"meh","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    $ neutron router-interface-add router1 8edd3dc2-df40-4d71-816e-a4586d61c809"},{"line_number":282,"context_line":"    Added interface 969a1d4b-7fa1-4346-9963-de06becab87a to router router1."},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    $ neutron router-port-list 49439b14-f6ee-420d-8c48-d3767fadcb3a"},{"line_number":285,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"},{"line_number":286,"context_line":"    | id                                   | name | mac_address       | fixed_ips                                                                                 |"},{"line_number":287,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_444974cf","line":284,"updated":"2016-04-07 11:08:54.000000000","message":"Let\u0027s use name i.e. \u0027router1\u0027 instead of UUID?","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    $ neutron router-interface-add router1 8edd3dc2-df40-4d71-816e-a4586d61c809"},{"line_number":282,"context_line":"    Added interface 969a1d4b-7fa1-4346-9963-de06becab87a to router router1."},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    $ neutron router-port-list 49439b14-f6ee-420d-8c48-d3767fadcb3a"},{"line_number":285,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"},{"line_number":286,"context_line":"    | id                                   | name | mac_address       | fixed_ips                                                                                 |"},{"line_number":287,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_00a59545","line":284,"in_reply_to":"9a061dce_444974cf","updated":"2016-04-07 15:22:24.000000000","message":"yes, I missed this :(","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":286,"context_line":"    | id                                   | name | mac_address       | fixed_ips                                                                                 |"},{"line_number":287,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"},{"line_number":288,"context_line":"    | cc4547cd-00d6-4c29-a1cd-19f7a11a06d0 |      | fa:16:3e:30:4e:12 | {\"subnet_id\": \"994ae28d-46f9-401e-b6cf-ced386ccc1a4\", \"ip_address\": \"10.0.0.1\"}           |"},{"line_number":289,"context_line":"    | daf5b2eb-9caf-4052-a81f-ee4963614b77 |      | fa:16:3e:6e:4f:59 | {\"subnet_id\": \"7e977566-d119-42d0-b70f-7fdb9c45d6b7\", \"ip_address\": \"172.24.4.4\"}         |"},{"line_number":290,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"Now that we have the networks, subnets, and routers in place, we can"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_786418b8","line":289,"updated":"2016-04-07 11:08:54.000000000","message":"I would suggest to have the display for the ports as well..","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":320,"context_line":"external network. This association enables neutron to find all virtual routers"},{"line_number":321,"context_line":"connected to external networks and tenant networks in the same address scope"},{"line_number":322,"context_line":"so that the tenant subnet can be announced with the corresponding router as"},{"line_number":323,"context_line":"the next-hop."},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"Associate the BGP speaker with the external network:"},{"line_number":326,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_f8e5c808","line":323,"updated":"2016-04-07 11:08:54.000000000","message":"Can we also explain the use of \u0027advertise_floating_ip_host_routes\u0027 and \u0027advertise_tenant_networks\u0027 flags?","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":320,"context_line":"external network. This association enables neutron to find all virtual routers"},{"line_number":321,"context_line":"connected to external networks and tenant networks in the same address scope"},{"line_number":322,"context_line":"so that the tenant subnet can be announced with the corresponding router as"},{"line_number":323,"context_line":"the next-hop."},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"Associate the BGP speaker with the external network:"},{"line_number":326,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_80ad259d","line":323,"in_reply_to":"9a061dce_f8e5c808","updated":"2016-04-07 15:22:24.000000000","message":"It is explained below in the \"what routes get advertised?\" section.","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":399,"context_line":"of the BGP peer denotes the autonomous system in which the peer participates."},{"line_number":400,"context_line":"Whether neutron opens an iBGP session or an eBGP session with a peer is"},{"line_number":401,"context_line":"dependent on whether the ``local_as`` of the BGP speaker is the same ASN as"},{"line_number":402,"context_line":"the ``remote_as`` of the peer. If both have the same ASN, an iBGP session"},{"line_number":403,"context_line":"will be opened. Otherwise, an eBGP session will be opened. The ``local_as``"},{"line_number":404,"context_line":"and ``remote_as`` attributes cannot be updated once a BGP speaker or BGP peer"},{"line_number":405,"context_line":"have been created."}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_58db141b","line":402,"updated":"2016-04-07 11:08:54.000000000","message":"I think opening iBGP / eBGP sessions is controlled by the driver. Neutron doesn\u0027t play any role.","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":399,"context_line":"of the BGP peer denotes the autonomous system in which the peer participates."},{"line_number":400,"context_line":"Whether neutron opens an iBGP session or an eBGP session with a peer is"},{"line_number":401,"context_line":"dependent on whether the ``local_as`` of the BGP speaker is the same ASN as"},{"line_number":402,"context_line":"the ``remote_as`` of the peer. If both have the same ASN, an iBGP session"},{"line_number":403,"context_line":"will be opened. Otherwise, an eBGP session will be opened. The ``local_as``"},{"line_number":404,"context_line":"and ``remote_as`` attributes cannot be updated once a BGP speaker or BGP peer"},{"line_number":405,"context_line":"have been created."}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_a0af897b","line":402,"in_reply_to":"9a061dce_58db141b","updated":"2016-04-07 15:22:24.000000000","message":"It is, but that is a detail that is opaque to the user. From their perspective, it is neutron so I prefer to continue referring to neutron.","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":409,"context_line":"-------------------------------------------------"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"At this point we have created all the BGP resources we need in neutron. The"},{"line_number":412,"context_line":"final step is schedule the BGP speaker to an agent. This action will cause"},{"line_number":413,"context_line":"the neutron BGP dr_agent to form peering sessions and begin sending"},{"line_number":414,"context_line":"announcements for our tenant network to the peer we just configured in the"},{"line_number":415,"context_line":"previous steps."}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_7831b859","line":412,"updated":"2016-04-07 11:08:54.000000000","message":"%s/an agent/dr_agent","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":409,"context_line":"-------------------------------------------------"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"At this point we have created all the BGP resources we need in neutron. The"},{"line_number":412,"context_line":"final step is schedule the BGP speaker to an agent. This action will cause"},{"line_number":413,"context_line":"the neutron BGP dr_agent to form peering sessions and begin sending"},{"line_number":414,"context_line":"announcements for our tenant network to the peer we just configured in the"},{"line_number":415,"context_line":"previous steps."}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_a082e9c5","line":412,"in_reply_to":"9a061dce_7831b859","updated":"2016-04-07 15:22:24.000000000","message":"Done","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":535,"context_line":""},{"line_number":536,"context_line":"Announcement of IPv6 prefixes via BGP is supported. To create a BGP speaker"},{"line_number":537,"context_line":"for announcing IPv6 prefixes, simply create an address scope with ip_version\u003d6"},{"line_number":538,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"},{"line_number":541,"context_line":"the central SNAT node. Just as with IPv4, \"north-south\" traffic will be"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_98bf6c60","line":538,"updated":"2016-04-07 11:08:54.000000000","message":"How about we can get the ip_version of the BGP speaker from address scope rather than defining of its own. Why we chose this way?","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":535,"context_line":""},{"line_number":536,"context_line":"Announcement of IPv6 prefixes via BGP is supported. To create a BGP speaker"},{"line_number":537,"context_line":"for announcing IPv6 prefixes, simply create an address scope with ip_version\u003d6"},{"line_number":538,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"},{"line_number":541,"context_line":"the central SNAT node. Just as with IPv4, \"north-south\" traffic will be"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_e04221ad","line":538,"in_reply_to":"9a061dce_98bf6c60","updated":"2016-04-07 15:22:24.000000000","message":"Not sure I understand the question.","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4d3db55ffb855164ad9b2eda630e6aff0e72214","unresolved":false,"context_lines":[{"line_number":563,"context_line":"For high availability (HA) purposes, it is possible to schedule a BGP speaker"},{"line_number":564,"context_line":"to multiple BGP dynamic routing agents. This will effectively duplicate the"},{"line_number":565,"context_line":"BGP speaker and cause BGP announcements to reach the same peer from different"},{"line_number":566,"context_line":"agents. If one agent should fail, the peers associated with the BGP speaker"},{"line_number":567,"context_line":"will still receive the same announcements from other agents and routing to"},{"line_number":568,"context_line":"neutron prefixes will continue. A BGP speaker can be scheduled to multiple"},{"line_number":569,"context_line":"agents as shown below:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_187b5cc2","line":566,"updated":"2016-04-07 11:08:54.000000000","message":"%s/agent/dr_agent","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"67a6671f7317d64f86b8e755372d3308c99ead18","unresolved":false,"context_lines":[{"line_number":563,"context_line":"For high availability (HA) purposes, it is possible to schedule a BGP speaker"},{"line_number":564,"context_line":"to multiple BGP dynamic routing agents. This will effectively duplicate the"},{"line_number":565,"context_line":"BGP speaker and cause BGP announcements to reach the same peer from different"},{"line_number":566,"context_line":"agents. If one agent should fail, the peers associated with the BGP speaker"},{"line_number":567,"context_line":"will still receive the same announcements from other agents and routing to"},{"line_number":568,"context_line":"neutron prefixes will continue. A BGP speaker can be scheduled to multiple"},{"line_number":569,"context_line":"agents as shown below:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a061dce_6015719a","line":566,"in_reply_to":"9a061dce_187b5cc2","updated":"2016-04-07 15:22:24.000000000","message":"Done","commit_id":"8eb05711fe73ce5dd4308711fdc7c7acb2d37582"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"From ``neutron.conf``:"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   .. code-block:: ini"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_87778439","line":30,"updated":"2016-04-18 15:29:25.000000000","message":"The leading spaces are unnecessary.\nIf we have different ident level, we will see unnecessary vertical bar in the rendered HTML.\nhttp://docs-draft.openstack.org/56/288856/11/check/gate-openstack-manuals-tox-doc-publish-checkbuild/7319d8d//publish-docs/draft/networking-guide/adv-config-bgp-dynamic-routing.html\n\nnote that this comment applies to all other related code-block.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"From ``neutron.conf``:"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   .. code-block:: ini"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"      service_plugins \u003d bgp,router"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_c971b7aa","line":30,"in_reply_to":"1a122d0e_87778439","updated":"2016-05-03 03:56:44.000000000","message":"Without the leading spaces, the docs don\u0027t even build and this all fails spectacularly :)","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"a70dca586e0ab77828eab882f433caca786975c7","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"   .. code-block:: ini"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    ENABLED_SERVICES+\u003d,q-bgp,q-bgp-agt"},{"line_number":55,"context_line":"    Q_BGP_DRAGENT_CONF_FILE\u003d\"/etc/neutron/bgp-dragent.ini\""},{"line_number":56,"context_line":"    BGP_ROUTER_ID\u003d15.117.45.55"},{"line_number":57,"context_line":"    BGP_SPEAKER_DRIVER\u003d\"neutron.services.bgp.driver.ryu.driver.RyuBgpDriver\""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_244a9726","line":54,"updated":"2016-04-20 04:39:28.000000000","message":"Add a line about \"enable_plugin neutron\". I can already see a defect about this confusion. (https://bugs.launchpad.net/neutron/+bug/1572372)","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"   .. code-block:: ini"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    ENABLED_SERVICES+\u003d,q-bgp,q-bgp-agt"},{"line_number":55,"context_line":"    Q_BGP_DRAGENT_CONF_FILE\u003d\"/etc/neutron/bgp-dragent.ini\""},{"line_number":56,"context_line":"    BGP_ROUTER_ID\u003d15.117.45.55"},{"line_number":57,"context_line":"    BGP_SPEAKER_DRIVER\u003d\"neutron.services.bgp.driver.ryu.driver.RyuBgpDriver\""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_452f4da7","line":54,"in_reply_to":"1a122d0e_244a9726","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    ENABLED_SERVICES+\u003d,q-bgp,q-bgp-agt"},{"line_number":55,"context_line":"    Q_BGP_DRAGENT_CONF_FILE\u003d\"/etc/neutron/bgp-dragent.ini\""},{"line_number":56,"context_line":"    BGP_ROUTER_ID\u003d15.117.45.55"},{"line_number":57,"context_line":"    BGP_SPEAKER_DRIVER\u003d\"neutron.services.bgp.driver.ryu.driver.RyuBgpDriver\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Illustrating BGP in action"},{"line_number":60,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_47272c12","line":57,"updated":"2016-04-18 15:29:25.000000000","message":"Do we really need to specify L.55 and L.57?","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"a70dca586e0ab77828eab882f433caca786975c7","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    ENABLED_SERVICES+\u003d,q-bgp,q-bgp-agt"},{"line_number":55,"context_line":"    Q_BGP_DRAGENT_CONF_FILE\u003d\"/etc/neutron/bgp-dragent.ini\""},{"line_number":56,"context_line":"    BGP_ROUTER_ID\u003d15.117.45.55"},{"line_number":57,"context_line":"    BGP_SPEAKER_DRIVER\u003d\"neutron.services.bgp.driver.ryu.driver.RyuBgpDriver\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Illustrating BGP in action"},{"line_number":60,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_64e2cf30","line":57,"in_reply_to":"1a122d0e_47272c12","updated":"2016-04-20 04:39:28.000000000","message":"+1 for mentioning otherwise can create confusion with default values.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    ENABLED_SERVICES+\u003d,q-bgp,q-bgp-agt"},{"line_number":55,"context_line":"    Q_BGP_DRAGENT_CONF_FILE\u003d\"/etc/neutron/bgp-dragent.ini\""},{"line_number":56,"context_line":"    BGP_ROUTER_ID\u003d15.117.45.55"},{"line_number":57,"context_line":"    BGP_SPEAKER_DRIVER\u003d\"neutron.services.bgp.driver.ryu.driver.RyuBgpDriver\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Illustrating BGP in action"},{"line_number":60,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_2534d1f9","line":57,"in_reply_to":"1a122d0e_64e2cf30","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Illustrating BGP in action"},{"line_number":60,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Consider the following environment:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":".. image:: figures/bgp-basic-routing-example.png"},{"line_number":65,"context_line":"   :alt: Basic BGP routing example"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_67a6a854","line":62,"updated":"2016-04-18 15:29:25.000000000","message":"Consider -\u003e Assume ?","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Illustrating BGP in action"},{"line_number":60,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Consider the following environment:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":".. image:: figures/bgp-basic-routing-example.png"},{"line_number":65,"context_line":"   :alt: Basic BGP routing example"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_657089dd","line":62,"in_reply_to":"1a122d0e_67a6a854","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"74bb7cff2e871842e679529a78d60f9f2acc491e","unresolved":false,"context_lines":[{"line_number":64,"context_line":".. image:: figures/bgp-basic-routing-example.png"},{"line_number":65,"context_line":"   :alt: Basic BGP routing example"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This section illustrates how to configure a tenant network prefix to be"},{"line_number":68,"context_line":"announced by BGP in the environment illustrated above."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Create the address scope and subnet pools"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a061dce_e0197423","line":67,"updated":"2016-04-07 17:58:52.000000000","message":"Info: Only ADMIN can do these configuration.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":65,"context_line":"   :alt: Basic BGP routing example"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"This section illustrates how to configure a tenant network prefix to be"},{"line_number":68,"context_line":"announced by BGP in the environment illustrated above."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Create the address scope and subnet pools"},{"line_number":71,"context_line":"-----------------------------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_a73440fb","line":68,"updated":"2016-04-18 15:29:25.000000000","message":"I would suggest to move this paragraph before the picture.\nIf you look at the rendered HTML document, you will notice it is easier to read :)","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    | tenant_id  | b3ac05ef10bf441fbf4aa17f16ae1e6d     |"},{"line_number":89,"context_line":"    +------------+--------------------------------------+"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Now a subnet pool must be created. We will maintain different subnet pools"},{"line_number":92,"context_line":"for external networks and tenant networks. First create the external subnet"},{"line_number":93,"context_line":"pool:"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_220f7e2f","line":91,"range":{"start_line":91,"start_character":4,"end_line":91,"end_character":17},"updated":"2016-04-18 15:29:25.000000000","message":"subnet pools","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    | updated_at        | 2016-03-17T23:20:20                        |"},{"line_number":245,"context_line":"    +-------------------+--------------------------------------------+"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Create a virtual router"},{"line_number":248,"context_line":"-----------------------"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Now that we have configured the address scope, external network, and tenant"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_42c55a8c","line":247,"updated":"2016-04-18 15:29:25.000000000","message":"we don\u0027t use \u0027virtual\u0027 in other places.\nI would suggest to use \u0027tenant router\u0027 or simply \u0027router\u0027.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    | updated_at        | 2016-03-17T23:20:20                        |"},{"line_number":245,"context_line":"    +-------------------+--------------------------------------------+"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Create a virtual router"},{"line_number":248,"context_line":"-----------------------"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Now that we have configured the address scope, external network, and tenant"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_05a9d524","line":247,"in_reply_to":"1a122d0e_42c55a8c","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"826c8f93dde0b207801c5d34290286454dd0082e","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    | 01da3e19-129f-4d26-b065-255ade0e5e2c | tenant-net | 8edd3dc2-df40-4d71-816e-a4586d61c809 10.0.0.0/24   |"},{"line_number":286,"context_line":"    +--------------------------------------+------------+----------------------------------------------------+"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    $ neutron router-gateway-set router1 public"},{"line_number":289,"context_line":"    Set gateway for router router1"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    $ neutron router-interface-add router1 8edd3dc2-df40-4d71-816e-a4586d61c809"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_c19bda16","line":288,"range":{"start_line":288,"start_character":41,"end_line":288,"end_character":47},"updated":"2016-04-20 01:21:50.000000000","message":"This should be ext-net.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    | 01da3e19-129f-4d26-b065-255ade0e5e2c | tenant-net | 8edd3dc2-df40-4d71-816e-a4586d61c809 10.0.0.0/24   |"},{"line_number":286,"context_line":"    +--------------------------------------+------------+----------------------------------------------------+"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    $ neutron router-gateway-set router1 public"},{"line_number":289,"context_line":"    Set gateway for router router1"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    $ neutron router-interface-add router1 8edd3dc2-df40-4d71-816e-a4586d61c809"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_c5aebd2e","line":288,"range":{"start_line":288,"start_character":41,"end_line":288,"end_character":47},"in_reply_to":"1a122d0e_c19bda16","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"d2c181884446237102566b43290c01b92a97f587","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    $ neutron router-gateway-set router1 public"},{"line_number":289,"context_line":"    Set gateway for router router1"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    $ neutron router-interface-add router1 8edd3dc2-df40-4d71-816e-a4586d61c809"},{"line_number":292,"context_line":"    Added interface 969a1d4b-7fa1-4346-9963-de06becab87a to router router1."},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    $ neutron router-port-list router1"},{"line_number":295,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_811ba2c9","line":292,"range":{"start_line":291,"start_character":43,"end_line":292,"end_character":75},"updated":"2016-04-20 01:15:36.000000000","message":"Here interface attached is wrong, it should be the tenant subnet.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    $ neutron router-gateway-set router1 public"},{"line_number":289,"context_line":"    Set gateway for router router1"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    $ neutron router-interface-add router1 8edd3dc2-df40-4d71-816e-a4586d61c809"},{"line_number":292,"context_line":"    Added interface 969a1d4b-7fa1-4346-9963-de06becab87a to router router1."},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    $ neutron router-port-list router1"},{"line_number":295,"context_line":"    +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_65b9a979","line":292,"range":{"start_line":291,"start_character":43,"end_line":292,"end_character":75},"in_reply_to":"1a122d0e_811ba2c9","updated":"2016-05-03 03:56:44.000000000","message":"No, this is correct. The UUID on L292 is the id of the newly created router interface. The UUID on L291 does correspond to the id of tenant-subnet1","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"Now that we have the networks, subnets, and routers in place, we can"},{"line_number":303,"context_line":"proceed with creating a BGP speaker that will announce the next-hop for our"},{"line_number":304,"context_line":"tenant network."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"Create the BGP speaker and BGP peer"},{"line_number":307,"context_line":"-----------------------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_e25bc6f4","line":304,"updated":"2016-04-18 15:29:25.000000000","message":"How about moving this to the beginning of the next section?","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"Now that we have the networks, subnets, and routers in place, we can"},{"line_number":303,"context_line":"proceed with creating a BGP speaker that will announce the next-hop for our"},{"line_number":304,"context_line":"tenant network."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"Create the BGP speaker and BGP peer"},{"line_number":307,"context_line":"-----------------------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_65eb6979","line":304,"in_reply_to":"1a122d0e_e25bc6f4","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":382,"context_line":"    | tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d     |"},{"line_number":383,"context_line":"    +-----------+--------------------------------------+"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"Add BGP peer to a BGP speaker:"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":".. code-block:: console"},{"line_number":388,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_c2d32a37","line":385,"updated":"2016-04-18 15:29:25.000000000","message":"\"the\" BGP peer to \"the\" BGP speaker","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":419,"context_line":"-------------------------------------------------"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"At this point we have created all the BGP resources we need in neutron. The"},{"line_number":422,"context_line":"final step is schedule the BGP speaker to an agent. This action will cause"},{"line_number":423,"context_line":"the neutron BGP dynamic routing agent to form peering sessions and begin"},{"line_number":424,"context_line":"sending announcements for our tenant network to the peer we just configured in"},{"line_number":425,"context_line":"the previous steps."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_427d5a1b","line":422,"range":{"start_line":422,"start_character":14,"end_line":422,"end_character":22},"updated":"2016-04-18 15:29:25.000000000","message":"-\u003e to schedule","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":419,"context_line":"-------------------------------------------------"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"At this point we have created all the BGP resources we need in neutron. The"},{"line_number":422,"context_line":"final step is schedule the BGP speaker to an agent. This action will cause"},{"line_number":423,"context_line":"the neutron BGP dynamic routing agent to form peering sessions and begin"},{"line_number":424,"context_line":"sending announcements for our tenant network to the peer we just configured in"},{"line_number":425,"context_line":"the previous steps."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_a5fd813d","line":422,"range":{"start_line":422,"start_character":14,"end_line":422,"end_character":22},"in_reply_to":"1a122d0e_427d5a1b","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":422,"context_line":"final step is schedule the BGP speaker to an agent. This action will cause"},{"line_number":423,"context_line":"the neutron BGP dynamic routing agent to form peering sessions and begin"},{"line_number":424,"context_line":"sending announcements for our tenant network to the peer we just configured in"},{"line_number":425,"context_line":"the previous steps."},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"Show the active dynamic routing agents that we can schedule a BGP speaker to:"},{"line_number":428,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_e2b3c6e7","line":425,"updated":"2016-04-18 15:29:25.000000000","message":"Isn\u0027t a BGP speaker scheduled automatically now? If so, it would be nice if you add some note here because other agents in neutron support auto scheduling.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":422,"context_line":"final step is schedule the BGP speaker to an agent. This action will cause"},{"line_number":423,"context_line":"the neutron BGP dynamic routing agent to form peering sessions and begin"},{"line_number":424,"context_line":"sending announcements for our tenant network to the peer we just configured in"},{"line_number":425,"context_line":"the previous steps."},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"Show the active dynamic routing agents that we can schedule a BGP speaker to:"},{"line_number":428,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_c5007d38","line":425,"in_reply_to":"1a122d0e_e2b3c6e7","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":470,"context_line":"floating IP\u0027s."},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"Tenant prefixes will be announced under the following"},{"line_number":473,"context_line":"conditions:"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"* The external network and the tenant network must be in the same"},{"line_number":476,"context_line":"  address scope."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_621cd6c1","line":473,"updated":"2016-04-18 15:29:25.000000000","message":"the combination of \"under the following conditions\" and \"must\" in each condition sounds a bit odd. I would suggest to replace all \"must\" with present tense and change this sentence to:\n\n  Tenant prefixes will be announced when all of\n  the following conditions are satisfied:","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":470,"context_line":"floating IP\u0027s."},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"Tenant prefixes will be announced under the following"},{"line_number":473,"context_line":"conditions:"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"* The external network and the tenant network must be in the same"},{"line_number":476,"context_line":"  address scope."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_05fb9548","line":473,"in_reply_to":"1a122d0e_621cd6c1","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":503,"context_line":""},{"line_number":504,"context_line":"When using distributed neutron routers, the next-hop IP for floating IP host"},{"line_number":505,"context_line":"routes is announced as the IP address of the floating IP agent gateway on the"},{"line_number":506,"context_line":"corresponding compute node."},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"To identify the floating IP agent gateways in your environment:"},{"line_number":509,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_b6358fdb","line":506,"updated":"2016-04-18 15:29:25.000000000","message":"What is announced is the IP address of the floating IP agent gateway on the corresponding compute node. The suggestion is:\n\n  the IP address of the floating IP agent gateway on\n  the corresponding compute node is announced as\n  the next hop for floating IP host routes.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":503,"context_line":""},{"line_number":504,"context_line":"When using distributed neutron routers, the next-hop IP for floating IP host"},{"line_number":505,"context_line":"routes is announced as the IP address of the floating IP agent gateway on the"},{"line_number":506,"context_line":"corresponding compute node."},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"To identify the floating IP agent gateways in your environment:"},{"line_number":509,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_e5f77957","line":506,"in_reply_to":"1a122d0e_b6358fdb","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":519,"context_line":"    | 8f717440-0b2a-32d0-4a5b-1268a6140da4 |      | fa:16:3e:8a:32:a1 | {\"subnet_id\": \"8ed65d41-2b2a-4f3a-9f92-45adb266e01a\", \"ip_address\": \"172.24.4.8\"}                      |"},{"line_number":520,"context_line":"    +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------------------------+"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"When using distributed routers with floating IP\u0027s in this environment, a BGP"},{"line_number":523,"context_line":"speaker may announce a set of routes that looks like the following:"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_b6910f9c","line":522,"range":{"start_line":522,"start_character":11,"end_line":522,"end_character":30},"updated":"2016-04-18 15:29:25.000000000","message":"It is better to make the term consistent.\nYou use \"distributed neutron routers\", \"distribute routes\" and DVR.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":519,"context_line":"    | 8f717440-0b2a-32d0-4a5b-1268a6140da4 |      | fa:16:3e:8a:32:a1 | {\"subnet_id\": \"8ed65d41-2b2a-4f3a-9f92-45adb266e01a\", \"ip_address\": \"172.24.4.8\"}                      |"},{"line_number":520,"context_line":"    +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------------------------+"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"When using distributed routers with floating IP\u0027s in this environment, a BGP"},{"line_number":523,"context_line":"speaker may announce a set of routes that looks like the following:"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_4593cd00","line":522,"range":{"start_line":522,"start_character":11,"end_line":522,"end_character":30},"in_reply_to":"1a122d0e_b6910f9c","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":557,"context_line":""},{"line_number":558,"context_line":"Sample Quagga configuration for peering with neutron BGP dr_agent over IPv6:"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"   .. code-block:: ini"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"      router bgp 4321"},{"line_number":563,"context_line":"        neighbor 2601:204:ca01:545c:5054:ff:fe38:be85 remote-as 1234"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_36597fff","line":560,"updated":"2016-04-18 15:29:25.000000000","message":"Leading spaces are unnecessary.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"74bb7cff2e871842e679529a78d60f9f2acc491e","unresolved":false,"context_lines":[{"line_number":573,"context_line":"For high availability (HA) purposes, it is possible to schedule a BGP speaker"},{"line_number":574,"context_line":"to multiple BGP dynamic routing agents. This will effectively duplicate the"},{"line_number":575,"context_line":"BGP speaker and cause BGP announcements to reach the same peer from different"},{"line_number":576,"context_line":"agents. If one agent should fail, the peers associated with the BGP speaker"},{"line_number":577,"context_line":"will still receive the same announcements from other agents and routing to"},{"line_number":578,"context_line":"neutron prefixes will continue. A BGP speaker can be scheduled to multiple"},{"line_number":579,"context_line":"agents as shown below:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a061dce_00d6284e","line":576,"updated":"2016-04-07 17:58:52.000000000","message":"you missed to update PS10 comment here.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"a97647740dbec560523d8d6e60753c535bd083cd","unresolved":false,"context_lines":[{"line_number":573,"context_line":"For high availability (HA) purposes, it is possible to schedule a BGP speaker"},{"line_number":574,"context_line":"to multiple BGP dynamic routing agents. This will effectively duplicate the"},{"line_number":575,"context_line":"BGP speaker and cause BGP announcements to reach the same peer from different"},{"line_number":576,"context_line":"agents. If one agent should fail, the peers associated with the BGP speaker"},{"line_number":577,"context_line":"will still receive the same announcements from other agents and routing to"},{"line_number":578,"context_line":"neutron prefixes will continue. A BGP speaker can be scheduled to multiple"},{"line_number":579,"context_line":"agents as shown below:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a061dce_038bcd1f","line":576,"in_reply_to":"9a061dce_00d6284e","updated":"2016-04-07 20:16:43.000000000","message":"I did, probably not a big deal though. I would think the reader would understand the context and know what agent is being referenced.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":576,"context_line":"agents. If one agent should fail, the peers associated with the BGP speaker"},{"line_number":577,"context_line":"will still receive the same announcements from other agents and routing to"},{"line_number":578,"context_line":"neutron prefixes will continue. A BGP speaker can be scheduled to multiple"},{"line_number":579,"context_line":"agents as shown below:"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"Show available dynamic routing agents:"},{"line_number":582,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_b6f2afd0","line":579,"updated":"2016-04-18 15:29:25.000000000","message":"colon -\u003e period","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":576,"context_line":"agents. If one agent should fail, the peers associated with the BGP speaker"},{"line_number":577,"context_line":"will still receive the same announcements from other agents and routing to"},{"line_number":578,"context_line":"neutron prefixes will continue. A BGP speaker can be scheduled to multiple"},{"line_number":579,"context_line":"agents as shown below:"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"Show available dynamic routing agents:"},{"line_number":582,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_859de50c","line":579,"in_reply_to":"1a122d0e_b6f2afd0","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"775b1000079cfa963d1a30e7b7d4f5973c515f38","unresolved":false,"context_lines":[{"line_number":625,"context_line":"Limitations"},{"line_number":626,"context_line":"~~~~~~~~~~~"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"When using BGP dynamic routing with DVR, neutron will announce the tenant"},{"line_number":629,"context_line":"subnet via the central SNAT node, but will not announce host routes for fixed"},{"line_number":630,"context_line":"IP\u0027s in such a way that \"north-south\" traffic gets routed directly to the"},{"line_number":631,"context_line":"compute node. This is due to the fact that DVR does not currently support"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_f68f0721","line":628,"range":{"start_line":628,"start_character":41,"end_line":628,"end_character":48},"updated":"2016-04-18 15:29:25.000000000","message":"Is it better to use \"Networking service\"?\nI believe docs core will suggest you the direction.","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"47763415dcfb74e4baac54c29c253012edb6eea5","unresolved":false,"context_lines":[{"line_number":625,"context_line":"Limitations"},{"line_number":626,"context_line":"~~~~~~~~~~~"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"When using BGP dynamic routing with DVR, neutron will announce the tenant"},{"line_number":629,"context_line":"subnet via the central SNAT node, but will not announce host routes for fixed"},{"line_number":630,"context_line":"IP\u0027s in such a way that \"north-south\" traffic gets routed directly to the"},{"line_number":631,"context_line":"compute node. This is due to the fact that DVR does not currently support"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a122d0e_65a2494d","line":628,"range":{"start_line":628,"start_character":41,"end_line":628,"end_character":48},"in_reply_to":"1a122d0e_f68f0721","updated":"2016-05-03 03:56:44.000000000","message":"Done","commit_id":"9bb9953de0cab4f9760e3c9c094bea8a7387b4a3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"d693e6ceb01c7e2fc5d038ae938679c72e560f7b","unresolved":false,"context_lines":[{"line_number":483,"context_line":"  router uses as its gateway port."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"* The BGP speaker must be configured to announce tenant prefixes by having"},{"line_number":486,"context_line":"  the advertise_tenant_networks attribute set to True."},{"line_number":487,"context_line":""},{"line_number":488,"context_line":".. image:: figures/bgp-with-address-scope-diagram.png"},{"line_number":489,"context_line":"   :alt: BGP Announcement of Tenant Networks"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_7b29189b","line":486,"range":{"start_line":486,"start_character":49,"end_line":486,"end_character":53},"updated":"2016-05-04 09:25:58.000000000","message":"\"True\"","commit_id":"e9550b31dcfabc3590f1c16d64c1c2059d9d4a3a"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"d693e6ceb01c7e2fc5d038ae938679c72e560f7b","unresolved":false,"context_lines":[{"line_number":483,"context_line":"  router uses as its gateway port."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"* The BGP speaker must be configured to announce tenant prefixes by having"},{"line_number":486,"context_line":"  the advertise_tenant_networks attribute set to True."},{"line_number":487,"context_line":""},{"line_number":488,"context_line":".. image:: figures/bgp-with-address-scope-diagram.png"},{"line_number":489,"context_line":"   :alt: BGP Announcement of Tenant Networks"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_fb3c08e3","line":486,"range":{"start_line":486,"start_character":6,"end_line":486,"end_character":31},"updated":"2016-05-04 09:25:58.000000000","message":"\"advertise_tenant_networks\"","commit_id":"e9550b31dcfabc3590f1c16d64c1c2059d9d4a3a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4d2a66f62c7c8c03d4875e3ed6a627412f331146","unresolved":false,"context_lines":[{"line_number":483,"context_line":"  router uses as its gateway port."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"* The BGP speaker must be configured to announce tenant prefixes by having"},{"line_number":486,"context_line":"  the advertise_tenant_networks attribute set to True."},{"line_number":487,"context_line":""},{"line_number":488,"context_line":".. image:: figures/bgp-with-address-scope-diagram.png"},{"line_number":489,"context_line":"   :alt: BGP Announcement of Tenant Networks"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_c6eaf4d7","line":486,"range":{"start_line":486,"start_character":6,"end_line":486,"end_character":31},"in_reply_to":"1a122d0e_fb3c08e3","updated":"2016-05-04 19:37:45.000000000","message":"Done","commit_id":"e9550b31dcfabc3590f1c16d64c1c2059d9d4a3a"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"d693e6ceb01c7e2fc5d038ae938679c72e560f7b","unresolved":false,"context_lines":[{"line_number":494,"context_line":"  network that has been associated with a BGP speaker."},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"* The BGP speaker must be configured to announce floating IP host routes by"},{"line_number":497,"context_line":"  having the advertise_floating_ip_host_routes attribute set to True."},{"line_number":498,"context_line":""},{"line_number":499,"context_line":".. image:: figures/bgp-with-floating-ips.png"},{"line_number":500,"context_line":"   :alt: BGP Announcement of Tenant Networks"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_1b11045e","line":497,"range":{"start_line":497,"start_character":13,"end_line":497,"end_character":56},"updated":"2016-05-04 09:25:58.000000000","message":"ditto","commit_id":"e9550b31dcfabc3590f1c16d64c1c2059d9d4a3a"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"d693e6ceb01c7e2fc5d038ae938679c72e560f7b","unresolved":false,"context_lines":[{"line_number":494,"context_line":"  network that has been associated with a BGP speaker."},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"* The BGP speaker must be configured to announce floating IP host routes by"},{"line_number":497,"context_line":"  having the advertise_floating_ip_host_routes attribute set to True."},{"line_number":498,"context_line":""},{"line_number":499,"context_line":".. image:: figures/bgp-with-floating-ips.png"},{"line_number":500,"context_line":"   :alt: BGP Announcement of Tenant Networks"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_fb136863","line":497,"range":{"start_line":497,"start_character":64,"end_line":497,"end_character":68},"updated":"2016-05-04 09:25:58.000000000","message":"ditto","commit_id":"e9550b31dcfabc3590f1c16d64c1c2059d9d4a3a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4d2a66f62c7c8c03d4875e3ed6a627412f331146","unresolved":false,"context_lines":[{"line_number":494,"context_line":"  network that has been associated with a BGP speaker."},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"* The BGP speaker must be configured to announce floating IP host routes by"},{"line_number":497,"context_line":"  having the advertise_floating_ip_host_routes attribute set to True."},{"line_number":498,"context_line":""},{"line_number":499,"context_line":".. image:: figures/bgp-with-floating-ips.png"},{"line_number":500,"context_line":"   :alt: BGP Announcement of Tenant Networks"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_26bac8e1","line":497,"range":{"start_line":497,"start_character":64,"end_line":497,"end_character":68},"in_reply_to":"1a122d0e_fb136863","updated":"2016-05-04 19:37:45.000000000","message":"Done","commit_id":"e9550b31dcfabc3590f1c16d64c1c2059d9d4a3a"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"eb2513ff985b19634f2afd2dac2a05d4c442efd4","unresolved":false,"context_lines":[{"line_number":545,"context_line":"~~~~~~~~~~~~"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"Announcement of IPv6 prefixes via BGP is supported. To create a BGP speaker"},{"line_number":548,"context_line":"for announcing IPv6 prefixes, simply create an address scope with ip_version\u003d6"},{"line_number":549,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_7a19c479","line":548,"range":{"start_line":548,"start_character":66,"end_line":548,"end_character":78},"updated":"2016-05-05 16:31:23.000000000","message":"please change another representation instead of \"ip_version\u003d6\".","commit_id":"3308e8d43a858f7283e92ce75dda121ebbaa793f"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"15f6900ea6a6cade1627e6586ecba9f73fc5b74f","unresolved":false,"context_lines":[{"line_number":545,"context_line":"~~~~~~~~~~~~"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"Announcement of IPv6 prefixes via BGP is supported. To create a BGP speaker"},{"line_number":548,"context_line":"for announcing IPv6 prefixes, simply create an address scope with ip_version\u003d6"},{"line_number":549,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_597fb5de","line":548,"range":{"start_line":548,"start_character":66,"end_line":548,"end_character":78},"in_reply_to":"1a122d0e_7a19c479","updated":"2016-05-05 17:32:15.000000000","message":"Done","commit_id":"3308e8d43a858f7283e92ce75dda121ebbaa793f"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"eb2513ff985b19634f2afd2dac2a05d4c442efd4","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":"Announcement of IPv6 prefixes via BGP is supported. To create a BGP speaker"},{"line_number":548,"context_line":"for announcing IPv6 prefixes, simply create an address scope with ip_version\u003d6"},{"line_number":549,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"},{"line_number":552,"context_line":"the central SNAT node. Just as with IPv4, \"north-south\" traffic will be"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_5a2de88d","line":549,"range":{"start_line":549,"start_character":23,"end_line":549,"end_character":35},"updated":"2016-05-05 16:31:23.000000000","message":"ditto","commit_id":"3308e8d43a858f7283e92ce75dda121ebbaa793f"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"15f6900ea6a6cade1627e6586ecba9f73fc5b74f","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":"Announcement of IPv6 prefixes via BGP is supported. To create a BGP speaker"},{"line_number":548,"context_line":"for announcing IPv6 prefixes, simply create an address scope with ip_version\u003d6"},{"line_number":549,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"},{"line_number":552,"context_line":"the central SNAT node. Just as with IPv4, \"north-south\" traffic will be"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_996dcd34","line":549,"range":{"start_line":549,"start_character":23,"end_line":549,"end_character":35},"in_reply_to":"1a122d0e_5a2de88d","updated":"2016-05-05 17:32:15.000000000","message":"Done","commit_id":"3308e8d43a858f7283e92ce75dda121ebbaa793f"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"77281c46654f217ea5647f54754e66f9d3d2beba","unresolved":false,"context_lines":[{"line_number":549,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"},{"line_number":552,"context_line":"the central SNAT node. Just as with IPv4, \"north-south\" traffic will be"},{"line_number":553,"context_line":"routed centrally while traffic flowing between tenant networks (\"east-west\")"},{"line_number":554,"context_line":"continues to be routed in a distributed manner."},{"line_number":555,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_c4513a64","line":552,"range":{"start_line":552,"start_character":42,"end_line":552,"end_character":55},"updated":"2016-05-05 08:07:56.000000000","message":"``north-south``","commit_id":"3308e8d43a858f7283e92ce75dda121ebbaa793f"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"15f6900ea6a6cade1627e6586ecba9f73fc5b74f","unresolved":false,"context_lines":[{"line_number":549,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"},{"line_number":552,"context_line":"the central SNAT node. Just as with IPv4, \"north-south\" traffic will be"},{"line_number":553,"context_line":"routed centrally while traffic flowing between tenant networks (\"east-west\")"},{"line_number":554,"context_line":"continues to be routed in a distributed manner."},{"line_number":555,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_9c965b92","line":552,"range":{"start_line":552,"start_character":42,"end_line":552,"end_character":55},"in_reply_to":"1a122d0e_5a704808","updated":"2016-05-05 17:32:15.000000000","message":"I\u0027m no editor and no expert on our style docs (just a developer), so I suppose I have no clout in these matters :) One way of using quotes is to lazily draw attention to what may be a new term for the reader or something that is a sort of a made-up term. As a native reader and speaker of english I see quotes used this way it is never a point of confusion for me, I see it all the time. But maybe it\u0027s confusing for people for whom english is not a native language.\n\nI\u0027ll re-spin one more time and change this since I have other tweaks to make, but holding docs over issues like this slows the process down for little incremental benefit in my opinion.","commit_id":"3308e8d43a858f7283e92ce75dda121ebbaa793f"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"e613cf927848b3dd645a60fe783cd3b769849487","unresolved":false,"context_lines":[{"line_number":549,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"},{"line_number":552,"context_line":"the central SNAT node. Just as with IPv4, \"north-south\" traffic will be"},{"line_number":553,"context_line":"routed centrally while traffic flowing between tenant networks (\"east-west\")"},{"line_number":554,"context_line":"continues to be routed in a distributed manner."},{"line_number":555,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_ffab066f","line":552,"range":{"start_line":552,"start_character":42,"end_line":552,"end_character":55},"in_reply_to":"1a122d0e_c4513a64","updated":"2016-05-05 16:10:20.000000000","message":"I disagree in this case. I don\u0027t think this needs to be highlighted as an attribute name would, quotes should be sufficient here.","commit_id":"3308e8d43a858f7283e92ce75dda121ebbaa793f"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"eb2513ff985b19634f2afd2dac2a05d4c442efd4","unresolved":false,"context_lines":[{"line_number":549,"context_line":"and a BGP speaker with ip_version\u003d6."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"},{"line_number":552,"context_line":"the central SNAT node. Just as with IPv4, \"north-south\" traffic will be"},{"line_number":553,"context_line":"routed centrally while traffic flowing between tenant networks (\"east-west\")"},{"line_number":554,"context_line":"continues to be routed in a distributed manner."},{"line_number":555,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_5a704808","line":552,"range":{"start_line":552,"start_character":42,"end_line":552,"end_character":55},"in_reply_to":"1a122d0e_ffab066f","updated":"2016-05-05 16:31:23.000000000","message":"If it no needs to be highlighted, please remove the quotes. I\u0027ve never seen use quotes to emphasize something. What about use North-South instead of \"north-south\"? :-)","commit_id":"3308e8d43a858f7283e92ce75dda121ebbaa793f"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"77281c46654f217ea5647f54754e66f9d3d2beba","unresolved":false,"context_lines":[{"line_number":550,"context_line":""},{"line_number":551,"context_line":"As with IPv4, when using DVR tenant networks are announced as accessible via"},{"line_number":552,"context_line":"the central SNAT node. Just as with IPv4, \"north-south\" traffic will be"},{"line_number":553,"context_line":"routed centrally while traffic flowing between tenant networks (\"east-west\")"},{"line_number":554,"context_line":"continues to be routed in a distributed manner."},{"line_number":555,"context_line":""},{"line_number":556,"context_line":"Peering over IPv6 is supported. To enable peering over IPv6, simply create a"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_244bceb2","line":553,"range":{"start_line":553,"start_character":64,"end_line":553,"end_character":75},"updated":"2016-05-05 08:07:56.000000000","message":"ditto","commit_id":"3308e8d43a858f7283e92ce75dda121ebbaa793f"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"73ab90e44435f3165396ed418d7ffa1c7f5b6653","unresolved":false,"context_lines":[{"line_number":234,"context_line":"      +---------------------------+--------------------------------------+"},{"line_number":235,"context_line":"      | admin_state_up            | True                                 |"},{"line_number":236,"context_line":"      | id                        | 01da3e19-129f-4d26-b065-255ade0e5e2c |"},{"line_number":237,"context_line":"      | name                      | selfservice   |                      |"},{"line_number":238,"context_line":"      | shared                    | False                                |"},{"line_number":239,"context_line":"      | status                    | ACTIVE                               |"},{"line_number":240,"context_line":"      | subnets                   |                                      |"}],"source_content_type":"text/x-rst","patch_set":17,"id":"dab17558_868efccd","line":237,"range":{"start_line":237,"start_character":50,"end_line":237,"end_character":51},"updated":"2016-05-10 15:21:44.000000000","message":"nit: stray \"|\" here","commit_id":"48f392fac1015fcae203f917c16f1bb1fe48cec8"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"1d84c2dbdf9bb22d5e7a7a452db0d0f5403ea2ce","unresolved":false,"context_lines":[{"line_number":234,"context_line":"      +---------------------------+--------------------------------------+"},{"line_number":235,"context_line":"      | admin_state_up            | True                                 |"},{"line_number":236,"context_line":"      | id                        | 01da3e19-129f-4d26-b065-255ade0e5e2c |"},{"line_number":237,"context_line":"      | name                      | selfservice   |                      |"},{"line_number":238,"context_line":"      | shared                    | False                                |"},{"line_number":239,"context_line":"      | status                    | ACTIVE                               |"},{"line_number":240,"context_line":"      | subnets                   |                                      |"}],"source_content_type":"text/x-rst","patch_set":17,"id":"dab17558_b19d3c68","line":237,"range":{"start_line":237,"start_character":50,"end_line":237,"end_character":51},"in_reply_to":"dab17558_868efccd","updated":"2016-05-10 15:28:36.000000000","message":"Done","commit_id":"48f392fac1015fcae203f917c16f1bb1fe48cec8"}],"doc/networking-guide/source/adv-config.rst":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"de7b4f011394ce9ec47d5cfa50cbca7a7f083a5a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"   adv-config-sriov.rst"},{"line_number":19,"context_line":"   adv-config-ipam.rst"},{"line_number":20,"context_line":"   adv-config-availability-zone.rst"},{"line_number":21,"context_line":"   adv-config-bgp-dynamic-routing.rst"},{"line_number":22,"context_line":"   adv-config-dns.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_9cea9dd9","line":21,"updated":"2016-03-19 06:01:06.000000000","message":"let\u0027s put this at the end... anyway\u0027s no lexicographical order is being followed over here..","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"05039ccaf72587d1493046bf633291fe2bfcab8d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"   adv-config-sriov.rst"},{"line_number":19,"context_line":"   adv-config-ipam.rst"},{"line_number":20,"context_line":"   adv-config-availability-zone.rst"},{"line_number":21,"context_line":"   adv-config-bgp-dynamic-routing.rst"},{"line_number":22,"context_line":"   adv-config-dns.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_7c87d1b4","line":21,"in_reply_to":"1af94dfe_9cea9dd9","updated":"2016-03-19 06:43:03.000000000","message":"Done","commit_id":"ce98bd88e5a68dda92ae372962a7fe69a1260c1a"}]}
