)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"2bf6d2510893d133d2d23dc2f3141fdd925910d4","unresolved":true,"context_lines":[{"line_number":3,"context_line":"AuthorDate: 2023-11-22 13:05:24 +0000"},{"line_number":4,"context_line":"Commit:     Lucas Alvares Gomes \u003clucasagomes@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-11-23 11:21:25 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix IGMP inconsistency across drivers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Prior to this patch, ML2/OVS and ML2/OVN had inconsistent IGMP"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"c1c1e7ce_dab048c8","line":6,"updated":"2023-11-23 11:49:32.000000000","message":"I understand this can be a controversial patch so let\u0027s discuss here if the approach presented is fine or if there\u0027s a better way to achieve this consistency between both drivers.","commit_id":"283ac0c69c205d3775da58258c97f593eb8b9748"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0964bc1c47c8ea63b092b325ced9342e739e5873","unresolved":true,"context_lines":[{"line_number":22,"context_line":"features that can be enabled or disabled on both backends. Operators"},{"line_number":23,"context_line":"can now fine tune their deployments in the way that will work for them."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"As a consequence of the hardcoded values for each driver we had to break"},{"line_number":26,"context_line":"some defaults and, in the case of ML2/OVS, if operators want to keep"},{"line_number":27,"context_line":"things as they were before this patch they will need to enable the new"},{"line_number":28,"context_line":"mcast_flood and mcast_flood_unregistered configuration options."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"That said, the for ML2/OVS there was also an inconsistency with the help"},{"line_number":31,"context_line":"string of igmp_snooping_enabled configuration option as it mentioned"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"e1b0037b_3e1642b3","line":28,"range":{"start_line":25,"start_character":0,"end_line":28,"end_character":63},"updated":"2023-12-01 06:39:01.000000000","message":"So there is an upgrade impact for ml2/ovs?","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e13ec8ddfb319cee8f2b7c2ff2a69d69df1cc19e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"features that can be enabled or disabled on both backends. Operators"},{"line_number":23,"context_line":"can now fine tune their deployments in the way that will work for them."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"As a consequence of the hardcoded values for each driver we had to break"},{"line_number":26,"context_line":"some defaults and, in the case of ML2/OVS, if operators want to keep"},{"line_number":27,"context_line":"things as they were before this patch they will need to enable the new"},{"line_number":28,"context_line":"mcast_flood and mcast_flood_unregistered configuration options."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"That said, the for ML2/OVS there was also an inconsistency with the help"},{"line_number":31,"context_line":"string of igmp_snooping_enabled configuration option as it mentioned"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1ef20fb7_ed794df7","line":28,"range":{"start_line":25,"start_character":0,"end_line":28,"end_character":63},"in_reply_to":"050c39f6_893cb00e","updated":"2023-12-05 13:13:14.000000000","message":"Done","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ab0b4f438561b287c90e359af98b5d32167789cc","unresolved":true,"context_lines":[{"line_number":22,"context_line":"features that can be enabled or disabled on both backends. Operators"},{"line_number":23,"context_line":"can now fine tune their deployments in the way that will work for them."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"As a consequence of the hardcoded values for each driver we had to break"},{"line_number":26,"context_line":"some defaults and, in the case of ML2/OVS, if operators want to keep"},{"line_number":27,"context_line":"things as they were before this patch they will need to enable the new"},{"line_number":28,"context_line":"mcast_flood and mcast_flood_unregistered configuration options."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"That said, the for ML2/OVS there was also an inconsistency with the help"},{"line_number":31,"context_line":"string of igmp_snooping_enabled configuration option as it mentioned"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"050c39f6_893cb00e","line":28,"range":{"start_line":25,"start_character":0,"end_line":28,"end_character":63},"in_reply_to":"e1b0037b_3e1642b3","updated":"2023-12-01 10:00:00.000000000","message":"Yes, for those with IGMP snooping enabled, the flooding of packets will be disabled by default. I added a release note about this and how they can enable flood again after the upgrade.","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"705fde243ba84277a7afdeff368f202775dd84ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"08cc71b1_5ae4e903","updated":"2023-11-23 14:52:12.000000000","message":"recheck\n\nnon related time out","commit_id":"283ac0c69c205d3775da58258c97f593eb8b9748"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"0ab0186ca638090d272f0b4b7e1c13eefafeb93d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9c06d665_83614e5b","updated":"2023-11-24 06:20:23.000000000","message":"one small comment to the release note, except that LGTM with this for me 😊 thx for the patch","commit_id":"648856fd5ea49a0e6e2188733f4db893d6f98a7f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c9dea30a_e4e230f4","updated":"2023-11-27 18:40:50.000000000","message":"I do worry about the config/install tools being able to get the old behavior back, since at least for me, charm support will need to be added for these, not sure about the RH or other installers.\n\nI think you also need to update this doc to describe the new options:\n\ndoc/source/admin/ovn/igmp.rst","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"26d26e96_e726a8f4","in_reply_to":"c9dea30a_e4e230f4","updated":"2023-11-28 13:59:46.000000000","message":"Yeah, I will try to communicate as best as I can these changes and new configuration options. I think it\u0027s the best we can do from our side, otherwise we will keep changing this hard coded values at the risk of breaking existing deployments. Having a single configuration in Neutron when in reality the backend were setting 4 different values wasn\u0027t ideal.\n\nGood point about the doc, I will update it.","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0964bc1c47c8ea63b092b325ced9342e739e5873","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"281cd830_03c1ffbb","updated":"2023-12-01 06:39:01.000000000","message":"+1 for freely adjustable config options. But, for users without too much experiences, what should they set for these options? The default behaviors of the default values should be well documented. For instance, if users change nothing, values are all defaults, IGMP multicast will work or not? How to disable IGMP multicast completely?","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ab0b4f438561b287c90e359af98b5d32167789cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bb958a76_31c838de","updated":"2023-12-01 10:00:00.000000000","message":"Thanks for the review.\n\nComments inline.","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ab0b4f438561b287c90e359af98b5d32167789cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"935e854f_fe673326","in_reply_to":"281cd830_03c1ffbb","updated":"2023-12-01 10:00:00.000000000","message":"Thanks for the review.\n\nSo, what they should set is complicated because there\u0027s not one configuration that will match all cases, that\u0027s the reason why I think we should make these configurable. The defaults we have are sane, this is the default in ML2/OVN and was the default in ML2/OVS until https://review.opendev.org/c/openstack/neutron/+/766360.\n\nRegarding the second question, this continues the same. If you want to enable IGMP you need to set igmp_snooping_enable to True and to disable it False (the default, even before this patch). The other options are configurations changing some of the behavior for IGMP snooping, so if it\u0027s disabled they are no-op.","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ed39de6e513eb69ca3d4df29a4f3e32514973f0f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"54e530fd_4c98bd18","updated":"2023-12-11 08:36:17.000000000","message":"Ping reviewers","commit_id":"95150c148553b907098c59dbe18b14ada51f7106"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"939aee8b85696a295170e78a22e8662e9aedd8f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7ce6fc74_b0c3c66a","updated":"2023-12-14 22:12:50.000000000","message":"Really just one nit","commit_id":"a18697a95fc0f82f6cfd2363d006a1c1c7935581"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"f41d531bc0ef142f04e91c3a5647cf00ae2a9356","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"4dc894d2_f07e9ca5","updated":"2023-12-18 08:45:51.000000000","message":"recheck","commit_id":"114ca0f1be8c10915d7e755e68ac2117f7db78e7"}],"neutron/agent/common/ovs_lib.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":339,"context_line":"        # IGMP Neutron configs are more value consistent using True to"},{"line_number":340,"context_line":"        # enable a feature and False to disable it."},{"line_number":341,"context_line":"        flood_value \u003d (\u0027false\u0027 if"},{"line_number":342,"context_line":"            cfg.CONF.OVS.igmp_flood_unregistered else \u0027true\u0027)"},{"line_number":343,"context_line":"        other_config \u003d {"},{"line_number":344,"context_line":"            \u0027mcast-snooping-disable-flood-unregistered\u0027: flood_value}"},{"line_number":345,"context_line":"        with self.ovsdb.transaction() as txn:"}],"source_content_type":"text/x-python","patch_set":3,"id":"f3b5edea_f77280da","line":342,"updated":"2023-11-27 18:40:50.000000000","message":"Can\u0027t you just use ovs_conf.get_igmp_flood_unregistered() here? Similar below.\n\nSo does ovsdb only want \u0027true\u0027 and not \u0027True\u0027 ?","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        # IGMP Neutron configs are more value consistent using True to"},{"line_number":340,"context_line":"        # enable a feature and False to disable it."},{"line_number":341,"context_line":"        flood_value \u003d (\u0027false\u0027 if"},{"line_number":342,"context_line":"            cfg.CONF.OVS.igmp_flood_unregistered else \u0027true\u0027)"},{"line_number":343,"context_line":"        other_config \u003d {"},{"line_number":344,"context_line":"            \u0027mcast-snooping-disable-flood-unregistered\u0027: flood_value}"},{"line_number":345,"context_line":"        with self.ovsdb.transaction() as txn:"}],"source_content_type":"text/x-python","patch_set":3,"id":"777d0f3c_5b5413aa","line":342,"in_reply_to":"f3b5edea_f77280da","updated":"2023-11-28 13:59:46.000000000","message":"We can not use that helper method because with this config the value will be the opposite of the Neutron config. In neutron we use true to enable something and false to disable it but, this config in OVS you have to use true to disable it and false to enable it (consistency is hard!) because the option was created as \"mcast-snoopning-DISABLE-flood-unregistered\". OVN actually corrected it, but, for OVS we still have to have the oppposite value, that\u0027s why I set it to false if the Neutron config is enabled and True if it\u0027s disabled 😭\n\nI think it ovsdb will ignore the case, usually we set things in lower case but I don\u0027t think it will make much difference","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":353,"context_line":"    def set_igmp_snooping_flood(self, port_name):"},{"line_number":354,"context_line":"        other_config \u003d {"},{"line_number":355,"context_line":"            \u0027mcast-snooping-flood-reports\u0027:"},{"line_number":356,"context_line":"                str(cfg.CONF.OVS.igmp_flood_reports).lower(),"},{"line_number":357,"context_line":"            \u0027mcast-snooping-flood\u0027: str(cfg.CONF.OVS.igmp_flood).lower()}"},{"line_number":358,"context_line":"        self.ovsdb.db_set("},{"line_number":359,"context_line":"            \u0027Port\u0027, port_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"b9b4e11a_0d835df6","line":356,"updated":"2023-11-27 18:40:50.000000000","message":"So this is the one that is different than before, where they used to all be the same and its default is now True.","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e13ec8ddfb319cee8f2b7c2ff2a69d69df1cc19e","unresolved":false,"context_lines":[{"line_number":353,"context_line":"    def set_igmp_snooping_flood(self, port_name):"},{"line_number":354,"context_line":"        other_config \u003d {"},{"line_number":355,"context_line":"            \u0027mcast-snooping-flood-reports\u0027:"},{"line_number":356,"context_line":"                str(cfg.CONF.OVS.igmp_flood_reports).lower(),"},{"line_number":357,"context_line":"            \u0027mcast-snooping-flood\u0027: str(cfg.CONF.OVS.igmp_flood).lower()}"},{"line_number":358,"context_line":"        self.ovsdb.db_set("},{"line_number":359,"context_line":"            \u0027Port\u0027, port_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ceb36d65_78c8b537","line":356,"in_reply_to":"857610ab_011c0fd3","updated":"2023-12-05 13:13:14.000000000","message":"Done","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":true,"context_lines":[{"line_number":353,"context_line":"    def set_igmp_snooping_flood(self, port_name):"},{"line_number":354,"context_line":"        other_config \u003d {"},{"line_number":355,"context_line":"            \u0027mcast-snooping-flood-reports\u0027:"},{"line_number":356,"context_line":"                str(cfg.CONF.OVS.igmp_flood_reports).lower(),"},{"line_number":357,"context_line":"            \u0027mcast-snooping-flood\u0027: str(cfg.CONF.OVS.igmp_flood).lower()}"},{"line_number":358,"context_line":"        self.ovsdb.db_set("},{"line_number":359,"context_line":"            \u0027Port\u0027, port_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"857610ab_011c0fd3","line":356,"in_reply_to":"b9b4e11a_0d835df6","updated":"2023-11-28 13:59:46.000000000","message":"Yes, I kept the flood reports enabled because changing it would break the defaults from both drivers.","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"}],"neutron/cmd/upgrade_checks/checks.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"939aee8b85696a295170e78a22e8662e9aedd8f9","unresolved":true,"context_lines":[{"line_number":229,"context_line":"             self.extra_dhcp_options_check),"},{"line_number":230,"context_line":"            (_(\u0027OVN support for BM provisioning over IPv6 check\u0027),"},{"line_number":231,"context_line":"             self.ovn_for_bm_provisioning_over_ipv6_check),"},{"line_number":232,"context_line":"            (_(\u0027ML2/OVN IGMP Flood check\u0027),"},{"line_number":233,"context_line":"             self.ml2_ovs_igmp_flood_check),"},{"line_number":234,"context_line":"        ]"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"279e5807_35dff3b8","line":232,"range":{"start_line":232,"start_character":20,"end_line":232,"end_character":23},"updated":"2023-12-14 22:12:50.000000000","message":"s/OVS","commit_id":"a18697a95fc0f82f6cfd2363d006a1c1c7935581"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1ec3c8a778b2cdadc81e1f37ccb1e375fcd51904","unresolved":false,"context_lines":[{"line_number":229,"context_line":"             self.extra_dhcp_options_check),"},{"line_number":230,"context_line":"            (_(\u0027OVN support for BM provisioning over IPv6 check\u0027),"},{"line_number":231,"context_line":"             self.ovn_for_bm_provisioning_over_ipv6_check),"},{"line_number":232,"context_line":"            (_(\u0027ML2/OVN IGMP Flood check\u0027),"},{"line_number":233,"context_line":"             self.ml2_ovs_igmp_flood_check),"},{"line_number":234,"context_line":"        ]"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"f585f8bb_4c60fe3e","line":232,"range":{"start_line":232,"start_character":20,"end_line":232,"end_character":23},"in_reply_to":"279e5807_35dff3b8","updated":"2023-12-15 09:04:46.000000000","message":"Oops :-(","commit_id":"a18697a95fc0f82f6cfd2363d006a1c1c7935581"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"65899743d9c15f59bf04a4a17042bd1b4ad149af","unresolved":false,"context_lines":[{"line_number":643,"context_line":"                  \u0027OVN \u003e\u003d 23.06.0.\u0027))"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"    @staticmethod"},{"line_number":646,"context_line":"    def ml2_ovs_igmp_flood_check(checker):"},{"line_number":647,"context_line":"        \"\"\"Check for IGMP related traffic behavior changes for ML2/OVS"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        Since LP#2044272, the default behavior of IGMP related traffic has"}],"source_content_type":"text/x-python","patch_set":8,"id":"fb1b9c92_03160673","line":646,"range":{"start_line":646,"start_character":8,"end_line":646,"end_character":32},"updated":"2023-12-14 15:18:00.000000000","message":"+1","commit_id":"a18697a95fc0f82f6cfd2363d006a1c1c7935581"}],"neutron/conf/agent/ovs_conf.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":37,"context_line":"                help\u003d_(\u0027Enable IGMP snooping for integration bridge. If this \u0027"},{"line_number":38,"context_line":"                       \u0027option is set to True, support for Internet Group \u0027"},{"line_number":39,"context_line":"                       \u0027Management Protocol (IGMP) is enabled in integration \u0027"},{"line_number":40,"context_line":"                       \u0027bridge. Defaults to False.\u0027)),"},{"line_number":41,"context_line":"    cfg.BoolOpt(\u0027igmp_flood\u0027, default\u003dFalse,"},{"line_number":42,"context_line":"                help\u003d_(\u0027Multicast packets (except reports) are \u0027"},{"line_number":43,"context_line":"                       \u0027unconditionally forwarded to the specific port. \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"fff95b60_985ecd73","line":40,"updated":"2023-11-27 18:40:50.000000000","message":"Not sure you need the \"Defaults to False\" type statements as the sample ini file will use the value from the default\u003d in the resulting file.","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                help\u003d_(\u0027Enable IGMP snooping for integration bridge. If this \u0027"},{"line_number":38,"context_line":"                       \u0027option is set to True, support for Internet Group \u0027"},{"line_number":39,"context_line":"                       \u0027Management Protocol (IGMP) is enabled in integration \u0027"},{"line_number":40,"context_line":"                       \u0027bridge. Defaults to False.\u0027)),"},{"line_number":41,"context_line":"    cfg.BoolOpt(\u0027igmp_flood\u0027, default\u003dFalse,"},{"line_number":42,"context_line":"                help\u003d_(\u0027Multicast packets (except reports) are \u0027"},{"line_number":43,"context_line":"                       \u0027unconditionally forwarded to the specific port. \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"00245546_d0cf2aad","line":40,"in_reply_to":"fff95b60_985ecd73","updated":"2023-11-28 13:59:46.000000000","message":"Fair, will remove it","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":40,"context_line":"                       \u0027bridge. Defaults to False.\u0027)),"},{"line_number":41,"context_line":"    cfg.BoolOpt(\u0027igmp_flood\u0027, default\u003dFalse,"},{"line_number":42,"context_line":"                help\u003d_(\u0027Multicast packets (except reports) are \u0027"},{"line_number":43,"context_line":"                       \u0027unconditionally forwarded to the specific port. \u0027"},{"line_number":44,"context_line":"                       \u0027Defaults to False.\u0027)),"},{"line_number":45,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_reports\u0027, default\u003dTrue,"},{"line_number":46,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"b4687314_b9b58346","line":43,"updated":"2023-11-27 18:40:50.000000000","message":"What does \u0027specific port\u0027 mean here? Ports connected to multicast routers? Same below","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                       \u0027bridge. Defaults to False.\u0027)),"},{"line_number":41,"context_line":"    cfg.BoolOpt(\u0027igmp_flood\u0027, default\u003dFalse,"},{"line_number":42,"context_line":"                help\u003d_(\u0027Multicast packets (except reports) are \u0027"},{"line_number":43,"context_line":"                       \u0027unconditionally forwarded to the specific port. \u0027"},{"line_number":44,"context_line":"                       \u0027Defaults to False.\u0027)),"},{"line_number":45,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_reports\u0027, default\u003dTrue,"},{"line_number":46,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"558bccd3_1a59f3c8","line":43,"in_reply_to":"b4687314_b9b58346","updated":"2023-11-28 13:59:46.000000000","message":"Yeah I think it\u0027s confusing, because this configuration is set in the other_config column of a Logical_Switch_Port that\u0027s why it talks about port here (I copied from the ovn man page description [0]). I will change the description.\n\n[0] https://www.ovn.org/support/dist-docs/ovn-nb.5.html","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":46,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"},{"line_number":47,"context_line":"                       \u0027to the specific port. Defaults to True.\u0027)),"},{"line_number":48,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_unregistered\u0027, default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\u0027This option will enables or disables flooding of \u0027"},{"line_number":50,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"},{"line_number":51,"context_line":"                       \u0027If False, The switch will send unregistered \u0027"},{"line_number":52,"context_line":"                       \u0027multicast packets only to ports connected to \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"e6c66e15_59a53f8d","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":60},"updated":"2023-11-27 18:40:50.000000000","message":"s/This option enables or disables...\n\nor\n\ns/This option will enable or disable...","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"},{"line_number":47,"context_line":"                       \u0027to the specific port. Defaults to True.\u0027)),"},{"line_number":48,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_unregistered\u0027, default\u003dFalse,"},{"line_number":49,"context_line":"                help\u003d_(\u0027This option will enables or disables flooding of \u0027"},{"line_number":50,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"},{"line_number":51,"context_line":"                       \u0027If False, The switch will send unregistered \u0027"},{"line_number":52,"context_line":"                       \u0027multicast packets only to ports connected to \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"08574225_a2422527","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":60},"in_reply_to":"e6c66e15_59a53f8d","updated":"2023-11-28 13:59:46.000000000","message":"Done","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0964bc1c47c8ea63b092b325ced9342e739e5873","unresolved":true,"context_lines":[{"line_number":41,"context_line":"    cfg.BoolOpt(\u0027igmp_flood\u0027, default\u003dFalse,"},{"line_number":42,"context_line":"                help\u003d_(\u0027Multicast packets (except reports) are \u0027"},{"line_number":43,"context_line":"                       \u0027unconditionally forwarded to the ports bridging a \u0027"},{"line_number":44,"context_line":"                       \u0027logical network to a physical network (\"localnet\" \u0027"},{"line_number":45,"context_line":"                       \u0027ports in OVN)\u0027)),"},{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_reports\u0027, default\u003dTrue,"},{"line_number":47,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"},{"line_number":48,"context_line":"                       \u0027to the ports bridging a logical network to a \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"45ab4665_1a609f86","line":45,"range":{"start_line":44,"start_character":63,"end_line":45,"end_character":36},"updated":"2023-12-01 06:39:01.000000000","message":"What\u0027s the equivalent device for ML2/OVS? It\u0027s better to tell operators about the details as well.","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c7835e9820cbfcd4d4bb61a82738b8c46c347a57","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    cfg.BoolOpt(\u0027igmp_flood\u0027, default\u003dFalse,"},{"line_number":42,"context_line":"                help\u003d_(\u0027Multicast packets (except reports) are \u0027"},{"line_number":43,"context_line":"                       \u0027unconditionally forwarded to the ports bridging a \u0027"},{"line_number":44,"context_line":"                       \u0027logical network to a physical network (\"localnet\" \u0027"},{"line_number":45,"context_line":"                       \u0027ports in OVN)\u0027)),"},{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_reports\u0027, default\u003dTrue,"},{"line_number":47,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"},{"line_number":48,"context_line":"                       \u0027to the ports bridging a logical network to a \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"7b47befe_7d03093b","line":45,"range":{"start_line":44,"start_character":63,"end_line":45,"end_character":36},"in_reply_to":"01ff6784_77f60247","updated":"2023-12-13 10:00:50.000000000","message":"Done","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ab0b4f438561b287c90e359af98b5d32167789cc","unresolved":true,"context_lines":[{"line_number":41,"context_line":"    cfg.BoolOpt(\u0027igmp_flood\u0027, default\u003dFalse,"},{"line_number":42,"context_line":"                help\u003d_(\u0027Multicast packets (except reports) are \u0027"},{"line_number":43,"context_line":"                       \u0027unconditionally forwarded to the ports bridging a \u0027"},{"line_number":44,"context_line":"                       \u0027logical network to a physical network (\"localnet\" \u0027"},{"line_number":45,"context_line":"                       \u0027ports in OVN)\u0027)),"},{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_reports\u0027, default\u003dTrue,"},{"line_number":47,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"},{"line_number":48,"context_line":"                       \u0027to the ports bridging a logical network to a \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"01ff6784_77f60247","line":45,"range":{"start_line":44,"start_character":63,"end_line":45,"end_character":36},"in_reply_to":"45ab4665_1a609f86","updated":"2023-12-01 10:00:00.000000000","message":"The patch ports connecting the physical and integration bridges. In OVN we have these \"types\" for ports, that\u0027s why I added it there but, maybe adding it for OVN does causes some confusion.\n\nI can remove it, perhaps having a more general description without any driver specifics is better.","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0964bc1c47c8ea63b092b325ced9342e739e5873","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_reports\u0027, default\u003dTrue,"},{"line_number":47,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"},{"line_number":48,"context_line":"                       \u0027to the ports bridging a logical network to a \u0027"},{"line_number":49,"context_line":"                       \u0027physical network (\"localnet\" ports in OVN).\u0027)),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_unregistered\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option will enables or disables flooding of \u0027"},{"line_number":52,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9d530ff7_b0bcfe5f","line":49,"range":{"start_line":49,"start_character":42,"end_line":49,"end_character":65},"updated":"2023-12-01 06:39:01.000000000","message":"ditto","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c7835e9820cbfcd4d4bb61a82738b8c46c347a57","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_reports\u0027, default\u003dTrue,"},{"line_number":47,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"},{"line_number":48,"context_line":"                       \u0027to the ports bridging a logical network to a \u0027"},{"line_number":49,"context_line":"                       \u0027physical network (\"localnet\" ports in OVN).\u0027)),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_unregistered\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option will enables or disables flooding of \u0027"},{"line_number":52,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"8c7afaef_493687a9","line":49,"range":{"start_line":49,"start_character":42,"end_line":49,"end_character":65},"in_reply_to":"0f8cf4f5_8a5460fb","updated":"2023-12-13 10:00:50.000000000","message":"Done","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ab0b4f438561b287c90e359af98b5d32167789cc","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_reports\u0027, default\u003dTrue,"},{"line_number":47,"context_line":"                help\u003d_(\u0027Multicast reports are unconditionally forwarded \u0027"},{"line_number":48,"context_line":"                       \u0027to the ports bridging a logical network to a \u0027"},{"line_number":49,"context_line":"                       \u0027physical network (\"localnet\" ports in OVN).\u0027)),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_unregistered\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option will enables or disables flooding of \u0027"},{"line_number":52,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"0f8cf4f5_8a5460fb","line":49,"range":{"start_line":49,"start_character":42,"end_line":49,"end_character":65},"in_reply_to":"9d530ff7_b0bcfe5f","updated":"2023-12-01 10:00:00.000000000","message":"Same as L45. Both settings are applied to the same ports","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0964bc1c47c8ea63b092b325ced9342e739e5873","unresolved":true,"context_lines":[{"line_number":52,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"},{"line_number":53,"context_line":"                       \u0027If False, The switch will send unregistered \u0027"},{"line_number":54,"context_line":"                       \u0027multicast packets only to ports connected to \u0027"},{"line_number":55,"context_line":"                       \u0027multicast routers.\u0027)),"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"]"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"4ccd2075_45167a4b","line":55,"range":{"start_line":55,"start_character":24,"end_line":55,"end_character":41},"updated":"2023-12-01 06:39:01.000000000","message":"How to define the \"multicast routers\"?","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ab0b4f438561b287c90e359af98b5d32167789cc","unresolved":true,"context_lines":[{"line_number":52,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"},{"line_number":53,"context_line":"                       \u0027If False, The switch will send unregistered \u0027"},{"line_number":54,"context_line":"                       \u0027multicast packets only to ports connected to \u0027"},{"line_number":55,"context_line":"                       \u0027multicast routers.\u0027)),"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"]"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"cf2c9579_43cc496d","line":55,"range":{"start_line":55,"start_character":24,"end_line":55,"end_character":41},"in_reply_to":"4ccd2075_45167a4b","updated":"2023-12-01 10:00:00.000000000","message":"This description was there before as part of igmp_snooping_enabled. But, AFAIUI \"multicast routers\" are the physical switch/router","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e13ec8ddfb319cee8f2b7c2ff2a69d69df1cc19e","unresolved":true,"context_lines":[{"line_number":52,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"},{"line_number":53,"context_line":"                       \u0027If False, The switch will send unregistered \u0027"},{"line_number":54,"context_line":"                       \u0027multicast packets only to ports connected to \u0027"},{"line_number":55,"context_line":"                       \u0027multicast routers.\u0027)),"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"]"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"29c56a84_dfbf93d7","line":55,"range":{"start_line":55,"start_character":24,"end_line":55,"end_character":41},"in_reply_to":"a25d263d_9c1ee216","updated":"2023-12-05 13:13:14.000000000","message":"Yeah definitely came from OVS documentation then. Regarding being inconsistent, it\u0027s not really. It\u0027s because the Neutron configuration has the opposite value from the OVS.\n\nIn Neutron, you always use \"true\" to enable something and \"false\" to disable it. Where this option in OVS, you have to set \"true\" to disable the flood (meaning it will be sent only to ports connected to the igmp routers). It\u0027s counter-intuitive.\n\nOVN also fixed this, in OVN you set mcast_flood_unregistered to true in order to flood this packets to all ports and false to disable it.","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"36c2ecb989ddef74d82a5fb7a353dc70387af8bb","unresolved":true,"context_lines":[{"line_number":52,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"},{"line_number":53,"context_line":"                       \u0027If False, The switch will send unregistered \u0027"},{"line_number":54,"context_line":"                       \u0027multicast packets only to ports connected to \u0027"},{"line_number":55,"context_line":"                       \u0027multicast routers.\u0027)),"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"]"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"a25d263d_9c1ee216","line":55,"range":{"start_line":55,"start_character":24,"end_line":55,"end_character":41},"in_reply_to":"cf2c9579_43cc496d","updated":"2023-12-05 08:59:10.000000000","message":"Seems it is from ovs man page: https://www.man7.org/linux/man-pages/man5/ovs-vswitchd.conf.db.5.html\n\n       other_config : mcast-snooping-disable-flood-unregistered:\n       optional string, either true or false\n              If set to false, unregistered multicast packets are\n              forwarded to all ports. If set to true, unregistered\n              multicast packets are forwarded to ports connected to\n              multicast routers.\n\nAnd seems the config option description here is inconsistent with the man page of OVS.","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3328d0719bc7c66fc0fff45a4808f05d06b4bdf2","unresolved":true,"context_lines":[{"line_number":48,"context_line":"                       \u0027to the ports bridging a logical network to a \u0027"},{"line_number":49,"context_line":"                       \u0027physical network (\"localnet\" ports in OVN).\u0027)),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_unregistered\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option will enables or disables flooding of \u0027"},{"line_number":52,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"},{"line_number":53,"context_line":"                       \u0027If False, The switch will send unregistered \u0027"},{"line_number":54,"context_line":"                       \u0027multicast packets only to ports connected to \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"495c3201_1b5f24a6","line":51,"range":{"start_line":51,"start_character":36,"end_line":51,"end_character":40},"updated":"2023-12-12 21:15:00.000000000","message":"delete word \u0027will\u0027, i might have confused you in a previous review","commit_id":"95150c148553b907098c59dbe18b14ada51f7106"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"3cf3275a4a8c83f475347399e342521763880220","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                       \u0027to the ports bridging a logical network to a \u0027"},{"line_number":49,"context_line":"                       \u0027physical network (\"localnet\" ports in OVN).\u0027)),"},{"line_number":50,"context_line":"    cfg.BoolOpt(\u0027igmp_flood_unregistered\u0027, default\u003dFalse,"},{"line_number":51,"context_line":"                help\u003d_(\u0027This option will enables or disables flooding of \u0027"},{"line_number":52,"context_line":"                       \u0027unregistered multicast packets to all ports. \u0027"},{"line_number":53,"context_line":"                       \u0027If False, The switch will send unregistered \u0027"},{"line_number":54,"context_line":"                       \u0027multicast packets only to ports connected to \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"917c2a13_cf14314f","line":51,"range":{"start_line":51,"start_character":36,"end_line":51,"end_character":40},"in_reply_to":"495c3201_1b5f24a6","updated":"2023-12-13 09:58:06.000000000","message":"Ops, will do","commit_id":"95150c148553b907098c59dbe18b14ada51f7106"}],"neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":393,"context_line":""},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"def get_igmp_flood_unregistered():"},{"line_number":396,"context_line":"    return str(cfg.CONF.OVS.igmp_flood_unregistered).lower()"}],"source_content_type":"text/x-python","patch_set":3,"id":"966b6e24_8cc377cc","line":396,"updated":"2023-11-27 18:40:50.000000000","message":"These are all booleans so I\u0027m curious why the str().lower() - related to my previous question about ovsdb.","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e13ec8ddfb319cee8f2b7c2ff2a69d69df1cc19e","unresolved":false,"context_lines":[{"line_number":393,"context_line":""},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"def get_igmp_flood_unregistered():"},{"line_number":396,"context_line":"    return str(cfg.CONF.OVS.igmp_flood_unregistered).lower()"}],"source_content_type":"text/x-python","patch_set":3,"id":"892fb57a_5d9062a9","line":396,"in_reply_to":"7f94c3ec_8ed561f2","updated":"2023-12-05 13:13:14.000000000","message":"Done","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":true,"context_lines":[{"line_number":393,"context_line":""},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"def get_igmp_flood_unregistered():"},{"line_number":396,"context_line":"    return str(cfg.CONF.OVS.igmp_flood_unregistered).lower()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f94c3ec_8ed561f2","line":396,"in_reply_to":"966b6e24_8cc377cc","updated":"2023-11-28 13:59:46.000000000","message":"It needs to be a string for OVSDB. But, the case I don\u0027t think it matters if it\u0027s lower or upper case. I just set it as lower because other boolean configs in the code are also set as lower case. Just keeping it consistent.","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"}],"releasenotes/notes/igmp-flood-f1b8aa5c799679ea.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"0ab0186ca638090d272f0b4b7e1c13eefafeb93d","unresolved":true,"context_lines":[{"line_number":6,"context_line":"    such as flooding IGMP packets, flooding reports and flooding to"},{"line_number":7,"context_line":"    unregistered ports were hard coded differently in each driver."},{"line_number":8,"context_line":"    This patch introduces Neutron configuration options for those listed"},{"line_number":9,"context_line":"    IGMP features."},{"line_number":10,"context_line":"features:"},{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    New configuration options for IGMP added: ``igmp_flood``,"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7d56b710_926484c7","line":9,"updated":"2023-11-24 06:20:23.000000000","message":"this comes to the first section on the page, see https://bf1010da950d44d75b3e-b7000c8d677d682bd20d1aed070fdad7.ssl.cf5.rackcdn.com/901753/2/check/build-openstack-releasenotes/4f5cbf8/docs/unreleased.html\nIMO if we really want to have some kind of warning here, maybe it should be something shorter, like e.g.\n\n\"Default values of the IGMP snooping related settings has changed for ML2/OVS backend. Please check in the following sections for details.\n\"\nOr something like that 😊","commit_id":"648856fd5ea49a0e6e2188733f4db893d6f98a7f"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4cb93626644fefb2aecbdfba5be6e35e76d52649","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    such as flooding IGMP packets, flooding reports and flooding to"},{"line_number":7,"context_line":"    unregistered ports were hard coded differently in each driver."},{"line_number":8,"context_line":"    This patch introduces Neutron configuration options for those listed"},{"line_number":9,"context_line":"    IGMP features."},{"line_number":10,"context_line":"features:"},{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    New configuration options for IGMP added: ``igmp_flood``,"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"a8505e17_4e23e43e","line":9,"in_reply_to":"7d56b710_926484c7","updated":"2023-11-24 09:27:18.000000000","message":"Ah fair point! I didn\u0027t think of where this was being placed on the notes. Makes sense. Will do","commit_id":"648856fd5ea49a0e6e2188733f4db893d6f98a7f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":12,"context_line":"    check in the following sections for more details."},{"line_number":13,"context_line":"features:"},{"line_number":14,"context_line":"  - |"},{"line_number":15,"context_line":"    New configuration options for IGMP added: ``igmp_flood``,"},{"line_number":16,"context_line":"    ``igmp_flood_reports`` and ``igmp_flood_unregistered``."},{"line_number":17,"context_line":"    This give operators full control on how IGMP should be configured for"},{"line_number":18,"context_line":"    their deployments."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"98cc1cb7_7df5b24f","line":15,"range":{"start_line":15,"start_character":39,"end_line":15,"end_character":44},"updated":"2023-11-27 18:40:50.000000000","message":"s/were added in the [OVS] section:","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    check in the following sections for more details."},{"line_number":13,"context_line":"features:"},{"line_number":14,"context_line":"  - |"},{"line_number":15,"context_line":"    New configuration options for IGMP added: ``igmp_flood``,"},{"line_number":16,"context_line":"    ``igmp_flood_reports`` and ``igmp_flood_unregistered``."},{"line_number":17,"context_line":"    This give operators full control on how IGMP should be configured for"},{"line_number":18,"context_line":"    their deployments."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"60e0e02b_ce571355","line":15,"range":{"start_line":15,"start_character":39,"end_line":15,"end_character":44},"in_reply_to":"98cc1cb7_7df5b24f","updated":"2023-11-28 13:59:46.000000000","message":"Done","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":14,"context_line":"  - |"},{"line_number":15,"context_line":"    New configuration options for IGMP added: ``igmp_flood``,"},{"line_number":16,"context_line":"    ``igmp_flood_reports`` and ``igmp_flood_unregistered``."},{"line_number":17,"context_line":"    This give operators full control on how IGMP should be configured for"},{"line_number":18,"context_line":"    their deployments."},{"line_number":19,"context_line":"critical:"},{"line_number":20,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bbc45e89_dd59b053","line":17,"range":{"start_line":17,"start_character":9,"end_line":17,"end_character":13},"updated":"2023-11-27 18:40:50.000000000","message":"s/gives","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":false,"context_lines":[{"line_number":14,"context_line":"  - |"},{"line_number":15,"context_line":"    New configuration options for IGMP added: ``igmp_flood``,"},{"line_number":16,"context_line":"    ``igmp_flood_reports`` and ``igmp_flood_unregistered``."},{"line_number":17,"context_line":"    This give operators full control on how IGMP should be configured for"},{"line_number":18,"context_line":"    their deployments."},{"line_number":19,"context_line":"critical:"},{"line_number":20,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"26aec025_208abf2f","line":17,"range":{"start_line":17,"start_character":9,"end_line":17,"end_character":13},"in_reply_to":"bbc45e89_dd59b053","updated":"2023-11-28 13:59:46.000000000","message":"Done","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":16,"context_line":"    ``igmp_flood_reports`` and ``igmp_flood_unregistered``."},{"line_number":17,"context_line":"    This give operators full control on how IGMP should be configured for"},{"line_number":18,"context_line":"    their deployments."},{"line_number":19,"context_line":"critical:"},{"line_number":20,"context_line":"  - |"},{"line_number":21,"context_line":"    In order to make IGMP configuration consistent across drivers some"},{"line_number":22,"context_line":"    defaults had to be changed."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"e708b922_9dcfc00d","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":8},"updated":"2023-11-27 18:40:50.000000000","message":"typically this is \u0027upgrade\u0027, but we just need to make sure it is not missed.","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    ``igmp_flood_reports`` and ``igmp_flood_unregistered``."},{"line_number":17,"context_line":"    This give operators full control on how IGMP should be configured for"},{"line_number":18,"context_line":"    their deployments."},{"line_number":19,"context_line":"critical:"},{"line_number":20,"context_line":"  - |"},{"line_number":21,"context_line":"    In order to make IGMP configuration consistent across drivers some"},{"line_number":22,"context_line":"    defaults had to be changed."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"b6b1082e_3e0d9a22","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":8},"in_reply_to":"e708b922_9dcfc00d","updated":"2023-11-28 13:59:46.000000000","message":"Ok, I will change it to upgrade. I thought critical would be more \"in the face\" of ppl. But if upgrade is the right section I think we should use it.","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"544a80153837c50fd41b691ee1e9ee64797c79ab","unresolved":true,"context_lines":[{"line_number":21,"context_line":"    In order to make IGMP configuration consistent across drivers some"},{"line_number":22,"context_line":"    defaults had to be changed."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    If ML2/OVS is used, the ``igmp_flood_unregistered`` and ``igmp_flood`` are"},{"line_number":25,"context_line":"    now disabled by default. To keep things as before, please ensure that"},{"line_number":26,"context_line":"    these two configuration options are enabled after the upgrade."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"c4494d33_51ad5ac1","line":24,"range":{"start_line":24,"start_character":24,"end_line":24,"end_character":27},"updated":"2023-11-27 18:40:50.000000000","message":"delete \u0027the\u0027","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"37beed9e2a68e0270845926870fa7271516f3702","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    In order to make IGMP configuration consistent across drivers some"},{"line_number":22,"context_line":"    defaults had to be changed."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    If ML2/OVS is used, the ``igmp_flood_unregistered`` and ``igmp_flood`` are"},{"line_number":25,"context_line":"    now disabled by default. To keep things as before, please ensure that"},{"line_number":26,"context_line":"    these two configuration options are enabled after the upgrade."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"90084d40_a86dad29","line":24,"range":{"start_line":24,"start_character":24,"end_line":24,"end_character":27},"in_reply_to":"c4494d33_51ad5ac1","updated":"2023-11-28 13:59:46.000000000","message":"Done","commit_id":"becaf5cc4ea95bbab8248536804697e43a20d7aa"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0964bc1c47c8ea63b092b325ced9342e739e5873","unresolved":true,"context_lines":[{"line_number":21,"context_line":"    In order to make IGMP configuration consistent across drivers some"},{"line_number":22,"context_line":"    defaults had to be changed."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    If ML2/OVS is used, ``igmp_flood_unregistered`` and ``igmp_flood`` are"},{"line_number":25,"context_line":"    now disabled by default. To keep things as before, please ensure that"},{"line_number":26,"context_line":"    these two configuration options are enabled after the upgrade."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"86f3edef_253f68cb","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":66},"updated":"2023-12-01 06:39:01.000000000","message":"So before upgrade, the config option is:\nigmp_snooping_enable \u003d True\n\nAfter upgrade, they need to explicitly set:\nigmp_snooping_enable \u003d True\nigmp_flood_unregistered \u003d True\nigmp_flood \u003d True\n\nright?\n\n\nthen what about the option ``igmp_flood_reports``?","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e13ec8ddfb319cee8f2b7c2ff2a69d69df1cc19e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    In order to make IGMP configuration consistent across drivers some"},{"line_number":22,"context_line":"    defaults had to be changed."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    If ML2/OVS is used, ``igmp_flood_unregistered`` and ``igmp_flood`` are"},{"line_number":25,"context_line":"    now disabled by default. To keep things as before, please ensure that"},{"line_number":26,"context_line":"    these two configuration options are enabled after the upgrade."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"4f49e5bf_6b660dde","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":66},"in_reply_to":"859a5275_f71ea1eb","updated":"2023-12-05 13:13:14.000000000","message":"Thanks, I will enhance the text here to add those information.","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ab0b4f438561b287c90e359af98b5d32167789cc","unresolved":true,"context_lines":[{"line_number":21,"context_line":"    In order to make IGMP configuration consistent across drivers some"},{"line_number":22,"context_line":"    defaults had to be changed."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    If ML2/OVS is used, ``igmp_flood_unregistered`` and ``igmp_flood`` are"},{"line_number":25,"context_line":"    now disabled by default. To keep things as before, please ensure that"},{"line_number":26,"context_line":"    these two configuration options are enabled after the upgrade."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"f052a82c_cc8a4ae1","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":66},"in_reply_to":"86f3edef_253f68cb","updated":"2023-12-01 10:00:00.000000000","message":"igmp_snooping_enable was disabled by default.\n\nBy enabling igmp_snooping_enable the following configuration were set on each driver:\n\nML2/OVS:\nigmp_flood_unregistered \u003d True\nigmp_flood \u003d True\nigmp_flood_reports \u003d True\n\nML2/OVN:\nigmp_flood_unregistered \u003d False\nigmp_flood \u003d False\nigmp_flood_reports \u003d True\n\nI kept igmp_flood_reports True as default otherwise I would break both drivers defaults instead of one.\n\nThat\u0027s why in this release note I am telling operators to enable igmp_flood_unregistered and igmp_flood for ML2/OVS if they want to keep the same behavior as before.\n\nMaybe I should add to this release note: \"For deployments with ML2/OVS and igmp_snooping_enable enabled ...\". Because if igmp_snooping_enable is disabled these other options are no-op. Do you think it will make it a bit more clear ?","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"36c2ecb989ddef74d82a5fb7a353dc70387af8bb","unresolved":true,"context_lines":[{"line_number":21,"context_line":"    In order to make IGMP configuration consistent across drivers some"},{"line_number":22,"context_line":"    defaults had to be changed."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    If ML2/OVS is used, ``igmp_flood_unregistered`` and ``igmp_flood`` are"},{"line_number":25,"context_line":"    now disabled by default. To keep things as before, please ensure that"},{"line_number":26,"context_line":"    these two configuration options are enabled after the upgrade."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"859a5275_f71ea1eb","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":66},"in_reply_to":"f052a82c_cc8a4ae1","updated":"2023-12-05 08:59:10.000000000","message":"Assuming \"igmp_snooping_enable \u003d True\" before upgrade, in order to make the igmp related traffic run as before. ML2/OVN will change nothing, everything works as it is. But, ML2/OVS needs to set:\nigmp_flood_unregistered \u003d True\nigmp_flood \u003d True\nigmp_flood_reports \u003d True\n\nright?\n\nSo, it\u0027s better to add those informations.","commit_id":"fb20e7001ad9584d93fdbf528cfeaf94198fde76"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b020b72c4da39dc74c4867e11243b1b1d77ec335","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    some defaults had to be changed for ML2/OVS. This change did not"},{"line_number":23,"context_line":"    affect the defaults in the ML2/OVN driver."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    If ML2/OVS is used and ``igmp_snooping_enable`` is enabled, in order"},{"line_number":26,"context_line":"    to make the IGMP related traffic run as before please ensure that"},{"line_number":27,"context_line":"    the following configuration options are enabled after the upgrade."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"94153ba6_a0346a4f","line":25,"range":{"start_line":25,"start_character":4,"end_line":25,"end_character":62},"updated":"2023-12-13 11:32:05.000000000","message":"If I\u0027m not wrong, only deployments with \"igmp_snooping_enable\u003dTrue\" will need to add the following new 3 knobs. If not explicitly defined in the configuration file, the default value will be \"False\". Why not adding an upgrade check that:\n* checks if \"igmp_snooping_enable\u003dTrue\"\n* in that case, check if \"igmp_flood_unregistered\", \"igmp_flood\" and \"igmp_flood_reports\" are explicitly defined in the configuration file.\n---\u003e if not, write a warning message pointing to this information.","commit_id":"77b9441ccd58ef7aef1093b7e62bfb40b43dd4a3"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"94123da916f287794dc0b9f7cf2f814a3aea0b36","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    some defaults had to be changed for ML2/OVS. This change did not"},{"line_number":23,"context_line":"    affect the defaults in the ML2/OVN driver."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    If ML2/OVS is used and ``igmp_snooping_enable`` is enabled, in order"},{"line_number":26,"context_line":"    to make the IGMP related traffic run as before please ensure that"},{"line_number":27,"context_line":"    the following configuration options are enabled after the upgrade."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"cd748e9e_b398911a","line":25,"range":{"start_line":25,"start_character":4,"end_line":25,"end_character":62},"in_reply_to":"94153ba6_a0346a4f","updated":"2023-12-14 11:49:16.000000000","message":"Thanks for the comment and suggestion. Added in the last patch-set","commit_id":"77b9441ccd58ef7aef1093b7e62bfb40b43dd4a3"}]}
