)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f5be8585_ccd8e8fc","updated":"2024-01-10 14:39:31.000000000","message":"initial round, thanks Luis!!","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d0bbfa5b_866d0ea9","updated":"2024-01-22 14:05:21.000000000","message":"Terrific work, Luis! Here are some comments for three of the files. More to follow.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"f0c4d474bf93b502a61ea0e50c0d79bc13171bd0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"cf956b40_3473d676","updated":"2024-01-23 21:08:52.000000000","message":"recheck","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"7009b3ed_0c2aaee7","updated":"2024-01-29 23:15:29.000000000","message":"Overall looks good, great piece of work. Some things inside.","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"9345543d_ac43c8ef","updated":"2024-02-19 08:15:27.000000000","message":"Doing them in the follow up: https://review.opendev.org/c/openstack/ovn-bgp-agent/+/907779","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"9a32d578a13d60d76f059ccf5002b2a7b20f2900","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"64275c4a_b02021cc","updated":"2024-02-16 13:41:06.000000000","message":"LGTM, thanks :) Good job","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"a25f16c2_9bd8c52b","updated":"2024-02-16 16:50:14.000000000","message":"Thanks Luis! It\u0027s looking good... I left a couple of comments but I think they all can be fixed in a following up patch. It\u0027s mostly pointing out inconsistencies, typos and nits.","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"}],"doc/source/bgp_supportability_matrix.rst":[{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":34,"context_line":"BGP Driver (NB)"},{"line_number":35,"context_line":"---------------"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to be able to expose tenant networks and ovn-lb,"},{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"cf1f26e9_3c5272fb","line":37,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion: reword `to be able to expose` to: `to expose`.\n\nSuggestion: `as` is ambiguous. Use `because` instead. `because` is specific.\n\nSuggestion: available *in* that version.\n\n`version` misspelled.\nSentence missing a period (aka full stop).\n\n`OVN version 23.09 is required to expose tenant networks and ovn-lb, \nbecause CR-LRP port chassis information in the NB DB is only available in that\nversion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515).`","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":34,"context_line":"BGP Driver (NB)"},{"line_number":35,"context_line":"---------------"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to be able to expose tenant networks and ovn-lb,"},{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"4a966b7b_7df5b4f8","line":37,"in_reply_to":"cf1f26e9_3c5272fb","updated":"2024-01-25 07:41:33.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to be able to expose tenant networks and ovn-lb,"},{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7381c9fb_32eb1eb7","line":39,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion: add a sentence to introduce the table. Something like?\n\n`The following table lists the various methods you can use to expose tenant networks, how to configure the methods, \nand whether OVS-DPDK and hardware offload (HWOL) is supported.`\n\nJust struck me: Do you need the `Expose Tenants or GUA` and the `Implemented` columns? Isn\u0027t one of the points of this table to describe the methods that an admin uses to expose tenant networks? Also, why would we claim OVS-DPDK/HWOL support if it is not implemented?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to be able to expose tenant networks and ovn-lb,"},{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"8d2cf08e_2f86df8a","line":39,"range":{"start_line":39,"start_character":60,"end_line":39,"end_character":61},"updated":"2024-01-10 14:39:31.000000000","message":"final dot :)","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to be able to expose tenant networks and ovn-lb,"},{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"c338d9ab_aeb208d7","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":7},"updated":"2024-01-10 14:39:31.000000000","message":"version","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to be able to expose tenant networks and ovn-lb,"},{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"cc289136_ad052bcb","line":39,"in_reply_to":"7381c9fb_32eb1eb7","updated":"2024-01-25 07:41:33.000000000","message":"The idea is to cover here what it is already added as a config option. But the driver has not yet implemented all the options (so far we only have underlay and OVN, and l2vni and vrf are being worked on).\n\nThen, the expose tenant is about if the method will allow to expose them, the dpdk/hwol is about the same, if the method will allow it. And the last columen (implemented, now named supported) means if the actual method is already available in the agent","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to be able to expose tenant networks and ovn-lb,"},{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"2d14253b_147f6a3a","line":39,"range":{"start_line":39,"start_character":60,"end_line":39,"end_character":61},"in_reply_to":"8d2cf08e_2f86df8a","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to be able to expose tenant networks and ovn-lb,"},{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"b5326d90_615b429b","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":7},"in_reply_to":"c338d9ab_aeb208d7","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a53ac608_f81f5921","line":41,"updated":"2024-01-22 14:05:21.000000000","message":"Nice table!","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"as CR-LRP port chassis information in the NB DB is only available from that"},{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"11f57ca7_c9eda69a","line":41,"in_reply_to":"a53ac608_f81f5921","updated":"2024-01-25 07:41:33.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e09e60f6_a12bbed1","line":42,"updated":"2024-01-22 14:05:21.000000000","message":"There are two cells in the `Expose Tenants or GUA` column that are blank. Suggest that you add something in those blank cells, like `N/A` or whatever is appropriate.","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a014a660_9540c65c","line":42,"updated":"2024-01-22 14:05:21.000000000","message":"`Wired with`? Would `Configured for` be less ambiguous?\n\nPerhaps `Wired` has a special meaning in this context?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"577d8c58_34f72c20","line":42,"in_reply_to":"a014a660_9540c65c","updated":"2024-01-25 07:41:33.000000000","message":"yep, we differentiate between exposing and wiring (which refers to the network configuration to allow the traffic to be connected, as if we were \"wiring\" the external world with the OSP networking","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"vesrion (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d5ac6b4f_6252a59c","line":42,"in_reply_to":"e09e60f6_a12bbed1","updated":"2024-01-25 07:41:33.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"},{"line_number":46,"context_line":"|                 |                                                     |                                          | Egress: ovs-flow to change mac           | (expose_tenant_networks) |                       |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"853c3811_3a5b4db4","line":43,"updated":"2024-01-22 14:05:21.000000000","message":"The cells below the 2nd and 3rd columns read like sentences. They should probably be ended with periods (aka full stops).","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"},{"line_number":46,"context_line":"|                 |                                                     |                                          | Egress: ovs-flow to change mac           | (expose_tenant_networks) |                       |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e07b993f_ecb362b3","line":43,"in_reply_to":"853c3811_3a5b4db4","updated":"2024-01-25 07:41:33.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"},{"line_number":46,"context_line":"|                 |                                                     |                                          | Egress: ovs-flow to change mac           | (expose_tenant_networks) |                       |               |"},{"line_number":47,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"}],"source_content_type":"text/x-rst","patch_set":5,"id":"6d83b2c6_9d759374","line":44,"updated":"2024-01-22 14:05:21.000000000","message":"When not used as the literal name of an interface, `nic` should probably be all capped, right? `NIC`","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":42,"context_line":"| Exposing Method | Description                                         | Expose with                              | Wired with                               | Expose Tenants or GUA    | OVS-DPDK/HWOL Support | Implemented   |"},{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"},{"line_number":46,"context_line":"|                 |                                                     |                                          | Egress: ovs-flow to change mac           | (expose_tenant_networks) |                       |               |"},{"line_number":47,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bea88533_126701b0","line":44,"in_reply_to":"6d83b2c6_9d759374","updated":"2024-01-25 07:41:33.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"},{"line_number":46,"context_line":"|                 |                                                     |                                          | Egress: ovs-flow to change mac           | (expose_tenant_networks) |                       |               |"},{"line_number":47,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":48,"context_line":"| L2VNI           | Extends the L2 segment on a given VNI               | No need to expose it, automatic with the | Ingress: vxlan + bridge device           |                          | No                    | No            |"},{"line_number":49,"context_line":"|                 |                                                     | FRR configuration and the wiring         | Egress: nothing                          |                          |                       |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"74373c67_6b67128e","line":46,"updated":"2024-01-22 14:05:21.000000000","message":"Should `change mac` read `changed mac`?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":44,"context_line":"| Underlay        | Expose IPs on the default underlay network          | Adding IP to dummy nic isolated in a VRF | Ingress: ip rules, and ip routes on the  | Yes                      | No                    | Yes           |"},{"line_number":45,"context_line":"|                 |                                                     |                                          | routing table associated to ovs          |                          |                       |               |"},{"line_number":46,"context_line":"|                 |                                                     |                                          | Egress: ovs-flow to change mac           | (expose_tenant_networks) |                       |               |"},{"line_number":47,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":48,"context_line":"| L2VNI           | Extends the L2 segment on a given VNI               | No need to expose it, automatic with the | Ingress: vxlan + bridge device           |                          | No                    | No            |"},{"line_number":49,"context_line":"|                 |                                                     | FRR configuration and the wiring         | Egress: nothing                          |                          |                       |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"db4ad103_07ad48d9","line":46,"in_reply_to":"74373c67_6b67128e","updated":"2024-01-25 07:41:33.000000000","message":"I don\u0027t think so","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":48,"context_line":"| L2VNI           | Extends the L2 segment on a given VNI               | No need to expose it, automatic with the | Ingress: vxlan + bridge device           |                          | No                    | No            |"},{"line_number":49,"context_line":"|                 |                                                     | FRR configuration and the wiring         | Egress: nothing                          |                          |                       |               |"},{"line_number":50,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":51,"context_line":"| VRF             | Expose IPs on a given VRF (vni id)                  | Add IPs to dummy nic associated to the   | Ingress: vxlan + bridge device           |  Yes but not implemented | No                    | No            |"},{"line_number":52,"context_line":"|                 |                                                     | VRF device (lo_VNI_ID)                   | Egress: flow to redirect to VRF device   |                          |                       |               |"},{"line_number":53,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5102fd82_6ef2ca66","line":51,"updated":"2024-01-22 14:05:21.000000000","message":"Run-on sentence. Need some type of punctuation mark between `Yes` and `but`.\n\nSuggestion: Put `Yes` on a separate line. Enclose `Not implemented` in parentheses:\n\n`Yes`\n(Not implemented)","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"| L2VNI           | Extends the L2 segment on a given VNI               | No need to expose it, automatic with the | Ingress: vxlan + bridge device           |                          | No                    | No            |"},{"line_number":49,"context_line":"|                 |                                                     | FRR configuration and the wiring         | Egress: nothing                          |                          |                       |               |"},{"line_number":50,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":51,"context_line":"| VRF             | Expose IPs on a given VRF (vni id)                  | Add IPs to dummy nic associated to the   | Ingress: vxlan + bridge device           |  Yes but not implemented | No                    | No            |"},{"line_number":52,"context_line":"|                 |                                                     | VRF device (lo_VNI_ID)                   | Egress: flow to redirect to VRF device   |                          |                       |               |"},{"line_number":53,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"2d0d3d23_1df31205","line":51,"in_reply_to":"5102fd82_6ef2ca66","updated":"2024-01-25 07:41:33.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":51,"context_line":"| VRF             | Expose IPs on a given VRF (vni id)                  | Add IPs to dummy nic associated to the   | Ingress: vxlan + bridge device           |  Yes but not implemented | No                    | No            |"},{"line_number":52,"context_line":"|                 |                                                     | VRF device (lo_VNI_ID)                   | Egress: flow to redirect to VRF device   |                          |                       |               |"},{"line_number":53,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"},{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"86563639_f176d263","line":54,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion: replace the comma with a period, semi-colon, or colon. \n\nSuggestion: replace one of the `it`s: Change? `it exposes it differently....` to `it exposes IPs differently....`","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"| VRF             | Expose IPs on a given VRF (vni id)                  | Add IPs to dummy nic associated to the   | Ingress: vxlan + bridge device           |  Yes but not implemented | No                    | No            |"},{"line_number":52,"context_line":"|                 |                                                     | VRF device (lo_VNI_ID)                   | Egress: flow to redirect to VRF device   |                          |                       |               |"},{"line_number":53,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"},{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"0cdf46f4_1e683a7c","line":54,"in_reply_to":"86563639_f176d263","updated":"2024-01-25 07:41:33.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":53,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"},{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"},{"line_number":58,"context_line":"|                 | of kernel routing -- exposing the IPs with BGP is   | (as it only supports the underlay option)| Egress: ovn routes and policies,         |                          |                       | for ipv4 and  |"},{"line_number":59,"context_line":"|                 | the same as before                                  |                                          | and ovs flow (mac tweak)                 |                          |                       | flat provider |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"8d84e92f_0b07a5b1","line":56,"updated":"2024-01-22 14:05:21.000000000","message":"On the last row, under the `Expose Tenants or GUA` column, I don\u0027t understand the phrase, `Yes but not implemented`. In the last column, `Implemented`, the value reads `Yes`. So, the last column refers to OVS-DPDK/HWOL support?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"},{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"},{"line_number":58,"context_line":"|                 | of kernel routing -- exposing the IPs with BGP is   | (as it only supports the underlay option)| Egress: ovn routes and policies,         |                          |                       | for ipv4 and  |"},{"line_number":59,"context_line":"|                 | the same as before                                  |                                          | and ovs flow (mac tweak)                 |                          |                       | flat provider |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"93dd00db_c45b7d6e","line":56,"in_reply_to":"8d84e92f_0b07a5b1","updated":"2024-01-25 07:41:33.000000000","message":"The last column refers to the exposing method being implemented, the whole row. Going to change it by \"supported\"","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"},{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"},{"line_number":58,"context_line":"|                 | of kernel routing -- exposing the IPs with BGP is   | (as it only supports the underlay option)| Egress: ovn routes and policies,         |                          |                       | for ipv4 and  |"},{"line_number":59,"context_line":"|                 | the same as before                                  |                                          | and ovs flow (mac tweak)                 |                          |                       | flat provider |"},{"line_number":60,"context_line":"|                 |                                                     |                                          |                                          |                          |                       | networks      |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"f5aff031_87c2991f","line":57,"updated":"2024-01-22 14:05:21.000000000","message":"I guess readers understand what `mac tweak` is?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"},{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"},{"line_number":58,"context_line":"|                 | of kernel routing -- exposing the IPs with BGP is   | (as it only supports the underlay option)| Egress: ovn routes and policies,         |                          |                       | for ipv4 and  |"},{"line_number":59,"context_line":"|                 | the same as before                                  |                                          | and ovs flow (mac tweak)                 |                          |                       | flat provider |"},{"line_number":60,"context_line":"|                 |                                                     |                                          |                                          |                          |                       | networks      |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d6b625a6_7f77ec39","line":57,"updated":"2024-01-22 14:05:21.000000000","message":"Remove an instance of `for`:\n`Yes, only for for ipv4 and flat provider networks`\n\nWould it might make the table easier to parse if you added a footnote in this cell?\n\n`Yes [1]`\n\u003cend of table\u003e\n`[1] Only for ipv4 and flat provider networks`.","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"},{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"},{"line_number":58,"context_line":"|                 | of kernel routing -- exposing the IPs with BGP is   | (as it only supports the underlay option)| Egress: ovn routes and policies,         |                          |                       | for ipv4 and  |"},{"line_number":59,"context_line":"|                 | the same as before                                  |                                          | and ovs flow (mac tweak)                 |                          |                       | flat provider |"},{"line_number":60,"context_line":"|                 |                                                     |                                          |                                          |                          |                       | networks      |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5d53dc1b_ed86dd69","line":57,"in_reply_to":"d6b625a6_7f77ec39","updated":"2024-01-25 07:41:33.000000000","message":"I prefer leaving it on the box, I removed the for repetition","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"| Dynamic         | Mix of the previous, depending on annotations it    | Mix of the previous three                | Ingress: mix of all the above            |                          | No                    | No            |"},{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"},{"line_number":58,"context_line":"|                 | of kernel routing -- exposing the IPs with BGP is   | (as it only supports the underlay option)| Egress: ovn routes and policies,         |                          |                       | for ipv4 and  |"},{"line_number":59,"context_line":"|                 | the same as before                                  |                                          | and ovs flow (mac tweak)                 |                          |                       | flat provider |"},{"line_number":60,"context_line":"|                 |                                                     |                                          |                                          |                          |                       | networks      |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"16bfc9f6_7dd423a3","line":57,"in_reply_to":"f5aff031_87c2991f","updated":"2024-01-25 07:41:33.000000000","message":"I hope so! xD","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"},{"line_number":58,"context_line":"|                 | of kernel routing -- exposing the IPs with BGP is   | (as it only supports the underlay option)| Egress: ovn routes and policies,         |                          |                       | for ipv4 and  |"},{"line_number":59,"context_line":"|                 | the same as before                                  |                                          | and ovs flow (mac tweak)                 |                          |                       | flat provider |"},{"line_number":60,"context_line":"|                 |                                                     |                                          |                                          |                          |                       | networks      |"},{"line_number":61,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e35203c9_613e0281","line":58,"updated":"2024-01-22 14:05:21.000000000","message":"I think that whenever `ovn` and `ovs` are not used in names of interfaces, they should probably be all capped, right? `OVN` and `OVS`. Same for `mac` `MAC`?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"df7cae2716f84d5626f719dbafae4cf896e5154c","unresolved":false,"context_lines":[{"line_number":55,"context_line":"|                 | exposes it differently and on different VNIs        |                                          | Egress: mix of all the above             |                          |                       |               |"},{"line_number":56,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"},{"line_number":57,"context_line":"| OVN             | Make use of an extra OVN cluster (per node) instead | Adding IP to dummy nic isolated in a VRF | Ingress: ovn routes, ovs flow (mac tweak)|  Yes but not implemented | Yes                   | Yes, only for |"},{"line_number":58,"context_line":"|                 | of kernel routing -- exposing the IPs with BGP is   | (as it only supports the underlay option)| Egress: ovn routes and policies,         |                          |                       | for ipv4 and  |"},{"line_number":59,"context_line":"|                 | the same as before                                  |                                          | and ovs flow (mac tweak)                 |                          |                       | flat provider |"},{"line_number":60,"context_line":"|                 |                                                     |                                          |                                          |                          |                       | networks      |"},{"line_number":61,"context_line":"+-----------------+-----------------------------------------------------+------------------------------------------+------------------------------------------+--------------------------+-----------------------+---------------+"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a9a18d0b_bd247dab","line":58,"in_reply_to":"e35203c9_613e0281","updated":"2024-01-25 07:41:33.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":34,"context_line":"BGP Driver (NB)"},{"line_number":35,"context_line":"---------------"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to expose tenant networks and ovn-lb, because"},{"line_number":38,"context_line":"CR-LRP port chassis information in the NB DB is only available in that"},{"line_number":39,"context_line":"version (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"3aa6d206_0fc772f0","line":37,"range":{"start_line":37,"start_character":60,"end_line":37,"end_character":66},"updated":"2024-02-16 16:50:14.000000000","message":"Load Balancers (or LBs)\n\nI haven\u0027t seem \"ovn-lb\" referenced anywhere in other docs. It might be obvious for us but maybe not to other readers.","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":34,"context_line":"BGP Driver (NB)"},{"line_number":35,"context_line":"---------------"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to expose tenant networks and ovn-lb, because"},{"line_number":38,"context_line":"CR-LRP port chassis information in the NB DB is only available in that"},{"line_number":39,"context_line":"version (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"28de294f_d27e0f1a","line":37,"range":{"start_line":37,"start_character":60,"end_line":37,"end_character":66},"in_reply_to":"3aa6d206_0fc772f0","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":35,"context_line":"---------------"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to expose tenant networks and ovn-lb, because"},{"line_number":38,"context_line":"CR-LRP port chassis information in the NB DB is only available in that"},{"line_number":39,"context_line":"version (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"The following table lists the various methods you can use to expose the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"c9e238a4_cd66c923","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":6},"updated":"2024-02-16 16:50:14.000000000","message":"Distributed Gateway port","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":35,"context_line":"---------------"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OVN version 23.09 is required to expose tenant networks and ovn-lb, because"},{"line_number":38,"context_line":"CR-LRP port chassis information in the NB DB is only available in that"},{"line_number":39,"context_line":"version (https://bugzilla.redhat.com/show_bug.cgi?id\u003d2107515)."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"The following table lists the various methods you can use to expose the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"85f93647_335e7db3","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":6},"in_reply_to":"c9e238a4_cd66c923","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"}],"doc/source/contributor/agent_deployment.rst":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  needs to be running on the networker nodes. In OpenStack, with OVN"},{"line_number":20,"context_line":"  networking, the N/S traffic to the tenant VMs (without FIPs) needs to go"},{"line_number":21,"context_line":"  through the networking nodes, more specifically the one hosting the"},{"line_number":22,"context_line":"  chassisredirect ovn port (cr-lrp), connecting the provider network to the"},{"line_number":23,"context_line":"  OVN virtual router. Hence, the VM IPs is advertised through BGP in that"},{"line_number":24,"context_line":"  node, and from there it follows the normal path to the OpenStack compute"},{"line_number":25,"context_line":"  node where the VM is located — the Geneve tunnel."}],"source_content_type":"text/x-rst","patch_set":5,"id":"fdd3d08c_acd60a29","line":22,"range":{"start_line":22,"start_character":18,"end_line":22,"end_character":21},"updated":"2024-01-10 14:39:31.000000000","message":"nit: OVN for consistency in capitals","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  needs to be running on the networker nodes. In OpenStack, with OVN"},{"line_number":20,"context_line":"  networking, the N/S traffic to the tenant VMs (without FIPs) needs to go"},{"line_number":21,"context_line":"  through the networking nodes, more specifically the one hosting the"},{"line_number":22,"context_line":"  chassisredirect ovn port (cr-lrp), connecting the provider network to the"},{"line_number":23,"context_line":"  OVN virtual router. Hence, the VM IPs is advertised through BGP in that"},{"line_number":24,"context_line":"  node, and from there it follows the normal path to the OpenStack compute"},{"line_number":25,"context_line":"  node where the VM is located — the Geneve tunnel."}],"source_content_type":"text/x-rst","patch_set":5,"id":"b9ca0621_98bd39fd","line":22,"range":{"start_line":22,"start_character":18,"end_line":22,"end_character":21},"in_reply_to":"fdd3d08c_acd60a29","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":20,"context_line":"  networking, the N/S traffic to the tenant VMs (without FIPs) needs to go"},{"line_number":21,"context_line":"  through the networking nodes, more specifically the one hosting the"},{"line_number":22,"context_line":"  chassisredirect ovn port (cr-lrp), connecting the provider network to the"},{"line_number":23,"context_line":"  OVN virtual router. Hence, the VM IPs is advertised through BGP in that"},{"line_number":24,"context_line":"  node, and from there it follows the normal path to the OpenStack compute"},{"line_number":25,"context_line":"  node where the VM is located — the Geneve tunnel."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"226643b3_997e7e51","line":23,"range":{"start_line":23,"start_character":40,"end_line":23,"end_character":42},"updated":"2024-01-10 14:39:31.000000000","message":"are","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  networking, the N/S traffic to the tenant VMs (without FIPs) needs to go"},{"line_number":21,"context_line":"  through the networking nodes, more specifically the one hosting the"},{"line_number":22,"context_line":"  chassisredirect ovn port (cr-lrp), connecting the provider network to the"},{"line_number":23,"context_line":"  OVN virtual router. Hence, the VM IPs is advertised through BGP in that"},{"line_number":24,"context_line":"  node, and from there it follows the normal path to the OpenStack compute"},{"line_number":25,"context_line":"  node where the VM is located — the Geneve tunnel."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"b5ef12e0_d55390b6","line":23,"range":{"start_line":23,"start_character":40,"end_line":23,"end_character":42},"in_reply_to":"226643b3_997e7e51","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":22,"context_line":"  chassisredirect ovn port (cr-lrp), connecting the provider network to the"},{"line_number":23,"context_line":"  OVN virtual router. Hence, the VM IPs is advertised through BGP in that"},{"line_number":24,"context_line":"  node, and from there it follows the normal path to the OpenStack compute"},{"line_number":25,"context_line":"  node where the VM is located — the Geneve tunnel."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- Similarly, for OVN load balancer the IPs are exposed on the networker node."},{"line_number":28,"context_line":"  In this case the ARP request for the VIP is replied by the OVN router"}],"source_content_type":"text/x-rst","patch_set":5,"id":"19b63f6e_6bd9171d","line":25,"range":{"start_line":25,"start_character":31,"end_line":25,"end_character":50},"updated":"2024-01-10 14:39:31.000000000","message":"not necessarily no? if VLAN networks are used Geneve is not used :?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"  chassisredirect ovn port (cr-lrp), connecting the provider network to the"},{"line_number":23,"context_line":"  OVN virtual router. Hence, the VM IPs is advertised through BGP in that"},{"line_number":24,"context_line":"  node, and from there it follows the normal path to the OpenStack compute"},{"line_number":25,"context_line":"  node where the VM is located — the Geneve tunnel."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- Similarly, for OVN load balancer the IPs are exposed on the networker node."},{"line_number":28,"context_line":"  In this case the ARP request for the VIP is replied by the OVN router"}],"source_content_type":"text/x-rst","patch_set":5,"id":"02631f19_aec3a540","line":25,"range":{"start_line":25,"start_character":31,"end_line":25,"end_character":50},"in_reply_to":"19b63f6e_6bd9171d","updated":"2024-01-12 11:50:25.000000000","message":"well... it actually use geneve, but I\u0027ll remove it","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":87,"context_line":"   .. note::"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    If you want to filter the tenant networks to be exposed by some specific"},{"line_number":90,"context_line":"    address scopes, add the list of address scopes to ``addresss_scope\u003dXXX``"},{"line_number":91,"context_line":"    section. If no filtering should be applied, just remove the line."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1d05527c_c43f5ad1","line":90,"range":{"start_line":90,"start_character":56,"end_line":90,"end_character":70},"updated":"2024-01-10 14:39:31.000000000","message":"extra \u0027s\u0027 in \u0027addresss\u0027","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":87,"context_line":"   .. note::"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    If you want to filter the tenant networks to be exposed by some specific"},{"line_number":90,"context_line":"    address scopes, add the list of address scopes to ``addresss_scope\u003dXXX``"},{"line_number":91,"context_line":"    section. If no filtering should be applied, just remove the line."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"981d2ac3_9908692a","line":90,"range":{"start_line":90,"start_character":56,"end_line":90,"end_character":70},"in_reply_to":"1d05527c_c43f5ad1","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":96,"context_line":"- A dynamic routing solution, in this case FRR, is deployed and"},{"line_number":97,"context_line":"  advertises/withdraws routes added/deleted to/from certain local interface,"},{"line_number":98,"context_line":"  in this case the ones associated to the VRF created to that end. As only VM"},{"line_number":99,"context_line":"  and load balancer IPs needs to be advertised, FRR needs to be configure with"},{"line_number":100,"context_line":"  the proper filtering so that only /32 (or /128 for IPv6) IPs are advertised."},{"line_number":101,"context_line":"  A sample config for FRR is:"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ad73af82_73a4cd5b","line":99,"range":{"start_line":99,"start_character":24,"end_line":99,"end_character":29},"updated":"2024-01-10 14:39:31.000000000","message":"need","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":96,"context_line":"- A dynamic routing solution, in this case FRR, is deployed and"},{"line_number":97,"context_line":"  advertises/withdraws routes added/deleted to/from certain local interface,"},{"line_number":98,"context_line":"  in this case the ones associated to the VRF created to that end. As only VM"},{"line_number":99,"context_line":"  and load balancer IPs needs to be advertised, FRR needs to be configure with"},{"line_number":100,"context_line":"  the proper filtering so that only /32 (or /128 for IPv6) IPs are advertised."},{"line_number":101,"context_line":"  A sample config for FRR is:"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"c3bd7813_379a0bd5","line":99,"range":{"start_line":99,"start_character":24,"end_line":99,"end_character":29},"in_reply_to":"ad73af82_73a4cd5b","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"- The relevant provider OVS bridges are created and configured with a loopback"},{"line_number":162,"context_line":"  IP address (eg. 1.1.1.1/32 for IPv4), and proxy ARP/NDP is enabled on their"},{"line_number":163,"context_line":"  kernel interface. In the case of OpenStack this is done by TripleO directly."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7b8ca012_1d7909c6","line":163,"range":{"start_line":163,"start_character":20,"end_line":163,"end_character":78},"updated":"2024-01-10 14:39:31.000000000","message":"Perhaps we wanna make it agnostic of the deployment tool and just s/TripleO/deployment tool","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"- The relevant provider OVS bridges are created and configured with a loopback"},{"line_number":162,"context_line":"  IP address (eg. 1.1.1.1/32 for IPv4), and proxy ARP/NDP is enabled on their"},{"line_number":163,"context_line":"  kernel interface. In the case of OpenStack this is done by TripleO directly."}],"source_content_type":"text/x-rst","patch_set":5,"id":"92042fb5_dc7f08b3","line":163,"range":{"start_line":163,"start_character":20,"end_line":163,"end_character":78},"in_reply_to":"7b8ca012_1d7909c6","updated":"2024-01-12 11:50:25.000000000","message":"right... this was simply moved from the other file... I\u0027ll remove it","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  needs to be running on the networker nodes. In OpenStack, with OVN"},{"line_number":20,"context_line":"  networking, the N/S traffic to the tenant VMs (without FIPs) needs to go"},{"line_number":21,"context_line":"  through the networking nodes, more specifically the one hosting the"},{"line_number":22,"context_line":"  chassisredirect OVN port (cr-lrp), connecting the provider network to the"},{"line_number":23,"context_line":"  OVN virtual router. Hence, the VM IPs are advertised through BGP in that"},{"line_number":24,"context_line":"  node, and from there it follows the normal path to the OpenStack compute"},{"line_number":25,"context_line":"  node where the VM is located — through the tunnel."}],"source_content_type":"text/x-rst","patch_set":13,"id":"fd446d1a_b44e2f3b","line":22,"range":{"start_line":22,"start_character":2,"end_line":22,"end_character":26},"updated":"2024-02-16 16:50:14.000000000","message":"nit:\n\nDistributed Gateway Port ?\n\nchassisredirect sounds too internal OVN-y IMHO","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  needs to be running on the networker nodes. In OpenStack, with OVN"},{"line_number":20,"context_line":"  networking, the N/S traffic to the tenant VMs (without FIPs) needs to go"},{"line_number":21,"context_line":"  through the networking nodes, more specifically the one hosting the"},{"line_number":22,"context_line":"  chassisredirect OVN port (cr-lrp), connecting the provider network to the"},{"line_number":23,"context_line":"  OVN virtual router. Hence, the VM IPs are advertised through BGP in that"},{"line_number":24,"context_line":"  node, and from there it follows the normal path to the OpenStack compute"},{"line_number":25,"context_line":"  node where the VM is located — through the tunnel."}],"source_content_type":"text/x-rst","patch_set":13,"id":"c1721d89_bbc5caaa","line":22,"range":{"start_line":22,"start_character":2,"end_line":22,"end_character":26},"in_reply_to":"fd446d1a_b44e2f3b","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"}],"doc/source/contributor/bgp_advertising.rst":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":2,"context_line":"+++++++++++++++++"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"The OVN BGP Agent (both SB and NB drivers) is in charge of triggering FRR"},{"line_number":5,"context_line":"(ip routing protocol suite for Linux which includes protocol daemons for BGP,"},{"line_number":6,"context_line":"OSPF, RIP, among others) to advertise/withdraw directly connected routes via"},{"line_number":7,"context_line":"BGP. To do that, when the agent starts, it ensures that:"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"c6b8b685_8ad85182","line":5,"range":{"start_line":5,"start_character":1,"end_line":5,"end_character":3},"updated":"2024-01-10 14:39:31.000000000","message":"nit IP","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":2,"context_line":"+++++++++++++++++"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"The OVN BGP Agent (both SB and NB drivers) is in charge of triggering FRR"},{"line_number":5,"context_line":"(ip routing protocol suite for Linux which includes protocol daemons for BGP,"},{"line_number":6,"context_line":"OSPF, RIP, among others) to advertise/withdraw directly connected routes via"},{"line_number":7,"context_line":"BGP. To do that, when the agent starts, it ensures that:"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"8ba31e3c_023b56d5","line":5,"range":{"start_line":5,"start_character":1,"end_line":5,"end_character":3},"in_reply_to":"c6b8b685_8ad85182","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":42,"context_line":"- There is a dummy interface type (by default named ``bgp-nic``), associated to"},{"line_number":43,"context_line":"  the previously created VRF device."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"- Ensure ARP/NDP is enabled at OVS provider bridges by adding an IP to it"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Then, to expose the VMs/LB IPs as they are created (or upon"}],"source_content_type":"text/x-rst","patch_set":5,"id":"cc0f68fb_c1cb05d3","line":45,"range":{"start_line":45,"start_character":71,"end_line":45,"end_character":73},"updated":"2024-01-10 14:39:31.000000000","message":"nitnit: final \u0027.\u0027 :)","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":42,"context_line":"- There is a dummy interface type (by default named ``bgp-nic``), associated to"},{"line_number":43,"context_line":"  the previously created VRF device."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"- Ensure ARP/NDP is enabled at OVS provider bridges by adding an IP to it"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Then, to expose the VMs/LB IPs as they are created (or upon"}],"source_content_type":"text/x-rst","patch_set":5,"id":"159e80a0_f095c6ae","line":45,"range":{"start_line":45,"start_character":71,"end_line":45,"end_character":73},"in_reply_to":"cc0f68fb_c1cb05d3","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":49,"context_line":"initialization or re-sync), since the FRR configuration has the"},{"line_number":50,"context_line":"``redistribute connected`` option enabled, the only action needed to expose it"},{"line_number":51,"context_line":"(or withdraw it) is to add it (or remove it) from the ``bgp-nic`` dummy interface."},{"line_number":52,"context_line":"Then it relies on Zebra to do the BGP advertisemant, as Zebra detects the"},{"line_number":53,"context_line":"addition/deletion of the IP on the local interface and advertises/withdraw"},{"line_number":54,"context_line":"the route:"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"6a670c26_18405af6","line":52,"updated":"2024-01-10 14:39:31.000000000","message":"advertisement","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":49,"context_line":"initialization or re-sync), since the FRR configuration has the"},{"line_number":50,"context_line":"``redistribute connected`` option enabled, the only action needed to expose it"},{"line_number":51,"context_line":"(or withdraw it) is to add it (or remove it) from the ``bgp-nic`` dummy interface."},{"line_number":52,"context_line":"Then it relies on Zebra to do the BGP advertisemant, as Zebra detects the"},{"line_number":53,"context_line":"addition/deletion of the IP on the local interface and advertises/withdraw"},{"line_number":54,"context_line":"the route:"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"208aeb5d_681bd354","line":52,"in_reply_to":"6a670c26_18405af6","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":50,"context_line":"``redistribute connected`` option enabled, the only action needed to expose it"},{"line_number":51,"context_line":"(or withdraw it) is to add it (or remove it) from the ``bgp-nic`` dummy interface."},{"line_number":52,"context_line":"Then it relies on Zebra to do the BGP advertisemant, as Zebra detects the"},{"line_number":53,"context_line":"addition/deletion of the IP on the local interface and advertises/withdraw"},{"line_number":54,"context_line":"the route:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"   .. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":5,"id":"8ad43d88_bc417b30","line":53,"updated":"2024-01-10 14:39:31.000000000","message":"withdraws","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"``redistribute connected`` option enabled, the only action needed to expose it"},{"line_number":51,"context_line":"(or withdraw it) is to add it (or remove it) from the ``bgp-nic`` dummy interface."},{"line_number":52,"context_line":"Then it relies on Zebra to do the BGP advertisemant, as Zebra detects the"},{"line_number":53,"context_line":"addition/deletion of the IP on the local interface and advertises/withdraw"},{"line_number":54,"context_line":"the route:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"   .. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":5,"id":"25f3f6d4_8f91ee76","line":53,"in_reply_to":"8ad43d88_bc417b30","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":64,"context_line":"     As we also want to be able to expose VM connected to tenant networks"},{"line_number":65,"context_line":"     (when ``expose_tenant_networks`` or ``expose_ipv6_gua_tenant_networks``"},{"line_number":66,"context_line":"     configuration options are enabled), there is a need to expose the Neutron"},{"line_number":67,"context_line":"     router gateway port (CR-LRP on OVN) so that the traffic to VMs on tenant"},{"line_number":68,"context_line":"     networks is injected into OVN overlay through the node that is hosting"},{"line_number":69,"context_line":"     that port."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1d2ca529_d080f955","line":67,"updated":"2024-01-10 14:39:31.000000000","message":"in?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":64,"context_line":"     As we also want to be able to expose VM connected to tenant networks"},{"line_number":65,"context_line":"     (when ``expose_tenant_networks`` or ``expose_ipv6_gua_tenant_networks``"},{"line_number":66,"context_line":"     configuration options are enabled), there is a need to expose the Neutron"},{"line_number":67,"context_line":"     router gateway port (CR-LRP on OVN) so that the traffic to VMs on tenant"},{"line_number":68,"context_line":"     networks is injected into OVN overlay through the node that is hosting"},{"line_number":69,"context_line":"     that port."}],"source_content_type":"text/x-rst","patch_set":5,"id":"4cd8de87_cbf4ace4","line":67,"in_reply_to":"1d2ca529_d080f955","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"   .. code-block:: ini"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"        LEAK_VRF_TEMPLATE \u003d \u0027\u0027\u0027"},{"line_number":17,"context_line":"        router bgp {{ bgp_as }}"},{"line_number":18,"context_line":"          address-family ipv4 unicast"},{"line_number":19,"context_line":"            import vrf {{ vrf_name }}"}],"source_content_type":"text/x-rst","patch_set":9,"id":"dafa4ee3_335a4e53","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":31},"updated":"2024-01-29 23:15:29.000000000","message":"That\u0027s probably a bad copy paste from the code as this should be an example of the configuration file passed through the socket?","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"   .. code-block:: ini"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"        LEAK_VRF_TEMPLATE \u003d \u0027\u0027\u0027"},{"line_number":17,"context_line":"        router bgp {{ bgp_as }}"},{"line_number":18,"context_line":"          address-family ipv4 unicast"},{"line_number":19,"context_line":"            import vrf {{ vrf_name }}"}],"source_content_type":"text/x-rst","patch_set":9,"id":"70b6376d_3c04eb5a","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":31},"in_reply_to":"dafa4ee3_335a4e53","updated":"2024-01-31 12:04:02.000000000","message":"right, I remove it","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- There is a VRF created (the one leaked in the previous step), by default"},{"line_number":40,"context_line":"  with name ``bgp_vrf``."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- There is a dummy interface type (by default named ``bgp-nic``), associated to"},{"line_number":43,"context_line":"  the previously created VRF device."}],"source_content_type":"text/x-rst","patch_set":9,"id":"69db41d2_a9aeaa45","line":40,"range":{"start_line":40,"start_character":14,"end_line":40,"end_character":21},"updated":"2024-01-29 23:15:29.000000000","message":"it\u0027s `bgp-vrf`","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- There is a VRF created (the one leaked in the previous step), by default"},{"line_number":40,"context_line":"  with name ``bgp_vrf``."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- There is a dummy interface type (by default named ``bgp-nic``), associated to"},{"line_number":43,"context_line":"  the previously created VRF device."}],"source_content_type":"text/x-rst","patch_set":9,"id":"657f197d_ca780d97","line":40,"range":{"start_line":40,"start_character":14,"end_line":40,"end_character":21},"in_reply_to":"69db41d2_a9aeaa45","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"}],"doc/source/contributor/bgp_traffic_redirection.rst":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":7,"context_line":"can be injected into the OVN overlay, and vice versa. To do that, when the"},{"line_number":8,"context_line":"agent starts, it ensures that:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"- ARP/NDP is enabled at OVS provider bridges by adding an IP to it"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- There is a routing table associated to each OVS provider bridge"},{"line_number":13,"context_line":"  (adds entry at /etc/iproute2/rt_tables)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"45512ea0_9ffa2d55","line":10,"range":{"start_line":10,"start_character":21,"end_line":10,"end_character":23},"updated":"2024-01-10 14:39:31.000000000","message":"on?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"can be injected into the OVN overlay, and vice versa. To do that, when the"},{"line_number":8,"context_line":"agent starts, it ensures that:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"- ARP/NDP is enabled at OVS provider bridges by adding an IP to it"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- There is a routing table associated to each OVS provider bridge"},{"line_number":13,"context_line":"  (adds entry at /etc/iproute2/rt_tables)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"00197d8d_73414713","line":10,"range":{"start_line":10,"start_character":21,"end_line":10,"end_character":23},"in_reply_to":"45512ea0_9ffa2d55","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":12,"context_line":"- There is a routing table associated to each OVS provider bridge"},{"line_number":13,"context_line":"  (adds entry at /etc/iproute2/rt_tables)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"- If provider network is a VLAN network, a VLAN device connected"},{"line_number":16,"context_line":"  to the bridge is created, and it has ARP and NDP enabed."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- Cleans up extra OVS flows at the OVS provider bridges"}],"source_content_type":"text/x-rst","patch_set":5,"id":"8997862d_30d53937","line":15,"range":{"start_line":15,"start_character":2,"end_line":15,"end_character":14},"updated":"2024-01-10 14:39:31.000000000","message":"If *the* provider network. I believe","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":12,"context_line":"- There is a routing table associated to each OVS provider bridge"},{"line_number":13,"context_line":"  (adds entry at /etc/iproute2/rt_tables)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"- If provider network is a VLAN network, a VLAN device connected"},{"line_number":16,"context_line":"  to the bridge is created, and it has ARP and NDP enabed."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- Cleans up extra OVS flows at the OVS provider bridges"}],"source_content_type":"text/x-rst","patch_set":5,"id":"0661f8d5_a1e3cc8c","line":15,"range":{"start_line":15,"start_character":2,"end_line":15,"end_character":14},"in_reply_to":"8997862d_30d53937","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":1,"context_line":"Traffic Redirection to/from OVN"},{"line_number":2,"context_line":"+++++++++++++++++++++++++++++++"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Besides the VM/LB IP being exposed in an specific node (either the one hosting"},{"line_number":5,"context_line":"the VM/LB or the one with the OVN router gateway port), the OVN BGP Agent is in"},{"line_number":6,"context_line":"charge of configuring the linux kernel networking and OVS so that the traffic"},{"line_number":7,"context_line":"can be injected into the OVN overlay, and vice versa. To do that, when the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"59ddc6d1_a3e90e8c","line":4,"range":{"start_line":4,"start_character":38,"end_line":4,"end_character":40},"updated":"2024-01-29 23:15:29.000000000","message":"a","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Traffic Redirection to/from OVN"},{"line_number":2,"context_line":"+++++++++++++++++++++++++++++++"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Besides the VM/LB IP being exposed in an specific node (either the one hosting"},{"line_number":5,"context_line":"the VM/LB or the one with the OVN router gateway port), the OVN BGP Agent is in"},{"line_number":6,"context_line":"charge of configuring the linux kernel networking and OVS so that the traffic"},{"line_number":7,"context_line":"can be injected into the OVN overlay, and vice versa. To do that, when the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"e9f88e97_48aa03ef","line":4,"range":{"start_line":4,"start_character":38,"end_line":4,"end_character":40},"in_reply_to":"59ddc6d1_a3e90e8c","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":13,"context_line":"  (adds entry at /etc/iproute2/rt_tables)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"- If the provider network is a VLAN network, a VLAN device connected"},{"line_number":16,"context_line":"  to the bridge is created, and it has ARP and NDP enabed."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- Cleans up extra OVS flows at the OVS provider bridges"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"cbcaa919_002327dd","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":57},"updated":"2024-01-29 23:15:29.000000000","message":"enabled","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":13,"context_line":"  (adds entry at /etc/iproute2/rt_tables)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"- If the provider network is a VLAN network, a VLAN device connected"},{"line_number":16,"context_line":"  to the bridge is created, and it has ARP and NDP enabed."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- Cleans up extra OVS flows at the OVS provider bridges"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"dbd372da_9c45bab9","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":57},"in_reply_to":"cbcaa919_002327dd","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"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":"      $ ip nei"},{"line_number":55,"context_line":"      ..."},{"line_number":56,"context_line":"      CR-LRP_IP dev br-ex lladdr CR-LRP_MAC PERMANENT"},{"line_number":57,"context_line":"      ..."}],"source_content_type":"text/x-rst","patch_set":9,"id":"d38b5d6f_b31b6f0a","line":54,"range":{"start_line":54,"start_character":11,"end_line":54,"end_character":14},"updated":"2024-01-29 23:15:29.000000000","message":"nit: Since the full commands are used elsewhere we should use `neigh` here as well?","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","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":"      $ ip nei"},{"line_number":55,"context_line":"      ..."},{"line_number":56,"context_line":"      CR-LRP_IP dev br-ex lladdr CR-LRP_MAC PERMANENT"},{"line_number":57,"context_line":"      ..."}],"source_content_type":"text/x-rst","patch_set":9,"id":"bc26b393_bad71104","line":54,"range":{"start_line":54,"start_character":11,"end_line":54,"end_character":14},"in_reply_to":"d38b5d6f_b31b6f0a","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":57,"context_line":"      ..."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"- For IPv6, instead of the static ARP entry, and NDP proxy is added, same"},{"line_number":61,"context_line":"  reasoning:"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"       .. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":9,"id":"02eb0bfd_e4fa9720","line":60,"range":{"start_line":60,"start_character":45,"end_line":60,"end_character":48},"updated":"2024-01-29 23:15:29.000000000","message":"an?","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":57,"context_line":"      ..."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"- For IPv6, instead of the static ARP entry, and NDP proxy is added, same"},{"line_number":61,"context_line":"  reasoning:"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"       .. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":9,"id":"bed72acc_a316b25f","line":60,"range":{"start_line":60,"start_character":45,"end_line":60,"end_character":48},"in_reply_to":"02eb0bfd_e4fa9720","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"       .. code-block:: ini"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        $ ip -6 nei add proxy CR-LRP_IP dev br-ex"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"- Finally, in order for properly send the traffic out from the OVN overlay"}],"source_content_type":"text/x-rst","patch_set":9,"id":"0553df5e_dd8bfee1","line":65,"range":{"start_line":65,"start_character":16,"end_line":65,"end_character":19},"updated":"2024-01-29 23:15:29.000000000","message":"ditto","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"       .. code-block:: ini"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        $ ip -6 nei add proxy CR-LRP_IP dev br-ex"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"- Finally, in order for properly send the traffic out from the OVN overlay"}],"source_content_type":"text/x-rst","patch_set":9,"id":"2fce1918_0f65dc6b","line":65,"range":{"start_line":65,"start_character":16,"end_line":65,"end_character":19},"in_reply_to":"0553df5e_dd8bfee1","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":45,"context_line":"      *IP dev br-ex scope link*  # IPs on provider or FIPs"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- Adds a static ARP entry for the OVN router gateway ports (CR-LRP) so that the"},{"line_number":49,"context_line":"  traffic is steered to OVN via br-int -- this is because OVN does not reply"},{"line_number":50,"context_line":"  to ARP requests outside its L2 network:"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"e22cc6cc_18d536fd","line":48,"range":{"start_line":48,"start_character":34,"end_line":48,"end_character":67},"updated":"2024-02-16 16:50:14.000000000","message":"We need to be more consistent in naming the CR-LRP ports across these documents","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":45,"context_line":"      *IP dev br-ex scope link*  # IPs on provider or FIPs"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- Adds a static ARP entry for the OVN router gateway ports (CR-LRP) so that the"},{"line_number":49,"context_line":"  traffic is steered to OVN via br-int -- this is because OVN does not reply"},{"line_number":50,"context_line":"  to ARP requests outside its L2 network:"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"d4cc30d9_d9f276cf","line":48,"range":{"start_line":48,"start_character":34,"end_line":48,"end_character":67},"in_reply_to":"e22cc6cc_18d536fd","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"}],"doc/source/contributor/drivers/bgp_mode_design.rst":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":94,"context_line":"  VM/LB IP on the nodes."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Traffic within a node or redirecting traffic to/from OVN overlay: These are"},{"line_number":97,"context_line":"  the actions needed to redirect the traffic to/from a VM to the OVN neutron"},{"line_number":98,"context_line":"  networks, when traffic reaches the node where the VM is or in their way"},{"line_number":99,"context_line":"  out of the node."},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"731f1c7a_aec345ba","line":97,"updated":"2024-01-10 14:39:31.000000000","message":"Neutron","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":94,"context_line":"  VM/LB IP on the nodes."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Traffic within a node or redirecting traffic to/from OVN overlay: These are"},{"line_number":97,"context_line":"  the actions needed to redirect the traffic to/from a VM to the OVN neutron"},{"line_number":98,"context_line":"  networks, when traffic reaches the node where the VM is or in their way"},{"line_number":99,"context_line":"  out of the node."},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"f7dd2281_3a496921","line":97,"in_reply_to":"731f1c7a_aec345ba","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":109,"context_line":"The watcher associated to the BGP driver detect the relevant events on the"},{"line_number":110,"context_line":"OVN SB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":111,"context_line":"networking accordingly."},{"line_number":112,"context_line":"The folloging events are watched and handled by the BGP watcher:"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- VMs or LBs created/deleted on provider networks"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"6338bee7_0c74485e","line":112,"range":{"start_line":112,"start_character":4,"end_line":112,"end_character":13},"updated":"2024-01-10 14:39:31.000000000","message":"following","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":109,"context_line":"The watcher associated to the BGP driver detect the relevant events on the"},{"line_number":110,"context_line":"OVN SB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":111,"context_line":"networking accordingly."},{"line_number":112,"context_line":"The folloging events are watched and handled by the BGP watcher:"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- VMs or LBs created/deleted on provider networks"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"f3628b48_cb415e2c","line":112,"range":{"start_line":112,"start_character":4,"end_line":112,"end_character":13},"in_reply_to":"6338bee7_0c74485e","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Purpose"},{"line_number":8,"context_line":"-------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"The purpose of this document is to present the design decision behind"},{"line_number":11,"context_line":"the BGP Driver for the Networking OVN BGP agent."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The main purpose of adding support for BGP is to be able to expose Virtual"}],"source_content_type":"text/x-rst","patch_set":6,"id":"00c05a71_9636452e","line":10,"updated":"2024-01-22 14:05:21.000000000","message":"I wonder if this paragraph is needed? Perhaps just state what the purpose is? Something like this?\n\n\"The addition of a BGP driver enables the OVN BGP agent to expose virtual machine (VMs) and load balancer (LBs) IP addresses through the BGP dynamic protocol when these IP addresses are either associated with a floating IP (FIP) or are booted or created on a provider network. The same functionality is available on project networks, when a special flag is set.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Purpose"},{"line_number":8,"context_line":"-------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"The purpose of this document is to present the design decision behind"},{"line_number":11,"context_line":"the BGP Driver for the Networking OVN BGP agent."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The main purpose of adding support for BGP is to be able to expose Virtual"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1c923e49_09f1d17b","line":10,"in_reply_to":"00c05a71_9636452e","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":19,"context_line":"Overview"},{"line_number":20,"context_line":"--------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"With the increment of virtualized/containerized workloads it is becoming more"},{"line_number":23,"context_line":"and more common to use pure layer-3 Spine and Leaf network deployments at"},{"line_number":24,"context_line":"datacenters. There are several benefits of this, such as reduced complexity at"},{"line_number":25,"context_line":"scale, reduced failures domains, limiting broadcast traffic, among others."}],"source_content_type":"text/x-rst","patch_set":6,"id":"96a85ba7_b8be0b6f","line":22,"updated":"2024-01-22 14:05:21.000000000","message":"Here is a suggestion for this paragraph:\n\n\"With the growing popularity of virtualized and containerized workloads, it is common to use pure Layer 3 spine and leaf network deployments in data centers. The benefits of this practice reduce scaling complexities, failure domains, and broadcast traffic limits.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Overview"},{"line_number":20,"context_line":"--------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"With the increment of virtualized/containerized workloads it is becoming more"},{"line_number":23,"context_line":"and more common to use pure layer-3 Spine and Leaf network deployments at"},{"line_number":24,"context_line":"datacenters. There are several benefits of this, such as reduced complexity at"},{"line_number":25,"context_line":"scale, reduced failures domains, limiting broadcast traffic, among others."}],"source_content_type":"text/x-rst","patch_set":6,"id":"48d6b19b_c3941d76","line":22,"in_reply_to":"96a85ba7_b8be0b6f","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":24,"context_line":"datacenters. There are several benefits of this, such as reduced complexity at"},{"line_number":25,"context_line":"scale, reduced failures domains, limiting broadcast traffic, among others."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The OVN BGP Agent is a Python based daemon that runs on each node"},{"line_number":28,"context_line":"(e.g., OpenStack controllers and/or compute nodes). It connects to the OVN"},{"line_number":29,"context_line":"SouthBound DataBase (OVN SB DB) to detect the specific events it needs to"},{"line_number":30,"context_line":"react to, and then leverages FRR to expose the routes towards the VMs, and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"e68bc260_00524709","line":27,"updated":"2024-01-22 14:05:21.000000000","message":"Perhaps re-use a variation of what we\u0027ve written downstream for this?\n\n\"The OVN BGP agent is a Python-based daemon that runs in the ovn-controller container on each OSP Controller and Compute node. The agent monitors the Open Virtual Network (OVN) southbound database for certain VM and floating IP (FIP) events. When these events occur, the agent notifies the FRR BGP daemon (bgpd) to advertise the IP address or FIP associated with the VM. The agent also triggers actions that route the external traffic to the OVN overlay. Because the agent uses a multi-driver implementation, you can configure the agent for the specific infrastructure that runs on top of OVN, such as OSP or Kubernetes and OpenShift.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":24,"context_line":"datacenters. There are several benefits of this, such as reduced complexity at"},{"line_number":25,"context_line":"scale, reduced failures domains, limiting broadcast traffic, among others."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The OVN BGP Agent is a Python based daemon that runs on each node"},{"line_number":28,"context_line":"(e.g., OpenStack controllers and/or compute nodes). It connects to the OVN"},{"line_number":29,"context_line":"SouthBound DataBase (OVN SB DB) to detect the specific events it needs to"},{"line_number":30,"context_line":"react to, and then leverages FRR to expose the routes towards the VMs, and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"8688bd36_880e847b","line":27,"in_reply_to":"e68bc260_00524709","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":41,"context_line":"The agent provides a multi-driver implementation that allows you to configure"},{"line_number":42,"context_line":"it for specific infrastructure running on top of OVN, for instance OpenStack"},{"line_number":43,"context_line":"or Kubernetes/OpenShift."},{"line_number":44,"context_line":"This simple design allows the agent to implement different drivers, depending"},{"line_number":45,"context_line":"on what OVN SB DB events are being watched (watchers examples at"},{"line_number":46,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"},{"line_number":47,"context_line":"triggered in reaction to them (drivers examples at"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a41ef643_65d40739","line":44,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion: change the start of this paragraph to:\n\n\"This design simplicity enables the agent to implement....\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":41,"context_line":"The agent provides a multi-driver implementation that allows you to configure"},{"line_number":42,"context_line":"it for specific infrastructure running on top of OVN, for instance OpenStack"},{"line_number":43,"context_line":"or Kubernetes/OpenShift."},{"line_number":44,"context_line":"This simple design allows the agent to implement different drivers, depending"},{"line_number":45,"context_line":"on what OVN SB DB events are being watched (watchers examples at"},{"line_number":46,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"},{"line_number":47,"context_line":"triggered in reaction to them (drivers examples at"}],"source_content_type":"text/x-rst","patch_set":6,"id":"62285b71_b37353c9","line":44,"in_reply_to":"a41ef643_65d40739","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":48,"context_line":"``ovn_bgp_agent/drivers/openstack/XXXX_driver.py``, implementing the"},{"line_number":49,"context_line":"``ovn_bgp_agent/drivers/driver_api.py``)."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"A driver implements the support for BGP capabilities. It ensures both VMs and"},{"line_number":52,"context_line":"LBs on providers networks or with Floating IPs associated can be"},{"line_number":53,"context_line":"exposed throug BGP. In addition, VMs on tenant networks can be also exposed"},{"line_number":54,"context_line":"if the ``expose_tenant_network`` configuration option is enabled."}],"source_content_type":"text/x-rst","patch_set":6,"id":"23bbc72d_2933164d","line":51,"updated":"2024-01-22 14:05:21.000000000","message":"Are these first two sentences necessary? It sounds like you are trying to defend the decision to implement this functionality through a driver. Why not assume that your decision is the right one, and leave this out?\n\nOK. I see that this entire document is a proposal? The work for implementing the driver has not yet been executed?\n\nSuggest these changes:\n\"A driver implements the support for BGP capabilities. It ensures `that` both VMs and LBs on `provider` networks or `associated` Floating IPs `are` exposed `through` BGP.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":48,"context_line":"``ovn_bgp_agent/drivers/openstack/XXXX_driver.py``, implementing the"},{"line_number":49,"context_line":"``ovn_bgp_agent/drivers/driver_api.py``)."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"A driver implements the support for BGP capabilities. It ensures both VMs and"},{"line_number":52,"context_line":"LBs on providers networks or with Floating IPs associated can be"},{"line_number":53,"context_line":"exposed throug BGP. In addition, VMs on tenant networks can be also exposed"},{"line_number":54,"context_line":"if the ``expose_tenant_network`` configuration option is enabled."}],"source_content_type":"text/x-rst","patch_set":6,"id":"e840475d_20a7a4a7","line":51,"in_reply_to":"23bbc72d_2933164d","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":51,"context_line":"A driver implements the support for BGP capabilities. It ensures both VMs and"},{"line_number":52,"context_line":"LBs on providers networks or with Floating IPs associated can be"},{"line_number":53,"context_line":"exposed throug BGP. In addition, VMs on tenant networks can be also exposed"},{"line_number":54,"context_line":"if the ``expose_tenant_network`` configuration option is enabled."},{"line_number":55,"context_line":"To control what tenant networks are exposed another flag can be used:"},{"line_number":56,"context_line":"``address_scopes``. If not set, all the tenant networks will be exposed, while"},{"line_number":57,"context_line":"if it is configured with a (set of) address_scopes, only the tenant networks"}],"source_content_type":"text/x-rst","patch_set":6,"id":"f8a6b2b2_adb5a80f","line":54,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\nYou can affect VMs on tenant networks with these arguments:\n- ``expose_tenant_network`` - exposes VMs on tenant networks.\n- ``address_scopes`` - exposes only those tenant networks that match the one or more defined address scopes. When not set, all tenant network are exposed.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":57,"context_line":"if it is configured with a (set of) address_scopes, only the tenant networks"},{"line_number":58,"context_line":"whose address_scope matches will be exposed."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"A common driver API is defined exposing the next methods:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":63,"context_line":"  OVN ports."}],"source_content_type":"text/x-rst","patch_set":6,"id":"d2734c40_a048aa86","line":60,"updated":"2024-01-22 14:05:21.000000000","message":"Change `next` to `these`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":57,"context_line":"if it is configured with a (set of) address_scopes, only the tenant networks"},{"line_number":58,"context_line":"whose address_scope matches will be exposed."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"A common driver API is defined exposing the next methods:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":63,"context_line":"  OVN ports."}],"source_content_type":"text/x-rst","patch_set":6,"id":"75493df4_2bd0fb84","line":60,"in_reply_to":"d2734c40_a048aa86","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"A common driver API is defined exposing the next methods:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":63,"context_line":"  OVN ports."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"}],"source_content_type":"text/x-rst","patch_set":6,"id":"8c260371_5a1af171","line":62,"updated":"2024-01-22 14:05:21.000000000","message":"Remove \"used to\"\n\n- ``expose_ip`` and ``withdraw_ip``: exposes or withdraws IPs for local OVN ports.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"A common driver API is defined exposing the next methods:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":63,"context_line":"  OVN ports."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"}],"source_content_type":"text/x-rst","patch_set":6,"id":"78c83eef_57d615a4","line":62,"in_reply_to":"8c260371_5a1af171","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":63,"context_line":"  OVN ports."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"},{"line_number":66,"context_line":"  through another node when the VM/Pod are running on a different node."},{"line_number":67,"context_line":"  For example for VMs on tenant networks where the traffic needs to be"},{"line_number":68,"context_line":"  injected through the OVN router gateway port."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f3b3fdc_0806dd16","line":66,"updated":"2024-01-22 14:05:21.000000000","message":"Remove \"used to\"\n\n ``expose_remote_ip`` and ``withdraw_remote_ip``: exposes or withdraws IPs\n  through another node when the VM or pods are running on a different node.\n  For example, `use` for VMs on tenant networks where the traffic needs to be\n  injected through the OVN router gateway port.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":63,"context_line":"  OVN ports."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"},{"line_number":66,"context_line":"  through another node when the VM/Pod are running on a different node."},{"line_number":67,"context_line":"  For example for VMs on tenant networks where the traffic needs to be"},{"line_number":68,"context_line":"  injected through the OVN router gateway port."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff9ee338_c35f1f7b","line":66,"updated":"2024-01-22 14:05:21.000000000","message":"Remove \"used to\"\n\n`expose_subnet`` and ``withdraw_subnet``: exposes or withdraws subnets through\n  the local node.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  OVN ports."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"},{"line_number":66,"context_line":"  through another node when the VM/Pod are running on a different node."},{"line_number":67,"context_line":"  For example for VMs on tenant networks where the traffic needs to be"},{"line_number":68,"context_line":"  injected through the OVN router gateway port."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1cfbd967_05100588","line":66,"in_reply_to":"1f3b3fdc_0806dd16","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  OVN ports."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"},{"line_number":66,"context_line":"  through another node when the VM/Pod are running on a different node."},{"line_number":67,"context_line":"  For example for VMs on tenant networks where the traffic needs to be"},{"line_number":68,"context_line":"  injected through the OVN router gateway port."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9f0de276_72e795fa","line":66,"in_reply_to":"ff9ee338_c35f1f7b","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":74,"context_line":"Proposed Solution"},{"line_number":75,"context_line":"-----------------"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"To support BGP functionality the OVN BGP Agent includes a driver"},{"line_number":78,"context_line":"that performs the extra steps required for exposing the IPs through BGP on"},{"line_number":79,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":80,"context_line":"overlay. In order to configure which driver to use, one should set the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"e140dee7_37f82df7","line":77,"updated":"2024-01-22 14:05:21.000000000","message":"It took me a while to understand that the actual value to configure this driver is `driver`!\n````\n------------------------------------------------\nDriver name                    Conf file value\n------------------------------ -----------------\nBGP driver (kernel routing)    driver\n------------------------------ -----------------\nNB BGP driver (kernel routing) nb_ovn_bgp_driver\n------------------------------ -----------------\nNB BGP driver (OVN routing)    ???\n------------------------------ -----------------\nEVPN driver                    ???\n------------------------------ -----------------\nL2 BGP driver                  ???\n------------------------------------------------\n````","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":74,"context_line":"Proposed Solution"},{"line_number":75,"context_line":"-----------------"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"To support BGP functionality the OVN BGP Agent includes a driver"},{"line_number":78,"context_line":"that performs the extra steps required for exposing the IPs through BGP on"},{"line_number":79,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":80,"context_line":"overlay. In order to configure which driver to use, one should set the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"54cb5c8d_ca7a65c5","line":77,"in_reply_to":"e140dee7_37f82df7","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"To support BGP functionality the OVN BGP Agent includes a driver"},{"line_number":78,"context_line":"that performs the extra steps required for exposing the IPs through BGP on"},{"line_number":79,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":80,"context_line":"overlay. In order to configure which driver to use, one should set the"},{"line_number":81,"context_line":"``driver`` configuration option in the ``bgp-agent.conf`` file."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"b59b39db_75d8d3fb","line":79,"range":{"start_line":79,"start_character":4,"end_line":79,"end_character":9},"updated":"2024-01-22 14:05:21.000000000","message":"Replace \"right\" with \"correct\".","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"To support BGP functionality the OVN BGP Agent includes a driver"},{"line_number":78,"context_line":"that performs the extra steps required for exposing the IPs through BGP on"},{"line_number":79,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":80,"context_line":"overlay. In order to configure which driver to use, one should set the"},{"line_number":81,"context_line":"``driver`` configuration option in the ``bgp-agent.conf`` file."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"03a08506_ab1ea489","line":79,"range":{"start_line":79,"start_character":4,"end_line":79,"end_character":9},"in_reply_to":"b59b39db_75d8d3fb","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":77,"context_line":"To support BGP functionality the OVN BGP Agent includes a driver"},{"line_number":78,"context_line":"that performs the extra steps required for exposing the IPs through BGP on"},{"line_number":79,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":80,"context_line":"overlay. In order to configure which driver to use, one should set the"},{"line_number":81,"context_line":"``driver`` configuration option in the ``bgp-agent.conf`` file."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":84,"context_line":"In this case, the BGP actions will be trigger by events related to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"e3a3b604_422980fc","line":81,"range":{"start_line":80,"start_character":9,"end_line":81,"end_character":63},"updated":"2024-01-22 14:05:21.000000000","message":"\"In order to configure which driver to use, one should set the\n``driver`` configuration option in the ``bgp-agent.conf`` file.\"\n\nAre you saying this?\n\n\"To configure the OVN BGP agent to use the BGP driver, in the ``bgp-agent.conf`` file, add the value `driver`.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":77,"context_line":"To support BGP functionality the OVN BGP Agent includes a driver"},{"line_number":78,"context_line":"that performs the extra steps required for exposing the IPs through BGP on"},{"line_number":79,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":80,"context_line":"overlay. In order to configure which driver to use, one should set the"},{"line_number":81,"context_line":"``driver`` configuration option in the ``bgp-agent.conf`` file."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":84,"context_line":"In this case, the BGP actions will be trigger by events related to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"8b93c59c_bb61babd","line":81,"range":{"start_line":80,"start_character":9,"end_line":81,"end_character":63},"in_reply_to":"e3a3b604_422980fc","updated":"2024-01-26 16:46:53.000000000","message":"no, but I got the confusing, rewording","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":80,"context_line":"overlay. In order to configure which driver to use, one should set the"},{"line_number":81,"context_line":"``driver`` configuration option in the ``bgp-agent.conf`` file."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":84,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":85,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":86,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"}],"source_content_type":"text/x-rst","patch_set":6,"id":"86c86afc_6321d3bc","line":83,"updated":"2024-01-22 14:05:21.000000000","message":"\"This driver\" feels ambiguous to me. Is there a distinctive name that we can use? Like, \"BGP driver\"?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":80,"context_line":"overlay. In order to configure which driver to use, one should set the"},{"line_number":81,"context_line":"``driver`` configuration option in the ``bgp-agent.conf`` file."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":84,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":85,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":86,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"}],"source_content_type":"text/x-rst","patch_set":6,"id":"41cdcc5d_100e59bc","line":83,"in_reply_to":"86c86afc_6321d3bc","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":81,"context_line":"``driver`` configuration option in the ``bgp-agent.conf`` file."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":84,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":85,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":86,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":87,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."}],"source_content_type":"text/x-rst","patch_set":6,"id":"8ce0e74f_188b67e8","line":84,"updated":"2024-01-22 14:05:21.000000000","message":"Whenever possible, we try to avoid future tense unless it\u0027s absolutely necessary.\n\n\"In this case, BGP actions are triggered by events related to....\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":81,"context_line":"``driver`` configuration option in the ``bgp-agent.conf`` file."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":84,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":85,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":86,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":87,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."}],"source_content_type":"text/x-rst","patch_set":6,"id":"db1495cc_a1a860c8","line":84,"in_reply_to":"8ce0e74f_188b67e8","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":83,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":84,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":85,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":86,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":87,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Then, the agent performs some actions in order to ensure those VMs are"},{"line_number":90,"context_line":"reachable through BGP:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"00f1f64e_2d690405","line":87,"range":{"start_line":86,"start_character":0,"end_line":87,"end_character":75},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\"The information in these tables is modified when VMs and LBs are created and deleted, and when FIPs for them are associated and disassociated.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":83,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":84,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":85,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":86,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":87,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Then, the agent performs some actions in order to ensure those VMs are"},{"line_number":90,"context_line":"reachable through BGP:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"66cf819b_3e4f7b4f","line":87,"range":{"start_line":86,"start_character":0,"end_line":87,"end_character":75},"in_reply_to":"00f1f64e_2d690405","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":86,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":87,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Then, the agent performs some actions in order to ensure those VMs are"},{"line_number":90,"context_line":"reachable through BGP:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"- Traffic between nodes or BGP Advertisement: These are the actions needed to"},{"line_number":93,"context_line":"  expose the BGP routes and make sure all the nodes know how to reach the"},{"line_number":94,"context_line":"  VM/LB IP on the nodes."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Traffic within a node or redirecting traffic to/from OVN overlay: These are"},{"line_number":97,"context_line":"  the actions needed to redirect the traffic to/from a VM to the OVN Neutron"},{"line_number":98,"context_line":"  networks, when traffic reaches the node where the VM is or in their way"},{"line_number":99,"context_line":"  out of the node."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"The code for the BGP driver is located at"},{"line_number":102,"context_line":"``drivers/openstack/ovn_bgp_driver.py``, and its associated watcher can be"},{"line_number":103,"context_line":"found at ``drivers/openstack/watchers/bgp_watcher.py``."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"OVN SB DB Events"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f4db529_2df3fb72","line":103,"range":{"start_line":89,"start_character":1,"end_line":103,"end_character":55},"updated":"2024-01-22 14:05:21.000000000","message":"Is it possible to simplify these paragraphs to the following?\n\n\"Then, the agent performs these actions to ensure the VMs are reachable through BGP:\n\n- Exposing BGP routes (BGP advertisement): enables nodes to reach the IP addresses for VMs and LBs.\n\n- Redirecting network traffic to and from the OVN overlay or within a node.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":86,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":87,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Then, the agent performs some actions in order to ensure those VMs are"},{"line_number":90,"context_line":"reachable through BGP:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"- Traffic between nodes or BGP Advertisement: These are the actions needed to"},{"line_number":93,"context_line":"  expose the BGP routes and make sure all the nodes know how to reach the"},{"line_number":94,"context_line":"  VM/LB IP on the nodes."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Traffic within a node or redirecting traffic to/from OVN overlay: These are"},{"line_number":97,"context_line":"  the actions needed to redirect the traffic to/from a VM to the OVN Neutron"},{"line_number":98,"context_line":"  networks, when traffic reaches the node where the VM is or in their way"},{"line_number":99,"context_line":"  out of the node."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"The code for the BGP driver is located at"},{"line_number":102,"context_line":"``drivers/openstack/ovn_bgp_driver.py``, and its associated watcher can be"},{"line_number":103,"context_line":"found at ``drivers/openstack/watchers/bgp_watcher.py``."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"OVN SB DB Events"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b7473c58_3e279eaf","line":103,"range":{"start_line":89,"start_character":1,"end_line":103,"end_character":55},"in_reply_to":"5f4db529_2df3fb72","updated":"2024-01-26 16:46:53.000000000","message":"I prefer to keep it \"verbose\" here","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":106,"context_line":"OVN SB DB Events"},{"line_number":107,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"The watcher associated to the BGP driver detect the relevant events on the"},{"line_number":110,"context_line":"OVN SB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":111,"context_line":"networking accordingly."},{"line_number":112,"context_line":"The following events are watched and handled by the BGP watcher:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bebf3c53_1f252f60","line":109,"updated":"2024-01-22 14:05:21.000000000","message":"\"The watcher associated *with* the BGP driver *detects* the relevant....\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":106,"context_line":"OVN SB DB Events"},{"line_number":107,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"The watcher associated to the BGP driver detect the relevant events on the"},{"line_number":110,"context_line":"OVN SB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":111,"context_line":"networking accordingly."},{"line_number":112,"context_line":"The following events are watched and handled by the BGP watcher:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b28d9b55_dd88dc0a","line":109,"in_reply_to":"bebf3c53_1f252f60","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"     If ``expose_tenant_networks`` flag is enabled, it does not matter the"},{"line_number":125,"context_line":"     status of ``expose_ipv6_gua_tenant_networks``, as all the tenant IPs"},{"line_number":126,"context_line":"     will be advertized."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The BGP watcher detects OVN Southbound Database events at the ``Port_Binding``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3cb58e92_e169cdd1","line":126,"range":{"start_line":126,"start_character":5,"end_line":126,"end_character":24},"updated":"2024-01-22 14:05:21.000000000","message":"Avoid future tense when possible:\n\"...as all the tenant IPs `are` advertised.\"\n\nchange `z` to `s` in `advertized`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"     If ``expose_tenant_networks`` flag is enabled, it does not matter the"},{"line_number":125,"context_line":"     status of ``expose_ipv6_gua_tenant_networks``, as all the tenant IPs"},{"line_number":126,"context_line":"     will be advertized."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The BGP watcher detects OVN Southbound Database events at the ``Port_Binding``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9eba0ae0_1f7c0484","line":126,"range":{"start_line":126,"start_character":5,"end_line":126,"end_character":24},"in_reply_to":"3cb58e92_e169cdd1","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":131,"context_line":"``PortBindingChassisEvent`` and ``OVNLBEvent``, that all the events"},{"line_number":132,"context_line":"watched for BGP use as the base (inherit from)."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"The specific defined events to react to are:"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"- ``PortBindingChassisCreatedEvent``: Detects when a port of type"},{"line_number":137,"context_line":"  ``\"\"`` (empty double-qoutes), ``virtual``, or ``chassisredirect`` gets"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7d26be43_4ec2706d","line":134,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"The BGP watcher reacts to the following events:\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":131,"context_line":"``PortBindingChassisEvent`` and ``OVNLBEvent``, that all the events"},{"line_number":132,"context_line":"watched for BGP use as the base (inherit from)."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"The specific defined events to react to are:"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"- ``PortBindingChassisCreatedEvent``: Detects when a port of type"},{"line_number":137,"context_line":"  ``\"\"`` (empty double-qoutes), ``virtual``, or ``chassisredirect`` gets"}],"source_content_type":"text/x-rst","patch_set":6,"id":"051ef554_304f1011","line":134,"in_reply_to":"7d26be43_4ec2706d","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":149,"context_line":"  (CR-LRPs). It calls ``withdraw_ip`` driver method to perform the needed"},{"line_number":150,"context_line":"  actions to withdraw the exposed BGP route."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its nat_addresses field"},{"line_number":153,"context_line":"  updated (e.g., action related to FIPs NATing). If that so, and the associated"},{"line_number":154,"context_line":"  VM port is on the local chassis the event is processed by the agent and the"},{"line_number":155,"context_line":"  required ip rule gets created and also the IP is (BGP) exposed. It calls"}],"source_content_type":"text/x-rst","patch_set":6,"id":"38207d81_a564a6ef","line":152,"range":{"start_line":152,"start_character":54,"end_line":152,"end_character":67},"updated":"2024-01-22 14:05:21.000000000","message":"``nat_addresses``","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":149,"context_line":"  (CR-LRPs). It calls ``withdraw_ip`` driver method to perform the needed"},{"line_number":150,"context_line":"  actions to withdraw the exposed BGP route."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its nat_addresses field"},{"line_number":153,"context_line":"  updated (e.g., action related to FIPs NATing). If that so, and the associated"},{"line_number":154,"context_line":"  VM port is on the local chassis the event is processed by the agent and the"},{"line_number":155,"context_line":"  required ip rule gets created and also the IP is (BGP) exposed. It calls"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d7a291bc_cc08064b","line":152,"range":{"start_line":152,"start_character":54,"end_line":152,"end_character":67},"in_reply_to":"38207d81_a564a6ef","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":150,"context_line":"  actions to withdraw the exposed BGP route."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its nat_addresses field"},{"line_number":153,"context_line":"  updated (e.g., action related to FIPs NATing). If that so, and the associated"},{"line_number":154,"context_line":"  VM port is on the local chassis the event is processed by the agent and the"},{"line_number":155,"context_line":"  required ip rule gets created and also the IP is (BGP) exposed. It calls"},{"line_number":156,"context_line":"  ``expose_ip`` driver method, including the associated_port information, to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6096ecd7_775838bf","line":153,"range":{"start_line":153,"start_character":49,"end_line":153,"end_character":59},"updated":"2024-01-22 14:05:21.000000000","message":"\"If that so\" \n\nPerhaps instead?\n\n\"When true\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":150,"context_line":"  actions to withdraw the exposed BGP route."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its nat_addresses field"},{"line_number":153,"context_line":"  updated (e.g., action related to FIPs NATing). If that so, and the associated"},{"line_number":154,"context_line":"  VM port is on the local chassis the event is processed by the agent and the"},{"line_number":155,"context_line":"  required ip rule gets created and also the IP is (BGP) exposed. It calls"},{"line_number":156,"context_line":"  ``expose_ip`` driver method, including the associated_port information, to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"054c126e_1f94b490","line":153,"range":{"start_line":153,"start_character":49,"end_line":153,"end_character":59},"in_reply_to":"6096ecd7_775838bf","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its nat_addresses field"},{"line_number":153,"context_line":"  updated (e.g., action related to FIPs NATing). If that so, and the associated"},{"line_number":154,"context_line":"  VM port is on the local chassis the event is processed by the agent and the"},{"line_number":155,"context_line":"  required ip rule gets created and also the IP is (BGP) exposed. It calls"},{"line_number":156,"context_line":"  ``expose_ip`` driver method, including the associated_port information, to"},{"line_number":157,"context_line":"  perform the required actions."}],"source_content_type":"text/x-rst","patch_set":6,"id":"992cf285_b7d57fc2","line":154,"range":{"start_line":154,"start_character":26,"end_line":154,"end_character":37},"updated":"2024-01-22 14:05:21.000000000","message":"Insert a comma between \"chassis\" and \"the\":\n\n\"When true, and the associated VM port is on the local chassis, the event is processed by the agent and the required IP rule gets created and its IP is (BGP) exposed.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its nat_addresses field"},{"line_number":153,"context_line":"  updated (e.g., action related to FIPs NATing). If that so, and the associated"},{"line_number":154,"context_line":"  VM port is on the local chassis the event is processed by the agent and the"},{"line_number":155,"context_line":"  required ip rule gets created and also the IP is (BGP) exposed. It calls"},{"line_number":156,"context_line":"  ``expose_ip`` driver method, including the associated_port information, to"},{"line_number":157,"context_line":"  perform the required actions."}],"source_content_type":"text/x-rst","patch_set":6,"id":"3d247998_deb77427","line":154,"range":{"start_line":154,"start_character":26,"end_line":154,"end_character":37},"in_reply_to":"992cf285_b7d57fc2","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":152,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its nat_addresses field"},{"line_number":153,"context_line":"  updated (e.g., action related to FIPs NATing). If that so, and the associated"},{"line_number":154,"context_line":"  VM port is on the local chassis the event is processed by the agent and the"},{"line_number":155,"context_line":"  required ip rule gets created and also the IP is (BGP) exposed. It calls"},{"line_number":156,"context_line":"  ``expose_ip`` driver method, including the associated_port information, to"},{"line_number":157,"context_line":"  perform the required actions."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"- ``FIPUnsetEvent``: Same as previous, but when the nat_address field get an"},{"line_number":160,"context_line":"  IP deleted. It calls ``withdraw_ip`` driver method to perform the required"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c219bd22_16fd65b2","line":157,"range":{"start_line":155,"start_character":66,"end_line":157,"end_character":31},"updated":"2024-01-22 14:05:21.000000000","message":"It calls *the* ``expose_ip`` driver method, including the *associated port* information, to perform the required actions.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":152,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its nat_addresses field"},{"line_number":153,"context_line":"  updated (e.g., action related to FIPs NATing). If that so, and the associated"},{"line_number":154,"context_line":"  VM port is on the local chassis the event is processed by the agent and the"},{"line_number":155,"context_line":"  required ip rule gets created and also the IP is (BGP) exposed. It calls"},{"line_number":156,"context_line":"  ``expose_ip`` driver method, including the associated_port information, to"},{"line_number":157,"context_line":"  perform the required actions."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"- ``FIPUnsetEvent``: Same as previous, but when the nat_address field get an"},{"line_number":160,"context_line":"  IP deleted. It calls ``withdraw_ip`` driver method to perform the required"}],"source_content_type":"text/x-rst","patch_set":6,"id":"8088ce5a_2a22bef9","line":157,"range":{"start_line":155,"start_character":66,"end_line":157,"end_character":31},"in_reply_to":"c219bd22_16fd65b2","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":156,"context_line":"  ``expose_ip`` driver method, including the associated_port information, to"},{"line_number":157,"context_line":"  perform the required actions."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"- ``FIPUnsetEvent``: Same as previous, but when the nat_address field get an"},{"line_number":160,"context_line":"  IP deleted. It calls ``withdraw_ip`` driver method to perform the required"},{"line_number":161,"context_line":"  actions."},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"a89c072e_2b253a73","line":159,"range":{"start_line":159,"start_character":52,"end_line":159,"end_character":63},"updated":"2024-01-22 14:05:21.000000000","message":"``nat_address`` *gets*","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":156,"context_line":"  ``expose_ip`` driver method, including the associated_port information, to"},{"line_number":157,"context_line":"  perform the required actions."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"- ``FIPUnsetEvent``: Same as previous, but when the nat_address field get an"},{"line_number":160,"context_line":"  IP deleted. It calls ``withdraw_ip`` driver method to perform the required"},{"line_number":161,"context_line":"  actions."},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"f21b30f3_e8b2ec29","line":159,"range":{"start_line":159,"start_character":52,"end_line":159,"end_character":63},"in_reply_to":"a89c072e_2b253a73","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":157,"context_line":"  perform the required actions."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"- ``FIPUnsetEvent``: Same as previous, but when the nat_address field get an"},{"line_number":160,"context_line":"  IP deleted. It calls ``withdraw_ip`` driver method to perform the required"},{"line_number":161,"context_line":"  actions."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"- ``SubnetRouterAttachedEvent``: Detects when a patch port gets created."}],"source_content_type":"text/x-rst","patch_set":6,"id":"6455781e_db5a298c","line":160,"range":{"start_line":160,"start_character":14,"end_line":160,"end_character":46},"updated":"2024-01-22 14:05:21.000000000","message":"It calls *the* ``withdraw_ip`` driver....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":157,"context_line":"  perform the required actions."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"- ``FIPUnsetEvent``: Same as previous, but when the nat_address field get an"},{"line_number":160,"context_line":"  IP deleted. It calls ``withdraw_ip`` driver method to perform the required"},{"line_number":161,"context_line":"  actions."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"- ``SubnetRouterAttachedEvent``: Detects when a patch port gets created."}],"source_content_type":"text/x-rst","patch_set":6,"id":"03966e4e_fa9c722e","line":160,"range":{"start_line":160,"start_character":14,"end_line":160,"end_character":46},"in_reply_to":"6455781e_db5a298c","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":165,"context_line":"  case, if the chassis is the one having the cr-lrp port for that router where"},{"line_number":166,"context_line":"  the port is getting created, then the event is processed by the agent and the"},{"line_number":167,"context_line":"  needed actions (ip rules and routes, and ovs rules) for exposing the IPs on"},{"line_number":168,"context_line":"  that network are performed. This event calls the driver_api"},{"line_number":169,"context_line":"  ``expose_subnet``. The same happens if ``expose_ipv6_gua_tenant_networks``"},{"line_number":170,"context_line":"  is used, but then, the IPs are only exposed if they are IPv6 global."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"43a64f94_94721777","line":168,"range":{"start_line":168,"start_character":51,"end_line":168,"end_character":61},"updated":"2024-01-22 14:05:21.000000000","message":"either ``driver_api`` or *driver API* ....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":165,"context_line":"  case, if the chassis is the one having the cr-lrp port for that router where"},{"line_number":166,"context_line":"  the port is getting created, then the event is processed by the agent and the"},{"line_number":167,"context_line":"  needed actions (ip rules and routes, and ovs rules) for exposing the IPs on"},{"line_number":168,"context_line":"  that network are performed. This event calls the driver_api"},{"line_number":169,"context_line":"  ``expose_subnet``. The same happens if ``expose_ipv6_gua_tenant_networks``"},{"line_number":170,"context_line":"  is used, but then, the IPs are only exposed if they are IPv6 global."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"b44b7b2a_932abe80","line":168,"range":{"start_line":168,"start_character":51,"end_line":168,"end_character":61},"in_reply_to":"43a64f94_94721777","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":169,"context_line":"  ``expose_subnet``. The same happens if ``expose_ipv6_gua_tenant_networks``"},{"line_number":170,"context_line":"  is used, but then, the IPs are only exposed if they are IPv6 global."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"- ``SubnetRouterDetachedEvent``: Same as previous one, but for the deletion"},{"line_number":173,"context_line":"  of the port. It calls ``withdraw_subnet``."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"- ``TenantPortCreateEvent``: Detects when a port of type ``\"\"`` (empty"}],"source_content_type":"text/x-rst","patch_set":6,"id":"91869dd5_685f3130","line":172,"range":{"start_line":172,"start_character":50,"end_line":172,"end_character":53},"updated":"2024-01-22 14:05:21.000000000","message":"\"one\" refers to ``expose_subnet``?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":169,"context_line":"  ``expose_subnet``. The same happens if ``expose_ipv6_gua_tenant_networks``"},{"line_number":170,"context_line":"  is used, but then, the IPs are only exposed if they are IPv6 global."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"- ``SubnetRouterDetachedEvent``: Same as previous one, but for the deletion"},{"line_number":173,"context_line":"  of the port. It calls ``withdraw_subnet``."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"- ``TenantPortCreateEvent``: Detects when a port of type ``\"\"`` (empty"}],"source_content_type":"text/x-rst","patch_set":6,"id":"347dd150_f8820aa1","line":172,"range":{"start_line":172,"start_character":50,"end_line":172,"end_character":53},"in_reply_to":"91869dd5_685f3130","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"- ``TenantPortCreateEvent``: Detects when a port of type ``\"\"`` (empty"},{"line_number":176,"context_line":"  double-quotes) or ``virtual`` gets updated. If that port is not on a"},{"line_number":177,"context_line":"  provider network, and the chasis where the event is processed has the"},{"line_number":178,"context_line":"  LogicalRouterPort for the network and the OVN router gateway port where the"},{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a2f842e5_21794dc5","line":177,"range":{"start_line":177,"start_character":28,"end_line":177,"end_character":34},"updated":"2024-01-22 14:05:21.000000000","message":"*chassis*","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"- ``TenantPortCreateEvent``: Detects when a port of type ``\"\"`` (empty"},{"line_number":176,"context_line":"  double-quotes) or ``virtual`` gets updated. If that port is not on a"},{"line_number":177,"context_line":"  provider network, and the chasis where the event is processed has the"},{"line_number":178,"context_line":"  LogicalRouterPort for the network and the OVN router gateway port where the"},{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4ae4f638_49fd8d2e","line":177,"range":{"start_line":177,"start_character":28,"end_line":177,"end_character":34},"in_reply_to":"a2f842e5_21794dc5","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":175,"context_line":"- ``TenantPortCreateEvent``: Detects when a port of type ``\"\"`` (empty"},{"line_number":176,"context_line":"  double-quotes) or ``virtual`` gets updated. If that port is not on a"},{"line_number":177,"context_line":"  provider network, and the chasis where the event is processed has the"},{"line_number":178,"context_line":"  LogicalRouterPort for the network and the OVN router gateway port where the"},{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"},{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"}],"source_content_type":"text/x-rst","patch_set":6,"id":"20cb746a_591bd20a","line":178,"updated":"2024-01-22 14:05:21.000000000","message":"``LogicalRouterPort``","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":175,"context_line":"- ``TenantPortCreateEvent``: Detects when a port of type ``\"\"`` (empty"},{"line_number":176,"context_line":"  double-quotes) or ``virtual`` gets updated. If that port is not on a"},{"line_number":177,"context_line":"  provider network, and the chasis where the event is processed has the"},{"line_number":178,"context_line":"  LogicalRouterPort for the network and the OVN router gateway port where the"},{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"},{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ac70b877_c887a96f","line":178,"in_reply_to":"20cb746a_591bd20a","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":177,"context_line":"  provider network, and the chasis where the event is processed has the"},{"line_number":178,"context_line":"  LogicalRouterPort for the network and the OVN router gateway port where the"},{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"},{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"},{"line_number":182,"context_line":"  port, instead of where the VM is."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"d3350637_2ed2d3b7","line":180,"range":{"start_line":180,"start_character":73,"end_line":180,"end_character":75},"updated":"2024-01-22 14:05:21.000000000","message":"*because* is less ambiguous than *as*","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":177,"context_line":"  provider network, and the chasis where the event is processed has the"},{"line_number":178,"context_line":"  LogicalRouterPort for the network and the OVN router gateway port where the"},{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"},{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"},{"line_number":182,"context_line":"  port, instead of where the VM is."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"223f9c63_4484ae51","line":180,"range":{"start_line":180,"start_character":39,"end_line":180,"end_character":41},"updated":"2024-01-22 14:05:21.000000000","message":"It \u003d ``TenantPortCreateEvent`` ?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":177,"context_line":"  provider network, and the chasis where the event is processed has the"},{"line_number":178,"context_line":"  LogicalRouterPort for the network and the OVN router gateway port where the"},{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"},{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"},{"line_number":182,"context_line":"  port, instead of where the VM is."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"4081c363_dc1ced07","line":180,"range":{"start_line":180,"start_character":39,"end_line":180,"end_character":41},"in_reply_to":"223f9c63_4484ae51","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":177,"context_line":"  provider network, and the chasis where the event is processed has the"},{"line_number":178,"context_line":"  LogicalRouterPort for the network and the OVN router gateway port where the"},{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"},{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"},{"line_number":182,"context_line":"  port, instead of where the VM is."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"265cea4b_10128daf","line":180,"range":{"start_line":180,"start_character":73,"end_line":180,"end_character":75},"in_reply_to":"d3350637_2ed2d3b7","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"},{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"},{"line_number":182,"context_line":"  port, instead of where the VM is."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"- ``TenantPortDeleteEvent``: Same as previous one, but for the deletion of the"},{"line_number":185,"context_line":"  port. It calls ``withdraw_remote_ip``."}],"source_content_type":"text/x-rst","patch_set":6,"id":"a84ebdc5_926fc72e","line":182,"range":{"start_line":182,"start_character":19,"end_line":182,"end_character":35},"updated":"2024-01-22 14:05:21.000000000","message":"\"where the VM is.\" \u003d \"the node where the VM is located\" ?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":179,"context_line":"  network is connected to, then the event is processed and the actions to"},{"line_number":180,"context_line":"  expose it through BGP are triggered. It calls the ``expose_remote_ip`` as in"},{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"},{"line_number":182,"context_line":"  port, instead of where the VM is."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"- ``TenantPortDeleteEvent``: Same as previous one, but for the deletion of the"},{"line_number":185,"context_line":"  port. It calls ``withdraw_remote_ip``."}],"source_content_type":"text/x-rst","patch_set":6,"id":"93b70ae5_4730002d","line":182,"range":{"start_line":182,"start_character":19,"end_line":182,"end_character":35},"in_reply_to":"a84ebdc5_926fc72e","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"},{"line_number":182,"context_line":"  port, instead of where the VM is."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"- ``TenantPortDeleteEvent``: Same as previous one, but for the deletion of the"},{"line_number":185,"context_line":"  port. It calls ``withdraw_remote_ip``."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"- ``OVNLBMemberUpdateEvent``:  This event is required to handle the OVN load"},{"line_number":188,"context_line":"  balancers created on the provider networks. It detects when new datapaths"}],"source_content_type":"text/x-rst","patch_set":6,"id":"87581b0d_e638581e","line":185,"range":{"start_line":184,"start_character":29,"end_line":185,"end_character":40},"updated":"2024-01-22 14:05:21.000000000","message":"Perhaps for these situations when you are describing pairs of events you can adopt this syntax?\n\nSimilar to ``\u003cprevious_event\u003e``, except that when the \u003cobject\u003e is \u003caction\u003e, it calls ``\u003cmethod\u003e``.\n\nExample:\n\"Similar to ``TenantPortCreateEvent``, except that when the port is deleted, it calls ``withdraw_remote_ip``.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":181,"context_line":"  this case the IPs are exposed through the node with the OVN router gateway"},{"line_number":182,"context_line":"  port, instead of where the VM is."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"- ``TenantPortDeleteEvent``: Same as previous one, but for the deletion of the"},{"line_number":185,"context_line":"  port. It calls ``withdraw_remote_ip``."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"- ``OVNLBMemberUpdateEvent``:  This event is required to handle the OVN load"},{"line_number":188,"context_line":"  balancers created on the provider networks. It detects when new datapaths"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7f0b45aa_1a491964","line":185,"range":{"start_line":184,"start_character":29,"end_line":185,"end_character":40},"in_reply_to":"87581b0d_e638581e","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":189,"context_line":"  are added/removed to/from the ``Load_Balancer`` entries. This happens when"},{"line_number":190,"context_line":"  members are added/removed -- their respective datapaths are added into the"},{"line_number":191,"context_line":"  ``Load_Balancer`` table entry. The event is only processed in the nodes with the"},{"line_number":192,"context_line":"  relevant OVN router gateway ports, as it is where it needs to get exposed to"},{"line_number":193,"context_line":"  be injected into OVN overlay. It calls ``expose_ovn_lb_on_provider`` when the"},{"line_number":194,"context_line":"  second datapath is added (first one is the one belonging to the VIP (i.e.,"},{"line_number":195,"context_line":"  the provider network), while the second one belongs to the load balancer"}],"source_content_type":"text/x-rst","patch_set":6,"id":"856b54f3_5435ac3f","line":192,"range":{"start_line":192,"start_character":37,"end_line":192,"end_character":39},"updated":"2024-01-22 14:05:21.000000000","message":"Suggest *because* instead of *as*","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":189,"context_line":"  are added/removed to/from the ``Load_Balancer`` entries. This happens when"},{"line_number":190,"context_line":"  members are added/removed -- their respective datapaths are added into the"},{"line_number":191,"context_line":"  ``Load_Balancer`` table entry. The event is only processed in the nodes with the"},{"line_number":192,"context_line":"  relevant OVN router gateway ports, as it is where it needs to get exposed to"},{"line_number":193,"context_line":"  be injected into OVN overlay. It calls ``expose_ovn_lb_on_provider`` when the"},{"line_number":194,"context_line":"  second datapath is added (first one is the one belonging to the VIP (i.e.,"},{"line_number":195,"context_line":"  the provider network), while the second one belongs to the load balancer"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3b58782b_c163001f","line":192,"range":{"start_line":192,"start_character":37,"end_line":192,"end_character":39},"in_reply_to":"856b54f3_5435ac3f","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":190,"context_line":"  members are added/removed -- their respective datapaths are added into the"},{"line_number":191,"context_line":"  ``Load_Balancer`` table entry. The event is only processed in the nodes with the"},{"line_number":192,"context_line":"  relevant OVN router gateway ports, as it is where it needs to get exposed to"},{"line_number":193,"context_line":"  be injected into OVN overlay. It calls ``expose_ovn_lb_on_provider`` when the"},{"line_number":194,"context_line":"  second datapath is added (first one is the one belonging to the VIP (i.e.,"},{"line_number":195,"context_line":"  the provider network), while the second one belongs to the load balancer"},{"line_number":196,"context_line":"  member -- note all the load balancer members are expected to be connected"},{"line_number":197,"context_line":"  through the same router to the provider network). And it calls"},{"line_number":198,"context_line":"  ``withdraw_ovn_lb_on_provider`` when that member gets deleted (only one"},{"line_number":199,"context_line":"  datapath left) or the event type is ROW_DELETE, meaning the whole"},{"line_number":200,"context_line":"  load balancer is deleted."},{"line_number":201,"context_line":""},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"Driver Logic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"748cff87_67402c72","line":200,"range":{"start_line":193,"start_character":32,"end_line":200,"end_character":27},"updated":"2024-01-22 14:05:21.000000000","message":"Wow. This is a lot!\n\nMaybe?\n\n``OVNLBMemberUpdateEvent`` calls ``expose_ovn_lb_on_provider`` only when the second datapath is added. The first datapath belongs to the VIP for the provider network, while the second one belongs to the load balancer member. `OVNLBMemberUpdateEvent`` calls `withdraw_ovn_lb_on_provider`` when the second datapath is deleted, or the entire load balancer is deleted (event type is ``ROW_DELETE``).\n\n .. note::\n\n    All the load balancer members are expected to be connected through the same\n    router to the provider network.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":190,"context_line":"  members are added/removed -- their respective datapaths are added into the"},{"line_number":191,"context_line":"  ``Load_Balancer`` table entry. The event is only processed in the nodes with the"},{"line_number":192,"context_line":"  relevant OVN router gateway ports, as it is where it needs to get exposed to"},{"line_number":193,"context_line":"  be injected into OVN overlay. It calls ``expose_ovn_lb_on_provider`` when the"},{"line_number":194,"context_line":"  second datapath is added (first one is the one belonging to the VIP (i.e.,"},{"line_number":195,"context_line":"  the provider network), while the second one belongs to the load balancer"},{"line_number":196,"context_line":"  member -- note all the load balancer members are expected to be connected"},{"line_number":197,"context_line":"  through the same router to the provider network). And it calls"},{"line_number":198,"context_line":"  ``withdraw_ovn_lb_on_provider`` when that member gets deleted (only one"},{"line_number":199,"context_line":"  datapath left) or the event type is ROW_DELETE, meaning the whole"},{"line_number":200,"context_line":"  load balancer is deleted."},{"line_number":201,"context_line":""},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"Driver Logic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7bbb70f8_5616faf3","line":200,"range":{"start_line":193,"start_character":32,"end_line":200,"end_character":27},"in_reply_to":"748cff87_67402c72","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"The BGP driver is in charge of the networking configuration ensuring that"},{"line_number":207,"context_line":"VMs and LBs on provider networks or with FIPs can be reached through BGP"},{"line_number":208,"context_line":"(N/S traffic). In addition, if ``expose_tenant_networks`` flag is enabled,"},{"line_number":209,"context_line":"VMs in tenant networks should be reachable too -- although instead of directly"},{"line_number":210,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":211,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2c44b86e_4af46e79","line":208,"range":{"start_line":208,"start_character":28,"end_line":208,"end_character":62},"updated":"2024-01-22 14:05:21.000000000","message":"...if *the* ``expose_tenant_networks`` flag....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"The BGP driver is in charge of the networking configuration ensuring that"},{"line_number":207,"context_line":"VMs and LBs on provider networks or with FIPs can be reached through BGP"},{"line_number":208,"context_line":"(N/S traffic). In addition, if ``expose_tenant_networks`` flag is enabled,"},{"line_number":209,"context_line":"VMs in tenant networks should be reachable too -- although instead of directly"},{"line_number":210,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":211,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ce4682a8_9b35e098","line":208,"range":{"start_line":208,"start_character":28,"end_line":208,"end_character":62},"in_reply_to":"2c44b86e_4af46e79","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":209,"context_line":"VMs in tenant networks should be reachable too -- although instead of directly"},{"line_number":210,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":211,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"},{"line_number":212,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":213,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"To accomplish this, it needs to ensure that:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"99cf1e79_2fc0f21e","line":212,"range":{"start_line":212,"start_character":65,"end_line":212,"end_character":76},"updated":"2024-01-22 14:05:21.000000000","message":"Insert a comma:\n\n...is set`, `only....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":209,"context_line":"VMs in tenant networks should be reachable too -- although instead of directly"},{"line_number":210,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":211,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"},{"line_number":212,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":213,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"To accomplish this, it needs to ensure that:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"38a4b74e_3ab256fe","line":212,"range":{"start_line":212,"start_character":65,"end_line":212,"end_character":76},"in_reply_to":"99cf1e79_2fc0f21e","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":210,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":211,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"},{"line_number":212,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":213,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bd96aea5_8befabf8","line":213,"range":{"start_line":213,"start_character":48,"end_line":213,"end_character":61},"updated":"2024-01-22 14:05:21.000000000","message":"`address_scope` (add backticks)","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":210,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":211,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"},{"line_number":212,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":213,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"cbab2af9_4161baa0","line":213,"range":{"start_line":213,"start_character":48,"end_line":213,"end_character":61},"in_reply_to":"bd96aea5_8befabf8","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":212,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":213,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":218,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"}],"source_content_type":"text/x-rst","patch_set":6,"id":"65575790_da07e58a","line":215,"range":{"start_line":215,"start_character":14,"end_line":215,"end_character":18},"updated":"2024-01-22 14:05:21.000000000","message":"*this* \u003d what?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":212,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":213,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":218,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5bbfba56_f82cc16f","line":215,"range":{"start_line":215,"start_character":14,"end_line":215,"end_character":18},"in_reply_to":"65575790_da07e58a","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":214,"context_line":""},{"line_number":215,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":218,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"},{"line_number":219,"context_line":"  or the node where the router gateway port is scheduled (see limitations"},{"line_number":220,"context_line":"  subsection)."}],"source_content_type":"text/x-rst","patch_set":6,"id":"24c98978_89c158a8","line":217,"range":{"start_line":217,"start_character":24,"end_line":217,"end_character":34},"updated":"2024-01-22 14:05:21.000000000","message":"Should be \"advertise\" with an `s`. I confess I had to look it up. This word is weird: an instance in which the Americans agree with the British and don\u0027t use a `z`!","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":214,"context_line":""},{"line_number":215,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":218,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"},{"line_number":219,"context_line":"  or the node where the router gateway port is scheduled (see limitations"},{"line_number":220,"context_line":"  subsection)."}],"source_content_type":"text/x-rst","patch_set":6,"id":"2e15d21a_1f875aa7","line":217,"range":{"start_line":217,"start_character":24,"end_line":217,"end_character":34},"in_reply_to":"24c98978_89c158a8","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":235,"context_line":"The BGP driver needs to implement the ``driver_api.py`` interface with the"},{"line_number":236,"context_line":"following functions:"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"},{"line_number":239,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":240,"context_line":"  BGP the required IP."},{"line_number":241,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1197ccef_004c34db","line":238,"range":{"start_line":238,"start_character":33,"end_line":238,"end_character":35},"updated":"2024-01-22 14:05:21.000000000","message":"I would capitalize `ip` and `ovs` here, unless they are actual names of a program, in which case I would use backticks.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":235,"context_line":"The BGP driver needs to implement the ``driver_api.py`` interface with the"},{"line_number":236,"context_line":"following functions:"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"},{"line_number":239,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":240,"context_line":"  BGP the required IP."},{"line_number":241,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ddf34596_613ee21a","line":238,"range":{"start_line":238,"start_character":33,"end_line":238,"end_character":35},"in_reply_to":"1197ccef_004c34db","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":236,"context_line":"following functions:"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"},{"line_number":239,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":240,"context_line":"  BGP the required IP."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."}],"source_content_type":"text/x-rst","patch_set":6,"id":"b027b91a_437549fa","line":239,"range":{"start_line":239,"start_character":29,"end_line":239,"end_character":32},"updated":"2024-01-22 14:05:21.000000000","message":"*the* OVN overlay....\n\n*ensure* should be *ensures*....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":236,"context_line":"following functions:"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"},{"line_number":239,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":240,"context_line":"  BGP the required IP."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1dd0c3d6_0fac9958","line":239,"range":{"start_line":239,"start_character":29,"end_line":239,"end_character":32},"in_reply_to":"b027b91a_437549fa","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":242,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"- ``expose_subnet``: add kernel networking configuration (ip rules and route)"},{"line_number":245,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"},{"line_number":246,"context_line":"  for IPs within the tenant subnet CIDR."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"- ``withdraw_subnet``: removes the above kernel networking configuration."}],"source_content_type":"text/x-rst","patch_set":6,"id":"2c32fe68_8e7ecac1","line":245,"updated":"2024-01-22 14:05:21.000000000","message":"two words: *vice versa*","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":242,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"- ``expose_subnet``: add kernel networking configuration (ip rules and route)"},{"line_number":245,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"},{"line_number":246,"context_line":"  for IPs within the tenant subnet CIDR."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"- ``withdraw_subnet``: removes the above kernel networking configuration."}],"source_content_type":"text/x-rst","patch_set":6,"id":"11922593_97276094","line":245,"in_reply_to":"2c32fe68_8e7ecac1","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"- ``withdraw_subnet``: removes the above kernel networking configuration."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"- ``expose_remote_ip``: BGP expose VM tenant network IPs through the chassis"},{"line_number":251,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."},{"line_number":252,"context_line":"  It ensures traffic destinated to the VM IP arrives to this node by exposing"},{"line_number":253,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"}],"source_content_type":"text/x-rst","patch_set":6,"id":"afb0b2b5_12d26161","line":250,"range":{"start_line":250,"start_character":28,"end_line":250,"end_character":34},"updated":"2024-01-22 14:05:21.000000000","message":"*exposes*","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"- ``withdraw_subnet``: removes the above kernel networking configuration."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"- ``expose_remote_ip``: BGP expose VM tenant network IPs through the chassis"},{"line_number":251,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."},{"line_number":252,"context_line":"  It ensures traffic destinated to the VM IP arrives to this node by exposing"},{"line_number":253,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b61faefe_cb5c7bb5","line":250,"range":{"start_line":250,"start_character":28,"end_line":250,"end_character":34},"in_reply_to":"afb0b2b5_12d26161","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":253,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":254,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":257,"context_line":"  through BGP from the node."},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"And in addition, it also implements these 2 extra ones for the OVN load"}],"source_content_type":"text/x-rst","patch_set":6,"id":"56411b41_f5b3603d","line":256,"range":{"start_line":256,"start_character":58,"end_line":256,"end_character":69},"updated":"2024-01-22 14:05:21.000000000","message":"change `z` to `s`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":253,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":254,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":257,"context_line":"  through BGP from the node."},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"And in addition, it also implements these 2 extra ones for the OVN load"}],"source_content_type":"text/x-rst","patch_set":6,"id":"35a167a7_63fd3edb","line":256,"range":{"start_line":256,"start_character":58,"end_line":256,"end_character":69},"in_reply_to":"56411b41_f5b3603d","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":256,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":257,"context_line":"  through BGP from the node."},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"And in addition, it also implements these 2 extra ones for the OVN load"},{"line_number":260,"context_line":"balancers on the provider networks"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"- ``expose_ovn_lb_on_provider``: adds kernel networking configuration to ensure"},{"line_number":263,"context_line":"  traffic is forwarded from the node to the OVN overlay as well as to expose"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fd916a02_2234f252","line":260,"range":{"start_line":259,"start_character":0,"end_line":260,"end_character":34},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"The driver API implements these additional functions for OVN load balancers on provider networks:\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":256,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":257,"context_line":"  through BGP from the node."},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"And in addition, it also implements these 2 extra ones for the OVN load"},{"line_number":260,"context_line":"balancers on the provider networks"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"- ``expose_ovn_lb_on_provider``: adds kernel networking configuration to ensure"},{"line_number":263,"context_line":"  traffic is forwarded from the node to the OVN overlay as well as to expose"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1dbd7920_e6cbdcb3","line":260,"range":{"start_line":259,"start_character":0,"end_line":260,"end_character":34},"in_reply_to":"fd916a02_2234f252","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":260,"context_line":"balancers on the provider networks"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"- ``expose_ovn_lb_on_provider``: adds kernel networking configuration to ensure"},{"line_number":263,"context_line":"  traffic is forwarded from the node to the OVN overlay as well as to expose"},{"line_number":264,"context_line":"  the VIP through BGP."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"- ``withdraw_ovn_lb_on_provider``: removes the above steps to stop advertising"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ffaadc4_d1434b57","line":263,"range":{"start_line":263,"start_character":56,"end_line":263,"end_character":66},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion. Change:\n\n\"as well as\" to \"and\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":260,"context_line":"balancers on the provider networks"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"- ``expose_ovn_lb_on_provider``: adds kernel networking configuration to ensure"},{"line_number":263,"context_line":"  traffic is forwarded from the node to the OVN overlay as well as to expose"},{"line_number":264,"context_line":"  the VIP through BGP."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"- ``withdraw_ovn_lb_on_provider``: removes the above steps to stop advertising"}],"source_content_type":"text/x-rst","patch_set":6,"id":"892c59c7_f646d109","line":263,"range":{"start_line":263,"start_character":56,"end_line":263,"end_character":66},"in_reply_to":"1ffaadc4_d1434b57","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":276,"context_line":"The following limitations apply:"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":279,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":280,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":281,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":282,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"2b9bea2e_73017e77","line":279,"range":{"start_line":279,"start_character":2,"end_line":279,"end_character":28},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\nChange:\nFloating IPs associated to\n\nTo:\n*floating* IPs associated *with*","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":276,"context_line":"The following limitations apply:"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":279,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":280,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":281,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":282,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"6b696df0_f39cadb3","line":279,"range":{"start_line":279,"start_character":2,"end_line":279,"end_character":28},"in_reply_to":"2b9bea2e_73017e77","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":283,"context_line":"- There is no support for overlapping CIDRs, so this must be avoided, e.g., by"},{"line_number":284,"context_line":"  using address scopes and subnet pools."},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"- Network traffic is steered by kernel routing (ip routes and rules), therefore"},{"line_number":287,"context_line":"  OVS-DPDK, where the kernel space is skipped, is not supported."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- Network traffic is steered by kernel routing (ip routes and rules), therefore"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b1bde365_feb2d098","line":286,"range":{"start_line":286,"start_character":48,"end_line":286,"end_character":57},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\nGlobal change:\nip routes \n\nTo:\n*IP* routes","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":283,"context_line":"- There is no support for overlapping CIDRs, so this must be avoided, e.g., by"},{"line_number":284,"context_line":"  using address scopes and subnet pools."},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"- Network traffic is steered by kernel routing (ip routes and rules), therefore"},{"line_number":287,"context_line":"  OVS-DPDK, where the kernel space is skipped, is not supported."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- Network traffic is steered by kernel routing (ip routes and rules), therefore"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3c8cbb2d_5ca4edbf","line":286,"range":{"start_line":286,"start_character":48,"end_line":286,"end_character":57},"in_reply_to":"b1bde365_feb2d098","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":287,"context_line":"  OVS-DPDK, where the kernel space is skipped, is not supported."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- Network traffic is steered by kernel routing (ip routes and rules), therefore"},{"line_number":290,"context_line":"  SRIOV, where the hypervisor is skipped, is not supported."},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"- In OpenStack with OVN networking the N/S traffic to the ovn-octavia VIPs on"},{"line_number":293,"context_line":"  the provider or the FIPs associated to the VIPs on tenant networks needs to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"01a513a4_c66f5315","line":290,"updated":"2024-01-22 14:05:21.000000000","message":"I think SRIOV is formally written as *SR-IOV*.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":287,"context_line":"  OVS-DPDK, where the kernel space is skipped, is not supported."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- Network traffic is steered by kernel routing (ip routes and rules), therefore"},{"line_number":290,"context_line":"  SRIOV, where the hypervisor is skipped, is not supported."},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"- In OpenStack with OVN networking the N/S traffic to the ovn-octavia VIPs on"},{"line_number":293,"context_line":"  the provider or the FIPs associated to the VIPs on tenant networks needs to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d1fc1be5_32cbfbc2","line":290,"in_reply_to":"01a513a4_c66f5315","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":296,"context_line":"  load balancer members to the provider network). Therefore, the entry point"},{"line_number":297,"context_line":"  into the OVN overlay needs to be one of those networking nodes, and"},{"line_number":298,"context_line":"  consequently the VIPs (or FIPs to VIPs) are exposed through them. From those"},{"line_number":299,"context_line":"  nodes the traffic will follow the normal tunneled path (Geneve tunnel) to"},{"line_number":300,"context_line":"  the OpenStack compute node where the selected member is located."}],"source_content_type":"text/x-rst","patch_set":6,"id":"c274d521_2a98c52a","line":299,"range":{"start_line":299,"start_character":20,"end_line":299,"end_character":31},"updated":"2024-01-22 14:05:21.000000000","message":"Try to avoid different tenses unless necessary:\n\nwill follow \u003e follows","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2ae35a43ad6cced1bded0a0f66b04b4296a0ca47","unresolved":false,"context_lines":[{"line_number":296,"context_line":"  load balancer members to the provider network). Therefore, the entry point"},{"line_number":297,"context_line":"  into the OVN overlay needs to be one of those networking nodes, and"},{"line_number":298,"context_line":"  consequently the VIPs (or FIPs to VIPs) are exposed through them. From those"},{"line_number":299,"context_line":"  nodes the traffic will follow the normal tunneled path (Geneve tunnel) to"},{"line_number":300,"context_line":"  the OpenStack compute node where the selected member is located."}],"source_content_type":"text/x-rst","patch_set":6,"id":"7143c7af_e4f40663","line":299,"range":{"start_line":299,"start_character":20,"end_line":299,"end_character":31},"in_reply_to":"c274d521_2a98c52a","updated":"2024-01-26 16:46:53.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":24,"context_line":"centers. The benefits of this practice reduce scaling complexities,"},{"line_number":25,"context_line":"failure domains, and broadcast traffic limits."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The northbound OVN BGP agent is a Python-based daemon that runs on each"},{"line_number":28,"context_line":"OpenStack Controller and Compute node."},{"line_number":29,"context_line":"The agent monitors the Open Virtual Network (OVN) northbound database"},{"line_number":30,"context_line":"for certain VM and floating IP (FIP) events."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ec2c49d3_02266934","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":14},"updated":"2024-01-29 23:15:29.000000000","message":"southbound","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":24,"context_line":"centers. The benefits of this practice reduce scaling complexities,"},{"line_number":25,"context_line":"failure domains, and broadcast traffic limits."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The northbound OVN BGP agent is a Python-based daemon that runs on each"},{"line_number":28,"context_line":"OpenStack Controller and Compute node."},{"line_number":29,"context_line":"The agent monitors the Open Virtual Network (OVN) northbound database"},{"line_number":30,"context_line":"for certain VM and floating IP (FIP) events."}],"source_content_type":"text/x-rst","patch_set":9,"id":"171cfa99_baa66871","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":14},"in_reply_to":"ec2c49d3_02266934","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The northbound OVN BGP agent is a Python-based daemon that runs on each"},{"line_number":28,"context_line":"OpenStack Controller and Compute node."},{"line_number":29,"context_line":"The agent monitors the Open Virtual Network (OVN) northbound database"},{"line_number":30,"context_line":"for certain VM and floating IP (FIP) events."},{"line_number":31,"context_line":"When these events occur, the agent notifies the FRR BGP daemon (bgpd)"},{"line_number":32,"context_line":"to advertise the IP address or FIP associated with the VM."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3c7cf9c8_027f50c0","line":29,"range":{"start_line":29,"start_character":50,"end_line":29,"end_character":60},"updated":"2024-01-29 23:15:29.000000000","message":"southbound","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The northbound OVN BGP agent is a Python-based daemon that runs on each"},{"line_number":28,"context_line":"OpenStack Controller and Compute node."},{"line_number":29,"context_line":"The agent monitors the Open Virtual Network (OVN) northbound database"},{"line_number":30,"context_line":"for certain VM and floating IP (FIP) events."},{"line_number":31,"context_line":"When these events occur, the agent notifies the FRR BGP daemon (bgpd)"},{"line_number":32,"context_line":"to advertise the IP address or FIP associated with the VM."}],"source_content_type":"text/x-rst","patch_set":9,"id":"0560d8ff_38db2f32","line":29,"range":{"start_line":29,"start_character":50,"end_line":29,"end_character":60},"in_reply_to":"3c7cf9c8_027f50c0","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":43,"context_line":"     tunnels."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The agent provides a multi-driver implementation that allows you to configure"},{"line_number":47,"context_line":"it for specific infrastructure running on top of OVN, for instance OpenStack"},{"line_number":48,"context_line":"or Kubernetes/OpenShift."},{"line_number":49,"context_line":"This design simplicity enables the agent to implement different drivers,"},{"line_number":50,"context_line":"depending on what OVN SB DB events are being watched (watchers examples at"},{"line_number":51,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"}],"source_content_type":"text/x-rst","patch_set":9,"id":"67b794d1_39e4e21f","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":24},"updated":"2024-01-29 23:15:29.000000000","message":"This seems to repeat what\u0027s written on lines 35-37","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":43,"context_line":"     tunnels."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The agent provides a multi-driver implementation that allows you to configure"},{"line_number":47,"context_line":"it for specific infrastructure running on top of OVN, for instance OpenStack"},{"line_number":48,"context_line":"or Kubernetes/OpenShift."},{"line_number":49,"context_line":"This design simplicity enables the agent to implement different drivers,"},{"line_number":50,"context_line":"depending on what OVN SB DB events are being watched (watchers examples at"},{"line_number":51,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"}],"source_content_type":"text/x-rst","patch_set":9,"id":"99e7ac18_3b713cfe","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":24},"in_reply_to":"67b794d1_39e4e21f","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":131,"context_line":"     status of ``expose_ipv6_gua_tenant_networks``, as all the tenant IPs"},{"line_number":132,"context_line":"     are advertised."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"The BGP watcher detects OVN Southbound Database events at the ``Port_Binding``"},{"line_number":136,"context_line":"and ``Load_Balancer`` tables. It creates new event classes named"},{"line_number":137,"context_line":"``PortBindingChassisEvent`` and ``OVNLBEvent``, that all the events"},{"line_number":138,"context_line":"watched for BGP use as the base (inherit from)."},{"line_number":139,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"dc5dcc2f_16210fd3","line":136,"range":{"start_line":134,"start_character":0,"end_line":136,"end_character":29},"updated":"2024-01-29 23:15:29.000000000","message":"This repeats lines L90-L91, maybe we should remove those?","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":131,"context_line":"     status of ``expose_ipv6_gua_tenant_networks``, as all the tenant IPs"},{"line_number":132,"context_line":"     are advertised."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"The BGP watcher detects OVN Southbound Database events at the ``Port_Binding``"},{"line_number":136,"context_line":"and ``Load_Balancer`` tables. It creates new event classes named"},{"line_number":137,"context_line":"``PortBindingChassisEvent`` and ``OVNLBEvent``, that all the events"},{"line_number":138,"context_line":"watched for BGP use as the base (inherit from)."},{"line_number":139,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"05fd501b_be2c08da","line":136,"range":{"start_line":134,"start_character":0,"end_line":136,"end_character":29},"in_reply_to":"dc5dcc2f_16210fd3","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":155,"context_line":"  (CR-LRPs). It calls ``withdraw_ip`` driver method to perform the needed"},{"line_number":156,"context_line":"  actions to withdraw the exposed BGP route."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its ``nat_addresses`` field"},{"line_number":159,"context_line":"  updated (e.g., action related to FIPs NATing). When true, and the associated"},{"line_number":160,"context_line":"  VM port is on the local chassis, the event is processed by the agent and the"},{"line_number":161,"context_line":"  required IP rule gets created and its IP is (BGP) exposed. It calls"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa233fb8_0625fafb","line":158,"range":{"start_line":158,"start_character":34,"end_line":158,"end_character":44},"updated":"2024-01-29 23:15:29.000000000","message":"I found it confusing and had to look at the code. I\u0027d rephrase it to \"when a Port_Binding entry with a type of `patch` gets its ...\" or something like that","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":155,"context_line":"  (CR-LRPs). It calls ``withdraw_ip`` driver method to perform the needed"},{"line_number":156,"context_line":"  actions to withdraw the exposed BGP route."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"- ``FIPSetEvent``: Detects when a patch port gets its ``nat_addresses`` field"},{"line_number":159,"context_line":"  updated (e.g., action related to FIPs NATing). When true, and the associated"},{"line_number":160,"context_line":"  VM port is on the local chassis, the event is processed by the agent and the"},{"line_number":161,"context_line":"  required IP rule gets created and its IP is (BGP) exposed. It calls"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9d4437bd_ecceb0b3","line":158,"range":{"start_line":158,"start_character":34,"end_line":158,"end_character":44},"in_reply_to":"fa233fb8_0625fafb","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":166,"context_line":"  an IP deleted. It calls the ``withdraw_ip`` driver method to perform the"},{"line_number":167,"context_line":"  required actions."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"- ``SubnetRouterAttachedEvent``: Detects when a patch port gets created."},{"line_number":170,"context_line":"  This means a subnet is attached to a router. In the ``expose_tenant_network``"},{"line_number":171,"context_line":"  case, if the chassis is the one having the cr-lrp port for that router where"},{"line_number":172,"context_line":"  the port is getting created, then the event is processed by the agent and the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"6c8308ba_e5801cf9","line":169,"range":{"start_line":169,"start_character":48,"end_line":169,"end_character":58},"updated":"2024-01-29 23:15:29.000000000","message":"ditto","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":166,"context_line":"  an IP deleted. It calls the ``withdraw_ip`` driver method to perform the"},{"line_number":167,"context_line":"  required actions."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"- ``SubnetRouterAttachedEvent``: Detects when a patch port gets created."},{"line_number":170,"context_line":"  This means a subnet is attached to a router. In the ``expose_tenant_network``"},{"line_number":171,"context_line":"  case, if the chassis is the one having the cr-lrp port for that router where"},{"line_number":172,"context_line":"  the port is getting created, then the event is processed by the agent and the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"82aad935_d444383c","line":169,"range":{"start_line":169,"start_character":48,"end_line":169,"end_character":58},"in_reply_to":"6c8308ba_e5801cf9","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":191,"context_line":"  the deletion of the port. It calls ``withdraw_remote_ip``."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"- ``OVNLBMemberUpdateEvent``:  This event is required to handle the OVN load"},{"line_number":194,"context_line":"  balancers created on the provider networks. It detects when new datapaths"},{"line_number":195,"context_line":"  are added/removed to/from the ``Load_Balancer`` entries. This happens when"},{"line_number":196,"context_line":"  members are added/removed -- their respective datapaths are added into the"},{"line_number":197,"context_line":"  ``Load_Balancer`` table entry. The event is only processed in the nodes with"},{"line_number":198,"context_line":"  the relevant OVN router gateway ports, because it is where it needs to get"},{"line_number":199,"context_line":"  exposed to be injected into OVN overlay."},{"line_number":200,"context_line":"  ``OVNLBMemberUpdateEvent`` calls ``expose_ovn_lb_on_provider`` only when the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"f827d57f_13b0d4e3","line":197,"range":{"start_line":194,"start_character":46,"end_line":197,"end_character":32},"updated":"2024-01-29 23:15:29.000000000","message":"Aren\u0027t those two sentences essentially the same?","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":191,"context_line":"  the deletion of the port. It calls ``withdraw_remote_ip``."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"- ``OVNLBMemberUpdateEvent``:  This event is required to handle the OVN load"},{"line_number":194,"context_line":"  balancers created on the provider networks. It detects when new datapaths"},{"line_number":195,"context_line":"  are added/removed to/from the ``Load_Balancer`` entries. This happens when"},{"line_number":196,"context_line":"  members are added/removed -- their respective datapaths are added into the"},{"line_number":197,"context_line":"  ``Load_Balancer`` table entry. The event is only processed in the nodes with"},{"line_number":198,"context_line":"  the relevant OVN router gateway ports, because it is where it needs to get"},{"line_number":199,"context_line":"  exposed to be injected into OVN overlay."},{"line_number":200,"context_line":"  ``OVNLBMemberUpdateEvent`` calls ``expose_ovn_lb_on_provider`` only when the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"93466642_de9464d3","line":197,"range":{"start_line":194,"start_character":46,"end_line":197,"end_character":32},"in_reply_to":"f827d57f_13b0d4e3","updated":"2024-01-31 12:04:02.000000000","message":"not really.. I wanted to say that when members are added, the members datapaths are added into the load_balancer datapath. I rephrased it a bit","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":24,"context_line":"centers. The benefits of this practice reduce scaling complexities,"},{"line_number":25,"context_line":"failure domains, and broadcast traffic limits."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The southbound OVN BGP agent is a Python-based daemon that runs on each"},{"line_number":28,"context_line":"OpenStack Controller and Compute node."},{"line_number":29,"context_line":"The agent monitors the Open Virtual Network (OVN) southbound database"},{"line_number":30,"context_line":"for certain VM and floating IP (FIP) events."}],"source_content_type":"text/x-rst","patch_set":13,"id":"2b6b3933_f5691762","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":14},"updated":"2024-02-16 16:50:14.000000000","message":"Nit: Southbound driver for OVN BGP Agent","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":24,"context_line":"centers. The benefits of this practice reduce scaling complexities,"},{"line_number":25,"context_line":"failure domains, and broadcast traffic limits."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The southbound OVN BGP agent is a Python-based daemon that runs on each"},{"line_number":28,"context_line":"OpenStack Controller and Compute node."},{"line_number":29,"context_line":"The agent monitors the Open Virtual Network (OVN) southbound database"},{"line_number":30,"context_line":"for certain VM and floating IP (FIP) events."}],"source_content_type":"text/x-rst","patch_set":13,"id":"1b346de1_b33e0587","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":14},"in_reply_to":"2b6b3933_f5691762","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":137,"context_line":"The BGP watcher reacts to the following events:"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"- ``PortBindingChassisCreatedEvent``: Detects when a port of type"},{"line_number":140,"context_line":"  ``\"\"`` (empty double-qoutes), ``virtual``, or ``chassisredirect`` gets"},{"line_number":141,"context_line":"  attached to the OVN chassis where the agent is running. This is the case for"},{"line_number":142,"context_line":"  VM or amphora LB ports on the provider networks, VM or amphora LB ports on"},{"line_number":143,"context_line":"  tenant networks with a FIP associated, and neutron gateway router ports"}],"source_content_type":"text/x-rst","patch_set":13,"id":"d326da61_7335d4bf","line":140,"range":{"start_line":140,"start_character":23,"end_line":140,"end_character":29},"updated":"2024-02-16 16:50:14.000000000","message":"quotes","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":137,"context_line":"The BGP watcher reacts to the following events:"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"- ``PortBindingChassisCreatedEvent``: Detects when a port of type"},{"line_number":140,"context_line":"  ``\"\"`` (empty double-qoutes), ``virtual``, or ``chassisredirect`` gets"},{"line_number":141,"context_line":"  attached to the OVN chassis where the agent is running. This is the case for"},{"line_number":142,"context_line":"  VM or amphora LB ports on the provider networks, VM or amphora LB ports on"},{"line_number":143,"context_line":"  tenant networks with a FIP associated, and neutron gateway router ports"}],"source_content_type":"text/x-rst","patch_set":13,"id":"855a42d4_26bcff8a","line":140,"range":{"start_line":140,"start_character":23,"end_line":140,"end_character":29},"in_reply_to":"d326da61_7335d4bf","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"- In OpenStack with OVN networking the N/S traffic to the ovn-octavia VIPs on"},{"line_number":303,"context_line":"  the provider or the FIPs associated to the VIPs on tenant networks needs to"},{"line_number":304,"context_line":"  go through the networking nodes (the ones hosting the Neutron Router Gateway"},{"line_number":305,"context_line":"  Ports, i.e., the chassisredirect cr-lrp ports, for the router connecting the"},{"line_number":306,"context_line":"  load balancer members to the provider network). Therefore, the entry point"},{"line_number":307,"context_line":"  into the OVN overlay needs to be one of those networking nodes, and"},{"line_number":308,"context_line":"  consequently the VIPs (or FIPs to VIPs) are exposed through them. From those"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5b0ee626_dea93c78","line":305,"range":{"start_line":304,"start_character":56,"end_line":305,"end_character":47},"updated":"2024-02-16 16:50:14.000000000","message":"ditto naming consistency","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"- In OpenStack with OVN networking the N/S traffic to the ovn-octavia VIPs on"},{"line_number":303,"context_line":"  the provider or the FIPs associated to the VIPs on tenant networks needs to"},{"line_number":304,"context_line":"  go through the networking nodes (the ones hosting the Neutron Router Gateway"},{"line_number":305,"context_line":"  Ports, i.e., the chassisredirect cr-lrp ports, for the router connecting the"},{"line_number":306,"context_line":"  load balancer members to the provider network). Therefore, the entry point"},{"line_number":307,"context_line":"  into the OVN overlay needs to be one of those networking nodes, and"},{"line_number":308,"context_line":"  consequently the VIPs (or FIPs to VIPs) are exposed through them. From those"}],"source_content_type":"text/x-rst","patch_set":13,"id":"83d923da_e1dbd4b0","line":305,"range":{"start_line":304,"start_character":56,"end_line":305,"end_character":47},"in_reply_to":"5b0ee626_dea93c78","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"}],"doc/source/contributor/drivers/nb_bgp_mode_design.rst":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":124,"context_line":"The watcher associated to the NB BGP driver detect the relevant events on the"},{"line_number":125,"context_line":"OVN NB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":126,"context_line":"networking accordingly."},{"line_number":127,"context_line":"The folloging events are watched and handled by the BGP watcher:"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"- VMs or LBs created/deleted on provider networks"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ebff9823_e8cce90a","line":127,"range":{"start_line":127,"start_character":4,"end_line":127,"end_character":13},"updated":"2024-01-10 14:39:31.000000000","message":"following","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":124,"context_line":"The watcher associated to the NB BGP driver detect the relevant events on the"},{"line_number":125,"context_line":"OVN NB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":126,"context_line":"networking accordingly."},{"line_number":127,"context_line":"The folloging events are watched and handled by the BGP watcher:"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"- VMs or LBs created/deleted on provider networks"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"b336598a_2dced266","line":127,"range":{"start_line":127,"start_character":4,"end_line":127,"end_character":13},"in_reply_to":"ebff9823_e8cce90a","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Purpose"},{"line_number":8,"context_line":"-------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"The purpose of this document is to present the design decision behind"},{"line_number":11,"context_line":"the NB BGP Driver for the Networking OVN BGP agent."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The main purpose of adding support for BGP is to be able to expose Virtual"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b6c7676d_00a63d4e","line":10,"updated":"2024-01-22 14:05:21.000000000","message":"I wonder if this paragraph is needed? Perhaps just state what the purpose is? (The heading for this section is \"Purpose\".) Something like this?\n\n\"The addition of a BGP driver enables the OVN BGP agent to expose virtual machine (VMs) and load balancer (LBs) IP addresses through the BGP dynamic protocol when these IP addresses are either associated with a floating IP (FIP) or are booted or created on a provider network. The same functionality is available on project networks, when a special flag is set.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Purpose"},{"line_number":8,"context_line":"-------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"The purpose of this document is to present the design decision behind"},{"line_number":11,"context_line":"the NB BGP Driver for the Networking OVN BGP agent."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The main purpose of adding support for BGP is to be able to expose Virtual"}],"source_content_type":"text/x-rst","patch_set":6,"id":"27f98658_971de99d","line":10,"in_reply_to":"b6c7676d_00a63d4e","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":19,"context_line":"Overview"},{"line_number":20,"context_line":"--------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"With the increment of virtualized/containerized workloads it is becoming more"},{"line_number":23,"context_line":"and more common to use pure layer-3 Spine and Leaf network deployments at"},{"line_number":24,"context_line":"datacenters. There are several benefits of this, such as reduced complexity at"},{"line_number":25,"context_line":"scale, reduced failures domains, limiting broadcast traffic, among others."}],"source_content_type":"text/x-rst","patch_set":6,"id":"0cd1fc92_9fe4877a","line":22,"updated":"2024-01-22 14:05:21.000000000","message":"Here is a suggestion for this paragraph:\n\n\"With the growing popularity of virtualized and containerized workloads, it is common to use pure Layer 3 spine and leaf network deployments in data centers. The benefits of this practice reduce scaling complexities, failure domains, and broadcast traffic limits.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Overview"},{"line_number":20,"context_line":"--------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"With the increment of virtualized/containerized workloads it is becoming more"},{"line_number":23,"context_line":"and more common to use pure layer-3 Spine and Leaf network deployments at"},{"line_number":24,"context_line":"datacenters. There are several benefits of this, such as reduced complexity at"},{"line_number":25,"context_line":"scale, reduced failures domains, limiting broadcast traffic, among others."}],"source_content_type":"text/x-rst","patch_set":6,"id":"54152cc7_38ffafa5","line":22,"in_reply_to":"0cd1fc92_9fe4877a","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":24,"context_line":"datacenters. There are several benefits of this, such as reduced complexity at"},{"line_number":25,"context_line":"scale, reduced failures domains, limiting broadcast traffic, among others."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The NB OVN BGP Agent is a Python based daemon that runs on each node"},{"line_number":28,"context_line":"(e.g., OpenStack controllers and/or compute nodes). It connects to the OVN"},{"line_number":29,"context_line":"NorthBound DataBase (OVN NB DB) to detect the specific events it needs to"},{"line_number":30,"context_line":"react to, and then leverages FRR to expose the routes towards the VMs, and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2ff065f4_e184dc86","line":27,"updated":"2024-01-22 14:05:21.000000000","message":"Perhaps re-use a variation of what we\u0027ve written downstream for this?\n\n\"The northbound OVN BGP agent is a Python-based daemon that runs in the ovn-controller container on each OSP Controller and Compute node. The agent monitors the Open Virtual Network (OVN) northbound database for certain VM and floating IP (FIP) events. When these events occur, the agent notifies the FRR BGP daemon (bgpd) to advertise the IP address or FIP associated with the VM. The agent also triggers actions that route the external traffic to the OVN overlay.\"\n\nUnlike its predecessor, the OVN BGP agent, the northbound OVN BGP agent uses the northbound database API which is more stable than the southbound database API because the former is isolated from internal changes to core OVN.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":24,"context_line":"datacenters. There are several benefits of this, such as reduced complexity at"},{"line_number":25,"context_line":"scale, reduced failures domains, limiting broadcast traffic, among others."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The NB OVN BGP Agent is a Python based daemon that runs on each node"},{"line_number":28,"context_line":"(e.g., OpenStack controllers and/or compute nodes). It connects to the OVN"},{"line_number":29,"context_line":"NorthBound DataBase (OVN NB DB) to detect the specific events it needs to"},{"line_number":30,"context_line":"react to, and then leverages FRR to expose the routes towards the VMs, and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3bc0bcb6_04b990c4","line":27,"in_reply_to":"2ff065f4_e184dc86","updated":"2024-01-26 16:17:25.000000000","message":"if this is in the downstream documentation, that requires rewriting as it is not true: \"that runs in the ovn-controller container on each OSP Controller and Compute node\"\n\nThis does not run in the ovn-controller container, but in its own container","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":" .. note::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"     Note it is only intended for the N/S traffic, the E/W traffic will work"},{"line_number":39,"context_line":"     exactly the same as before, i.e., VMs are connected through geneve"},{"line_number":40,"context_line":"     tunnels."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"70d33225_42f36811","line":38,"updated":"2024-01-22 14:05:21.000000000","message":"`It` is ambiguous. Use `northbound OVN BGP agent` here.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":" .. note::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"     Note it is only intended for the N/S traffic, the E/W traffic will work"},{"line_number":39,"context_line":"     exactly the same as before, i.e., VMs are connected through geneve"},{"line_number":40,"context_line":"     tunnels."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"d73b288e_615c83cd","line":38,"in_reply_to":"70d33225_42f36811","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":43,"context_line":"The agent provides a multi-driver implementation that allows you to configure"},{"line_number":44,"context_line":"it for specific infrastructure running on top of OVN, for instance OpenStack"},{"line_number":45,"context_line":"or Kubernetes/OpenShift."},{"line_number":46,"context_line":"This simple design allows the agent to implement different drivers, depending"},{"line_number":47,"context_line":"on what OVN DB events are being watched (watchers examples at"},{"line_number":48,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"},{"line_number":49,"context_line":"triggered in reaction to them (drivers examples at"}],"source_content_type":"text/x-rst","patch_set":6,"id":"57e0bc7d_c562c9f1","line":46,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion: change the start of this paragraph to:\n\n\"This design simplicity enables the agent to implement....\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":43,"context_line":"The agent provides a multi-driver implementation that allows you to configure"},{"line_number":44,"context_line":"it for specific infrastructure running on top of OVN, for instance OpenStack"},{"line_number":45,"context_line":"or Kubernetes/OpenShift."},{"line_number":46,"context_line":"This simple design allows the agent to implement different drivers, depending"},{"line_number":47,"context_line":"on what OVN DB events are being watched (watchers examples at"},{"line_number":48,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"},{"line_number":49,"context_line":"triggered in reaction to them (drivers examples at"}],"source_content_type":"text/x-rst","patch_set":6,"id":"f56b9e7c_7aa92b35","line":46,"in_reply_to":"57e0bc7d_c562c9f1","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":50,"context_line":"``ovn_bgp_agent/drivers/openstack/XXXX_driver.py``, implementing the"},{"line_number":51,"context_line":"``ovn_bgp_agent/drivers/driver_api.py``)."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"A driver implements the support for BGP capabilities. It ensures both VMs and"},{"line_number":54,"context_line":"LBs on providers networks or with Floating IPs associated can be"},{"line_number":55,"context_line":"exposed throug BGP. In addition, VMs on tenant networks can be also exposed"},{"line_number":56,"context_line":"if the ``expose_tenant_network`` configuration option is enabled."}],"source_content_type":"text/x-rst","patch_set":6,"id":"574fa469_7cd85a72","line":53,"updated":"2024-01-22 14:05:21.000000000","message":"Suggest these changes:\n\n\"A driver implements the support for BGP capabilities. It ensures `that` both VMs and LBs on `provider` networks or `associated` Floating IPs `are` exposed `through` BGP.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":50,"context_line":"``ovn_bgp_agent/drivers/openstack/XXXX_driver.py``, implementing the"},{"line_number":51,"context_line":"``ovn_bgp_agent/drivers/driver_api.py``)."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"A driver implements the support for BGP capabilities. It ensures both VMs and"},{"line_number":54,"context_line":"LBs on providers networks or with Floating IPs associated can be"},{"line_number":55,"context_line":"exposed throug BGP. In addition, VMs on tenant networks can be also exposed"},{"line_number":56,"context_line":"if the ``expose_tenant_network`` configuration option is enabled."}],"source_content_type":"text/x-rst","patch_set":6,"id":"7c15d321_dc7cf5b9","line":53,"in_reply_to":"574fa469_7cd85a72","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"A driver implements the support for BGP capabilities. It ensures both VMs and"},{"line_number":54,"context_line":"LBs on providers networks or with Floating IPs associated can be"},{"line_number":55,"context_line":"exposed throug BGP. In addition, VMs on tenant networks can be also exposed"},{"line_number":56,"context_line":"if the ``expose_tenant_network`` configuration option is enabled."},{"line_number":57,"context_line":"To control what tenant networks are exposed another flag can be used:"},{"line_number":58,"context_line":"``address_scopes``. If not set, all the tenant networks will be exposed, while"}],"source_content_type":"text/x-rst","patch_set":6,"id":"e44271a5_2f49136f","line":55,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\nYou can affect VMs on tenant networks with these arguments:\n- ``expose_tenant_network`` - exposes VMs on tenant networks.\n- ``address_scopes`` - exposes only those tenant networks that match the one or more defined address scopes. When not set, all tenant network are exposed.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"A driver implements the support for BGP capabilities. It ensures both VMs and"},{"line_number":54,"context_line":"LBs on providers networks or with Floating IPs associated can be"},{"line_number":55,"context_line":"exposed throug BGP. In addition, VMs on tenant networks can be also exposed"},{"line_number":56,"context_line":"if the ``expose_tenant_network`` configuration option is enabled."},{"line_number":57,"context_line":"To control what tenant networks are exposed another flag can be used:"},{"line_number":58,"context_line":"``address_scopes``. If not set, all the tenant networks will be exposed, while"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a25743c_4fe35e7b","line":55,"in_reply_to":"e44271a5_2f49136f","updated":"2024-01-26 16:17:25.000000000","message":"the meaning of this is different. I\u0027ll keep the original one","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":59,"context_line":"if it is configured with a (set of) address_scopes, only the tenant networks"},{"line_number":60,"context_line":"whose address_scope matches will be exposed."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"A common driver API is defined exposing the next methods:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":65,"context_line":"  OVN ports."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1720ecbe_5c55716f","line":62,"range":{"start_line":62,"start_character":44,"end_line":62,"end_character":48},"updated":"2024-01-22 14:05:21.000000000","message":"Change `next` to `these`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":59,"context_line":"if it is configured with a (set of) address_scopes, only the tenant networks"},{"line_number":60,"context_line":"whose address_scope matches will be exposed."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"A common driver API is defined exposing the next methods:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":65,"context_line":"  OVN ports."}],"source_content_type":"text/x-rst","patch_set":6,"id":"6af13f0e_e0b38fdd","line":62,"range":{"start_line":62,"start_character":44,"end_line":62,"end_character":48},"in_reply_to":"1720ecbe_5c55716f","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"A common driver API is defined exposing the next methods:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":65,"context_line":"  OVN ports."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bb65f1f4_e1e69b18","line":64,"updated":"2024-01-22 14:05:21.000000000","message":"Remove \"used to\"\n\n- ``expose_ip`` and ``withdraw_ip``: exposes or withdraws IPs for local OVN ports.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"A common driver API is defined exposing the next methods:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":65,"context_line":"  OVN ports."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"}],"source_content_type":"text/x-rst","patch_set":6,"id":"71587079_9cd083c8","line":64,"in_reply_to":"bb65f1f4_e1e69b18","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":64,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":65,"context_line":"  OVN ports."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"},{"line_number":68,"context_line":"  through another node when the VM/Pod are running on a different node."},{"line_number":69,"context_line":"  For example for VMs on tenant networks where the traffic needs to be"},{"line_number":70,"context_line":"  injected through the OVN router gateway port."}],"source_content_type":"text/x-rst","patch_set":6,"id":"42090516_6c1416a8","line":67,"updated":"2024-01-22 14:05:21.000000000","message":"Remove \"used to\"\n\n ``expose_remote_ip`` and ``withdraw_remote_ip``: exposes or withdraws IPs\n  through another node when the VM or pods are running on a different node.\n  For example, `use` for VMs on tenant networks where the traffic needs to be\n  injected through the OVN router gateway port.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":64,"context_line":"- ``expose_ip`` and ``withdraw_ip``: used to expose/withdraw IPs for local"},{"line_number":65,"context_line":"  OVN ports."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- ``expose_remote_ip`` and ``withdraw_remote_ip``: use to expose/withdraw IPs"},{"line_number":68,"context_line":"  through another node when the VM/Pod are running on a different node."},{"line_number":69,"context_line":"  For example for VMs on tenant networks where the traffic needs to be"},{"line_number":70,"context_line":"  injected through the OVN router gateway port."}],"source_content_type":"text/x-rst","patch_set":6,"id":"8216f49a_7415aed3","line":67,"in_reply_to":"42090516_6c1416a8","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  For example for VMs on tenant networks where the traffic needs to be"},{"line_number":70,"context_line":"  injected through the OVN router gateway port."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"- ``expose_subnet`` and ``withdraw_subnet``: used to expose/withdraw subnets through"},{"line_number":73,"context_line":"  the local node."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"b6f33fbb_537d486a","line":72,"updated":"2024-01-22 14:05:21.000000000","message":"Remove \"used to\"\n\n`expose_subnet`` and ``withdraw_subnet``: exposes or withdraws subnets through\n  the local node.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  For example for VMs on tenant networks where the traffic needs to be"},{"line_number":70,"context_line":"  injected through the OVN router gateway port."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"- ``expose_subnet`` and ``withdraw_subnet``: used to expose/withdraw subnets through"},{"line_number":73,"context_line":"  the local node."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"d6bc43cb_9939f1c3","line":72,"in_reply_to":"b6f33fbb_537d486a","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"To support BGP functionality the NB OVN BGP Agent includes a new driver"},{"line_number":80,"context_line":"that performs the steps required for exposing the IPs through BGP on"},{"line_number":81,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":82,"context_line":"overlay. In order to configure this driver, the ``driver`` configuration"},{"line_number":83,"context_line":"option in the ``bgp-agent.conf`` file must be set to ``nb_ovn_bgp_driver``."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"d2cfd0cb_3af951be","line":81,"range":{"start_line":81,"start_character":4,"end_line":81,"end_character":9},"updated":"2024-01-22 14:05:21.000000000","message":"Replace \"right\" with \"correct\".","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"To support BGP functionality the NB OVN BGP Agent includes a new driver"},{"line_number":80,"context_line":"that performs the steps required for exposing the IPs through BGP on"},{"line_number":81,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":82,"context_line":"overlay. In order to configure this driver, the ``driver`` configuration"},{"line_number":83,"context_line":"option in the ``bgp-agent.conf`` file must be set to ``nb_ovn_bgp_driver``."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"afd6eb17_a2a85b82","line":81,"range":{"start_line":81,"start_character":4,"end_line":81,"end_character":9},"in_reply_to":"d2cfd0cb_3af951be","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":79,"context_line":"To support BGP functionality the NB OVN BGP Agent includes a new driver"},{"line_number":80,"context_line":"that performs the steps required for exposing the IPs through BGP on"},{"line_number":81,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":82,"context_line":"overlay. In order to configure this driver, the ``driver`` configuration"},{"line_number":83,"context_line":"option in the ``bgp-agent.conf`` file must be set to ``nb_ovn_bgp_driver``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"This driver requires a watcher to react to the BGP-related events."}],"source_content_type":"text/x-rst","patch_set":6,"id":"68fe0beb_ba6ffde7","line":82,"updated":"2024-01-22 14:05:21.000000000","message":"To configure the OVN BGP agent to use the northbound OVN BGP driver, in the ``bgp-agent.conf`` file, set the value of ``driver`` to ``nb_ovn_bgp_driver``.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":79,"context_line":"To support BGP functionality the NB OVN BGP Agent includes a new driver"},{"line_number":80,"context_line":"that performs the steps required for exposing the IPs through BGP on"},{"line_number":81,"context_line":"the right nodes and steering the traffic to/from the node from/to the OVN"},{"line_number":82,"context_line":"overlay. In order to configure this driver, the ``driver`` configuration"},{"line_number":83,"context_line":"option in the ``bgp-agent.conf`` file must be set to ``nb_ovn_bgp_driver``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"This driver requires a watcher to react to the BGP-related events."}],"source_content_type":"text/x-rst","patch_set":6,"id":"49c83b1c_2b3c7805","line":82,"in_reply_to":"68fe0beb_ba6ffde7","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":83,"context_line":"option in the ``bgp-agent.conf`` file must be set to ``nb_ovn_bgp_driver``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":86,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":87,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":88,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":89,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."}],"source_content_type":"text/x-rst","patch_set":6,"id":"880fb86a_f6b53c4d","line":86,"range":{"start_line":86,"start_character":30,"end_line":86,"end_character":34},"updated":"2024-01-22 14:05:21.000000000","message":"Whenever possible, we try to avoid future tense unless it\u0027s absolutely necessary.\n\n\"In this case, BGP actions are triggered by events related to....\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":83,"context_line":"option in the ``bgp-agent.conf`` file must be set to ``nb_ovn_bgp_driver``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":86,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":87,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":88,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":89,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9e66087a_f740bc72","line":86,"range":{"start_line":86,"start_character":30,"end_line":86,"end_character":34},"in_reply_to":"880fb86a_f6b53c4d","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":86,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":87,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":88,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":89,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9efc0278_4c96afbd","line":87,"range":{"start_line":87,"start_character":43,"end_line":87,"end_character":45},"updated":"2024-01-22 14:05:21.000000000","message":"SB DB is correct here?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":86,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":87,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":88,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":89,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"0b5fa2a8_3c9398fe","line":87,"range":{"start_line":87,"start_character":43,"end_line":87,"end_character":45},"in_reply_to":"9efc0278_4c96afbd","updated":"2024-01-26 16:17:25.000000000","message":"nice catch... it is not only that... but also the Port_Binding is wrong..","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":85,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":86,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":87,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":88,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":89,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Then, the agent performs some actions in order to ensure those VMs are"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f5fd843_1d69d9fc","line":88,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\"The information in these tables is modified when VMs and LBs are created and deleted, and when FIPs for them are associated and disassociated.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":85,"context_line":"This driver requires a watcher to react to the BGP-related events."},{"line_number":86,"context_line":"In this case, the BGP actions will be trigger by events related to"},{"line_number":87,"context_line":"``Port_Binding`` and ``Load_Balancer`` OVN SB DB tables."},{"line_number":88,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":89,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Then, the agent performs some actions in order to ensure those VMs are"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6b47ea5b_25460273","line":88,"in_reply_to":"1f5fd843_1d69d9fc","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":88,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":89,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Then, the agent performs some actions in order to ensure those VMs are"},{"line_number":92,"context_line":"reachable through BGP:"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"- Traffic between nodes or BGP Advertisement: These are the actions needed to"},{"line_number":95,"context_line":"  expose the BGP routes and make sure all the nodes know how to reach the"},{"line_number":96,"context_line":"  VM/LB IP on the nodes. This is exactly the same as in the initial OVN BGP"},{"line_number":97,"context_line":"  Driver (see :ref:`bgp_driver`)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"- Traffic within a node or redirecting traffic to/from OVN overlay (wiring):"},{"line_number":100,"context_line":"  These are the actions needed to redirect the traffic to/from a VM to the OVN"},{"line_number":101,"context_line":"  neutron networks, when traffic reaches the node where the VM is or in their"},{"line_number":102,"context_line":"  way out of the node."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"The code for the NB BGP driver is located at"},{"line_number":105,"context_line":"``drivers/openstack/nb_ovn_bgp_driver.py``, and its associated watcher can be"},{"line_number":106,"context_line":"found at ``drivers/openstack/watchers/nb_bgp_watcher.py``."}],"source_content_type":"text/x-rst","patch_set":6,"id":"931147f2_a33c7b4e","line":103,"range":{"start_line":91,"start_character":0,"end_line":103,"end_character":0},"updated":"2024-01-22 14:05:21.000000000","message":"Is it possible to simplify these paragraphs to the following?\n\n\"Then, the agent performs these actions to ensure the VMs are reachable through BGP:\n\n- Exposing BGP routes (BGP advertisement): enables nodes to reach the IP addresses for VMs and LBs.\n\n- Redirecting network traffic to and from the OVN overlay or within a node.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":88,"context_line":"The information in those tables gets modified by actions related to VMs or LBs"},{"line_number":89,"context_line":"creation/deletion, as well as FIPs association/disassociation to/from them."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Then, the agent performs some actions in order to ensure those VMs are"},{"line_number":92,"context_line":"reachable through BGP:"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"- Traffic between nodes or BGP Advertisement: These are the actions needed to"},{"line_number":95,"context_line":"  expose the BGP routes and make sure all the nodes know how to reach the"},{"line_number":96,"context_line":"  VM/LB IP on the nodes. This is exactly the same as in the initial OVN BGP"},{"line_number":97,"context_line":"  Driver (see :ref:`bgp_driver`)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"- Traffic within a node or redirecting traffic to/from OVN overlay (wiring):"},{"line_number":100,"context_line":"  These are the actions needed to redirect the traffic to/from a VM to the OVN"},{"line_number":101,"context_line":"  neutron networks, when traffic reaches the node where the VM is or in their"},{"line_number":102,"context_line":"  way out of the node."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"The code for the NB BGP driver is located at"},{"line_number":105,"context_line":"``drivers/openstack/nb_ovn_bgp_driver.py``, and its associated watcher can be"},{"line_number":106,"context_line":"found at ``drivers/openstack/watchers/nb_bgp_watcher.py``."}],"source_content_type":"text/x-rst","patch_set":6,"id":"c84c0cc1_1b5809c4","line":103,"range":{"start_line":91,"start_character":0,"end_line":103,"end_character":0},"in_reply_to":"931147f2_a33c7b4e","updated":"2024-01-26 16:17:25.000000000","message":"I prefer the long version here","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":121,"context_line":"OVN NB DB Events"},{"line_number":122,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"The watcher associated to the NB BGP driver detect the relevant events on the"},{"line_number":125,"context_line":"OVN NB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":126,"context_line":"networking accordingly."},{"line_number":127,"context_line":"The following events are watched and handled by the BGP watcher:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ad84ca27_d410220e","line":124,"range":{"start_line":124,"start_character":0,"end_line":124,"end_character":77},"updated":"2024-01-22 14:05:21.000000000","message":"\"The watcher associated *with* the BGP driver *detects* the relevant....\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":121,"context_line":"OVN NB DB Events"},{"line_number":122,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"The watcher associated to the NB BGP driver detect the relevant events on the"},{"line_number":125,"context_line":"OVN NB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":126,"context_line":"networking accordingly."},{"line_number":127,"context_line":"The following events are watched and handled by the BGP watcher:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fafef696_9e49af49","line":124,"range":{"start_line":124,"start_character":0,"end_line":124,"end_character":77},"in_reply_to":"ad84ca27_d410220e","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":137,"context_line":"  .. note::"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"     If ``expose_tenant_networks`` flag is enabled, it does not matter the"},{"line_number":140,"context_line":"     status of ``expose_ipv6_gua_tenant_networks``, as all the tenant IPs"},{"line_number":141,"context_line":"     will be advertized."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"The NB BGP watcher detects OVN Northbound Database events at the tables:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d2965778_248a5ae1","line":141,"range":{"start_line":140,"start_character":52,"end_line":141,"end_character":24},"updated":"2024-01-22 14:05:21.000000000","message":"Avoid future tense when possible:\n\"...as all the tenant IPs `are` advertised.\"\n\nchange `z` to `s` in `advertized`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":137,"context_line":"  .. note::"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"     If ``expose_tenant_networks`` flag is enabled, it does not matter the"},{"line_number":140,"context_line":"     status of ``expose_ipv6_gua_tenant_networks``, as all the tenant IPs"},{"line_number":141,"context_line":"     will be advertized."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"The NB BGP watcher detects OVN Northbound Database events at the tables:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"8ec8e9d3_8dae8495","line":141,"range":{"start_line":140,"start_character":52,"end_line":141,"end_character":24},"in_reply_to":"d2965778_248a5ae1","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"- ``Load_Balancer``"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Basides the previously existing ``OVNLBEvent`` class, it creates new"},{"line_number":153,"context_line":"event classes named ``LSPChassisEvent`` and ``LRPChassisEvent`` that"},{"line_number":154,"context_line":"all the events watched for NB BGP driver use as the base (inherit from)."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fc419f15_8b1348dd","line":152,"range":{"start_line":152,"start_character":0,"end_line":152,"end_character":7},"updated":"2024-01-22 14:05:21.000000000","message":"`Besides`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"- ``Load_Balancer``"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Basides the previously existing ``OVNLBEvent`` class, it creates new"},{"line_number":153,"context_line":"event classes named ``LSPChassisEvent`` and ``LRPChassisEvent`` that"},{"line_number":154,"context_line":"all the events watched for NB BGP driver use as the base (inherit from)."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fc293e58_5a660daa","line":152,"range":{"start_line":152,"start_character":54,"end_line":152,"end_character":56},"updated":"2024-01-22 14:05:21.000000000","message":"`it` \u003d `The NB BGP watcher`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"- ``Load_Balancer``"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Basides the previously existing ``OVNLBEvent`` class, it creates new"},{"line_number":153,"context_line":"event classes named ``LSPChassisEvent`` and ``LRPChassisEvent`` that"},{"line_number":154,"context_line":"all the events watched for NB BGP driver use as the base (inherit from)."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1caa384b_4f258b67","line":152,"range":{"start_line":152,"start_character":54,"end_line":152,"end_character":56},"in_reply_to":"fc293e58_5a660daa","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"- ``Load_Balancer``"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Basides the previously existing ``OVNLBEvent`` class, it creates new"},{"line_number":153,"context_line":"event classes named ``LSPChassisEvent`` and ``LRPChassisEvent`` that"},{"line_number":154,"context_line":"all the events watched for NB BGP driver use as the base (inherit from)."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ae247cbc_de993744","line":152,"range":{"start_line":152,"start_character":0,"end_line":152,"end_character":7},"in_reply_to":"fc419f15_8b1348dd","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":153,"context_line":"event classes named ``LSPChassisEvent`` and ``LRPChassisEvent`` that"},{"line_number":154,"context_line":"all the events watched for NB BGP driver use as the base (inherit from)."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"The specific defined events to react to are:"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"- ``LogicalSwitchPortProviderCreateEvent``: Detects when a logical switch port"},{"line_number":159,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual`` gets attached to the OVN"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4a3a3a7c_a68e7975","line":156,"range":{"start_line":156,"start_character":0,"end_line":156,"end_character":44},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"The NB BGP watcher reacts to the following events:\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":153,"context_line":"event classes named ``LSPChassisEvent`` and ``LRPChassisEvent`` that"},{"line_number":154,"context_line":"all the events watched for NB BGP driver use as the base (inherit from)."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"The specific defined events to react to are:"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"- ``LogicalSwitchPortProviderCreateEvent``: Detects when a logical switch port"},{"line_number":159,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual`` gets attached to the OVN"}],"source_content_type":"text/x-rst","patch_set":6,"id":"70b026a3_934c9f28","line":156,"range":{"start_line":156,"start_character":0,"end_line":156,"end_character":44},"in_reply_to":"4a3a3a7c_a68e7975","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"- ``LogicalSwitchPortProviderCreateEvent``: Detects when a logical switch port"},{"line_number":159,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual`` gets attached to the OVN"},{"line_number":160,"context_line":"  chassis where the agent is running and it is up. This is the case for VM or"},{"line_number":161,"context_line":"  amphora LB ports on the provider networks. It calls ``expose_ip`` driver"},{"line_number":162,"context_line":"  method to perform the needed actions to expose it (wire + advertize). It is"},{"line_number":163,"context_line":"  also triggered for VM or amphora LB ports on tenant networks, but in this"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b09e2e94_2508eb1a","line":160,"range":{"start_line":160,"start_character":41,"end_line":160,"end_character":49},"updated":"2024-01-22 14:05:21.000000000","message":"\"...and it is up.\" `it` is the port, or the agent? \n\nIs it important to state the it is up?\n\nIf so, maybe write?\n\"...and whether the agent is up.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"- ``LogicalSwitchPortProviderCreateEvent``: Detects when a logical switch port"},{"line_number":159,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual`` gets attached to the OVN"},{"line_number":160,"context_line":"  chassis where the agent is running and it is up. This is the case for VM or"},{"line_number":161,"context_line":"  amphora LB ports on the provider networks. It calls ``expose_ip`` driver"},{"line_number":162,"context_line":"  method to perform the needed actions to expose it (wire + advertize). It is"},{"line_number":163,"context_line":"  also triggered for VM or amphora LB ports on tenant networks, but in this"}],"source_content_type":"text/x-rst","patch_set":6,"id":"70328796_fa5d9185","line":160,"range":{"start_line":160,"start_character":51,"end_line":160,"end_character":55},"updated":"2024-01-22 14:05:21.000000000","message":"How about this rewrite?\n\n\"- ``LogicalSwitchPortProviderCreateEvent``: Detects when a VM or an amphora LB port, logical switch ports of type ``\"\"`` (empty double-qoutes) or ``virtual``, comes up or gets attached to the OVN chassis where the agent is running. If the ports are on a provider network, then the driver calls the ``expose_ip`` driver method to perform the needed actions to expose the port (wire and advertise). If the port is on a tenant network, the driver dismisses the event.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"- ``LogicalSwitchPortProviderCreateEvent``: Detects when a logical switch port"},{"line_number":159,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual`` gets attached to the OVN"},{"line_number":160,"context_line":"  chassis where the agent is running and it is up. This is the case for VM or"},{"line_number":161,"context_line":"  amphora LB ports on the provider networks. It calls ``expose_ip`` driver"},{"line_number":162,"context_line":"  method to perform the needed actions to expose it (wire + advertize). It is"},{"line_number":163,"context_line":"  also triggered for VM or amphora LB ports on tenant networks, but in this"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a675c128_f070dde0","line":160,"range":{"start_line":160,"start_character":51,"end_line":160,"end_character":55},"in_reply_to":"70328796_fa5d9185","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"- ``LogicalSwitchPortProviderCreateEvent``: Detects when a logical switch port"},{"line_number":159,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual`` gets attached to the OVN"},{"line_number":160,"context_line":"  chassis where the agent is running and it is up. This is the case for VM or"},{"line_number":161,"context_line":"  amphora LB ports on the provider networks. It calls ``expose_ip`` driver"},{"line_number":162,"context_line":"  method to perform the needed actions to expose it (wire + advertize). It is"},{"line_number":163,"context_line":"  also triggered for VM or amphora LB ports on tenant networks, but in this"}],"source_content_type":"text/x-rst","patch_set":6,"id":"60986231_58bea99b","line":160,"range":{"start_line":160,"start_character":41,"end_line":160,"end_character":49},"in_reply_to":"b09e2e94_2508eb1a","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":164,"context_line":"  case the driver logic will dismiss the event once it checks it is not in a"},{"line_number":165,"context_line":"  provider network."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"- ``LogicalSwitchPortProviderDeleteEvent``: Detects when a logical switch port"},{"line_number":168,"context_line":"  of type ``\"\"`` (empty double-quotes) or ``virtual`` gets detached from the"},{"line_number":169,"context_line":"  OVN chassis where the agent is running or stop being up. This is the case"},{"line_number":170,"context_line":"  for VM or amphora LB ports on the provider networks. It calls ``withdraw_ip``"},{"line_number":171,"context_line":"  driver method to perform the needed actions to withdraw the exposed BGP"},{"line_number":172,"context_line":"  route (withdraw + unwire). It is also triggered by VM or amphora LB ports"},{"line_number":173,"context_line":"  on tenant networks but the driver logic dismiss the event once it checks"},{"line_number":174,"context_line":"  the associated network is not a provider network."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"- ``LogicalSwitchPortFIPCreateEvent``: Similar to"},{"line_number":177,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but focusing on the changes on the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"db31c6c1_4b269f6d","line":174,"range":{"start_line":167,"start_character":0,"end_line":174,"end_character":51},"updated":"2024-01-22 14:05:21.000000000","message":"How about this rewrite?\n\n\"- ``LogicalSwitchPortProviderDeleteEvent``: Detects when a VM or an amphora LB port, logical switch ports of type \"\" (empty double-qoutes) or virtual, goes down or gets detached from the OVN chassis where the agent is running. If the ports are on a provider network, then the driver calls the ``withdraw_ip`` driver method to perform the needed actions to withdraw the port (withdraw and unwire). If the port is on a tenant network, the driver dismisses the event.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":164,"context_line":"  case the driver logic will dismiss the event once it checks it is not in a"},{"line_number":165,"context_line":"  provider network."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"- ``LogicalSwitchPortProviderDeleteEvent``: Detects when a logical switch port"},{"line_number":168,"context_line":"  of type ``\"\"`` (empty double-quotes) or ``virtual`` gets detached from the"},{"line_number":169,"context_line":"  OVN chassis where the agent is running or stop being up. This is the case"},{"line_number":170,"context_line":"  for VM or amphora LB ports on the provider networks. It calls ``withdraw_ip``"},{"line_number":171,"context_line":"  driver method to perform the needed actions to withdraw the exposed BGP"},{"line_number":172,"context_line":"  route (withdraw + unwire). It is also triggered by VM or amphora LB ports"},{"line_number":173,"context_line":"  on tenant networks but the driver logic dismiss the event once it checks"},{"line_number":174,"context_line":"  the associated network is not a provider network."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"- ``LogicalSwitchPortFIPCreateEvent``: Similar to"},{"line_number":177,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but focusing on the changes on the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0c32a35e_a3f6742a","line":174,"range":{"start_line":167,"start_character":0,"end_line":174,"end_character":51},"in_reply_to":"db31c6c1_4b269f6d","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"- ``LogicalSwitchPortFIPCreateEvent``: Similar to"},{"line_number":177,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but focusing on the changes on the"},{"line_number":178,"context_line":"  FIP information on the Logical Switch Port external_ids."},{"line_number":179,"context_line":"  It calls ``expose_fip`` driver method to perform the needed actions to expose"},{"line_number":180,"context_line":"  the floating IP (wire + advertize)."},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"93595a2d_a0fa4b88","line":178,"range":{"start_line":178,"start_character":45,"end_line":178,"end_character":57},"updated":"2024-01-22 14:05:21.000000000","message":"If this is an object, use backticks ``external_ids``. Otherwise, remove underscore and uppercase `id` external IDs.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"- ``LogicalSwitchPortFIPCreateEvent``: Similar to"},{"line_number":177,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but focusing on the changes on the"},{"line_number":178,"context_line":"  FIP information on the Logical Switch Port external_ids."},{"line_number":179,"context_line":"  It calls ``expose_fip`` driver method to perform the needed actions to expose"},{"line_number":180,"context_line":"  the floating IP (wire + advertize)."},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"51405861_d83e39d9","line":178,"range":{"start_line":178,"start_character":45,"end_line":178,"end_character":57},"in_reply_to":"93595a2d_a0fa4b88","updated":"2024-01-26 16:17:25.000000000","message":"it is one of the rows on the OVN DB entry","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":177,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but focusing on the changes on the"},{"line_number":178,"context_line":"  FIP information on the Logical Switch Port external_ids."},{"line_number":179,"context_line":"  It calls ``expose_fip`` driver method to perform the needed actions to expose"},{"line_number":180,"context_line":"  the floating IP (wire + advertize)."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"- ``LogicalSwitchPortFIPDeleteEvent``: Same as previous one but for withdrawing"},{"line_number":183,"context_line":"  FIPs. In this case it is similar to ``LogicalSwitchPortProviderDeleteEvent``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ca34ebf7_2b06bd33","line":180,"range":{"start_line":180,"start_character":24,"end_line":180,"end_character":25},"updated":"2024-01-22 14:05:21.000000000","message":"suggest replacing `+` with the word `and`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":177,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but focusing on the changes on the"},{"line_number":178,"context_line":"  FIP information on the Logical Switch Port external_ids."},{"line_number":179,"context_line":"  It calls ``expose_fip`` driver method to perform the needed actions to expose"},{"line_number":180,"context_line":"  the floating IP (wire + advertize)."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"- ``LogicalSwitchPortFIPDeleteEvent``: Same as previous one but for withdrawing"},{"line_number":183,"context_line":"  FIPs. In this case it is similar to ``LogicalSwitchPortProviderDeleteEvent``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d9933924_89ae669e","line":180,"range":{"start_line":180,"start_character":24,"end_line":180,"end_character":25},"in_reply_to":"ca34ebf7_2b06bd33","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"- ``LogicalSwitchPortFIPDeleteEvent``: Same as previous one but for withdrawing"},{"line_number":183,"context_line":"  FIPs. In this case it is similar to ``LogicalSwitchPortProviderDeleteEvent``"},{"line_number":184,"context_line":"  but callint to ``withdraw_fip`` driver method to perform the needed actions"},{"line_number":185,"context_line":"  to withdraw the floating IP (Withdraw + unwire)."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"- ``LocalnetCreateDeleteEvent``: Detects creation/deletion of OVN localnet"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a4cb15ce_d1ef6d7b","line":184,"range":{"start_line":184,"start_character":6,"end_line":184,"end_character":13},"updated":"2024-01-22 14:05:21.000000000","message":"but `instead calls` the ``withdraw_fip`` driver method to...","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"- ``LogicalSwitchPortFIPDeleteEvent``: Same as previous one but for withdrawing"},{"line_number":183,"context_line":"  FIPs. In this case it is similar to ``LogicalSwitchPortProviderDeleteEvent``"},{"line_number":184,"context_line":"  but callint to ``withdraw_fip`` driver method to perform the needed actions"},{"line_number":185,"context_line":"  to withdraw the floating IP (Withdraw + unwire)."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"- ``LocalnetCreateDeleteEvent``: Detects creation/deletion of OVN localnet"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c090cfb2_bdccf64e","line":184,"range":{"start_line":184,"start_character":6,"end_line":184,"end_character":13},"in_reply_to":"a4cb15ce_d1ef6d7b","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":191,"context_line":"  configurations."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"- ``ChassisRedirectCreateEvent``: Similar to"},{"line_number":194,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but for OVN gateway ports (cr-lrps)."},{"line_number":195,"context_line":"  Therefore focusing on Logical Router Ports instead of Logical Switch Ports."},{"line_number":196,"context_line":"  It also calls the ``expose_ip`` which would do some extra steps to also"},{"line_number":197,"context_line":"  expose IPs related to that cr-lrps, such as the ovn-lb or IPS in tenant"},{"line_number":198,"context_line":"  networks. The match checks the chassis information at the status field, which"},{"line_number":199,"context_line":"  requires ovn23.09 or newer."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"- ``ChassisRedirectDeleteEvent``: Same as the previous one but for withdrawal."},{"line_number":202,"context_line":"  This is similar to ``LogicalSwitchPortProviderDeleteEvent`` but for OVN"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3c1d2e68_fab221cc","line":199,"range":{"start_line":194,"start_character":2,"end_line":199,"end_character":29},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n- ``ChassisRedirectCreateEvent``: Similar to ``LogicalSwitchPortProviderCreateEvent`` but with the focus on logical router ports, such as the OVN gateway ports (cr-lrps), instead of logical switch ports. The driver calls ``expose_ip`` which performs additional steps to also expose IPs related to the ``cr-lrps``, such as the ``ovn-lb`` or IPs in tenant networks. The driver (?) checks the chassis information in the status field, which must be ``ovn23.09`` or later.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":191,"context_line":"  configurations."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"- ``ChassisRedirectCreateEvent``: Similar to"},{"line_number":194,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but for OVN gateway ports (cr-lrps)."},{"line_number":195,"context_line":"  Therefore focusing on Logical Router Ports instead of Logical Switch Ports."},{"line_number":196,"context_line":"  It also calls the ``expose_ip`` which would do some extra steps to also"},{"line_number":197,"context_line":"  expose IPs related to that cr-lrps, such as the ovn-lb or IPS in tenant"},{"line_number":198,"context_line":"  networks. The match checks the chassis information at the status field, which"},{"line_number":199,"context_line":"  requires ovn23.09 or newer."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"- ``ChassisRedirectDeleteEvent``: Same as the previous one but for withdrawal."},{"line_number":202,"context_line":"  This is similar to ``LogicalSwitchPortProviderDeleteEvent`` but for OVN"}],"source_content_type":"text/x-rst","patch_set":6,"id":"495bab8b_03c81267","line":199,"range":{"start_line":194,"start_character":2,"end_line":199,"end_character":29},"in_reply_to":"3c1d2e68_fab221cc","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":198,"context_line":"  networks. The match checks the chassis information at the status field, which"},{"line_number":199,"context_line":"  requires ovn23.09 or newer."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"- ``ChassisRedirectDeleteEvent``: Same as the previous one but for withdrawal."},{"line_number":202,"context_line":"  This is similar to ``LogicalSwitchPortProviderDeleteEvent`` but for OVN"},{"line_number":203,"context_line":"  gateway port (cr-lrps). Therefore focusing on Logical Router Ports instead"},{"line_number":204,"context_line":"  of Logical Switch Ports. It calls ``withdraw_ip``. The match checks the"},{"line_number":205,"context_line":"  chassis information at the status field, which requires ovn23.09 or newer."},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"- ``LogicalSwitchPortSubnetAttachEvent``: Detects Logical Switch Ports of type"},{"line_number":208,"context_line":"  ``router`` (connecting Logical Switch to Logical Router) and check if the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"781f8a12_89f11e36","line":205,"range":{"start_line":201,"start_character":2,"end_line":205,"end_character":76},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n- ``ChassisRedirectDeleteEvent``: Similar to`LogicalSwitchPortProviderDeleteEvent`` but with the focus on logical router ports, such as the OVN gateway ports (cr-lrps), instead of logical switch ports. The driver calls ``withdraw_ip`` which performs additional steps to also withdraw IPs related to the cr-lrps, such as the ovn-lb or IPs in tenant networks. The driver (?) checks the chassis information in the status field, which must be ovn23.09 or later.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":198,"context_line":"  networks. The match checks the chassis information at the status field, which"},{"line_number":199,"context_line":"  requires ovn23.09 or newer."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"- ``ChassisRedirectDeleteEvent``: Same as the previous one but for withdrawal."},{"line_number":202,"context_line":"  This is similar to ``LogicalSwitchPortProviderDeleteEvent`` but for OVN"},{"line_number":203,"context_line":"  gateway port (cr-lrps). Therefore focusing on Logical Router Ports instead"},{"line_number":204,"context_line":"  of Logical Switch Ports. It calls ``withdraw_ip``. The match checks the"},{"line_number":205,"context_line":"  chassis information at the status field, which requires ovn23.09 or newer."},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"- ``LogicalSwitchPortSubnetAttachEvent``: Detects Logical Switch Ports of type"},{"line_number":208,"context_line":"  ``router`` (connecting Logical Switch to Logical Router) and check if the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9e1b9db5_6a41f01a","line":205,"range":{"start_line":201,"start_character":2,"end_line":205,"end_character":76},"in_reply_to":"781f8a12_89f11e36","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":205,"context_line":"  chassis information at the status field, which requires ovn23.09 or newer."},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"- ``LogicalSwitchPortSubnetAttachEvent``: Detects Logical Switch Ports of type"},{"line_number":208,"context_line":"  ``router`` (connecting Logical Switch to Logical Router) and check if the"},{"line_number":209,"context_line":"  associated router is associated to the local chassis, i.e., if the CR-LRP of"},{"line_number":210,"context_line":"  the router is located in the local chassis. If that is the case the"},{"line_number":211,"context_line":"  ``expose_subnet`` driver method is called which is in charge of the wiring"}],"source_content_type":"text/x-rst","patch_set":6,"id":"19ede206_e44d1d84","line":208,"range":{"start_line":208,"start_character":63,"end_line":208,"end_character":68},"updated":"2024-01-22 14:05:21.000000000","message":"`checks`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":205,"context_line":"  chassis information at the status field, which requires ovn23.09 or newer."},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"- ``LogicalSwitchPortSubnetAttachEvent``: Detects Logical Switch Ports of type"},{"line_number":208,"context_line":"  ``router`` (connecting Logical Switch to Logical Router) and check if the"},{"line_number":209,"context_line":"  associated router is associated to the local chassis, i.e., if the CR-LRP of"},{"line_number":210,"context_line":"  the router is located in the local chassis. If that is the case the"},{"line_number":211,"context_line":"  ``expose_subnet`` driver method is called which is in charge of the wiring"}],"source_content_type":"text/x-rst","patch_set":6,"id":"03063b33_872b722a","line":208,"range":{"start_line":208,"start_character":63,"end_line":208,"end_character":68},"in_reply_to":"19ede206_e44d1d84","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":207,"context_line":"- ``LogicalSwitchPortSubnetAttachEvent``: Detects Logical Switch Ports of type"},{"line_number":208,"context_line":"  ``router`` (connecting Logical Switch to Logical Router) and check if the"},{"line_number":209,"context_line":"  associated router is associated to the local chassis, i.e., if the CR-LRP of"},{"line_number":210,"context_line":"  the router is located in the local chassis. If that is the case the"},{"line_number":211,"context_line":"  ``expose_subnet`` driver method is called which is in charge of the wiring"},{"line_number":212,"context_line":"  needed for the IPs on that subnet (set of IP routes and rules)."},{"line_number":213,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"995c833c_8ca26f22","line":210,"range":{"start_line":210,"start_character":61,"end_line":210,"end_character":65},"updated":"2024-01-22 14:05:21.000000000","message":"add a comma:\n\nif that is the case`, ` the....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":207,"context_line":"- ``LogicalSwitchPortSubnetAttachEvent``: Detects Logical Switch Ports of type"},{"line_number":208,"context_line":"  ``router`` (connecting Logical Switch to Logical Router) and check if the"},{"line_number":209,"context_line":"  associated router is associated to the local chassis, i.e., if the CR-LRP of"},{"line_number":210,"context_line":"  the router is located in the local chassis. If that is the case the"},{"line_number":211,"context_line":"  ``expose_subnet`` driver method is called which is in charge of the wiring"},{"line_number":212,"context_line":"  needed for the IPs on that subnet (set of IP routes and rules)."},{"line_number":213,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"180af85c_de006929","line":210,"range":{"start_line":210,"start_character":61,"end_line":210,"end_character":65},"in_reply_to":"995c833c_8ca26f22","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":212,"context_line":"  needed for the IPs on that subnet (set of IP routes and rules)."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"- ``LogicalSwitchPortSubnetDetachEvent``: Same as the previous one but for"},{"line_number":215,"context_line":"  unwiring the subnet, so it is calling ``withdraw_subnet`` driver method."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"- ``LogicalSwitchPortTenantCreateEvent``: Detects when a logical switch port"},{"line_number":218,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual``, similarly to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d46e91ac_73f3785e","line":215,"range":{"start_line":215,"start_character":39,"end_line":215,"end_character":40},"updated":"2024-01-22 14:05:21.000000000","message":"calling `the` ``withdraw_subnet`` driver method.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":212,"context_line":"  needed for the IPs on that subnet (set of IP routes and rules)."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"- ``LogicalSwitchPortSubnetDetachEvent``: Same as the previous one but for"},{"line_number":215,"context_line":"  unwiring the subnet, so it is calling ``withdraw_subnet`` driver method."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"- ``LogicalSwitchPortTenantCreateEvent``: Detects when a logical switch port"},{"line_number":218,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual``, similarly to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ede8045b_1dd270e3","line":215,"range":{"start_line":215,"start_character":39,"end_line":215,"end_character":40},"in_reply_to":"d46e91ac_73f3785e","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":215,"context_line":"  unwiring the subnet, so it is calling ``withdraw_subnet`` driver method."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"- ``LogicalSwitchPortTenantCreateEvent``: Detects when a logical switch port"},{"line_number":218,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual``, similarly to"},{"line_number":219,"context_line":"  ``LogicalSwitchPortProviderCreateEvent``. It checks if the network associated"},{"line_number":220,"context_line":"  to the VM is exposed in the local chassis (meaning its cr-lrp is also local)."},{"line_number":221,"context_line":"  If that is the case, it calls ``expose_remote_ip``, which is in charge of the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3b7265e7_8217434a","line":218,"range":{"start_line":218,"start_character":55,"end_line":218,"end_character":64},"updated":"2024-01-22 14:05:21.000000000","message":"`similar` to","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":215,"context_line":"  unwiring the subnet, so it is calling ``withdraw_subnet`` driver method."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"- ``LogicalSwitchPortTenantCreateEvent``: Detects when a logical switch port"},{"line_number":218,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual``, similarly to"},{"line_number":219,"context_line":"  ``LogicalSwitchPortProviderCreateEvent``. It checks if the network associated"},{"line_number":220,"context_line":"  to the VM is exposed in the local chassis (meaning its cr-lrp is also local)."},{"line_number":221,"context_line":"  If that is the case, it calls ``expose_remote_ip``, which is in charge of the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"cdca1bec_31fc0bc3","line":218,"range":{"start_line":218,"start_character":55,"end_line":218,"end_character":64},"in_reply_to":"3b7265e7_8217434a","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":218,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual``, similarly to"},{"line_number":219,"context_line":"  ``LogicalSwitchPortProviderCreateEvent``. It checks if the network associated"},{"line_number":220,"context_line":"  to the VM is exposed in the local chassis (meaning its cr-lrp is also local)."},{"line_number":221,"context_line":"  If that is the case, it calls ``expose_remote_ip``, which is in charge of the"},{"line_number":222,"context_line":"  advertising of the IP -- there is no need for wiring, as that is done when"},{"line_number":223,"context_line":"  the subnet is exposed by ``LogicalSwitchPortSubnetAttachEvent`` event."},{"line_number":224,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9f27d67a_45958e85","line":221,"range":{"start_line":221,"start_character":60,"end_line":221,"end_character":72},"updated":"2024-01-22 14:05:21.000000000","message":"instead of `is in charge of` use `manages`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":218,"context_line":"  of type ``\"\"`` (empty double-qoutes) or ``virtual``, similarly to"},{"line_number":219,"context_line":"  ``LogicalSwitchPortProviderCreateEvent``. It checks if the network associated"},{"line_number":220,"context_line":"  to the VM is exposed in the local chassis (meaning its cr-lrp is also local)."},{"line_number":221,"context_line":"  If that is the case, it calls ``expose_remote_ip``, which is in charge of the"},{"line_number":222,"context_line":"  advertising of the IP -- there is no need for wiring, as that is done when"},{"line_number":223,"context_line":"  the subnet is exposed by ``LogicalSwitchPortSubnetAttachEvent`` event."},{"line_number":224,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"96ebfcbe_bfe2f6fa","line":221,"range":{"start_line":221,"start_character":60,"end_line":221,"end_character":72},"in_reply_to":"9f27d67a_45958e85","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":222,"context_line":"  advertising of the IP -- there is no need for wiring, as that is done when"},{"line_number":223,"context_line":"  the subnet is exposed by ``LogicalSwitchPortSubnetAttachEvent`` event."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"- ``LogicalSwitchPortTenantDeleteEvent``: Same as the previous one but for"},{"line_number":226,"context_line":"  withdrawing IPs. Calling ``withdraw_remote_ips``."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"- ``OVNLBCreateEvent``: Detects Load_Balancer events. It only processes them if"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c6861b0d_cab6000c","line":225,"range":{"start_line":225,"start_character":42,"end_line":225,"end_character":66},"updated":"2024-01-22 14:05:21.000000000","message":"Suggest:\n\nSimilar to `LogicalSwitchPortProviderCreateEvent` but for....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":222,"context_line":"  advertising of the IP -- there is no need for wiring, as that is done when"},{"line_number":223,"context_line":"  the subnet is exposed by ``LogicalSwitchPortSubnetAttachEvent`` event."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"- ``LogicalSwitchPortTenantDeleteEvent``: Same as the previous one but for"},{"line_number":226,"context_line":"  withdrawing IPs. Calling ``withdraw_remote_ips``."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"- ``OVNLBCreateEvent``: Detects Load_Balancer events. It only processes them if"}],"source_content_type":"text/x-rst","patch_set":6,"id":"be383891_c3c1fc17","line":225,"range":{"start_line":225,"start_character":42,"end_line":225,"end_character":66},"in_reply_to":"c6861b0d_cab6000c","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":225,"context_line":"- ``LogicalSwitchPortTenantDeleteEvent``: Same as the previous one but for"},{"line_number":226,"context_line":"  withdrawing IPs. Calling ``withdraw_remote_ips``."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"- ``OVNLBCreateEvent``: Detects Load_Balancer events. It only processes them if"},{"line_number":229,"context_line":"  the Load_Balancer entry has vips associated and the router associated with"},{"line_number":230,"context_line":"  it is local to the chassis. It calls ``expose_ovn_lb_vip`` if the VIP or the"},{"line_number":231,"context_line":"  router has been added. This depending on the VIP being on a provider network"},{"line_number":232,"context_line":"  or in a tenant network it will either wire + expose or simply expose. If what"},{"line_number":233,"context_line":"  was added was the ``vip_fip`` information, then the method call is"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6e9d254b_33358cd6","line":230,"range":{"start_line":228,"start_character":24,"end_line":230,"end_character":29},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"Detects ``Load_Balancer`` events and processes them only if the ``Load_Balancer`` entry has associated VIPs and the router is local to the chassis.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":225,"context_line":"- ``LogicalSwitchPortTenantDeleteEvent``: Same as the previous one but for"},{"line_number":226,"context_line":"  withdrawing IPs. Calling ``withdraw_remote_ips``."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"- ``OVNLBCreateEvent``: Detects Load_Balancer events. It only processes them if"},{"line_number":229,"context_line":"  the Load_Balancer entry has vips associated and the router associated with"},{"line_number":230,"context_line":"  it is local to the chassis. It calls ``expose_ovn_lb_vip`` if the VIP or the"},{"line_number":231,"context_line":"  router has been added. This depending on the VIP being on a provider network"},{"line_number":232,"context_line":"  or in a tenant network it will either wire + expose or simply expose. If what"},{"line_number":233,"context_line":"  was added was the ``vip_fip`` information, then the method call is"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7ba44076_6961551c","line":230,"range":{"start_line":228,"start_character":24,"end_line":230,"end_character":29},"in_reply_to":"6e9d254b_33358cd6","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":228,"context_line":"- ``OVNLBCreateEvent``: Detects Load_Balancer events. It only processes them if"},{"line_number":229,"context_line":"  the Load_Balancer entry has vips associated and the router associated with"},{"line_number":230,"context_line":"  it is local to the chassis. It calls ``expose_ovn_lb_vip`` if the VIP or the"},{"line_number":231,"context_line":"  router has been added. This depending on the VIP being on a provider network"},{"line_number":232,"context_line":"  or in a tenant network it will either wire + expose or simply expose. If what"},{"line_number":233,"context_line":"  was added was the ``vip_fip`` information, then the method call is"},{"line_number":234,"context_line":"  ``expose_ovn_lb_fip``, which makes the wiring + expose in the same way as for"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d0d1a98c_02c3d041","line":231,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"If the VIP or router is added to a provider network, the driver calls ``expose_ovn_lb_vip`` to expose and wire the VIP or router. If the VIP or router is added to a tenant network, the driver calls ``expose_ovn_lb_vip`` to only expose the VIP or router. If a floating IP is added, then the driver calls ``expose_ovn_lb_fip`` to expose and wire the FIP.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":228,"context_line":"- ``OVNLBCreateEvent``: Detects Load_Balancer events. It only processes them if"},{"line_number":229,"context_line":"  the Load_Balancer entry has vips associated and the router associated with"},{"line_number":230,"context_line":"  it is local to the chassis. It calls ``expose_ovn_lb_vip`` if the VIP or the"},{"line_number":231,"context_line":"  router has been added. This depending on the VIP being on a provider network"},{"line_number":232,"context_line":"  or in a tenant network it will either wire + expose or simply expose. If what"},{"line_number":233,"context_line":"  was added was the ``vip_fip`` information, then the method call is"},{"line_number":234,"context_line":"  ``expose_ovn_lb_fip``, which makes the wiring + expose in the same way as for"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6cc76d6b_597c9dc5","line":231,"in_reply_to":"d0d1a98c_02c3d041","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":234,"context_line":"  ``expose_ovn_lb_fip``, which makes the wiring + expose in the same way as for"},{"line_number":235,"context_line":"  Floating IPs."},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"- ``OVNLBDeleteEvent``: Similar as the previous one. It calls"},{"line_number":238,"context_line":"  ``withdraw_ovn_lb_vip`` if the Load_Balancer objects is deleted or the vips"},{"line_number":239,"context_line":"  field is removed. And it calls ``withdraw_ovn_lb_fip`` if the object is"},{"line_number":240,"context_line":"  deleted and had a vip fip association, or if the vip to fip association is"},{"line_number":241,"context_line":"  removed."},{"line_number":242,"context_line":""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"Driver Logic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2819715c_aa877a04","line":241,"range":{"start_line":237,"start_character":24,"end_line":241,"end_character":10},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\"If the VIP or router is removed from a provider network, the driver calls ``withdraw_ovn_lb_vip`` to withdraw and unwire the VIP or router. If the VIP or router is removed to a tenant network, the driver calls ``withdraw_ovn_lb_vip`` to only withdraw the VIP or router. If a floating IP is removed, then the driver calls ``withdraw_ovn_lb_fip`` to withdraw and unwire the FIP.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":234,"context_line":"  ``expose_ovn_lb_fip``, which makes the wiring + expose in the same way as for"},{"line_number":235,"context_line":"  Floating IPs."},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"- ``OVNLBDeleteEvent``: Similar as the previous one. It calls"},{"line_number":238,"context_line":"  ``withdraw_ovn_lb_vip`` if the Load_Balancer objects is deleted or the vips"},{"line_number":239,"context_line":"  field is removed. And it calls ``withdraw_ovn_lb_fip`` if the object is"},{"line_number":240,"context_line":"  deleted and had a vip fip association, or if the vip to fip association is"},{"line_number":241,"context_line":"  removed."},{"line_number":242,"context_line":""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"Driver Logic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"55b6088f_7f862d44","line":241,"range":{"start_line":237,"start_character":24,"end_line":241,"end_character":10},"in_reply_to":"2819715c_aa877a04","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":"The NB BGP driver is in charge of the networking configuration ensuring that"},{"line_number":248,"context_line":"VMs and LBs on provider networks or with FIPs can be reached through BGP"},{"line_number":249,"context_line":"(N/S traffic). In addition, if ``expose_tenant_networks`` flag is enabled,"},{"line_number":250,"context_line":"VMs in tenant networks should be reachable too -- although instead of directly"},{"line_number":251,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":252,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3e566320_8c04665b","line":249,"range":{"start_line":249,"start_character":30,"end_line":249,"end_character":31},"updated":"2024-01-22 14:05:21.000000000","message":"In addition, if `the`....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":"The NB BGP driver is in charge of the networking configuration ensuring that"},{"line_number":248,"context_line":"VMs and LBs on provider networks or with FIPs can be reached through BGP"},{"line_number":249,"context_line":"(N/S traffic). In addition, if ``expose_tenant_networks`` flag is enabled,"},{"line_number":250,"context_line":"VMs in tenant networks should be reachable too -- although instead of directly"},{"line_number":251,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":252,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ec021753_4d1f4086","line":249,"range":{"start_line":249,"start_character":30,"end_line":249,"end_character":31},"in_reply_to":"3e566320_8c04665b","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":250,"context_line":"VMs in tenant networks should be reachable too -- although instead of directly"},{"line_number":251,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":252,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"},{"line_number":253,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":254,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c663ac4d_af3154f9","line":253,"range":{"start_line":253,"start_character":65,"end_line":253,"end_character":76},"updated":"2024-01-22 14:05:21.000000000","message":"Insert a comma:\n\n...is set`, `only....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":250,"context_line":"VMs in tenant networks should be reachable too -- although instead of directly"},{"line_number":251,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":252,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"},{"line_number":253,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":254,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2a8df914_ae241c4d","line":253,"range":{"start_line":253,"start_character":65,"end_line":253,"end_character":76},"in_reply_to":"c663ac4d_af3154f9","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":251,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":252,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"},{"line_number":253,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":254,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"  .. note::"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"33c48c6d_4e90c515","line":254,"range":{"start_line":254,"start_character":48,"end_line":254,"end_character":61},"updated":"2024-01-22 14:05:21.000000000","message":"`address_scope` (add backticks)","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":251,"context_line":"in the node they are created, through one of the network gateway chassis nodes."},{"line_number":252,"context_line":"The same happens with ``expose_ipv6_gua_tenant_networks`` but only for IPv6"},{"line_number":253,"context_line":"GUA ranges. In addition, if the config option ``address_scopes`` is set only"},{"line_number":254,"context_line":"the tenant networks with matching corresponding address_scope will be exposed."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"  .. note::"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1b539a16_f8566bef","line":254,"range":{"start_line":254,"start_character":48,"end_line":254,"end_character":61},"in_reply_to":"33c48c6d_4e90c515","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":258,"context_line":"    To be able to expose tenant networks a ovn version ovn23.09 or newer is"},{"line_number":259,"context_line":"    needed"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":264,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fd1dfcd_07e66d28","line":261,"range":{"start_line":261,"start_character":14,"end_line":261,"end_character":18},"updated":"2024-01-22 14:05:21.000000000","message":"*this* \u003d what?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    To be able to expose tenant networks a ovn version ovn23.09 or newer is"},{"line_number":259,"context_line":"    needed"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":264,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5effc936_1b92ba58","line":261,"range":{"start_line":261,"start_character":14,"end_line":261,"end_character":18},"in_reply_to":"5fd1dfcd_07e66d28","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":264,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"},{"line_number":265,"context_line":"  or the node where the router gateway port is scheduled (see limitations"},{"line_number":266,"context_line":"  subsection)."}],"source_content_type":"text/x-rst","patch_set":6,"id":"972cd1c2_805f0f1f","line":263,"range":{"start_line":263,"start_character":24,"end_line":263,"end_character":34},"updated":"2024-01-22 14:05:21.000000000","message":"Should be \"advertise\" with an `s`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":264,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"},{"line_number":265,"context_line":"  or the node where the router gateway port is scheduled (see limitations"},{"line_number":266,"context_line":"  subsection)."}],"source_content_type":"text/x-rst","patch_set":6,"id":"de70d67a_3356ccca","line":263,"range":{"start_line":263,"start_character":24,"end_line":263,"end_character":34},"in_reply_to":"972cd1c2_805f0f1f","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":261,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":264,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"},{"line_number":265,"context_line":"  or the node where the router gateway port is scheduled (see limitations"},{"line_number":266,"context_line":"  subsection)."},{"line_number":267,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"79411728_8f891ecb","line":264,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"VM and LBs IPs can be advertised in a node where the traffic can be injected into the OVN overlay: either in the node that hosts the VM or in the node where the router gateway port is scheduled. (See the \"limitations\" subsection.)\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":261,"context_line":"To accomplish this, it needs to ensure that:"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"- VM and LBs IPs can be advertized in a node where the traffic could be"},{"line_number":264,"context_line":"  injected into the OVN overlay, in this case either the node hosting the VM"},{"line_number":265,"context_line":"  or the node where the router gateway port is scheduled (see limitations"},{"line_number":266,"context_line":"  subsection)."},{"line_number":267,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5735fc6e_26c643c2","line":264,"in_reply_to":"79411728_8f891ecb","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":265,"context_line":"  or the node where the router gateway port is scheduled (see limitations"},{"line_number":266,"context_line":"  subsection)."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"- Once the traffic reaches the specific node, the traffic is redirected to the"},{"line_number":269,"context_line":"  OVN overlay by leveraging kernel networking -- if the default ``underlay``"},{"line_number":270,"context_line":"  option is used."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":""},{"line_number":273,"context_line":".. include:: ../bgp_advertising.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2d3564be_efd7b73e","line":270,"range":{"start_line":268,"start_character":2,"end_line":270,"end_character":17},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion. Make the sentence less passive and more active:\n\n\"After the traffic reaches the specific node, kernel networking redirects the traffic to the OVN overlay, if the default ``underlay`` option is used.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":265,"context_line":"  or the node where the router gateway port is scheduled (see limitations"},{"line_number":266,"context_line":"  subsection)."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"- Once the traffic reaches the specific node, the traffic is redirected to the"},{"line_number":269,"context_line":"  OVN overlay by leveraging kernel networking -- if the default ``underlay``"},{"line_number":270,"context_line":"  option is used."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":""},{"line_number":273,"context_line":".. include:: ../bgp_advertising.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bbf94894_6e857c1f","line":270,"range":{"start_line":268,"start_character":2,"end_line":270,"end_character":17},"in_reply_to":"2d3564be_efd7b73e","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":279,"context_line":"Driver API"},{"line_number":280,"context_line":"++++++++++"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"The NB BGP driver needs to implement the ``driver_api.py`` interface with the"},{"line_number":283,"context_line":"following functions:"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c2bd8b50_24cca1c6","line":282,"range":{"start_line":282,"start_character":18,"end_line":282,"end_character":36},"updated":"2024-01-22 14:05:21.000000000","message":"Instead of:\n\n   `needs to implement`\n   \nUse:\n\n   `implements`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":279,"context_line":"Driver API"},{"line_number":280,"context_line":"++++++++++"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"The NB BGP driver needs to implement the ``driver_api.py`` interface with the"},{"line_number":283,"context_line":"following functions:"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"}],"source_content_type":"text/x-rst","patch_set":6,"id":"57705bec_1854131d","line":282,"range":{"start_line":282,"start_character":18,"end_line":282,"end_character":36},"in_reply_to":"c2bd8b50_24cca1c6","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":282,"context_line":"The NB BGP driver needs to implement the ``driver_api.py`` interface with the"},{"line_number":283,"context_line":"following functions:"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"},{"line_number":286,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":287,"context_line":"  BGP the required IP."},{"line_number":288,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"405ad74e_a169b077","line":285,"range":{"start_line":285,"start_character":33,"end_line":285,"end_character":61},"updated":"2024-01-22 14:05:21.000000000","message":"Uppercase `ip` and `ovs`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":282,"context_line":"The NB BGP driver needs to implement the ``driver_api.py`` interface with the"},{"line_number":283,"context_line":"following functions:"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"},{"line_number":286,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":287,"context_line":"  BGP the required IP."},{"line_number":288,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"2ed9a8ec_aa84e949","line":285,"range":{"start_line":285,"start_character":33,"end_line":285,"end_character":61},"in_reply_to":"405ad74e_a169b077","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":283,"context_line":"following functions:"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"},{"line_number":286,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":287,"context_line":"  BGP the required IP."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":290,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"46a3f8bd_4ffa0d44","line":287,"range":{"start_line":286,"start_character":42,"end_line":287,"end_character":22},"updated":"2024-01-22 14:05:21.000000000","message":"Instead:\n\n\"It also ensures that FRR exposes the required IP by using BGP.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":283,"context_line":"following functions:"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"- ``expose_ip``: creates all the ip rules and routes, and ovs flows needed"},{"line_number":286,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":287,"context_line":"  BGP the required IP."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":290,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"f7dbd494_5ff2a7ea","line":287,"range":{"start_line":286,"start_character":42,"end_line":287,"end_character":22},"in_reply_to":"46a3f8bd_4ffa0d44","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":286,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":287,"context_line":"  BGP the required IP."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"- ``expose_subnet``: add kernel networking configuration (ip rules and route)"},{"line_number":292,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ad09e905_393ba3d3","line":289,"range":{"start_line":289,"start_character":31,"end_line":289,"end_character":50},"updated":"2024-01-22 14:05:21.000000000","message":"\"above configuration\" -- not sure what this is referring to.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":286,"context_line":"  to redirect the traffic to OVN overlay. It also ensure FRR exposes through"},{"line_number":287,"context_line":"  BGP the required IP."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"- ``expose_subnet``: add kernel networking configuration (ip rules and route)"},{"line_number":292,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0f40b619_c17231b8","line":289,"range":{"start_line":289,"start_character":31,"end_line":289,"end_character":50},"in_reply_to":"ad09e905_393ba3d3","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"- ``expose_subnet``: add kernel networking configuration (ip rules and route)"},{"line_number":292,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"},{"line_number":293,"context_line":"  for IPs within the tenant subnet CIDR."},{"line_number":294,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"74aa7254_6b9b8965","line":291,"range":{"start_line":291,"start_character":21,"end_line":291,"end_character":24},"updated":"2024-01-22 14:05:21.000000000","message":"\"add\" should be \"adds\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":288,"context_line":""},{"line_number":289,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"- ``expose_subnet``: add kernel networking configuration (ip rules and route)"},{"line_number":292,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"},{"line_number":293,"context_line":"  for IPs within the tenant subnet CIDR."},{"line_number":294,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"4c0f41ee_563426f7","line":291,"range":{"start_line":291,"start_character":21,"end_line":291,"end_character":24},"in_reply_to":"74aa7254_6b9b8965","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":289,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"- ``expose_subnet``: add kernel networking configuration (ip rules and route)"},{"line_number":292,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"},{"line_number":293,"context_line":"  for IPs within the tenant subnet CIDR."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"- ``withdraw_subnet``: removes the above kernel networking configuration."},{"line_number":296,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"2984fa75_d57f86ca","line":293,"range":{"start_line":292,"start_character":59,"end_line":293,"end_character":40},"updated":"2024-01-22 14:05:21.000000000","message":"I\u0027m unclear what this means: \"and viceversa for IPs within the tenant subnet CIDR.\"\n\nIs it?\n\n\"...adds kernel networking configuration (IP rules and route) to ensure that traffic can go from the node to the OVN overlay. For IPs within the tenant subnet CIDR, ``expose_subnet`` enables traffic to go from the OVN overlay to the node.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":289,"context_line":"- ``withdraw_ip``: removes the above configuration to withdraw the exposed IP."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"- ``expose_subnet``: add kernel networking configuration (ip rules and route)"},{"line_number":292,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"},{"line_number":293,"context_line":"  for IPs within the tenant subnet CIDR."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"- ``withdraw_subnet``: removes the above kernel networking configuration."},{"line_number":296,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fdeaf326_8dcd0f7a","line":293,"range":{"start_line":292,"start_character":59,"end_line":293,"end_character":40},"in_reply_to":"2984fa75_d57f86ca","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":292,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"},{"line_number":293,"context_line":"  for IPs within the tenant subnet CIDR."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"- ``withdraw_subnet``: removes the above kernel networking configuration."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"- ``expose_remote_ip``: BGP expose VM tenant network IPs through the chassis"},{"line_number":298,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."}],"source_content_type":"text/x-rst","patch_set":6,"id":"209421df_38d43bd3","line":295,"updated":"2024-01-22 14:05:21.000000000","message":"removes kernel networking configuration added by ``expose_subnet``.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":292,"context_line":"  to ensure traffic can go from the node to the OVN overlay, and viceversa,"},{"line_number":293,"context_line":"  for IPs within the tenant subnet CIDR."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"- ``withdraw_subnet``: removes the above kernel networking configuration."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"- ``expose_remote_ip``: BGP expose VM tenant network IPs through the chassis"},{"line_number":298,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."}],"source_content_type":"text/x-rst","patch_set":6,"id":"48cf057e_8fbd097f","line":295,"in_reply_to":"209421df_38d43bd3","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"- ``expose_remote_ip``: BGP expose VM tenant network IPs through the chassis"},{"line_number":298,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."},{"line_number":299,"context_line":"  It ensures traffic destinated to the VM IP arrives to this node by exposing"},{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"e6343894_e33f2b14","line":299,"range":{"start_line":299,"start_character":21,"end_line":299,"end_character":31},"updated":"2024-01-22 14:05:21.000000000","message":"`directed` ?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"- ``expose_remote_ip``: BGP expose VM tenant network IPs through the chassis"},{"line_number":298,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."},{"line_number":299,"context_line":"  It ensures traffic destinated to the VM IP arrives to this node by exposing"},{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"0cc6dca4_f8ba8cb4","line":299,"range":{"start_line":299,"start_character":53,"end_line":299,"end_character":55},"updated":"2024-01-22 14:05:21.000000000","message":"`on` or `at` ?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"- ``expose_remote_ip``: BGP expose VM tenant network IPs through the chassis"},{"line_number":298,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."},{"line_number":299,"context_line":"  It ensures traffic destinated to the VM IP arrives to this node by exposing"},{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a745e40_3b681166","line":299,"range":{"start_line":299,"start_character":53,"end_line":299,"end_character":55},"in_reply_to":"0cc6dca4_f8ba8cb4","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"- ``expose_remote_ip``: BGP expose VM tenant network IPs through the chassis"},{"line_number":298,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."},{"line_number":299,"context_line":"  It ensures traffic destinated to the VM IP arrives to this node by exposing"},{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9bd61346_97c900c4","line":299,"range":{"start_line":299,"start_character":21,"end_line":299,"end_character":31},"in_reply_to":"e6343894_e33f2b14","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":298,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."},{"line_number":299,"context_line":"  It ensures traffic destinated to the VM IP arrives to this node by exposing"},{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."}],"source_content_type":"text/x-rst","patch_set":6,"id":"518c7c5c_6f259bf6","line":301,"range":{"start_line":301,"start_character":47,"end_line":301,"end_character":51},"updated":"2024-01-22 14:05:21.000000000","message":"chance `once` to `after it arrives`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":298,"context_line":"  hosting the OVN gateway port for the router where the VM is connected."},{"line_number":299,"context_line":"  It ensures traffic destinated to the VM IP arrives to this node by exposing"},{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."}],"source_content_type":"text/x-rst","patch_set":6,"id":"51cff827_9ddc3ab9","line":301,"range":{"start_line":301,"start_character":47,"end_line":301,"end_character":51},"in_reply_to":"518c7c5c_6f259bf6","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"And in addition, it also implements extra ones for the FIPs and the OVN load"}],"source_content_type":"text/x-rst","patch_set":6,"id":"857d4db4_f04b64be","line":303,"range":{"start_line":303,"start_character":58,"end_line":303,"end_character":69},"updated":"2024-01-22 14:05:21.000000000","message":"`advertising`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"And in addition, it also implements extra ones for the FIPs and the OVN load"}],"source_content_type":"text/x-rst","patch_set":6,"id":"eea79c7e_8427cfd5","line":303,"updated":"2024-01-22 14:05:21.000000000","message":"removes the configuration added by ``expose_remote_ip``","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"And in addition, it also implements extra ones for the FIPs and the OVN load"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9777cd31_a1582024","line":303,"range":{"start_line":303,"start_character":58,"end_line":303,"end_character":69},"in_reply_to":"857d4db4_f04b64be","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":300,"context_line":"  the IP through BGP locally. The previous steps in ``expose_subnet`` ensure"},{"line_number":301,"context_line":"  the traffic is redirected to the OVN overlay once on the node."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"And in addition, it also implements extra ones for the FIPs and the OVN load"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4b6bcd5b_040c7be2","line":303,"in_reply_to":"eea79c7e_8427cfd5","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"And in addition, it also implements extra ones for the FIPs and the OVN load"},{"line_number":307,"context_line":"balancers:"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"- ``expose_fip`` and ``withdraw_fip`` which are equivalent to ``expose_ip`` and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9257f95a_bc63644a","line":306,"range":{"start_line":306,"start_character":17,"end_line":306,"end_character":19},"updated":"2024-01-22 14:05:21.000000000","message":"`it` \u003d `the driver` ?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"And in addition, it also implements extra ones for the FIPs and the OVN load"},{"line_number":307,"context_line":"balancers:"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"- ``expose_fip`` and ``withdraw_fip`` which are equivalent to ``expose_ip`` and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ccaab470_e44e8a79","line":306,"range":{"start_line":306,"start_character":42,"end_line":306,"end_character":46},"updated":"2024-01-22 14:05:21.000000000","message":"clarify `ones`. `methods`? `events`?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"And in addition, it also implements extra ones for the FIPs and the OVN load"},{"line_number":307,"context_line":"balancers:"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"- ``expose_fip`` and ``withdraw_fip`` which are equivalent to ``expose_ip`` and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0a05c3f1_3591c5ef","line":306,"range":{"start_line":306,"start_character":17,"end_line":306,"end_character":19},"in_reply_to":"9257f95a_bc63644a","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":303,"context_line":"- ``withdraw_remote_ip``: removes the above steps to stop advertizing the IP"},{"line_number":304,"context_line":"  through BGP from the node."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"And in addition, it also implements extra ones for the FIPs and the OVN load"},{"line_number":307,"context_line":"balancers:"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"- ``expose_fip`` and ``withdraw_fip`` which are equivalent to ``expose_ip`` and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5efe0aef_11d5e977","line":306,"range":{"start_line":306,"start_character":42,"end_line":306,"end_character":46},"in_reply_to":"ccaab470_e44e8a79","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":310,"context_line":"  ``withdraw_ip`` but for FIPs."},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"- ``expose_ovn_lb_vip``: adds kernel networking configuration to ensure"},{"line_number":313,"context_line":"  traffic is forwarded from the node with the associated CR-LRP to the OVN"},{"line_number":314,"context_line":"  overlay, as well as to expose the VIP through BGP in that node."},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"- ``withdraw_ovn_lb_vip``: removes the above steps to stop advertising"}],"source_content_type":"text/x-rst","patch_set":6,"id":"77b5b0a8_a90d4b2c","line":313,"range":{"start_line":313,"start_character":57,"end_line":313,"end_character":63},"updated":"2024-01-22 14:05:21.000000000","message":"Earlier, CR-LRP was lowercase and used backticks. Perhaps choose one style and use consistently?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":310,"context_line":"  ``withdraw_ip`` but for FIPs."},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"- ``expose_ovn_lb_vip``: adds kernel networking configuration to ensure"},{"line_number":313,"context_line":"  traffic is forwarded from the node with the associated CR-LRP to the OVN"},{"line_number":314,"context_line":"  overlay, as well as to expose the VIP through BGP in that node."},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"- ``withdraw_ovn_lb_vip``: removes the above steps to stop advertising"}],"source_content_type":"text/x-rst","patch_set":6,"id":"db2d26a2_5dce460b","line":313,"range":{"start_line":313,"start_character":57,"end_line":313,"end_character":63},"in_reply_to":"77b5b0a8_a90d4b2c","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":"The following limitations apply:"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"- ovn 23.09 or newer is needed to support exposing tenant networks IPs and"},{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a430d8b_6089b4cc","line":333,"range":{"start_line":333,"start_character":15,"end_line":333,"end_character":20},"updated":"2024-01-22 14:05:21.000000000","message":"change to `later`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":"The following limitations apply:"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"- ovn 23.09 or newer is needed to support exposing tenant networks IPs and"},{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"}],"source_content_type":"text/x-rst","patch_set":6,"id":"17bd0f97_b1906a8d","line":333,"range":{"start_line":333,"start_character":15,"end_line":333,"end_character":20},"in_reply_to":"9a430d8b_6089b4cc","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":331,"context_line":"The following limitations apply:"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"- ovn 23.09 or newer is needed to support exposing tenant networks IPs and"},{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6df5fcb4_e1a5fdf3","line":334,"range":{"start_line":334,"start_character":2,"end_line":334,"end_character":5},"updated":"2024-01-22 14:05:21.000000000","message":"OVN","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":331,"context_line":"The following limitations apply:"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"- ovn 23.09 or newer is needed to support exposing tenant networks IPs and"},{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"}],"source_content_type":"text/x-rst","patch_set":6,"id":"68556d19_28c4d25a","line":334,"range":{"start_line":334,"start_character":2,"end_line":334,"end_character":5},"in_reply_to":"6df5fcb4_e1a5fdf3","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":338,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":339,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":340,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f06fbdc_dbcf83c7","line":337,"range":{"start_line":337,"start_character":34,"end_line":337,"end_character":50},"updated":"2024-01-22 14:05:21.000000000","message":"`are exposed`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":338,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":339,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":340,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ea7b2f26_1eb5337f","line":337,"range":{"start_line":337,"start_character":2,"end_line":337,"end_character":10},"updated":"2024-01-22 14:05:21.000000000","message":"lowercase","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":338,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":339,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":340,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fc3e23b0_f68ba8b2","line":337,"range":{"start_line":337,"start_character":26,"end_line":337,"end_character":28},"updated":"2024-01-22 14:05:21.000000000","message":"with","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":338,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":339,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":340,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ea438563_62741fb8","line":337,"range":{"start_line":337,"start_character":34,"end_line":337,"end_character":50},"in_reply_to":"3f06fbdc_dbcf83c7","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":338,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":339,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":340,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"965bc7ca_af4582b9","line":337,"range":{"start_line":337,"start_character":2,"end_line":337,"end_character":10},"in_reply_to":"ea7b2f26_1eb5337f","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":338,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":339,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":340,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"93363898_2e6cba43","line":337,"range":{"start_line":337,"start_character":26,"end_line":337,"end_character":28},"in_reply_to":"fc3e23b0_f68ba8b2","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":338,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":339,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"- In the currently implemented exposing methods (``underlay`` and"},{"line_number":342,"context_line":"  ``ovn``) there is no support for overlapping CIDRs, so this must be"},{"line_number":343,"context_line":"  avoided, e.g., by using address scopes and subnet pools."}],"source_content_type":"text/x-rst","patch_set":6,"id":"c3ed6901_c5e1d84f","line":340,"range":{"start_line":337,"start_character":52,"end_line":340,"end_character":0},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"For the VMs in tenant networks, use the flag ``address_scopes`` to filter which subnets to expose and to prevent using overlapping IPs.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":334,"context_line":"  ovn loadbalancers."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"- There is no API to decide what to expose, all VMs/LBs on providers or with"},{"line_number":337,"context_line":"  Floating IPs associated to them will get exposed. For the VMs in the tenant"},{"line_number":338,"context_line":"  networks, the flag ``address_scopes`` should be used for filtering what"},{"line_number":339,"context_line":"  subnets to expose -- which should be also used to ensure no overlapping IPs."},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"- In the currently implemented exposing methods (``underlay`` and"},{"line_number":342,"context_line":"  ``ovn``) there is no support for overlapping CIDRs, so this must be"},{"line_number":343,"context_line":"  avoided, e.g., by using address scopes and subnet pools."}],"source_content_type":"text/x-rst","patch_set":6,"id":"d29ffdfb_c35756dd","line":340,"range":{"start_line":337,"start_character":52,"end_line":340,"end_character":0},"in_reply_to":"c3ed6901_c5e1d84f","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":341,"context_line":"- In the currently implemented exposing methods (``underlay`` and"},{"line_number":342,"context_line":"  ``ovn``) there is no support for overlapping CIDRs, so this must be"},{"line_number":343,"context_line":"  avoided, e.g., by using address scopes and subnet pools."},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"- For the default exposing method (``underlay``) the network traffic is steered"},{"line_number":346,"context_line":"  by kernel routing (ip routes and rules), therefore OVS-DPDK, where the kernel"},{"line_number":347,"context_line":"  space is skipped, is not supported. With the ``ovn`` exposing method"},{"line_number":348,"context_line":"  the routing is done at ovn level, so this limitation does not exists."},{"line_number":349,"context_line":"  More details in :ref:`ovn_routing`."},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"- For the default exposing method (``underlay``) the network traffic is steered"},{"line_number":352,"context_line":"  by kernel routing (ip routes and rules), therefore SRIOV, where the hypervisor"},{"line_number":353,"context_line":"  is skipped, is not supported.  With the ``ovn`` exposing method"},{"line_number":354,"context_line":"  the routing is done at ovn level, so this limitation does not exists."},{"line_number":355,"context_line":"  More details in :ref:`ovn_routing`."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"- In OpenStack with OVN networking the N/S traffic to the ovn-octavia VIPs on"},{"line_number":358,"context_line":"  the provider or the FIPs associated to the VIPs on tenant networks needs to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"48a940d5_c71e0640","line":355,"range":{"start_line":344,"start_character":0,"end_line":355,"end_character":37},"updated":"2024-01-22 14:05:21.000000000","message":"Combine these items?\n\n- For the default exposing method (``underlay``)  the network traffic is steered\n  by kernel routing (ip routes and rules), therefore:\n\n  -- OVS-DPDK, where the kernel space is skipped, is not supported. With the``ovn`` \n     exposing method the routing is done at OVN level, so this limitation does not \n     exist. More details in :ref:`ovn_routing`.\n\n  -- SRIOV, where the hypervisor is skipped, is not supported. With the ``ovn`` \n     exposing method the routing is done at OVN level, so this limitation does not \n     exist. More details in :ref:`ovn_routing`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":355,"context_line":"  More details in :ref:`ovn_routing`."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"- In OpenStack with OVN networking the N/S traffic to the ovn-octavia VIPs on"},{"line_number":358,"context_line":"  the provider or the FIPs associated to the VIPs on tenant networks needs to"},{"line_number":359,"context_line":"  go through the networking nodes (the ones hosting the Neutron Router Gateway"},{"line_number":360,"context_line":"  Ports, i.e., the chassisredirect cr-lrp ports, for the router connecting the"},{"line_number":361,"context_line":"  load balancer members to the provider network). Therefore, the entry point"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ec8216d4_e760d3ef","line":358,"updated":"2024-01-22 14:05:21.000000000","message":"Change `associated to` to `associated with`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1cc058763c7e40fa9e6ff03e82649f074cf9de92","unresolved":false,"context_lines":[{"line_number":355,"context_line":"  More details in :ref:`ovn_routing`."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"- In OpenStack with OVN networking the N/S traffic to the ovn-octavia VIPs on"},{"line_number":358,"context_line":"  the provider or the FIPs associated to the VIPs on tenant networks needs to"},{"line_number":359,"context_line":"  go through the networking nodes (the ones hosting the Neutron Router Gateway"},{"line_number":360,"context_line":"  Ports, i.e., the chassisredirect cr-lrp ports, for the router connecting the"},{"line_number":361,"context_line":"  load balancer members to the provider network). Therefore, the entry point"}],"source_content_type":"text/x-rst","patch_set":6,"id":"be90c669_7620f81d","line":358,"in_reply_to":"ec8216d4_e760d3ef","updated":"2024-01-26 16:17:25.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":49,"context_line":"or Kubernetes/OpenShift."},{"line_number":50,"context_line":"This design simplicity enables the agent to implement different drivers,"},{"line_number":51,"context_line":"depending on what OVN DB events are being watched (watchers examples at"},{"line_number":52,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"},{"line_number":53,"context_line":"triggered in reaction to them (drivers examples at"},{"line_number":54,"context_line":"``ovn_bgp_agent/drivers/openstack/XXXX_driver.py``, implementing the"},{"line_number":55,"context_line":"``ovn_bgp_agent/drivers/driver_api.py``)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"4b70ef30_957f2b9f","line":52,"range":{"start_line":52,"start_character":2,"end_line":52,"end_character":16},"updated":"2024-01-29 23:15:29.000000000","message":"I noticed the SB DB driver doesn\u0027t have this parent directory, perhaps it should be unified.","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":true,"context_lines":[{"line_number":49,"context_line":"or Kubernetes/OpenShift."},{"line_number":50,"context_line":"This design simplicity enables the agent to implement different drivers,"},{"line_number":51,"context_line":"depending on what OVN DB events are being watched (watchers examples at"},{"line_number":52,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"},{"line_number":53,"context_line":"triggered in reaction to them (drivers examples at"},{"line_number":54,"context_line":"``ovn_bgp_agent/drivers/openstack/XXXX_driver.py``, implementing the"},{"line_number":55,"context_line":"``ovn_bgp_agent/drivers/driver_api.py``)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"edda506e_03d194ef","line":52,"range":{"start_line":52,"start_character":2,"end_line":52,"end_character":16},"in_reply_to":"4b70ef30_957f2b9f","updated":"2024-01-31 12:04:02.000000000","message":"I don\u0027t understand what you mean here","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"09022ef0f283a882b6359a1d7455da186d4958db","unresolved":false,"context_lines":[{"line_number":49,"context_line":"or Kubernetes/OpenShift."},{"line_number":50,"context_line":"This design simplicity enables the agent to implement different drivers,"},{"line_number":51,"context_line":"depending on what OVN DB events are being watched (watchers examples at"},{"line_number":52,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"},{"line_number":53,"context_line":"triggered in reaction to them (drivers examples at"},{"line_number":54,"context_line":"``ovn_bgp_agent/drivers/openstack/XXXX_driver.py``, implementing the"},{"line_number":55,"context_line":"``ovn_bgp_agent/drivers/driver_api.py``)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"67eff941_f43678be","line":52,"range":{"start_line":52,"start_character":2,"end_line":52,"end_character":16},"in_reply_to":"c11054cf_0a3d2d99","updated":"2024-01-31 13:55:16.000000000","message":"ohh, ok... fixed","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"720d8849c1184d165f7104e5c3394c4111f1aae6","unresolved":true,"context_lines":[{"line_number":49,"context_line":"or Kubernetes/OpenShift."},{"line_number":50,"context_line":"This design simplicity enables the agent to implement different drivers,"},{"line_number":51,"context_line":"depending on what OVN DB events are being watched (watchers examples at"},{"line_number":52,"context_line":"``ovn_bgp_agent/drivers/openstack/watchers/``), and what actions are"},{"line_number":53,"context_line":"triggered in reaction to them (drivers examples at"},{"line_number":54,"context_line":"``ovn_bgp_agent/drivers/openstack/XXXX_driver.py``, implementing the"},{"line_number":55,"context_line":"``ovn_bgp_agent/drivers/driver_api.py``)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"c11054cf_0a3d2d99","line":52,"range":{"start_line":52,"start_character":2,"end_line":52,"end_character":16},"in_reply_to":"edda506e_03d194ef","updated":"2024-01-31 13:17:08.000000000","message":"My apologies, I probably didn\u0027t highlight the right word. There are mutliple paths in the document that link to the Python modules for more details. Some paths start with `ovn_bgp_agent` and some start already with `drivers`. It\u0027s really a small thing but I thought we may want to have it same in all places.","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- ``expose_subnet`` and ``withdraw_subnet``: exposes or withdraws subnets through"},{"line_number":77,"context_line":"  the local node."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Proposed Solution"},{"line_number":81,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"6c50e825_013fdadd","line":78,"updated":"2024-01-29 23:15:29.000000000","message":"The whole above is essentially the same as in the SB DB. I don\u0027t mind, just a food for thought about how to organize the docs - we could have something like\n - \"OVN database driven drivers\" - this would contain common prelude\n - OVN SB DB\n - OVN NB DB","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- ``expose_subnet`` and ``withdraw_subnet``: exposes or withdraws subnets through"},{"line_number":77,"context_line":"  the local node."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Proposed Solution"},{"line_number":81,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"6a6cab83_d0bff336","line":78,"in_reply_to":"6c50e825_013fdadd","updated":"2024-01-31 12:04:02.000000000","message":"yep, before each design has its own thing and I\u0027m trying to split here a bit more, like the bgp-advertising and traffic redirect. I\u0027ll leave this for now due to the references to NB and SB","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":128,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"The watcher associated with the BGP driver detects the relevant events on the"},{"line_number":131,"context_line":"OVN NB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":132,"context_line":"networking accordingly."},{"line_number":133,"context_line":"The following events are watched and handled by the BGP watcher:"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"- VMs or LBs created/deleted on provider networks"}],"source_content_type":"text/x-rst","patch_set":9,"id":"75512f06_e2ee894a","line":132,"range":{"start_line":131,"start_character":60,"end_line":132,"end_character":10},"updated":"2024-01-29 23:15:29.000000000","message":"nit: technically that depends on the `exposing_method` :)","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":128,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"The watcher associated with the BGP driver detects the relevant events on the"},{"line_number":131,"context_line":"OVN NB DB to call the driver functions to configure BGP and linux kernel"},{"line_number":132,"context_line":"networking accordingly."},{"line_number":133,"context_line":"The following events are watched and handled by the BGP watcher:"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"- VMs or LBs created/deleted on provider networks"}],"source_content_type":"text/x-rst","patch_set":9,"id":"090685eb_2411b0a5","line":132,"range":{"start_line":131,"start_character":60,"end_line":132,"end_character":10},"in_reply_to":"75512f06_e2ee894a","updated":"2024-01-31 12:04:02.000000000","message":"right, though that is covered in the ovn_bgp_mode_design... I\u0027ll add a note","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":25,"context_line":"data centers. The benefits of this practice reduce scaling complexities,"},{"line_number":26,"context_line":"failure domains, and broadcast traffic limits"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The northbound OVN BGP agent is a Python-based daemon that runs on each"},{"line_number":29,"context_line":"OpenStack Controller and Compute node."},{"line_number":30,"context_line":"The agent monitors the Open Virtual Network (OVN) northbound database"},{"line_number":31,"context_line":"for certain VM and floating IP (FIP) events."}],"source_content_type":"text/x-rst","patch_set":13,"id":"918ca2a5_b4c0373f","line":28,"range":{"start_line":28,"start_character":4,"end_line":28,"end_character":28},"updated":"2024-02-16 16:50:14.000000000","message":"Northbound driver for OVN BGP agent","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":25,"context_line":"data centers. The benefits of this practice reduce scaling complexities,"},{"line_number":26,"context_line":"failure domains, and broadcast traffic limits"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The northbound OVN BGP agent is a Python-based daemon that runs on each"},{"line_number":29,"context_line":"OpenStack Controller and Compute node."},{"line_number":30,"context_line":"The agent monitors the Open Virtual Network (OVN) northbound database"},{"line_number":31,"context_line":"for certain VM and floating IP (FIP) events."}],"source_content_type":"text/x-rst","patch_set":13,"id":"84dc7a25_61154cac","line":28,"range":{"start_line":28,"start_character":4,"end_line":28,"end_character":28},"in_reply_to":"918ca2a5_b4c0373f","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":33,"context_line":"to advertise the IP address or FIP associated with the VM."},{"line_number":34,"context_line":"The agent also triggers actions that route the external traffic to the OVN"},{"line_number":35,"context_line":"overlay."},{"line_number":36,"context_line":"Unlike its predecessor, the (southbound) OVN BGP agent, the northbound OVN BGP"},{"line_number":37,"context_line":"agent uses the northbound database API which is more stable than the southbound"},{"line_number":38,"context_line":"database API because the former is isolated from internal changes to core OVN."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ea38a7e1_ffaec5fd","line":36,"range":{"start_line":36,"start_character":28,"end_line":36,"end_character":55},"updated":"2024-02-16 16:50:14.000000000","message":"Southbound driver for...","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":33,"context_line":"to advertise the IP address or FIP associated with the VM."},{"line_number":34,"context_line":"The agent also triggers actions that route the external traffic to the OVN"},{"line_number":35,"context_line":"overlay."},{"line_number":36,"context_line":"Unlike its predecessor, the (southbound) OVN BGP agent, the northbound OVN BGP"},{"line_number":37,"context_line":"agent uses the northbound database API which is more stable than the southbound"},{"line_number":38,"context_line":"database API because the former is isolated from internal changes to core OVN."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"e1d2007f_2a7b4a79","line":36,"range":{"start_line":36,"start_character":28,"end_line":36,"end_character":55},"in_reply_to":"ea38a7e1_ffaec5fd","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":33,"context_line":"to advertise the IP address or FIP associated with the VM."},{"line_number":34,"context_line":"The agent also triggers actions that route the external traffic to the OVN"},{"line_number":35,"context_line":"overlay."},{"line_number":36,"context_line":"Unlike its predecessor, the (southbound) OVN BGP agent, the northbound OVN BGP"},{"line_number":37,"context_line":"agent uses the northbound database API which is more stable than the southbound"},{"line_number":38,"context_line":"database API because the former is isolated from internal changes to core OVN."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":" .. note::"}],"source_content_type":"text/x-rst","patch_set":13,"id":"2b8f8ec0_c7942a5d","line":37,"range":{"start_line":36,"start_character":60,"end_line":37,"end_character":10},"updated":"2024-02-16 16:50:14.000000000","message":"Northbound driver uses","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":33,"context_line":"to advertise the IP address or FIP associated with the VM."},{"line_number":34,"context_line":"The agent also triggers actions that route the external traffic to the OVN"},{"line_number":35,"context_line":"overlay."},{"line_number":36,"context_line":"Unlike its predecessor, the (southbound) OVN BGP agent, the northbound OVN BGP"},{"line_number":37,"context_line":"agent uses the northbound database API which is more stable than the southbound"},{"line_number":38,"context_line":"database API because the former is isolated from internal changes to core OVN."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":" .. note::"}],"source_content_type":"text/x-rst","patch_set":13,"id":"0aa227c0_3ff04aee","line":37,"range":{"start_line":36,"start_character":60,"end_line":37,"end_character":10},"in_reply_to":"2b8f8ec0_c7942a5d","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":120,"context_line":"  as supported by the driver at :ref:`bgp_driver`."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"- ``ovn``: using an extra OVN cluster per node to perform the routing at"},{"line_number":123,"context_line":"  OVN/OVS level instead of kernel, therefore enabling datapath acceleration"},{"line_number":124,"context_line":"  (Hardware Offloading and OVS-DPDK). More information about this mechanism"},{"line_number":125,"context_line":"  at :ref:`bgp_driver`."},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"f707c6e4_739201b3","line":123,"range":{"start_line":123,"start_character":35,"end_line":123,"end_character":44},"updated":"2024-02-16 16:50:14.000000000","message":"s/therefore//","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":120,"context_line":"  as supported by the driver at :ref:`bgp_driver`."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"- ``ovn``: using an extra OVN cluster per node to perform the routing at"},{"line_number":123,"context_line":"  OVN/OVS level instead of kernel, therefore enabling datapath acceleration"},{"line_number":124,"context_line":"  (Hardware Offloading and OVS-DPDK). More information about this mechanism"},{"line_number":125,"context_line":"  at :ref:`bgp_driver`."},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"fd6aed3b_8c78ab68","line":123,"range":{"start_line":123,"start_character":35,"end_line":123,"end_character":44},"in_reply_to":"f707c6e4_739201b3","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"- ``ChassisRedirectCreateEvent``: Similar to"},{"line_number":206,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but with the focus on logical router"},{"line_number":207,"context_line":"  ports, such as the OVN gateway ports (cr-lrps), instead of logical switch"},{"line_number":208,"context_line":"  ports. The driver calls ``expose_ip`` which performs additional steps to also"},{"line_number":209,"context_line":"  expose IPs related to the cr-lrps, such as the ovn-lb or IPs in tenant"},{"line_number":210,"context_line":"  networks. The watcher ``match`` checks the chassis information in the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"53d80c8e_c4c90558","line":207,"range":{"start_line":207,"start_character":21,"end_line":207,"end_character":48},"updated":"2024-02-16 16:50:14.000000000","message":"ditto re consistent names","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"- ``ChassisRedirectCreateEvent``: Similar to"},{"line_number":206,"context_line":"  ``LogicalSwitchPortProviderCreateEvent`` but with the focus on logical router"},{"line_number":207,"context_line":"  ports, such as the OVN gateway ports (cr-lrps), instead of logical switch"},{"line_number":208,"context_line":"  ports. The driver calls ``expose_ip`` which performs additional steps to also"},{"line_number":209,"context_line":"  expose IPs related to the cr-lrps, such as the ovn-lb or IPs in tenant"},{"line_number":210,"context_line":"  networks. The watcher ``match`` checks the chassis information in the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"d5487e46_1ee31190","line":207,"range":{"start_line":207,"start_character":21,"end_line":207,"end_character":48},"in_reply_to":"53d80c8e_c4c90558","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"- ``ChassisRedirectDeleteEvent``: Similar to"},{"line_number":214,"context_line":"  ``LogicalSwitchPortProviderDeleteEvent`` but with the focus on logical router"},{"line_number":215,"context_line":"  ports, such as the OVN gateway ports (cr-lrps), instead of logical switch"},{"line_number":216,"context_line":"  ports. The driver calls ``withdraw_ip`` which performs additional steps to"},{"line_number":217,"context_line":"  also withdraw IPs related to the cr-lrps, such as the ovn-lb or IPs in tenant"},{"line_number":218,"context_line":"  networks. The watcher ``match`` checks the chassis information in the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"58aaf6e0_6b188146","line":215,"range":{"start_line":215,"start_character":21,"end_line":215,"end_character":48},"updated":"2024-02-16 16:50:14.000000000","message":"ditto re consistent names","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"- ``ChassisRedirectDeleteEvent``: Similar to"},{"line_number":214,"context_line":"  ``LogicalSwitchPortProviderDeleteEvent`` but with the focus on logical router"},{"line_number":215,"context_line":"  ports, such as the OVN gateway ports (cr-lrps), instead of logical switch"},{"line_number":216,"context_line":"  ports. The driver calls ``withdraw_ip`` which performs additional steps to"},{"line_number":217,"context_line":"  also withdraw IPs related to the cr-lrps, such as the ovn-lb or IPs in tenant"},{"line_number":218,"context_line":"  networks. The watcher ``match`` checks the chassis information in the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1f43b4ea_b111da24","line":215,"range":{"start_line":215,"start_character":21,"end_line":215,"end_character":48},"in_reply_to":"58aaf6e0_6b188146","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"  .. note::"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    To be able to expose tenant networks a ovn version ovn23.09 or newer is"},{"line_number":278,"context_line":"    needed"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"To accomplish the network configuration and advertisement, the driver ensures:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bfc0507a_cd9be332","line":277,"range":{"start_line":277,"start_character":55,"end_line":277,"end_character":63},"updated":"2024-02-16 16:50:14.000000000","message":"23.09","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"  .. note::"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    To be able to expose tenant networks a ovn version ovn23.09 or newer is"},{"line_number":278,"context_line":"    needed"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"To accomplish the network configuration and advertisement, the driver ensures:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"0e803642_1e4b1a87","line":277,"range":{"start_line":277,"start_character":43,"end_line":277,"end_character":46},"updated":"2024-02-16 16:50:14.000000000","message":"OVN","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"  .. note::"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    To be able to expose tenant networks a ovn version ovn23.09 or newer is"},{"line_number":278,"context_line":"    needed"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"To accomplish the network configuration and advertisement, the driver ensures:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bdbd262a_d4714763","line":277,"range":{"start_line":277,"start_character":43,"end_line":277,"end_character":46},"in_reply_to":"0e803642_1e4b1a87","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"  .. note::"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    To be able to expose tenant networks a ovn version ovn23.09 or newer is"},{"line_number":278,"context_line":"    needed"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"To accomplish the network configuration and advertisement, the driver ensures:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"c9fccdd2_22b44f02","line":277,"range":{"start_line":277,"start_character":55,"end_line":277,"end_character":63},"in_reply_to":"bfc0507a_cd9be332","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":275,"context_line":"  .. note::"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    To be able to expose tenant networks a ovn version ovn23.09 or newer is"},{"line_number":278,"context_line":"    needed"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"To accomplish the network configuration and advertisement, the driver ensures:"},{"line_number":281,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"8c2c1630_66afe17d","line":278,"range":{"start_line":278,"start_character":4,"end_line":278,"end_character":10},"updated":"2024-02-16 16:50:14.000000000","message":"required","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":275,"context_line":"  .. note::"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    To be able to expose tenant networks a ovn version ovn23.09 or newer is"},{"line_number":278,"context_line":"    needed"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"To accomplish the network configuration and advertisement, the driver ensures:"},{"line_number":281,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"02c358d9_639eedb2","line":278,"range":{"start_line":278,"start_character":4,"end_line":278,"end_character":10},"in_reply_to":"8c2c1630_66afe17d","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"}],"doc/source/contributor/drivers/ovn_bgp_mode_design.rst":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- Ensure the outcomming traffic gets redirected to the physical NICs without"},{"line_number":35,"context_line":"  using the default kernel routes."},{"line_number":36,"context_line":"  "},{"line_number":37,"context_line":"- Expose the IPs in the same way as we did before."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The third point is simple as it is already being done, but for the first two"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a06e93a0_7958f8b9","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":2},"updated":"2024-01-10 14:39:31.000000000","message":"remove","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- Ensure the outcomming traffic gets redirected to the physical NICs without"},{"line_number":35,"context_line":"  using the default kernel routes."},{"line_number":36,"context_line":"  "},{"line_number":37,"context_line":"- Expose the IPs in the same way as we did before."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The third point is simple as it is already being done, but for the first two"}],"source_content_type":"text/x-rst","patch_set":5,"id":"cb751a9f_cf6d0663","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":2},"in_reply_to":"a06e93a0_7958f8b9","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":211,"context_line":"++++++++++"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"This is the very same as in the NB DB driver with the ``underlay`` exposing"},{"line_number":214,"context_line":"mode. See :ref:`nb_bgp_driver`. "},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Agent deployment"}],"source_content_type":"text/x-rst","patch_set":5,"id":"f563a19c_81801865","line":214,"range":{"start_line":214,"start_character":31,"end_line":214,"end_character":32},"updated":"2024-01-10 14:39:31.000000000","message":"remove","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":211,"context_line":"++++++++++"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"This is the very same as in the NB DB driver with the ``underlay`` exposing"},{"line_number":214,"context_line":"mode. See :ref:`nb_bgp_driver`. "},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Agent deployment"}],"source_content_type":"text/x-rst","patch_set":5,"id":"353435a9_d2ed8863","line":214,"range":{"start_line":214,"start_character":31,"end_line":214,"end_character":32},"in_reply_to":"f563a19c_81801865","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"  .. code-block:: ini"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    [DEFAULT] "},{"line_number":229,"context_line":"    exposing_method\u003dovn"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    [local_ovn_cluster]"}],"source_content_type":"text/x-rst","patch_set":5,"id":"eab0d539_3c9392c0","line":228,"range":{"start_line":228,"start_character":13,"end_line":228,"end_character":14},"updated":"2024-01-10 14:39:31.000000000","message":"remove","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"  .. code-block:: ini"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    [DEFAULT] "},{"line_number":229,"context_line":"    exposing_method\u003dovn"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    [local_ovn_cluster]"}],"source_content_type":"text/x-rst","patch_set":5,"id":"726f5053_40f6d126","line":228,"range":{"start_line":228,"start_character":13,"end_line":228,"end_character":14},"in_reply_to":"eab0d539_3c9392c0","updated":"2024-01-12 11:50:25.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"- ECMP not properly working as there is no support for BFD at the ovn-cluster,"},{"line_number":252,"context_line":"  which means if one of the routes goes away the ovn cluster won\u0027t react to it."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"- There is no support for overlapping CIDRs, so this must be avoided, e.g., by"}],"source_content_type":"text/x-rst","patch_set":5,"id":"eab5e085_e866e8e9","line":251,"range":{"start_line":251,"start_character":54,"end_line":251,"end_character":77},"updated":"2024-01-10 14:39:31.000000000","message":"this is our limitation or is it a limitation of OVN?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"- ECMP not properly working as there is no support for BFD at the ovn-cluster,"},{"line_number":252,"context_line":"  which means if one of the routes goes away the ovn cluster won\u0027t react to it."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"- There is no support for overlapping CIDRs, so this must be avoided, e.g., by"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7e90170c_8ea60157","line":251,"range":{"start_line":251,"start_character":54,"end_line":251,"end_character":77},"in_reply_to":"e4d48cc6_20a4fafa","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":true,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"- ECMP not properly working as there is no support for BFD at the ovn-cluster,"},{"line_number":252,"context_line":"  which means if one of the routes goes away the ovn cluster won\u0027t react to it."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"- There is no support for overlapping CIDRs, so this must be avoided, e.g., by"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e4d48cc6_20a4fafa","line":251,"range":{"start_line":251,"start_character":54,"end_line":251,"end_character":77},"in_reply_to":"eab5e085_e866e8e9","updated":"2024-01-12 11:50:25.000000000","message":"well, both... it is our limitation as we are not adding the creation of it the needed stuff... but then playing with it (manually) there is also a limitation on the core ovn side","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"13a172fc82bd2fa0d6e4a9dc372e63186f8b3da7","unresolved":true,"context_lines":[{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"- ECMP not properly working as there is no support for BFD at the ovn-cluster,"},{"line_number":252,"context_line":"  which means if one of the routes goes away the ovn cluster won\u0027t react to it."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"- There is no support for overlapping CIDRs, so this must be avoided, e.g., by"},{"line_number":255,"context_line":"  using address scopes and subnet pools."}],"source_content_type":"text/x-rst","patch_set":5,"id":"260996e0_441d91cc","line":252,"range":{"start_line":252,"start_character":2,"end_line":252,"end_character":79},"updated":"2024-01-10 14:39:31.000000000","message":"which means traffic disruption right?","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"71c2252e3c16ae1998dffe54f5f0d0c81e5bbdc1","unresolved":false,"context_lines":[{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"- ECMP not properly working as there is no support for BFD at the ovn-cluster,"},{"line_number":252,"context_line":"  which means if one of the routes goes away the ovn cluster won\u0027t react to it."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"- There is no support for overlapping CIDRs, so this must be avoided, e.g., by"},{"line_number":255,"context_line":"  using address scopes and subnet pools."}],"source_content_type":"text/x-rst","patch_set":5,"id":"0428c580_113294d0","line":252,"range":{"start_line":252,"start_character":2,"end_line":252,"end_character":79},"in_reply_to":"260996e0_441d91cc","updated":"2024-01-12 11:50:25.000000000","message":"exactly","commit_id":"eba6359ea8bbeaa1ef25d79856a86f5a71b85d42"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Purpose"},{"line_number":8,"context_line":"-------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"The purpose of this document is to present the design decision behind"},{"line_number":11,"context_line":"the extensions for the NB OVN BGP Driver to support OVN routing instead"},{"line_number":12,"context_line":"of kernel routing, and therefore enabling datapath acceleartion."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"6d5ab1c6_8d58c550","line":10,"updated":"2024-01-22 14:05:21.000000000","message":"I wonder if this paragraph is needed? Perhaps just state what the purpose is? (The heading for this section is \"Purpose\".) Something like this?\n\n\"The addition of a BGP driver enables the OVN BGP agent to expose virtual machine (VMs) and load balancer (LBs) IP addresses through the BGP dynamic protocol when these IP addresses are either associated with a floating IP (FIP) or are booted or created on a provider network. The same functionality is available on project networks, when a special flag is set.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Purpose"},{"line_number":8,"context_line":"-------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"The purpose of this document is to present the design decision behind"},{"line_number":11,"context_line":"the extensions for the NB OVN BGP Driver to support OVN routing instead"},{"line_number":12,"context_line":"of kernel routing, and therefore enabling datapath acceleartion."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"984bc088_1b86397a","line":10,"in_reply_to":"6d5ab1c6_8d58c550","updated":"2024-01-26 08:40:29.000000000","message":"I want to highlight that this is about the OVN routing and that text is generic independently of the driver/method used. I\u0027ll rephase it a bit","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":21,"context_line":"Overview"},{"line_number":22,"context_line":"--------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The main idea to make the BGP capabilities of OVN BGP Agent compliant with"},{"line_number":25,"context_line":"OVS-DPDK and HWOL is to move to OVN/OVS what the OVN BGP Agent is currently"},{"line_number":26,"context_line":"doing with Kernel networking -- redirect traffic to/from the OpenStack OVN"},{"line_number":27,"context_line":"Overlay."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"To accomplish that it is needed to:"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"d3e79297_dd9fb584","line":27,"range":{"start_line":24,"start_character":0,"end_line":27,"end_character":8},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"The goal is two-fold:\n\n- make the BGP capabilities of the OVN BGP Agent compliant with\nOVS-DPDK and HWOL.\n\n- add to OVN/OVS the ability to redirect traffic to and from the OpenStack OVN\noverlay, which is what the OVN BGP agent currently accomplishes by using RHEL kernel networking.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":true,"context_lines":[{"line_number":21,"context_line":"Overview"},{"line_number":22,"context_line":"--------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The main idea to make the BGP capabilities of OVN BGP Agent compliant with"},{"line_number":25,"context_line":"OVS-DPDK and HWOL is to move to OVN/OVS what the OVN BGP Agent is currently"},{"line_number":26,"context_line":"doing with Kernel networking -- redirect traffic to/from the OpenStack OVN"},{"line_number":27,"context_line":"Overlay."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"To accomplish that it is needed to:"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"d5dd5651_2282bba2","line":27,"range":{"start_line":24,"start_character":0,"end_line":27,"end_character":8},"in_reply_to":"d3e79297_dd9fb584","updated":"2024-01-26 08:40:29.000000000","message":"this is different meaning that what I intended... the goal is the first point, the second one is the result","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Overview"},{"line_number":22,"context_line":"--------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The main idea to make the BGP capabilities of OVN BGP Agent compliant with"},{"line_number":25,"context_line":"OVS-DPDK and HWOL is to move to OVN/OVS what the OVN BGP Agent is currently"},{"line_number":26,"context_line":"doing with Kernel networking -- redirect traffic to/from the OpenStack OVN"},{"line_number":27,"context_line":"Overlay."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"To accomplish that it is needed to:"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"234081ae_8806499d","line":27,"range":{"start_line":24,"start_character":0,"end_line":27,"end_character":8},"in_reply_to":"d5dd5651_2282bba2","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":26,"context_line":"doing with Kernel networking -- redirect traffic to/from the OpenStack OVN"},{"line_number":27,"context_line":"Overlay."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"To accomplish that it is needed to:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- Ensure the incomming traffic gets redirected from the physical NICs to br-int"},{"line_number":32,"context_line":"  (through br-ex(s)) without using kernel routes and rules."}],"source_content_type":"text/x-rst","patch_set":6,"id":"711100de_3f4428b3","line":29,"updated":"2024-01-22 14:05:21.000000000","message":"To accomplish this goal, the following is required:","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":26,"context_line":"doing with Kernel networking -- redirect traffic to/from the OpenStack OVN"},{"line_number":27,"context_line":"Overlay."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"To accomplish that it is needed to:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- Ensure the incomming traffic gets redirected from the physical NICs to br-int"},{"line_number":32,"context_line":"  (through br-ex(s)) without using kernel routes and rules."}],"source_content_type":"text/x-rst","patch_set":6,"id":"e0015acc_2af66437","line":29,"in_reply_to":"711100de_3f4428b3","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"To accomplish that it is needed to:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- Ensure the incomming traffic gets redirected from the physical NICs to br-int"},{"line_number":32,"context_line":"  (through br-ex(s)) without using kernel routes and rules."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- Ensure the outcomming traffic gets redirected to the physical NICs without"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fd8a6504_d2d296b3","line":31,"range":{"start_line":31,"start_character":13,"end_line":31,"end_character":22},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\nEnsure that incoming traffic gets redirected from the physical NICs to the OVS integration bridge (``br-int``) though one or more OVS provider bridges (``br-ex``) without using kernel routes and rules.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"To accomplish that it is needed to:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- Ensure the incomming traffic gets redirected from the physical NICs to br-int"},{"line_number":32,"context_line":"  (through br-ex(s)) without using kernel routes and rules."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- Ensure the outcomming traffic gets redirected to the physical NICs without"}],"source_content_type":"text/x-rst","patch_set":6,"id":"62e19219_3d7ca826","line":31,"range":{"start_line":31,"start_character":13,"end_line":31,"end_character":22},"in_reply_to":"fd8a6504_d2d296b3","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":31,"context_line":"- Ensure the incomming traffic gets redirected from the physical NICs to br-int"},{"line_number":32,"context_line":"  (through br-ex(s)) without using kernel routes and rules."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- Ensure the outcomming traffic gets redirected to the physical NICs without"},{"line_number":35,"context_line":"  using the default kernel routes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- Expose the IPs in the same way as we did before."}],"source_content_type":"text/x-rst","patch_set":6,"id":"a49a88fa_eb399c20","line":34,"range":{"start_line":34,"start_character":13,"end_line":34,"end_character":23},"updated":"2024-01-22 14:05:21.000000000","message":"Change `outcomming` to `outgoing`.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":31,"context_line":"- Ensure the incomming traffic gets redirected from the physical NICs to br-int"},{"line_number":32,"context_line":"  (through br-ex(s)) without using kernel routes and rules."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- Ensure the outcomming traffic gets redirected to the physical NICs without"},{"line_number":35,"context_line":"  using the default kernel routes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- Expose the IPs in the same way as we did before."}],"source_content_type":"text/x-rst","patch_set":6,"id":"90a09d60_ad389bfc","line":34,"range":{"start_line":34,"start_character":13,"end_line":34,"end_character":23},"in_reply_to":"a49a88fa_eb399c20","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":34,"context_line":"- Ensure the outcomming traffic gets redirected to the physical NICs without"},{"line_number":35,"context_line":"  using the default kernel routes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- Expose the IPs in the same way as we did before."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The third point is simple as it is already being done, but for the first two"},{"line_number":40,"context_line":"points OVN virtual routing capabilities are needed, ensuring the traffic gets"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7018d5f4_2586daab","line":37,"updated":"2024-01-22 14:05:21.000000000","message":"Suggest that you make this the first item in the list.\n\nAlso, note that this requirement has already been met. Maybe like this?\n\n`- Expose the IPs in the same way as we did before. (This requirement has been met.)`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":34,"context_line":"- Ensure the outcomming traffic gets redirected to the physical NICs without"},{"line_number":35,"context_line":"  using the default kernel routes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- Expose the IPs in the same way as we did before."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The third point is simple as it is already being done, but for the first two"},{"line_number":40,"context_line":"points OVN virtual routing capabilities are needed, ensuring the traffic gets"}],"source_content_type":"text/x-rst","patch_set":6,"id":"333ad5d0_165997ef","line":37,"in_reply_to":"7018d5f4_2586daab","updated":"2024-01-26 08:40:29.000000000","message":"The steps need to be done in this order, first wiring (first 2 points) then exposing (last one)","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- Expose the IPs in the same way as we did before."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The third point is simple as it is already being done, but for the first two"},{"line_number":40,"context_line":"points OVN virtual routing capabilities are needed, ensuring the traffic gets"},{"line_number":41,"context_line":"routed from the NICS to the OpenStack Overlay and vice versa."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Proposed Solution"},{"line_number":45,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0ebb9557_d84c5a19","line":42,"range":{"start_line":39,"start_character":1,"end_line":42,"end_character":0},"updated":"2024-01-22 14:05:21.000000000","message":"I wonder if we need this paragraph?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":44,"context_line":"Proposed Solution"},{"line_number":45,"context_line":"-----------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The proposed solution to avoid having the Kernel networking in the middle of"},{"line_number":48,"context_line":"the datapath (and therefore blocking datapath acceleration) is to have a"},{"line_number":49,"context_line":"separate OVN cluster per node, in charge of setting up the needed virtual"},{"line_number":50,"context_line":"infrastructure between the OpenStack networking overlay and the physical"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bcbcd0df_dd446e1d","line":47,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"To avoid placing kernel networking in the middle of the datapath and blocking acceleration, the proposed solution mandates locating a separate OVN cluster on each node that manages the needed virtual infrastructure between the OpenStack networking overlay and the physical network. Because routing occurs at OVN/OVS level, this proposal makes it is possible to support hardware offloading (HWOL) and OVS-DPDK.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Proposed Solution"},{"line_number":45,"context_line":"-----------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The proposed solution to avoid having the Kernel networking in the middle of"},{"line_number":48,"context_line":"the datapath (and therefore blocking datapath acceleration) is to have a"},{"line_number":49,"context_line":"separate OVN cluster per node, in charge of setting up the needed virtual"},{"line_number":50,"context_line":"infrastructure between the OpenStack networking overlay and the physical"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ed980d5e_fcd7485c","line":47,"in_reply_to":"bcbcd0df_dd446e1d","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":51,"context_line":"network. This way, as routing also happens at OVN/OVS level it is possible"},{"line_number":52,"context_line":"to make use of Hardware Offloading (HWOL) or OVS-DPDK."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The next figure shows an overview of the extra OVS bridges as well as the"},{"line_number":55,"context_line":"OVN virtual networking infrastructure per node."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":".. image:: ../../../images/ovn-cluster-overview.png"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7c115622_0b3a69b5","line":54,"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n\n\"The next figure shows the proposed cluster required to manage the OVN virtual networking infrastructure on each node.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":51,"context_line":"network. This way, as routing also happens at OVN/OVS level it is possible"},{"line_number":52,"context_line":"to make use of Hardware Offloading (HWOL) or OVS-DPDK."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The next figure shows an overview of the extra OVS bridges as well as the"},{"line_number":55,"context_line":"OVN virtual networking infrastructure per node."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":".. image:: ../../../images/ovn-cluster-overview.png"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4cea9cee_a4efdd8e","line":54,"in_reply_to":"7c115622_0b3a69b5","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":60,"context_line":"   :width: 100%"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"In a standard deployment ``br-int`` is directly connected to the OVS external"},{"line_number":63,"context_line":"bridge (``br-ex``) -- where the physical NICs are attached."},{"line_number":64,"context_line":"By contrast, in the default BGP driver solution (see :ref:`nb_bgp_driver`)"},{"line_number":65,"context_line":"the physical NICs are not directly attached to br-ex, but relying on kernel"},{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."}],"source_content_type":"text/x-rst","patch_set":6,"id":"0f42779e_1e10ceef","line":63,"range":{"start_line":63,"start_character":18,"end_line":63,"end_character":21},"updated":"2024-01-22 14:05:21.000000000","message":"I don\u0027t think that you need a dash here.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":60,"context_line":"   :width: 100%"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"In a standard deployment ``br-int`` is directly connected to the OVS external"},{"line_number":63,"context_line":"bridge (``br-ex``) -- where the physical NICs are attached."},{"line_number":64,"context_line":"By contrast, in the default BGP driver solution (see :ref:`nb_bgp_driver`)"},{"line_number":65,"context_line":"the physical NICs are not directly attached to br-ex, but relying on kernel"},{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."}],"source_content_type":"text/x-rst","patch_set":6,"id":"2a04d098_0a378d4d","line":63,"range":{"start_line":63,"start_character":18,"end_line":63,"end_character":21},"in_reply_to":"0f42779e_1e10ceef","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"In a standard deployment ``br-int`` is directly connected to the OVS external"},{"line_number":63,"context_line":"bridge (``br-ex``) -- where the physical NICs are attached."},{"line_number":64,"context_line":"By contrast, in the default BGP driver solution (see :ref:`nb_bgp_driver`)"},{"line_number":65,"context_line":"the physical NICs are not directly attached to br-ex, but relying on kernel"},{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."},{"line_number":67,"context_line":"In the proposed (ovn routing) architecture the mapping is the next"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ecbb6a6a_2bcb774a","line":64,"range":{"start_line":64,"start_character":73,"end_line":64,"end_character":74},"updated":"2024-01-22 14:05:21.000000000","message":"Insert a comma after the parentheses.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"In a standard deployment ``br-int`` is directly connected to the OVS external"},{"line_number":63,"context_line":"bridge (``br-ex``) -- where the physical NICs are attached."},{"line_number":64,"context_line":"By contrast, in the default BGP driver solution (see :ref:`nb_bgp_driver`)"},{"line_number":65,"context_line":"the physical NICs are not directly attached to br-ex, but relying on kernel"},{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."},{"line_number":67,"context_line":"In the proposed (ovn routing) architecture the mapping is the next"}],"source_content_type":"text/x-rst","patch_set":6,"id":"957f4ddb_1fea539b","line":64,"range":{"start_line":64,"start_character":73,"end_line":64,"end_character":74},"in_reply_to":"ecbb6a6a_2bcb774a","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":62,"context_line":"In a standard deployment ``br-int`` is directly connected to the OVS external"},{"line_number":63,"context_line":"bridge (``br-ex``) -- where the physical NICs are attached."},{"line_number":64,"context_line":"By contrast, in the default BGP driver solution (see :ref:`nb_bgp_driver`)"},{"line_number":65,"context_line":"the physical NICs are not directly attached to br-ex, but relying on kernel"},{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."},{"line_number":67,"context_line":"In the proposed (ovn routing) architecture the mapping is the next"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"c1c8c2c5_6667ec77","line":65,"range":{"start_line":65,"start_character":58,"end_line":65,"end_character":65},"updated":"2024-01-22 14:05:21.000000000","message":"rely","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":62,"context_line":"In a standard deployment ``br-int`` is directly connected to the OVS external"},{"line_number":63,"context_line":"bridge (``br-ex``) -- where the physical NICs are attached."},{"line_number":64,"context_line":"By contrast, in the default BGP driver solution (see :ref:`nb_bgp_driver`)"},{"line_number":65,"context_line":"the physical NICs are not directly attached to br-ex, but relying on kernel"},{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."},{"line_number":67,"context_line":"In the proposed (ovn routing) architecture the mapping is the next"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"372b276d_4a491b77","line":65,"range":{"start_line":65,"start_character":58,"end_line":65,"end_character":65},"in_reply_to":"c1c8c2c5_6667ec77","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":64,"context_line":"By contrast, in the default BGP driver solution (see :ref:`nb_bgp_driver`)"},{"line_number":65,"context_line":"the physical NICs are not directly attached to br-ex, but relying on kernel"},{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."},{"line_number":67,"context_line":"In the proposed (ovn routing) architecture the mapping is the next"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"- ``br-int`` connected to an external (from the OpenStack perspective) OVS bridge"},{"line_number":70,"context_line":"  (``br-osp``)."}],"source_content_type":"text/x-rst","patch_set":6,"id":"8b6da517_df62d198","line":67,"updated":"2024-01-22 14:05:21.000000000","message":"Perhaps you want to say this?\n\n\"The OVN routing architecture proposes the following mapping:\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":64,"context_line":"By contrast, in the default BGP driver solution (see :ref:`nb_bgp_driver`)"},{"line_number":65,"context_line":"the physical NICs are not directly attached to br-ex, but relying on kernel"},{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."},{"line_number":67,"context_line":"In the proposed (ovn routing) architecture the mapping is the next"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"- ``br-int`` connected to an external (from the OpenStack perspective) OVS bridge"},{"line_number":70,"context_line":"  (``br-osp``)."}],"source_content_type":"text/x-rst","patch_set":6,"id":"91a114b8_26b8309b","line":67,"in_reply_to":"8b6da517_df62d198","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."},{"line_number":67,"context_line":"In the proposed (ovn routing) architecture the mapping is the next"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"- ``br-int`` connected to an external (from the OpenStack perspective) OVS bridge"},{"line_number":70,"context_line":"  (``br-osp``)."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"- ``br-osp`` does not have any physical resources attached, just patch"}],"source_content_type":"text/x-rst","patch_set":6,"id":"22151f6e_4971cdc8","line":69,"updated":"2024-01-22 14:05:21.000000000","message":"The OVS integration bridge (``br-int``) connects to an OpenStack OVS bridge (``br-osp``).","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":true,"context_lines":[{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."},{"line_number":67,"context_line":"In the proposed (ovn routing) architecture the mapping is the next"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"- ``br-int`` connected to an external (from the OpenStack perspective) OVS bridge"},{"line_number":70,"context_line":"  (``br-osp``)."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"- ``br-osp`` does not have any physical resources attached, just patch"}],"source_content_type":"text/x-rst","patch_set":6,"id":"617d8fd2_b402952b","line":69,"in_reply_to":"22151f6e_4971cdc8","updated":"2024-01-26 08:40:29.000000000","message":"br-osp is not an openstack ovs bridge per se... I prefer to keep the current version","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":66,"context_line":"networking (ip routes and ip rules) to redirect the traffic to ``br-ex``."},{"line_number":67,"context_line":"In the proposed (ovn routing) architecture the mapping is the next"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"- ``br-int`` connected to an external (from the OpenStack perspective) OVS bridge"},{"line_number":70,"context_line":"  (``br-osp``)."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"- ``br-osp`` does not have any physical resources attached, just patch"}],"source_content_type":"text/x-rst","patch_set":6,"id":"30ec52c6_abf398b9","line":69,"in_reply_to":"617d8fd2_b402952b","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  (routers and switches). It creates mappings to ``br-osp`` and ``br-ex``"},{"line_number":78,"context_line":"  (patch ports)."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"- ``br-ex`` keeps being the external bridge, where the physical NICs are"},{"line_number":81,"context_line":"  attached (as in default environments without BGP). But instead of being"},{"line_number":82,"context_line":"  directly connected to ``br-int``, is connected to ``br-bgp``. Note for"},{"line_number":83,"context_line":"  ECMP purposes, each nic will get attached to a different ``br-ex`` device"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4377d3f5_8b5c787c","line":80,"range":{"start_line":80,"start_character":24,"end_line":80,"end_character":44},"updated":"2024-01-22 14:05:21.000000000","message":"In our downstream doc, we identify ``br-ex`` as the \"OVS provider bridge\"....","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":80,"context_line":"- ``br-ex`` keeps being the external bridge, where the physical NICs are"},{"line_number":81,"context_line":"  attached (as in default environments without BGP). But instead of being"},{"line_number":82,"context_line":"  directly connected to ``br-int``, is connected to ``br-bgp``. Note for"},{"line_number":83,"context_line":"  ECMP purposes, each nic will get attached to a different ``br-ex`` device"},{"line_number":84,"context_line":"  (``br-ex`` and ``br-ex-2``)."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Regarding the virtual OVN resources, the next is required:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"444f58a5_2f4bf43c","line":83,"range":{"start_line":83,"start_character":17,"end_line":83,"end_character":43},"updated":"2024-01-22 14:05:21.000000000","message":"Change:\n\n`each nic will get attached`\n\nTo:\n\n`each NIC is attached`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":80,"context_line":"- ``br-ex`` keeps being the external bridge, where the physical NICs are"},{"line_number":81,"context_line":"  attached (as in default environments without BGP). But instead of being"},{"line_number":82,"context_line":"  directly connected to ``br-int``, is connected to ``br-bgp``. Note for"},{"line_number":83,"context_line":"  ECMP purposes, each nic will get attached to a different ``br-ex`` device"},{"line_number":84,"context_line":"  (``br-ex`` and ``br-ex-2``)."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Regarding the virtual OVN resources, the next is required:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"233743a1_c17c1fb2","line":83,"range":{"start_line":83,"start_character":17,"end_line":83,"end_character":43},"in_reply_to":"444f58a5_2f4bf43c","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":83,"context_line":"  ECMP purposes, each nic will get attached to a different ``br-ex`` device"},{"line_number":84,"context_line":"  (``br-ex`` and ``br-ex-2``)."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Regarding the virtual OVN resources, the next is required:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"}],"source_content_type":"text/x-rst","patch_set":6,"id":"29772ed4_8b0e83c6","line":86,"range":{"start_line":86,"start_character":0,"end_line":86,"end_character":58},"updated":"2024-01-22 14:05:21.000000000","message":"Instead?\n\n\"The virtual OVN resources requires the following:\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":83,"context_line":"  ECMP purposes, each nic will get attached to a different ``br-ex`` device"},{"line_number":84,"context_line":"  (``br-ex`` and ``br-ex-2``)."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Regarding the virtual OVN resources, the next is required:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"}],"source_content_type":"text/x-rst","patch_set":6,"id":"42d5ff52_0ac0a3cc","line":86,"range":{"start_line":86,"start_character":0,"end_line":86,"end_character":58},"in_reply_to":"29772ed4_8b0e83c6","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Regarding the virtual OVN resources, the next is required:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a3968d59_3e85af82","line":88,"range":{"start_line":88,"start_character":10,"end_line":88,"end_character":16},"updated":"2024-01-22 14:05:21.000000000","message":"lowercase: router","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Regarding the virtual OVN resources, the next is required:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"}],"source_content_type":"text/x-rst","patch_set":6,"id":"70e6e4f0_3f79ac5b","line":88,"range":{"start_line":88,"start_character":35,"end_line":88,"end_character":56},"updated":"2024-01-22 14:05:21.000000000","message":"manages","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Regarding the virtual OVN resources, the next is required:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7cd024d2_421c6f3b","line":88,"range":{"start_line":88,"start_character":10,"end_line":88,"end_character":16},"in_reply_to":"6dc52348_532b91fd","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Regarding the virtual OVN resources, the next is required:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fc2817e9_92229cc2","line":88,"range":{"start_line":88,"start_character":35,"end_line":88,"end_character":56},"in_reply_to":"70e6e4f0_3f79ac5b","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":true,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Regarding the virtual OVN resources, the next is required:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6dc52348_532b91fd","line":88,"range":{"start_line":88,"start_character":10,"end_line":88,"end_character":16},"in_reply_to":"a3968d59_3e85af82","updated":"2024-01-26 08:40:29.000000000","message":"the tables at OVN level are Logical_Router and we also abbreviated as LR, so I prefer to keep the uppercase","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9567d390_521934cb","line":90,"range":{"start_line":90,"start_character":47,"end_line":90,"end_character":48},"updated":"2024-01-22 14:05:21.000000000","message":"two","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6f6476a7_221251a0","line":90,"range":{"start_line":90,"start_character":47,"end_line":90,"end_character":48},"in_reply_to":"9567d390_521934cb","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."}],"source_content_type":"text/x-rst","patch_set":6,"id":"b4f7f4ad_c6f3f26b","line":91,"range":{"start_line":90,"start_character":68,"end_line":91,"end_character":14},"updated":"2024-01-22 14:05:21.000000000","message":"I don\u0027t think this needs to be capitalized?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."}],"source_content_type":"text/x-rst","patch_set":6,"id":"a4a18105_43ed275d","line":91,"range":{"start_line":91,"start_character":41,"end_line":91,"end_character":57},"updated":"2024-01-22 14:05:21.000000000","message":"lowercase","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5c7912b1_5124760c","line":91,"range":{"start_line":91,"start_character":41,"end_line":91,"end_character":57},"in_reply_to":"a4a18105_43ed275d","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Logical Router (``bgp-router``): this is in charge of the routing that was"},{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."}],"source_content_type":"text/x-rst","patch_set":6,"id":"170dd516_8c16727a","line":91,"range":{"start_line":90,"start_character":68,"end_line":91,"end_character":14},"in_reply_to":"b4f7f4ad_c6f3f26b","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fe48b522_d9e4c8b1","line":92,"range":{"start_line":92,"start_character":2,"end_line":92,"end_character":41},"updated":"2024-01-22 14:05:21.000000000","message":"Instead of: `(2 are not needed, it can be just one),`\n\n`(only one switch is required),`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bdd4cde4_512ec788","line":92,"range":{"start_line":92,"start_character":46,"end_line":92,"end_character":47},"updated":"2024-01-22 14:05:21.000000000","message":"one","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"216692f3_c82ed570","line":92,"range":{"start_line":92,"start_character":46,"end_line":92,"end_character":47},"in_reply_to":"bdd4cde4_512ec788","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  previously done in the kernel networking layer between both networks"},{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"84f14598_1153f80d","line":92,"range":{"start_line":92,"start_character":2,"end_line":92,"end_character":41},"in_reply_to":"fe48b522_d9e4c8b1","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"}],"source_content_type":"text/x-rst","patch_set":6,"id":"f99e239e_c2c3ead2","line":93,"range":{"start_line":93,"start_character":14,"end_line":93,"end_character":28},"updated":"2024-01-22 14:05:21.000000000","message":"No need to capitalize.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  (physical and OpenStack OVN overlay). It has 2 connections (i.e., Logical"},{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4921026f_2702b107","line":93,"range":{"start_line":93,"start_character":14,"end_line":93,"end_character":28},"in_reply_to":"f99e239e_c2c3ead2","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"},{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5cc7420c_2bdb3ab3","line":94,"range":{"start_line":94,"start_character":13,"end_line":94,"end_character":20},"updated":"2024-01-22 14:05:21.000000000","message":"lowercase","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":91,"context_line":"  Router Ports) towards the ``bgp-ex-X`` Logical Switches to add support for ECMP"},{"line_number":92,"context_line":"  (2 are not needed, it can be just one), and 1 connection to the"},{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"},{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"}],"source_content_type":"text/x-rst","patch_set":6,"id":"02441ddd_b36a5657","line":94,"range":{"start_line":94,"start_character":13,"end_line":94,"end_character":20},"in_reply_to":"5cc7420c_2bdb3ab3","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"},{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"17470d1c_fe096058","line":96,"range":{"start_line":96,"start_character":31,"end_line":96,"end_character":33},"updated":"2024-01-22 14:05:21.000000000","message":"Remove `it`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"},{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"a5066158_8603eb4e","line":96,"range":{"start_line":96,"start_character":10,"end_line":96,"end_character":16},"updated":"2024-01-22 14:05:21.000000000","message":"lowercase","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"},{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ebeaf826_9c21d207","line":96,"range":{"start_line":96,"start_character":31,"end_line":96,"end_character":33},"in_reply_to":"17470d1c_fe096058","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":93,"context_line":"  ``bgp-osp`` Logical Switch to ensure traffic to/from the OpenStack"},{"line_number":94,"context_line":"  networking Overlay."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"},{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"862280c3_96461d3c","line":96,"range":{"start_line":96,"start_character":10,"end_line":96,"end_character":16},"in_reply_to":"a5066158_8603eb4e","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"},{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- Logical Switch (``bgp-osp``): it is connected to the ``bgp-router``, and has"},{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"66acbeea_0a7c2945","line":98,"range":{"start_line":98,"start_character":17,"end_line":98,"end_character":23},"updated":"2024-01-22 14:05:21.000000000","message":"lowercase","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"- Logical Switch (``bgp-ex``): it is connected to the ``bgp-router``, and has"},{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- Logical Switch (``bgp-osp``): it is connected to the ``bgp-router``, and has"},{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"552cb119_6e63c31a","line":98,"range":{"start_line":98,"start_character":17,"end_line":98,"end_character":23},"in_reply_to":"66acbeea_0a7c2945","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- Logical Switch (``bgp-osp``): it is connected to the ``bgp-router``, and has"},{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"},{"line_number":102,"context_line":"  (send traffic back and forth) to the OpenStack OVN overlay."},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5eee10cd_93123a31","line":100,"range":{"start_line":100,"start_character":10,"end_line":100,"end_character":16},"updated":"2024-01-22 14:05:21.000000000","message":"lowercase","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- Logical Switch (``bgp-osp``): it is connected to the ``bgp-router``, and has"},{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"},{"line_number":102,"context_line":"  (send traffic back and forth) to the OpenStack OVN overlay."},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"033de9f3_845e8c09","line":100,"range":{"start_line":100,"start_character":32,"end_line":100,"end_character":34},"updated":"2024-01-22 14:05:21.000000000","message":"remove `it`","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- Logical Switch (``bgp-osp``): it is connected to the ``bgp-router``, and has"},{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"},{"line_number":102,"context_line":"  (send traffic back and forth) to the OpenStack OVN overlay."},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"cde96286_489e088f","line":100,"range":{"start_line":100,"start_character":32,"end_line":100,"end_character":34},"in_reply_to":"033de9f3_845e8c09","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":false,"context_lines":[{"line_number":97,"context_line":"  a localnet to connect it to ``br-ex`` and therefore the physical NICs. There"},{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- Logical Switch (``bgp-osp``): it is connected to the ``bgp-router``, and has"},{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"},{"line_number":102,"context_line":"  (send traffic back and forth) to the OpenStack OVN overlay."},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"664380cc_6311cacf","line":100,"range":{"start_line":100,"start_character":10,"end_line":100,"end_character":16},"in_reply_to":"5eee10cd_93123a31","updated":"2024-01-31 12:04:02.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- Logical Switch (``bgp-osp``): it is connected to the ``bgp-router``, and has"},{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"},{"line_number":102,"context_line":"  (send traffic back and forth) to the OpenStack OVN overlay."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"In addition to that some OVS flows are needed at both OVS bridges:"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- At the ``br-ex-X`` bridges a flow is needed to ensure only the traffic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2474d507_58091ee5","line":103,"range":{"start_line":101,"start_character":40,"end_line":103,"end_character":0},"updated":"2024-01-22 14:05:21.000000000","message":"Instead:\n\n\"...to enable it to send traffic to and from the OpenStack OVN overlay.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":98,"context_line":"  is one Logical Switch per NIC (``bgp-ex`` and ``bgp-ex-2``)."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- Logical Switch (``bgp-osp``): it is connected to the ``bgp-router``, and has"},{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"},{"line_number":102,"context_line":"  (send traffic back and forth) to the OpenStack OVN overlay."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"In addition to that some OVS flows are needed at both OVS bridges:"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- At the ``br-ex-X`` bridges a flow is needed to ensure only the traffic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0b3fdabc_5197e99e","line":103,"range":{"start_line":101,"start_character":40,"end_line":103,"end_character":0},"in_reply_to":"2474d507_58091ee5","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"},{"line_number":102,"context_line":"  (send traffic back and forth) to the OpenStack OVN overlay."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"In addition to that some OVS flows are needed at both OVS bridges:"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- At the ``br-ex-X`` bridges a flow is needed to ensure only the traffic"},{"line_number":107,"context_line":"  targetted for OpenStack provider networks is redirected to the OVN cluster"}],"source_content_type":"text/x-rst","patch_set":6,"id":"011b61bc_58e37db5","line":104,"range":{"start_line":104,"start_character":0,"end_line":104,"end_character":66},"updated":"2024-01-22 14:05:21.000000000","message":"Instead:\n\n\"The following OVS flows are required on both OVS bridges:\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":101,"context_line":"  a localnet to connect it to ``br-osp`` and therefore being able to interact"},{"line_number":102,"context_line":"  (send traffic back and forth) to the OpenStack OVN overlay."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"In addition to that some OVS flows are needed at both OVS bridges:"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- At the ``br-ex-X`` bridges a flow is needed to ensure only the traffic"},{"line_number":107,"context_line":"  targetted for OpenStack provider networks is redirected to the OVN cluster"}],"source_content_type":"text/x-rst","patch_set":6,"id":"e9c86ff8_564dde5a","line":104,"range":{"start_line":104,"start_character":0,"end_line":104,"end_character":66},"in_reply_to":"011b61bc_58e37db5","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"In addition to that some OVS flows are needed at both OVS bridges:"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- At the ``br-ex-X`` bridges a flow is needed to ensure only the traffic"},{"line_number":107,"context_line":"  targetted for OpenStack provider networks is redirected to the OVN cluster"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    .. code-block:: ini"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"      cookie\u003d0x3e7, duration\u003d942003.114s, table\u003d0, n_packets\u003d1825, n_bytes\u003d178850, priority\u003d1000,ip,in_port\u003deth1,nw_dst\u003d172.16.0.0/16 actions\u003dmod_dl_dst:52:54:00:30:93:ea,output:\"patch-bgp-ex-lo\""}],"source_content_type":"text/x-rst","patch_set":6,"id":"356665ee_1d0d2bbd","line":108,"range":{"start_line":106,"start_character":2,"end_line":108,"end_character":0},"updated":"2024-01-22 14:05:21.000000000","message":"Suggestion:\n- ``br-ex-X`` bridges: require a flow to ensure that only the traffic\n  targeted for OpenStack provider networks is redirected to the OVN cluster.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"In addition to that some OVS flows are needed at both OVS bridges:"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- At the ``br-ex-X`` bridges a flow is needed to ensure only the traffic"},{"line_number":107,"context_line":"  targetted for OpenStack provider networks is redirected to the OVN cluster"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    .. code-block:: ini"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"      cookie\u003d0x3e7, duration\u003d942003.114s, table\u003d0, n_packets\u003d1825, n_bytes\u003d178850, priority\u003d1000,ip,in_port\u003deth1,nw_dst\u003d172.16.0.0/16 actions\u003dmod_dl_dst:52:54:00:30:93:ea,output:\"patch-bgp-ex-lo\""}],"source_content_type":"text/x-rst","patch_set":6,"id":"e35473b3_dadad837","line":108,"range":{"start_line":106,"start_character":2,"end_line":108,"end_character":0},"in_reply_to":"356665ee_1d0d2bbd","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"- At ``br-osp`` a flow per OpenStack provider network is needed so that MAC"},{"line_number":116,"context_line":"  is changed by the one on the router port in the OVN cluster and that traffic"},{"line_number":117,"context_line":"  is properly handled (routed) by it."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    .. code-block:: ini"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"50514381_6d92bf77","line":117,"range":{"start_line":115,"start_character":2,"end_line":117,"end_character":37},"updated":"2024-01-22 14:05:21.000000000","message":"I don\u0027t know if this is technically correct, but I think you get the idea for how to make the language clearer?\n\n- ``br-osp`` bridge: requires a flow for each OpenStack provider network to change\n   the MAC on the router port and to properly manage traffic that is routed on the \n   OVN cluster.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"- At ``br-osp`` a flow per OpenStack provider network is needed so that MAC"},{"line_number":116,"context_line":"  is changed by the one on the router port in the OVN cluster and that traffic"},{"line_number":117,"context_line":"  is properly handled (routed) by it."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    .. code-block:: ini"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"2bd5e447_d5a66707","line":117,"range":{"start_line":115,"start_character":2,"end_line":117,"end_character":37},"in_reply_to":"50514381_6d92bf77","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":124,"context_line":"OVN NB DB Events"},{"line_number":125,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"This are the very same as in the NB DB driver with the ``underlay`` exposing"},{"line_number":128,"context_line":"mode. See :ref:`nb_bgp_driver`. The main different is that the wiring actions"},{"line_number":129,"context_line":"are simplified."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Driver Logic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6552ddc6_663a3418","line":129,"range":{"start_line":127,"start_character":0,"end_line":129,"end_character":15},"updated":"2024-01-22 14:05:21.000000000","message":"Suggest:\n\n\"The OVN northbound database events that the driver monitors are the same as the ones for the NB DB driver with the ``underlay`` exposing mode. See :ref:`nb_bgp_driver`. The main difference between the two drivers is that the wiring actions are simplified for the OVN routing driver.\"","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":124,"context_line":"OVN NB DB Events"},{"line_number":125,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"This are the very same as in the NB DB driver with the ``underlay`` exposing"},{"line_number":128,"context_line":"mode. See :ref:`nb_bgp_driver`. The main different is that the wiring actions"},{"line_number":129,"context_line":"are simplified."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Driver Logic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"51f75bdc_a1dd5c88","line":129,"range":{"start_line":127,"start_character":0,"end_line":129,"end_character":15},"in_reply_to":"6552ddc6_663a3418","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":132,"context_line":"Driver Logic"},{"line_number":133,"context_line":"~~~~~~~~~~~~"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"As with the other BGP drivers or exposing modes (:ref:`bgp_driver`,"},{"line_number":136,"context_line":":ref:`nb_bgp_driver`) the NB DB Driver with the ``ovn`` exposing mode is in"},{"line_number":137,"context_line":"charge of the networking configuration to ensure that VMs abd LBs on provider"},{"line_number":138,"context_line":"networks or with FIPs can be reached through BGP (N/S traffic). Similarly, if"}],"source_content_type":"text/x-rst","patch_set":6,"id":"13c96856_5e9abf4b","line":135,"range":{"start_line":135,"start_character":18,"end_line":135,"end_character":47},"updated":"2024-01-22 14:05:21.000000000","message":"I must confess, that I am a little confused by this terminology: `exposing modes`.\n\nAll of a sudden it gets mentioned here. \n\nI think we might need to go back to the earlier sections and work this terminology into the content, so that the reader is not surprised when it is used here.","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":132,"context_line":"Driver Logic"},{"line_number":133,"context_line":"~~~~~~~~~~~~"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"As with the other BGP drivers or exposing modes (:ref:`bgp_driver`,"},{"line_number":136,"context_line":":ref:`nb_bgp_driver`) the NB DB Driver with the ``ovn`` exposing mode is in"},{"line_number":137,"context_line":"charge of the networking configuration to ensure that VMs abd LBs on provider"},{"line_number":138,"context_line":"networks or with FIPs can be reached through BGP (N/S traffic). Similarly, if"}],"source_content_type":"text/x-rst","patch_set":6,"id":"342e34d6_66c206e8","line":135,"range":{"start_line":135,"start_character":18,"end_line":135,"end_character":47},"in_reply_to":"13c96856_5e9abf4b","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":133,"context_line":"~~~~~~~~~~~~"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"As with the other BGP drivers or exposing modes (:ref:`bgp_driver`,"},{"line_number":136,"context_line":":ref:`nb_bgp_driver`) the NB DB Driver with the ``ovn`` exposing mode is in"},{"line_number":137,"context_line":"charge of the networking configuration to ensure that VMs abd LBs on provider"},{"line_number":138,"context_line":"networks or with FIPs can be reached through BGP (N/S traffic). Similarly, if"},{"line_number":139,"context_line":"``expose_tenant_networks`` flag is enabled, VMs in tenant networks should be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d8b784d8_6b965fd4","line":136,"range":{"start_line":136,"start_character":56,"end_line":136,"end_character":69},"updated":"2024-01-22 14:05:21.000000000","message":"Is `exposing mode with underlay` and `exposing mode with ovn` different ways to say using a particular driver with `kernel routing` or with `OVN routing`?","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":133,"context_line":"~~~~~~~~~~~~"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"As with the other BGP drivers or exposing modes (:ref:`bgp_driver`,"},{"line_number":136,"context_line":":ref:`nb_bgp_driver`) the NB DB Driver with the ``ovn`` exposing mode is in"},{"line_number":137,"context_line":"charge of the networking configuration to ensure that VMs abd LBs on provider"},{"line_number":138,"context_line":"networks or with FIPs can be reached through BGP (N/S traffic). Similarly, if"},{"line_number":139,"context_line":"``expose_tenant_networks`` flag is enabled, VMs in tenant networks should be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ffbdf684_16de4ec6","line":136,"range":{"start_line":136,"start_character":56,"end_line":136,"end_character":69},"in_reply_to":"d8b784d8_6b965fd4","updated":"2024-01-26 08:40:29.000000000","message":"yeah, it is making the driver know that it should expose the IPs in the way needed for making OVN routing (i.e., no need to create kernel routing tweaking)","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"The following limitations apply:"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"- ovn 23.06 or newer is needed"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":247,"context_line":"  require ovn 23.09 or newer."}],"source_content_type":"text/x-rst","patch_set":6,"id":"8730e67c_99a92824","line":244,"range":{"start_line":244,"start_character":15,"end_line":244,"end_character":20},"updated":"2024-01-22 14:05:21.000000000","message":"later","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"The following limitations apply:"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"- ovn 23.06 or newer is needed"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":247,"context_line":"  require ovn 23.09 or newer."}],"source_content_type":"text/x-rst","patch_set":6,"id":"03e2d4b2_37dd3c50","line":244,"range":{"start_line":244,"start_character":15,"end_line":244,"end_character":20},"in_reply_to":"8730e67c_99a92824","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":244,"context_line":"- ovn 23.06 or newer is needed"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":247,"context_line":"  require ovn 23.09 or newer."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ed6b1f6b_c67c1747","line":247,"range":{"start_line":247,"start_character":10,"end_line":247,"end_character":13},"updated":"2024-01-22 14:05:21.000000000","message":"OVN","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":244,"context_line":"- ovn 23.06 or newer is needed"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":247,"context_line":"  require ovn 23.09 or newer."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"6b64f5f5_e544bc53","line":247,"range":{"start_line":247,"start_character":23,"end_line":247,"end_character":28},"updated":"2024-01-22 14:05:21.000000000","message":"later","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":244,"context_line":"- ovn 23.06 or newer is needed"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":247,"context_line":"  require ovn 23.09 or newer."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"41324dd1_995c23c6","line":247,"range":{"start_line":247,"start_character":23,"end_line":247,"end_character":28},"in_reply_to":"6b64f5f5_e544bc53","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":244,"context_line":"- ovn 23.06 or newer is needed"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":247,"context_line":"  require ovn 23.09 or newer."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"db2b40f6_c7a54f81","line":247,"range":{"start_line":247,"start_character":10,"end_line":247,"end_character":13},"in_reply_to":"ed6b1f6b_c67c1747","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"4c0cd1d3060f9374b7aaf596a72f69046357f415","unresolved":true,"context_lines":[{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"- ECMP not properly working as there is no support for BFD at the ovn-cluster,"},{"line_number":252,"context_line":"  which means if one of the routes goes away the ovn cluster won\u0027t react to it"},{"line_number":253,"context_line":"  and there will be traffic disruption."},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"- There is no support for overlapping CIDRs, so this must be avoided, e.g., by"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d23e7529_1ec67190","line":252,"range":{"start_line":252,"start_character":49,"end_line":252,"end_character":52},"updated":"2024-01-22 14:05:21.000000000","message":"OVN","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0459c9aeb989c404359ad89b70c4107a71a98cfd","unresolved":false,"context_lines":[{"line_number":249,"context_line":"- IPv6 not yet supported"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"- ECMP not properly working as there is no support for BFD at the ovn-cluster,"},{"line_number":252,"context_line":"  which means if one of the routes goes away the ovn cluster won\u0027t react to it"},{"line_number":253,"context_line":"  and there will be traffic disruption."},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"- There is no support for overlapping CIDRs, so this must be avoided, e.g., by"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d2dc0c8c_518fc20f","line":252,"range":{"start_line":252,"start_character":49,"end_line":252,"end_character":52},"in_reply_to":"d23e7529_1ec67190","updated":"2024-01-26 08:40:29.000000000","message":"Done","commit_id":"adfcb788798900714c257c9a073dc51bfe3677ac"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ff206a12d5694daddad3f8aeb7616c01171e4076","unresolved":true,"context_lines":[{"line_number":1,"context_line":".. _ovn_routing:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":"OVN BGP Agent: Design of the BGP Driver with OVN routing"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Purpose"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7d0dafcb_3c7e71b6","line":4,"updated":"2024-01-29 23:15:29.000000000","message":"So is this a new driver or the NB DB driver with expose_method set to ovn?","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"09022ef0f283a882b6359a1d7455da186d4958db","unresolved":true,"context_lines":[{"line_number":1,"context_line":".. _ovn_routing:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":"OVN BGP Agent: Design of the BGP Driver with OVN routing"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Purpose"}],"source_content_type":"text/x-rst","patch_set":9,"id":"adf4f186_17eede6c","line":4,"in_reply_to":"1f52a983_baef6f42","updated":"2024-01-31 13:55:16.000000000","message":"right! problem is that exposing methods are only for NB DB Driver...\n\nWould it work if I create a new folder in drivers, named exposing_methods or something like that and move this file there?\n\nOr should we leave it as it is and think of a different way in a follow up patch?","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"720d8849c1184d165f7104e5c3394c4111f1aae6","unresolved":true,"context_lines":[{"line_number":1,"context_line":".. _ovn_routing:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":"OVN BGP Agent: Design of the BGP Driver with OVN routing"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Purpose"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1f52a983_baef6f42","line":4,"in_reply_to":"20e948a0_59ab63ba","updated":"2024-01-31 13:17:08.000000000","message":"Right but from the documentation hierarchy it sounds like a it\u0027s its own driver.","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"fb2a6e2542045f725cd676d056ffbfb88951ba3e","unresolved":true,"context_lines":[{"line_number":1,"context_line":".. _ovn_routing:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":"OVN BGP Agent: Design of the BGP Driver with OVN routing"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Purpose"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9007409f_aef5f789","line":4,"in_reply_to":"6329fb21_163ba023","updated":"2024-01-31 14:10:23.000000000","message":"I already changed the title.\n\nI\u0027ll add a sentence before the purpose to make it clear this is extension of NB DB Driver","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0e4cd408d47c0ef69c9d2a600bf6723bde1a1552","unresolved":true,"context_lines":[{"line_number":1,"context_line":".. _ovn_routing:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":"OVN BGP Agent: Design of the BGP Driver with OVN routing"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Purpose"}],"source_content_type":"text/x-rst","patch_set":9,"id":"20e948a0_59ab63ba","line":4,"in_reply_to":"7d0dafcb_3c7e71b6","updated":"2024-01-31 12:04:02.000000000","message":"It is not a new driver... is an extension of the NB DB Driver.","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"87011b0bb32631a227db94d38ed90d03f1ef148e","unresolved":false,"context_lines":[{"line_number":1,"context_line":".. _ovn_routing:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":"OVN BGP Agent: Design of the BGP Driver with OVN routing"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Purpose"}],"source_content_type":"text/x-rst","patch_set":9,"id":"58c1b3b2_4c0c60b7","line":4,"in_reply_to":"9007409f_aef5f789","updated":"2024-02-16 06:57:20.000000000","message":"Done","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"c792d077558ff56bf8feef3472a11d20a3b67ebe","unresolved":true,"context_lines":[{"line_number":1,"context_line":".. _ovn_routing:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":"OVN BGP Agent: Design of the BGP Driver with OVN routing"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Purpose"}],"source_content_type":"text/x-rst","patch_set":9,"id":"6329fb21_163ba023","line":4,"in_reply_to":"adf4f186_17eede6c","updated":"2024-01-31 13:58:11.000000000","message":"Maybe we can mention it here explicitly at the beginning somewhere. Or we could incorporate that to the NB DB driver or link it from there and not from there instead of https://review.opendev.org/c/openstack/ovn-bgp-agent/+/903407/11/doc/source/contributor/drivers/index.rst#10 ?\n\nimho the best would be to stating this is the extension of the NB driver and changing the title.","commit_id":"6035df003f8578ef8945832a64ae160925519ec3"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":11,"context_line":"Purpose"},{"line_number":12,"context_line":"-------"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The addition of a BGP driver enables the OVN BGP agent to expose virtual"},{"line_number":15,"context_line":"machine (VMs) and load balancer (LBs) IP addresses through the BGP dynamic"},{"line_number":16,"context_line":"protocol when these IP addresses are either associated with a floating IP"},{"line_number":17,"context_line":"(FIP) or are booted or created on a provider network."},{"line_number":18,"context_line":"The same functionality is available on project networks, when a special"},{"line_number":19,"context_line":"flag is set."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This document presents the design decision behind the extensions on the"},{"line_number":22,"context_line":"NB OVN BGP Driver to support OVN routing instead of kernel routing,"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1ca0e99a_d5181444","line":19,"range":{"start_line":14,"start_character":0,"end_line":19,"end_character":12},"updated":"2024-02-16 16:50:14.000000000","message":"Sounds out of place, this document is about the OVN routing only, I think we could get rid of this generic paragraph","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Purpose"},{"line_number":12,"context_line":"-------"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The addition of a BGP driver enables the OVN BGP agent to expose virtual"},{"line_number":15,"context_line":"machine (VMs) and load balancer (LBs) IP addresses through the BGP dynamic"},{"line_number":16,"context_line":"protocol when these IP addresses are either associated with a floating IP"},{"line_number":17,"context_line":"(FIP) or are booted or created on a provider network."},{"line_number":18,"context_line":"The same functionality is available on project networks, when a special"},{"line_number":19,"context_line":"flag is set."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This document presents the design decision behind the extensions on the"},{"line_number":22,"context_line":"NB OVN BGP Driver to support OVN routing instead of kernel routing,"}],"source_content_type":"text/x-rst","patch_set":13,"id":"92554faa_3d75f886","line":19,"range":{"start_line":14,"start_character":0,"end_line":19,"end_character":12},"in_reply_to":"1ca0e99a_d5181444","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"The following limitations apply:"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"- OVN 23.06 or later is needed"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":256,"context_line":"  require OVN 23.09 or nlaterewer."}],"source_content_type":"text/x-rst","patch_set":13,"id":"861efc13_f4f51091","line":253,"range":{"start_line":253,"start_character":24,"end_line":253,"end_character":30},"updated":"2024-02-16 16:50:14.000000000","message":"required","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"The following limitations apply:"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"- OVN 23.06 or later is needed"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":256,"context_line":"  require OVN 23.09 or nlaterewer."}],"source_content_type":"text/x-rst","patch_set":13,"id":"38d9a080_cd466f5f","line":253,"range":{"start_line":253,"start_character":24,"end_line":253,"end_character":30},"in_reply_to":"861efc13_f4f51091","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"- OVN 23.06 or later is needed"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":256,"context_line":"  require OVN 23.09 or nlaterewer."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"- IPv6 not yet supported"}],"source_content_type":"text/x-rst","patch_set":13,"id":"d6a62dd2_a4046bb7","line":255,"range":{"start_line":255,"start_character":30,"end_line":255,"end_character":46},"updated":"2024-02-16 16:50:14.000000000","message":"load balancers","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"- OVN 23.06 or later is needed"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":256,"context_line":"  require OVN 23.09 or nlaterewer."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"- IPv6 not yet supported"}],"source_content_type":"text/x-rst","patch_set":13,"id":"2b6b7b19_254b4d03","line":255,"range":{"start_line":255,"start_character":30,"end_line":255,"end_character":46},"in_reply_to":"d6a62dd2_a4046bb7","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4b06e55c7b6aa2852c93c118002c62717f09156f","unresolved":true,"context_lines":[{"line_number":253,"context_line":"- OVN 23.06 or later is needed"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":256,"context_line":"  require OVN 23.09 or nlaterewer."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"- IPv6 not yet supported"},{"line_number":259,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"d924d989_85784e23","line":256,"range":{"start_line":256,"start_character":10,"end_line":256,"end_character":33},"updated":"2024-02-16 16:50:14.000000000","message":"OVN version 23.09 or newer","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"2350e88fe151bfb59f4f92c2d154a9b3c4cce887","unresolved":false,"context_lines":[{"line_number":253,"context_line":"- OVN 23.06 or later is needed"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"- Tenant networks, subnet and ovn-loadbalancer are not yet supported, and will"},{"line_number":256,"context_line":"  require OVN 23.09 or nlaterewer."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"- IPv6 not yet supported"},{"line_number":259,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab25e8c_7e81c296","line":256,"range":{"start_line":256,"start_character":10,"end_line":256,"end_character":33},"in_reply_to":"d924d989_85784e23","updated":"2024-02-19 08:15:27.000000000","message":"Done","commit_id":"f94c041e7af347029ba19c3823044f491d9238e4"}]}
