)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5f07024469d411ef1cf3cac38cecab0ba7168bb1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0b2bb413_f39b7a14","updated":"2024-08-21 22:17:40.000000000","message":"FYI I assumed before that fullstack suite has existing OVN scenarios and that I will be able to reuse the infrastructure to implement my nested SNAT scenarios. Turns out that there are no OVN scenarios in the tree. And I don\u0027t think I have stomach to implement ovn support in fullstack now. So I\u0027ll add tests for functional suite instead.","commit_id":"f06365db4f89bce07192b9d8cdd5e4e39f14fe2f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"db478b65213c9764831695e40e70c3929d88c42b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e7dd06f3_42a29d4e","updated":"2024-08-28 19:28:14.000000000","message":"I\u0027m going to pull this patch and the OVN one to my test system and verify things based on my notes. From all the related patches and new tests added seems like it\u0027s good to go :)","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"99df7eea008745ff7661dcbedd817c084deb0bc2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"944f717c_bc631b11","updated":"2024-08-29 08:07:07.000000000","message":"I\u0027m ok with this patch but I will let Rodolfo to approve it and address his comments in follow up patch or respin this one.","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"50f001648a9380b4306fddc76be8031418709727","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"bdec9a81_0e2731f3","updated":"2024-08-21 23:53:42.000000000","message":"The tests are limited here - we don\u0027t validate that packets are actually snatted (no packets are flying through a datapath). This would require a fullstack scenario, I think, but we don\u0027t have OVN support there. We may write some tempest scenarios for this behavior, though the result would not consistently work on all plugins ml2/ovs doesn\u0027t have non-nested-snat behavior). This can be controlled by a tempest plugin config option, but not sure it\u0027s a great idea.\n\nIf someone has ideas how to automate datapath test here, please let me know.","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"20b6ad044a4569618e1b205ea6e8c812dba8c22c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ad8a2a74_c03e3b92","updated":"2024-08-22 16:38:46.000000000","message":"check experimental","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"10e42ad0b2f5bdc233bd37e5e016ee1632a59d97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"73106154_2df2ee6e","updated":"2024-08-29 05:48:30.000000000","message":"qq: we\u0027ll we have a neutron-tempest-plugin testing this new feature?","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"146bd69b92d001b077ef4b6c2e549b75bfab8cb3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"33280e07_1cf1fbf6","updated":"2024-08-26 16:42:59.000000000","message":"recheck couldn\u0027t figure out why fip ssh failed; let\u0027s see if this can be reproduced","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d2172e31806de7da2f158c8bddd91d0429871b08","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f42d2f8f_c7e3ea62","in_reply_to":"73106154_2df2ee6e","updated":"2024-08-29 07:17:18.000000000","message":"Nevermind: https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/926940","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"d00275708a29ef7a46d85b294883239d444fa968","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e27d1af6_3b113143","updated":"2024-08-29 20:48:21.000000000","message":"Frode, would you mind checking the last Terry\u0027s comments about multihoming here? It\u0027s not clear to me if this was intentional that --enable-snat for multihoming was not creating any snat rules; I know that docs say that the feature should not be used with NAT, but on the other hand, if so, shouldn\u0027t it be blocked on API level? If a user asks for --enable-snat, shouldn\u0027t we either reject the request or implement it in some way?","commit_id":"dbf53b7bbfa27cb74b1d0b0e47629bf3e1403645"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"e4307911ee292a991e9dc2b3e1c3b95fcc8bd82a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1a2d57bc_8c3ae951","updated":"2024-08-29 14:20:39.000000000","message":"This patch does work, but it is not enough to solve the nested router usability.\nAs regardless of nat, external port for the LRP is not getting chassis assignment and remains DOWN/unassigned even with this patch.\n\nYou can check https://bugs.launchpad.net/neutron/+bug/2077879 for more details.","commit_id":"dbf53b7bbfa27cb74b1d0b0e47629bf3e1403645"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2e5a8191f9e30c5b44467729885aa2c8f793e6b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"95a3fc69_aa7a052e","updated":"2024-08-29 13:07:07.000000000","message":"Updated the release note. Please take another look.","commit_id":"dbf53b7bbfa27cb74b1d0b0e47629bf3e1403645"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"b92085da0af21eeeb1d9b002f24d15b6ad927d81","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f9e6b06e_bfd0968c","in_reply_to":"1a2d57bc_8c3ae951","updated":"2024-08-29 14:38:14.000000000","message":"it seems that you are using a default gw on your inner-router. In my tempest scenario, I set static routes between the two networks on the inner-router. Is it a different scenario then?","commit_id":"dbf53b7bbfa27cb74b1d0b0e47629bf3e1403645"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3d1d630ee406540ee49e287c840b12486e79a5f8","unresolved":true,"context_lines":[{"line_number":1325,"context_line":"                    maintain_bfd\u003drouter_default_route_bfd_enabled,"},{"line_number":1326,"context_line":"                    **columns))"},{"line_number":1327,"context_line":""},{"line_number":1328,"context_line":"        # 3. Add snat rules for tenant networks in lrouter if snat is enabled"},{"line_number":1329,"context_line":"        if utils.is_snat_enabled(router):"},{"line_number":1330,"context_line":"            self.update_nat_rules(router[\u0027id\u0027], enable_snat\u003dTrue, txn\u003dtxn)"},{"line_number":1331,"context_line":"        return added_ports"}],"source_content_type":"text/x-python","patch_set":3,"id":"305f0390_aa13e4c2","line":1328,"updated":"2024-08-19 14:10:41.000000000","message":"shouldn\u0027t talk about \"tenant networks\" and \"rules\" since now it depends on the mode","commit_id":"74beca3ac239db8a6a3e63ae18b17e3d697f42f3"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e11f6f7616139a727a4883d3b80f5aa85a966fa4","unresolved":false,"context_lines":[{"line_number":1325,"context_line":"                    maintain_bfd\u003drouter_default_route_bfd_enabled,"},{"line_number":1326,"context_line":"                    **columns))"},{"line_number":1327,"context_line":""},{"line_number":1328,"context_line":"        # 3. Add snat rules for tenant networks in lrouter if snat is enabled"},{"line_number":1329,"context_line":"        if utils.is_snat_enabled(router):"},{"line_number":1330,"context_line":"            self.update_nat_rules(router[\u0027id\u0027], enable_snat\u003dTrue, txn\u003dtxn)"},{"line_number":1331,"context_line":"        return added_ports"}],"source_content_type":"text/x-python","patch_set":3,"id":"27bdabb7_cd559901","line":1328,"in_reply_to":"305f0390_aa13e4c2","updated":"2024-08-21 22:14:32.000000000","message":"Done","commit_id":"74beca3ac239db8a6a3e63ae18b17e3d697f42f3"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"18bcfd7802a9f9fcf5fbf448e4721713cb6705f9","unresolved":true,"context_lines":[{"line_number":1466,"context_line":"                    context, router[\u0027id\u0027])"},{"line_number":1467,"context_line":"                if (router.get(l3_ext_gw_multihoming.EXTERNAL_GATEWAYS) and"},{"line_number":1468,"context_line":"                        networks is not None):"},{"line_number":1469,"context_line":"                    added_gw_ports \u003d self._add_router_ext_gw("},{"line_number":1470,"context_line":"                        context, router, networks, txn)"},{"line_number":1471,"context_line":""},{"line_number":1472,"context_line":"            self._qos_driver.create_router(txn, router)"}],"source_content_type":"text/x-python","patch_set":5,"id":"527d17dd_5738d281","side":"PARENT","line":1469,"updated":"2024-08-28 14:40:28.000000000","message":"FYI for reviewers: this was never called before, because networks was never None (it was always a list).","commit_id":"ffaf021810fcd8132582de544d3c324c3cc43b95"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"a7978ea7dc94cac9bbdc5dde46d34b4c9e3d1d5f","unresolved":false,"context_lines":[{"line_number":1466,"context_line":"                    context, router[\u0027id\u0027])"},{"line_number":1467,"context_line":"                if (router.get(l3_ext_gw_multihoming.EXTERNAL_GATEWAYS) and"},{"line_number":1468,"context_line":"                        networks is not None):"},{"line_number":1469,"context_line":"                    added_gw_ports \u003d self._add_router_ext_gw("},{"line_number":1470,"context_line":"                        context, router, networks, txn)"},{"line_number":1471,"context_line":""},{"line_number":1472,"context_line":"            self._qos_driver.create_router(txn, router)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a72b47d_9d0f3e08","side":"PARENT","line":1469,"in_reply_to":"132b7b28_283ad6e4","updated":"2024-08-29 13:06:53.000000000","message":"Done","commit_id":"ffaf021810fcd8132582de544d3c324c3cc43b95"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"db478b65213c9764831695e40e70c3929d88c42b","unresolved":true,"context_lines":[{"line_number":1466,"context_line":"                    context, router[\u0027id\u0027])"},{"line_number":1467,"context_line":"                if (router.get(l3_ext_gw_multihoming.EXTERNAL_GATEWAYS) and"},{"line_number":1468,"context_line":"                        networks is not None):"},{"line_number":1469,"context_line":"                    added_gw_ports \u003d self._add_router_ext_gw("},{"line_number":1470,"context_line":"                        context, router, networks, txn)"},{"line_number":1471,"context_line":""},{"line_number":1472,"context_line":"            self._qos_driver.create_router(txn, router)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ccb4a5b2_3e367340","side":"PARENT","line":1469,"in_reply_to":"527d17dd_5738d281","updated":"2024-08-28 19:28:14.000000000","message":"True, and i actually think based on the comment above this whole block can be removed, but best done in a separate patch.","commit_id":"ffaf021810fcd8132582de544d3c324c3cc43b95"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6e1c02e6c6032f3e15542ffa5515f29918488fc9","unresolved":true,"context_lines":[{"line_number":1466,"context_line":"                    context, router[\u0027id\u0027])"},{"line_number":1467,"context_line":"                if (router.get(l3_ext_gw_multihoming.EXTERNAL_GATEWAYS) and"},{"line_number":1468,"context_line":"                        networks is not None):"},{"line_number":1469,"context_line":"                    added_gw_ports \u003d self._add_router_ext_gw("},{"line_number":1470,"context_line":"                        context, router, networks, txn)"},{"line_number":1471,"context_line":""},{"line_number":1472,"context_line":"            self._qos_driver.create_router(txn, router)"}],"source_content_type":"text/x-python","patch_set":5,"id":"132b7b28_283ad6e4","side":"PARENT","line":1469,"in_reply_to":"ccb4a5b2_3e367340","updated":"2024-08-28 19:38:42.000000000","message":"The default value is True, so this section is executed in general case (except in sync).","commit_id":"ffaf021810fcd8132582de544d3c324c3cc43b95"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"373af03765d1126d69b909967dc03d5bf56cfd3b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"from neutron.common import utils as common_utils"},{"line_number":53,"context_line":"from neutron.conf.agent import ovs_conf"},{"line_number":54,"context_line":"from neutron.conf.plugins.ml2.drivers.ovn import ovn_conf"},{"line_number":55,"context_line":"from neutron.conf.plugins.ml2.drivers.ovn.ovn_conf \\"},{"line_number":56,"context_line":"    import is_ovn_router_indirect_snat_enabled as is_nested_snat"},{"line_number":57,"context_line":"from neutron.db import ovn_revision_numbers_db as db_rev"},{"line_number":58,"context_line":"from neutron.db import segments_db"}],"source_content_type":"text/x-python","patch_set":5,"id":"eed5e8a3_a61fb6db","line":55,"updated":"2024-08-29 17:59:04.000000000","message":"nit: I don\u0027t think we usually allow importing methods directly\n\nhttps://docs.openstack.org/charm-guide/victoria/coding-guidelines.html#use-absolute-imports\n\nthough it is technically allowed, just not preferred. I don\u0027t personally care too much. Though wanting to do it might mean that maybe the original method name is too long. 😄  Feel free to ignore.","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"10e42ad0b2f5bdc233bd37e5e016ee1632a59d97","unresolved":true,"context_lines":[{"line_number":52,"context_line":"from neutron.common import utils as common_utils"},{"line_number":53,"context_line":"from neutron.conf.agent import ovs_conf"},{"line_number":54,"context_line":"from neutron.conf.plugins.ml2.drivers.ovn import ovn_conf"},{"line_number":55,"context_line":"from neutron.conf.plugins.ml2.drivers.ovn.ovn_conf \\"},{"line_number":56,"context_line":"    import is_ovn_router_indirect_snat_enabled as is_nested_snat"},{"line_number":57,"context_line":"from neutron.db import ovn_revision_numbers_db as db_rev"},{"line_number":58,"context_line":"from neutron.db import segments_db"},{"line_number":59,"context_line":"from neutron.objects import router"}],"source_content_type":"text/x-python","patch_set":5,"id":"0ec836a6_883bd8ee","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":64},"updated":"2024-08-29 05:48:30.000000000","message":"We are importing \"ovn_conf\" in the previous line and we actually import whole modules and not single methods.","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e5883874ec9372579e5ea5a081a1d09f8646d92f","unresolved":false,"context_lines":[{"line_number":52,"context_line":"from neutron.common import utils as common_utils"},{"line_number":53,"context_line":"from neutron.conf.agent import ovs_conf"},{"line_number":54,"context_line":"from neutron.conf.plugins.ml2.drivers.ovn import ovn_conf"},{"line_number":55,"context_line":"from neutron.conf.plugins.ml2.drivers.ovn.ovn_conf \\"},{"line_number":56,"context_line":"    import is_ovn_router_indirect_snat_enabled as is_nested_snat"},{"line_number":57,"context_line":"from neutron.db import ovn_revision_numbers_db as db_rev"},{"line_number":58,"context_line":"from neutron.db import segments_db"},{"line_number":59,"context_line":"from neutron.objects import router"}],"source_content_type":"text/x-python","patch_set":5,"id":"233dc531_2b789ff2","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":64},"in_reply_to":"0ec836a6_883bd8ee","updated":"2024-08-29 13:06:32.000000000","message":"I think the name is too long and made the indent inconvenient.","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"373af03765d1126d69b909967dc03d5bf56cfd3b","unresolved":true,"context_lines":[{"line_number":1542,"context_line":"                    else:"},{"line_number":1543,"context_line":"                        # Check if snat has been enabled/disabled and update"},{"line_number":1544,"context_line":"                        new_snat_state \u003d utils.is_snat_enabled(new_router)"},{"line_number":1545,"context_line":"                        if bool(ovn_snats) !\u003d new_snat_state:"},{"line_number":1546,"context_line":"                            self.update_nat_rules("},{"line_number":1547,"context_line":"                                new_router[\u0027id\u0027], enable_snat\u003dnew_snat_state,"},{"line_number":1548,"context_line":"                                txn\u003dtxn)"},{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":"                update \u003d {\u0027external_ids\u0027: self._gen_router_ext_ids(new_router)}"},{"line_number":1551,"context_line":"                update[\u0027enabled\u0027] \u003d new_router.get(\u0027admin_state_up\u0027) or False"}],"source_content_type":"text/x-python","patch_set":5,"id":"4c7342f2_1900dcd3","line":1548,"range":{"start_line":1545,"start_character":0,"end_line":1548,"end_character":40},"updated":"2024-08-29 17:59:04.000000000","message":"When we get here, the old code for a multi-homed router created like ```openstack router create --enable-snat --external-gateway public --fixed-ip subnet\u003dpublic-subnet,ip-address\u003d172.24.4.12 --external-gateway public2 --fixed-ip subnet\u003dpublic2-subnet,ip-address\u003d172.24.5.12 router1``` would produce zero NAT table rules. With this code, we have a different behavior where we produce two NAT rules, one for each fixed-ip passed, even w/ indirect\u003dTrue.\n\nI\u0027m not 100% sure what the right behavior is, but I\u0027m pretty sure this is an unintended change.","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"3ca34d9a458b09c87591847aa79f8e3142bc7fd4","unresolved":true,"context_lines":[{"line_number":1542,"context_line":"                    else:"},{"line_number":1543,"context_line":"                        # Check if snat has been enabled/disabled and update"},{"line_number":1544,"context_line":"                        new_snat_state \u003d utils.is_snat_enabled(new_router)"},{"line_number":1545,"context_line":"                        if bool(ovn_snats) !\u003d new_snat_state:"},{"line_number":1546,"context_line":"                            self.update_nat_rules("},{"line_number":1547,"context_line":"                                new_router[\u0027id\u0027], enable_snat\u003dnew_snat_state,"},{"line_number":1548,"context_line":"                                txn\u003dtxn)"},{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":"                update \u003d {\u0027external_ids\u0027: self._gen_router_ext_ids(new_router)}"},{"line_number":1551,"context_line":"                update[\u0027enabled\u0027] \u003d new_router.get(\u0027admin_state_up\u0027) or False"}],"source_content_type":"text/x-python","patch_set":5,"id":"ab57bf66_f9c33d61","line":1548,"range":{"start_line":1545,"start_character":0,"end_line":1548,"end_character":40},"in_reply_to":"4c7342f2_1900dcd3","updated":"2024-08-29 19:14:22.000000000","message":"Forgot to mention, that in my testing, the old code would have had `networks \u003d\u003d []`","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"}],"releasenotes/notes/support-nested-snat-for-ovn-e4aa3b9af66c905b.yaml":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"10e42ad0b2f5bdc233bd37e5e016ee1632a59d97","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    A new ML2 OVN driver configuration option ``ovn_router_indirect_snat`` was"},{"line_number":5,"context_line":"    added. When set to True, all external gateways will enable SNAT for all"},{"line_number":6,"context_line":"    nested networks that are indirectly connected to gateways (through other"},{"line_number":7,"context_line":"    routers). This option mimics ML2 Open vSwitch driver behavior."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"83166641_9dfa68ba","line":7,"updated":"2024-08-29 05:48:30.000000000","message":"I think we also need to refer the OVN issue in some versions: https://issues.redhat.com/browse/FDP-744","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"99df7eea008745ff7661dcbedd817c084deb0bc2","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    A new ML2 OVN driver configuration option ``ovn_router_indirect_snat`` was"},{"line_number":5,"context_line":"    added. When set to True, all external gateways will enable SNAT for all"},{"line_number":6,"context_line":"    nested networks that are indirectly connected to gateways (through other"},{"line_number":7,"context_line":"    routers). This option mimics ML2 Open vSwitch driver behavior."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"c72fd0f9_d7c07939","line":7,"range":{"start_line":7,"start_character":33,"end_line":7,"end_character":49},"updated":"2024-08-29 08:07:07.000000000","message":"to be strict it mimics behavior of the \"router\" service plugin, which can be used with many backends, including ML2/ovs 😊","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"a7978ea7dc94cac9bbdc5dde46d34b4c9e3d1d5f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    A new ML2 OVN driver configuration option ``ovn_router_indirect_snat`` was"},{"line_number":5,"context_line":"    added. When set to True, all external gateways will enable SNAT for all"},{"line_number":6,"context_line":"    nested networks that are indirectly connected to gateways (through other"},{"line_number":7,"context_line":"    routers). This option mimics ML2 Open vSwitch driver behavior."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"877a67e0_5fcdf0dd","line":7,"in_reply_to":"83166641_9dfa68ba","updated":"2024-08-29 13:06:53.000000000","message":"Done","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e5883874ec9372579e5ea5a081a1d09f8646d92f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    A new ML2 OVN driver configuration option ``ovn_router_indirect_snat`` was"},{"line_number":5,"context_line":"    added. When set to True, all external gateways will enable SNAT for all"},{"line_number":6,"context_line":"    nested networks that are indirectly connected to gateways (through other"},{"line_number":7,"context_line":"    routers). This option mimics ML2 Open vSwitch driver behavior."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"f9050247_3b55a39f","line":7,"range":{"start_line":7,"start_character":33,"end_line":7,"end_character":49},"in_reply_to":"c72fd0f9_d7c07939","updated":"2024-08-29 13:06:32.000000000","message":"Done","commit_id":"5b20d8632ff69d7b5463459ee794b1f5bb5a1ec5"}]}
