)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"bridge port list, we can add a simple direct flow to"},{"line_number":11,"context_line":"the right port only."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1841622"},{"line_number":14,"context_line":"Related-Bug: #1732067"},{"line_number":15,"context_line":"Change-Id: I14fefe289a19b718b247bf0740ca9bc47f8903f4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3fa7e38b_e191619d","line":13,"range":{"start_line":13,"start_character":12,"end_line":13,"end_character":20},"updated":"2019-12-15 23:57:33.000000000","message":"This bug was marked as duplicate of the one you have in L14 below. I suggest switching them","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"217ebcd9a30bcc7f3cc4577511177d0ef0028a94","unresolved":false,"context_lines":[{"line_number":10,"context_line":"bridge port list, we can add a simple direct flow to"},{"line_number":11,"context_line":"the right port only."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1841622"},{"line_number":14,"context_line":"Related-Bug: #1732067"},{"line_number":15,"context_line":"Change-Id: I14fefe289a19b718b247bf0740ca9bc47f8903f4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3fa7e38b_18e019f8","line":13,"range":{"start_line":13,"start_character":12,"end_line":13,"end_character":20},"in_reply_to":"3fa7e38b_e191619d","updated":"2020-01-03 13:22:36.000000000","message":"Done","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"}],"neutron/agent/linux/openvswitch_firewall/firewall.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8897fa2bb159a736f1ee24426c5ba446adad8a32","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"                    bridge, prefix\u003dovs_consts.PEER_INTEGRATION_PREFIX)"},{"line_number":1125,"context_line":"                patch_ofport \u003d self.int_br.br.get_port_ofport(port_name)"},{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"            if patch_ofport is not None:"},{"line_number":1128,"context_line":"                self._add_flow("},{"line_number":1129,"context_line":"                    table\u003dovs_consts.ACCEPTED_EGRESS_TRAFFIC_NORMAL_TABLE,"},{"line_number":1130,"context_line":"                    priority\u003d10,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_bf766b3e","line":1127,"updated":"2020-01-07 15:50:27.000000000","message":"looking at https://github.com/openstack/neutron/blob/41acf3c2f635d41a62cf0a38c0dad74b8f35a48f/neutron/agent/common/ovs_lib.py#L389 get_port_ofport() method can return INVALID_OFPORT instead of None, and in such case adding Your flow below will fail. Probably You should change this \"if\" condition here.","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5fc9aa56bdeb80cd49e0b61de0ab86be8d6331b6","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"                    bridge, prefix\u003dovs_consts.PEER_INTEGRATION_PREFIX)"},{"line_number":1125,"context_line":"                patch_ofport \u003d self.int_br.br.get_port_ofport(port_name)"},{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"            if patch_ofport is not None:"},{"line_number":1128,"context_line":"                self._add_flow("},{"line_number":1129,"context_line":"                    table\u003dovs_consts.ACCEPTED_EGRESS_TRAFFIC_NORMAL_TABLE,"},{"line_number":1130,"context_line":"                    priority\u003d10,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_2e2fa189","line":1127,"in_reply_to":"3fa7e38b_bf766b3e","updated":"2020-01-08 15:03:04.000000000","message":"Done","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"5037c5e3bdc0e0bda7d5dbe1505567847d82d734","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"                    bridge, prefix\u003dovs_consts.PEER_INTEGRATION_PREFIX)"},{"line_number":1125,"context_line":"                patch_ofport \u003d self.int_br.br.get_port_ofport(port_name)"},{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"            if patch_ofport is not INVALID_OFPORT:"},{"line_number":1128,"context_line":"                self._add_flow("},{"line_number":1129,"context_line":"                    table\u003dovs_consts.ACCEPTED_EGRESS_TRAFFIC_NORMAL_TABLE,"},{"line_number":1130,"context_line":"                    priority\u003d10,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_1416604b","line":1127,"range":{"start_line":1127,"start_character":35,"end_line":1127,"end_character":49},"updated":"2020-01-09 12:42:06.000000000","message":"it is not defined in this file but in neutron/agent/common/ovs_lib.py","commit_id":"7f94275efc860054f8f73a38ad7d62bcf9865aa4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"2342c9fdd82d162f825ea5c106cb2383f98c6fd7","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"                    bridge, prefix\u003dovs_consts.PEER_INTEGRATION_PREFIX)"},{"line_number":1125,"context_line":"                patch_ofport \u003d self.int_br.br.get_port_ofport(port_name)"},{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"            if patch_ofport is not INVALID_OFPORT:"},{"line_number":1128,"context_line":"                self._add_flow("},{"line_number":1129,"context_line":"                    table\u003dovs_consts.ACCEPTED_EGRESS_TRAFFIC_NORMAL_TABLE,"},{"line_number":1130,"context_line":"                    priority\u003d10,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_4caa081a","line":1127,"range":{"start_line":1127,"start_character":35,"end_line":1127,"end_character":49},"in_reply_to":"3fa7e38b_1416604b","updated":"2020-01-10 01:23:50.000000000","message":"Done","commit_id":"7f94275efc860054f8f73a38ad7d62bcf9865aa4"}],"neutron/conf/plugins/ml2/drivers/ovs_conf.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    cfg.BoolOpt(\u0027baremetal_smartnic\u0027, default\u003dFalse,"},{"line_number":159,"context_line":"                help\u003d_(\"Enable the agent to process Smart NIC ports.\")),"},{"line_number":160,"context_line":"    cfg.BoolOpt(\u0027explicitly_egress_direct\u0027, default\u003dFalse,"},{"line_number":161,"context_line":"                help\u003d_(\"If this was set to True, the accepted egress unicast \""},{"line_number":162,"context_line":"                       \"traffic will not use NORMAL. The accepted egress \""},{"line_number":163,"context_line":"                       \"packets will be taken care in the final egress tables \""},{"line_number":164,"context_line":"                       \"direct output flows for unicast traffic\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_81e8ad15","line":161,"range":{"start_line":161,"start_character":24,"end_line":161,"end_character":35},"updated":"2019-12-15 23:57:33.000000000","message":"When","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"217ebcd9a30bcc7f3cc4577511177d0ef0028a94","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    cfg.BoolOpt(\u0027baremetal_smartnic\u0027, default\u003dFalse,"},{"line_number":159,"context_line":"                help\u003d_(\"Enable the agent to process Smart NIC ports.\")),"},{"line_number":160,"context_line":"    cfg.BoolOpt(\u0027explicitly_egress_direct\u0027, default\u003dFalse,"},{"line_number":161,"context_line":"                help\u003d_(\"If this was set to True, the accepted egress unicast \""},{"line_number":162,"context_line":"                       \"traffic will not use NORMAL. The accepted egress \""},{"line_number":163,"context_line":"                       \"packets will be taken care in the final egress tables \""},{"line_number":164,"context_line":"                       \"direct output flows for unicast traffic\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_b8e8e5df","line":161,"range":{"start_line":161,"start_character":24,"end_line":161,"end_character":35},"in_reply_to":"3fa7e38b_81e8ad15","updated":"2020-01-03 13:22:36.000000000","message":"Done","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    cfg.BoolOpt(\u0027explicitly_egress_direct\u0027, default\u003dFalse,"},{"line_number":161,"context_line":"                help\u003d_(\"If this was set to True, the accepted egress unicast \""},{"line_number":162,"context_line":"                       \"traffic will not use NORMAL. The accepted egress \""},{"line_number":163,"context_line":"                       \"packets will be taken care in the final egress tables \""},{"line_number":164,"context_line":"                       \"direct output flows for unicast traffic\")),"},{"line_number":165,"context_line":"]"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_016b5d86","line":163,"range":{"start_line":163,"start_character":46,"end_line":163,"end_character":50},"updated":"2019-12-15 23:57:33.000000000","message":"care of","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"217ebcd9a30bcc7f3cc4577511177d0ef0028a94","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    cfg.BoolOpt(\u0027explicitly_egress_direct\u0027, default\u003dFalse,"},{"line_number":161,"context_line":"                help\u003d_(\"If this was set to True, the accepted egress unicast \""},{"line_number":162,"context_line":"                       \"traffic will not use NORMAL. The accepted egress \""},{"line_number":163,"context_line":"                       \"packets will be taken care in the final egress tables \""},{"line_number":164,"context_line":"                       \"direct output flows for unicast traffic\")),"},{"line_number":165,"context_line":"]"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_d8e5a108","line":163,"range":{"start_line":163,"start_character":46,"end_line":163,"end_character":50},"in_reply_to":"3fa7e38b_016b5d86","updated":"2020-01-03 13:22:36.000000000","message":"Done","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8897fa2bb159a736f1ee24426c5ba446adad8a32","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                help\u003d_(\"Enable the agent to process Smart NIC ports.\")),"},{"line_number":173,"context_line":"    cfg.BoolOpt(\u0027explicitly_egress_direct\u0027, default\u003dFalse,"},{"line_number":174,"context_line":"                help\u003d_(\"When set to True, the accepted egress unicast \""},{"line_number":175,"context_line":"                       \"traffic will not use NORMAL. The accepted egress \""},{"line_number":176,"context_line":"                       \"packets will be taken care of in the final egress \""},{"line_number":177,"context_line":"                       \"tables direct output flows for unicast traffic\")),"},{"line_number":178,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_1f8d3f29","line":175,"range":{"start_line":175,"start_character":45,"end_line":175,"end_character":51},"updated":"2020-01-07 15:50:27.000000000","message":"action NORMAL","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5fc9aa56bdeb80cd49e0b61de0ab86be8d6331b6","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                help\u003d_(\"Enable the agent to process Smart NIC ports.\")),"},{"line_number":173,"context_line":"    cfg.BoolOpt(\u0027explicitly_egress_direct\u0027, default\u003dFalse,"},{"line_number":174,"context_line":"                help\u003d_(\"When set to True, the accepted egress unicast \""},{"line_number":175,"context_line":"                       \"traffic will not use NORMAL. The accepted egress \""},{"line_number":176,"context_line":"                       \"packets will be taken care of in the final egress \""},{"line_number":177,"context_line":"                       \"tables direct output flows for unicast traffic\")),"},{"line_number":178,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_4e2a1d78","line":175,"range":{"start_line":175,"start_character":45,"end_line":175,"end_character":51},"in_reply_to":"3fa7e38b_1f8d3f29","updated":"2020-01-08 15:03:04.000000000","message":"Done","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8897fa2bb159a736f1ee24426c5ba446adad8a32","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                help\u003d_(\"When set to True, the accepted egress unicast \""},{"line_number":175,"context_line":"                       \"traffic will not use NORMAL. The accepted egress \""},{"line_number":176,"context_line":"                       \"packets will be taken care of in the final egress \""},{"line_number":177,"context_line":"                       \"tables direct output flows for unicast traffic\")),"},{"line_number":178,"context_line":"]"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_9fa04f93","line":177,"range":{"start_line":177,"start_character":63,"end_line":177,"end_character":70},"updated":"2020-01-07 15:50:27.000000000","message":"nit: missing dot at the end of the sentence","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5fc9aa56bdeb80cd49e0b61de0ab86be8d6331b6","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                help\u003d_(\"When set to True, the accepted egress unicast \""},{"line_number":175,"context_line":"                       \"traffic will not use NORMAL. The accepted egress \""},{"line_number":176,"context_line":"                       \"packets will be taken care of in the final egress \""},{"line_number":177,"context_line":"                       \"tables direct output flows for unicast traffic\")),"},{"line_number":178,"context_line":"]"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_ee4ae958","line":177,"range":{"start_line":177,"start_character":63,"end_line":177,"end_character":70},"in_reply_to":"3fa7e38b_9fa04f93","updated":"2020-01-08 15:03:04.000000000","message":"Done","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"}],"neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/br_int.py":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"58f2b7a28b86cfbe354c07626d0f6ad49a0b7a2c","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            ofpp.OFPInstructionActions(ofp.OFPIT_APPLY_ACTIONS, actions),"},{"line_number":157,"context_line":"            ofpp.OFPInstructionGotoTable(table_id\u003dconstants.TRANSIENT_TABLE),"},{"line_number":158,"context_line":"        ]"},{"line_number":159,"context_line":"        self.install_instructions(table_id\u003dtable_id,"},{"line_number":160,"context_line":"                                  priority\u003d4,"},{"line_number":161,"context_line":"                                  match\u003dmatch,"},{"line_number":162,"context_line":"                                  instructions\u003dinstructions)"},{"line_number":163,"context_line":"        actions \u003d ["}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_df2c3c95","side":"PARENT","line":160,"range":{"start_line":159,"start_character":8,"end_line":160,"end_character":45},"updated":"2019-12-16 05:37:56.000000000","message":"Then this is 4.","commit_id":"26526ba275ecbab5064fb7db9ae2ee2f286a83ca"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"58f2b7a28b86cfbe354c07626d0f6ad49a0b7a2c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def setup_default_table(self):"},{"line_number":44,"context_line":"        self.setup_canary_table()"},{"line_number":45,"context_line":"        self.install_goto(dest_table_id\u003dconstants.TRANSIENT_TABLE)"},{"line_number":46,"context_line":"        self.install_normal(table_id\u003dconstants.TRANSIENT_TABLE, priority\u003d3)"},{"line_number":47,"context_line":"        self.install_drop(table_id\u003dconstants.ARP_SPOOF_TABLE)"},{"line_number":48,"context_line":"        self.install_drop(table_id\u003dconstants.LOCAL_SWITCHING,"},{"line_number":49,"context_line":"                          priority\u003dconstants.OPENFLOW_MAX_PRIORITY,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_1f33b4f9","line":46,"range":{"start_line":46,"start_character":8,"end_line":46,"end_character":75},"updated":"2019-12-16 05:37:56.000000000","message":"This is 3.","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        self.install_drop(table_id\u003dconstants.LOCAL_SWITCHING,"},{"line_number":49,"context_line":"                          priority\u003dconstants.OPENFLOW_MAX_PRIORITY,"},{"line_number":50,"context_line":"                          vlan_vid\u003dconstants.DEAD_VLAN_TAG)"},{"line_number":51,"context_line":"        # When not enable openflow firewall, we use this table to"},{"line_number":52,"context_line":"        # deal with all egress flow."},{"line_number":53,"context_line":"        self.install_normal(table_id\u003dconstants.TRANSIENT_EGRESS_TABLE,"},{"line_number":54,"context_line":"                            priority\u003d3)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_c14b0526","line":51,"range":{"start_line":51,"start_character":10,"end_line":51,"end_character":43},"updated":"2019-12-15 23:57:33.000000000","message":"When openflow firewall is not enabled","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"217ebcd9a30bcc7f3cc4577511177d0ef0028a94","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        self.install_drop(table_id\u003dconstants.LOCAL_SWITCHING,"},{"line_number":49,"context_line":"                          priority\u003dconstants.OPENFLOW_MAX_PRIORITY,"},{"line_number":50,"context_line":"                          vlan_vid\u003dconstants.DEAD_VLAN_TAG)"},{"line_number":51,"context_line":"        # When not enable openflow firewall, we use this table to"},{"line_number":52,"context_line":"        # deal with all egress flow."},{"line_number":53,"context_line":"        self.install_normal(table_id\u003dconstants.TRANSIENT_EGRESS_TABLE,"},{"line_number":54,"context_line":"                            priority\u003d3)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_58b3f109","line":51,"range":{"start_line":51,"start_character":10,"end_line":51,"end_character":43},"in_reply_to":"3fa7e38b_c14b0526","updated":"2020-01-03 13:22:36.000000000","message":"Done","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            ofpp.OFPInstructionGotoTable(table_id\u003dconstants.TRANSIENT_TABLE),"},{"line_number":162,"context_line":"        ]"},{"line_number":163,"context_line":"        self.install_instructions(table_id\u003dtable_id,"},{"line_number":164,"context_line":"                                  priority\u003d20,"},{"line_number":165,"context_line":"                                  match\u003dmatch,"},{"line_number":166,"context_line":"                                  instructions\u003dinstructions)"},{"line_number":167,"context_line":"        actions \u003d ["}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_213bf99b","line":164,"range":{"start_line":164,"start_character":43,"end_line":164,"end_character":45},"updated":"2019-12-15 23:57:33.000000000","message":"Why is this necessary?","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"b3557f2810f9b8e2e34dce6ad16566ff99e86039","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            ofpp.OFPInstructionGotoTable(table_id\u003dconstants.TRANSIENT_TABLE),"},{"line_number":162,"context_line":"        ]"},{"line_number":163,"context_line":"        self.install_instructions(table_id\u003dtable_id,"},{"line_number":164,"context_line":"                                  priority\u003d20,"},{"line_number":165,"context_line":"                                  match\u003dmatch,"},{"line_number":166,"context_line":"                                  instructions\u003dinstructions)"},{"line_number":167,"context_line":"        actions \u003d ["}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_014d9dc4","line":164,"range":{"start_line":164,"start_character":43,"end_line":164,"end_character":45},"in_reply_to":"3fa7e38b_213bf99b","updated":"2019-12-16 02:06:48.000000000","message":"The orignal priority is too low to find a slot for the new flows.","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            ofpp.OFPActionOutput(dst_port, 0),"},{"line_number":170,"context_line":"        ]"},{"line_number":171,"context_line":"        self.install_apply_actions(table_id\u003dconstants.TRANSIENT_TABLE,"},{"line_number":172,"context_line":"                                   priority\u003d20,"},{"line_number":173,"context_line":"                                   match\u003dmatch,"},{"line_number":174,"context_line":"                                   actions\u003dactions)"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_41407507","line":172,"range":{"start_line":172,"start_character":44,"end_line":172,"end_character":46},"updated":"2019-12-15 23:57:33.000000000","message":"Ditto","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                                           vlan_tag\u003dvlan_tag, dst_mac\u003ddst_mac)"},{"line_number":181,"context_line":"        for table in (table_id, constants.TRANSIENT_TABLE):"},{"line_number":182,"context_line":"            self.uninstall_flows("},{"line_number":183,"context_line":"                strict\u003dTrue, priority\u003d20, table_id\u003dtable, match\u003dmatch)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def add_dvr_mac_vlan(self, mac, port):"},{"line_number":186,"context_line":"        self.install_goto(table_id\u003dconstants.LOCAL_SWITCHING,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_e144011d","line":183,"range":{"start_line":183,"start_character":38,"end_line":183,"end_character":40},"updated":"2019-12-15 23:57:33.000000000","message":"Ditto","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8897fa2bb159a736f1ee24426c5ba446adad8a32","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            ofpp.OFPInstructionGotoTable(table_id\u003dconstants.TRANSIENT_TABLE),"},{"line_number":162,"context_line":"        ]"},{"line_number":163,"context_line":"        self.install_instructions(table_id\u003dtable_id,"},{"line_number":164,"context_line":"                                  priority\u003d20,"},{"line_number":165,"context_line":"                                  match\u003dmatch,"},{"line_number":166,"context_line":"                                  instructions\u003dinstructions)"},{"line_number":167,"context_line":"        actions \u003d ["}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_5fa657ae","line":164,"updated":"2020-01-07 15:50:27.000000000","message":"why this priority is changed?","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5fc9aa56bdeb80cd49e0b61de0ab86be8d6331b6","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            ofpp.OFPInstructionGotoTable(table_id\u003dconstants.TRANSIENT_TABLE),"},{"line_number":162,"context_line":"        ]"},{"line_number":163,"context_line":"        self.install_instructions(table_id\u003dtable_id,"},{"line_number":164,"context_line":"                                  priority\u003d20,"},{"line_number":165,"context_line":"                                  match\u003dmatch,"},{"line_number":166,"context_line":"                                  instructions\u003dinstructions)"},{"line_number":167,"context_line":"        actions \u003d ["}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_2843186d","line":164,"in_reply_to":"3fa7e38b_5fa657ae","updated":"2020-01-08 15:03:04.000000000","message":"Please take a look at here I\u0027ve replied to Miguel:\nhttps://review.opendev.org/#/c/666991/9/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/br_int.py@46\nhttps://review.opendev.org/#/c/666991/9/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/br_int.py@164\n\nMostly because there is no priority slot (between 3-4) for new flows when compute does not enable openflow firewall.","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8897fa2bb159a736f1ee24426c5ba446adad8a32","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            ofpp.OFPActionOutput(dst_port, 0),"},{"line_number":170,"context_line":"        ]"},{"line_number":171,"context_line":"        self.install_apply_actions(table_id\u003dconstants.TRANSIENT_TABLE,"},{"line_number":172,"context_line":"                                   priority\u003d20,"},{"line_number":173,"context_line":"                                   match\u003dmatch,"},{"line_number":174,"context_line":"                                   actions\u003dactions)"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_7fa1d391","line":172,"updated":"2020-01-07 15:50:27.000000000","message":"and here?","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5fc9aa56bdeb80cd49e0b61de0ab86be8d6331b6","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            ofpp.OFPActionOutput(dst_port, 0),"},{"line_number":170,"context_line":"        ]"},{"line_number":171,"context_line":"        self.install_apply_actions(table_id\u003dconstants.TRANSIENT_TABLE,"},{"line_number":172,"context_line":"                                   priority\u003d20,"},{"line_number":173,"context_line":"                                   match\u003dmatch,"},{"line_number":174,"context_line":"                                   actions\u003dactions)"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_ae50710a","line":172,"in_reply_to":"3fa7e38b_7fa1d391","updated":"2020-01-08 15:03:04.000000000","message":"ditto","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},"change_message_id":"65d43bf6e5595065de8d56c6e9f63c31e2acca38","unresolved":false,"context_lines":[{"line_number":2071,"context_line":""},{"line_number":2072,"context_line":"        if (isinstance(self.sg_agent.firewall,"},{"line_number":2073,"context_line":"                       agent_firewall.NoopFirewallDriver) or"},{"line_number":2074,"context_line":"                not agent_sg_rpc.is_firewall_enabled()):"},{"line_number":2075,"context_line":"            with self.int_br.deferred(full_ordered\u003dTrue,"},{"line_number":2076,"context_line":"                                      use_bundle\u003dTrue) as int_br:"},{"line_number":2077,"context_line":"                for port in ports:"}],"source_content_type":"text/x-python","patch_set":13,"id":"1fa4df85_e4a41da8","line":2074,"updated":"2020-03-11 04:39:21.000000000","message":"sorry to be dump. But why is firewall required to be disabled here?","commit_id":"efa8dd08957b5b6b1a05f0ed412ff00462a9f216"}],"neutron/tests/unit/agent/linux/openvswitch_firewall/test_firewall.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5f3baa61b8bfbbefa4c506427a0f31ad38d6ff2","unresolved":false,"context_lines":[{"line_number":608,"context_line":"                           ovs_consts.BASE_INGRESS_TABLE)}"},{"line_number":609,"context_line":"        ingress_flow_call2 \u003d mock.call(**call_args3)"},{"line_number":610,"context_line":"        self.mock_bridge.br.add_flow.assert_has_calls("},{"line_number":611,"context_line":"            [egress_flow_call, ingress_flow_call1, ingress_flow_call2])"},{"line_number":612,"context_line":""},{"line_number":613,"context_line":"    def test_delete_all_port_flows(self):"},{"line_number":614,"context_line":"        port_dict \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_a2d24e5b","line":611,"updated":"2019-07-09 02:38:51.000000000","message":"Seems there should be a check for the add_flow() call as well.  Don\u0027t know if it\u0027s here or elsewhere.","commit_id":"7f056a2a7a9ea1e55090f9f92df2db5d8e52322b"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"ee4dbef2da147ef692b105cdb094b14abe301d43","unresolved":false,"context_lines":[{"line_number":608,"context_line":"                           ovs_consts.BASE_INGRESS_TABLE)}"},{"line_number":609,"context_line":"        ingress_flow_call2 \u003d mock.call(**call_args3)"},{"line_number":610,"context_line":"        self.mock_bridge.br.add_flow.assert_has_calls("},{"line_number":611,"context_line":"            [egress_flow_call, ingress_flow_call1, ingress_flow_call2])"},{"line_number":612,"context_line":""},{"line_number":613,"context_line":"    def test_delete_all_port_flows(self):"},{"line_number":614,"context_line":"        port_dict \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_7d739bb2","line":611,"in_reply_to":"7faddb67_a2d24e5b","updated":"2019-07-09 05:10:58.000000000","message":"Done","commit_id":"7f056a2a7a9ea1e55090f9f92df2db5d8e52322b"}],"neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/openflow/native/test_br_int.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8897fa2bb159a736f1ee24426c5ba446adad8a32","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                priority\u003d65535,"},{"line_number":78,"context_line":"                table_id\u003d0),"},{"line_number":79,"context_line":"                           active_bundle\u003dNone),"},{"line_number":80,"context_line":"            call._send_msg(ofpp.OFPFlowMod(dp,"},{"line_number":81,"context_line":"                cookie\u003dself.stamp,"},{"line_number":82,"context_line":"                instructions\u003d["},{"line_number":83,"context_line":"                    ofpp.OFPInstructionActions("}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_9fce0f59","line":80,"range":{"start_line":80,"start_character":43,"end_line":80,"end_character":46},"updated":"2020-01-07 15:50:27.000000000","message":"nit: You can move this to the next line probably to align it with other arguments","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5fc9aa56bdeb80cd49e0b61de0ab86be8d6331b6","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                priority\u003d65535,"},{"line_number":78,"context_line":"                table_id\u003d0),"},{"line_number":79,"context_line":"                           active_bundle\u003dNone),"},{"line_number":80,"context_line":"            call._send_msg(ofpp.OFPFlowMod(dp,"},{"line_number":81,"context_line":"                cookie\u003dself.stamp,"},{"line_number":82,"context_line":"                instructions\u003d["},{"line_number":83,"context_line":"                    ofpp.OFPInstructionActions("}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_c82284ba","line":80,"range":{"start_line":80,"start_character":43,"end_line":80,"end_character":46},"in_reply_to":"3fa7e38b_9fce0f59","updated":"2020-01-08 15:03:04.000000000","message":"All such \"_send_msg\" calls are in such style.","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8897fa2bb159a736f1ee24426c5ba446adad8a32","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                match\u003dofpp.OFPMatch(),"},{"line_number":89,"context_line":"                priority\u003d3,"},{"line_number":90,"context_line":"                table_id\u003d61),"},{"line_number":91,"context_line":"                           active_bundle\u003dNone),"},{"line_number":92,"context_line":"        ]"},{"line_number":93,"context_line":"        self.assertEqual(expected, self.mock.mock_calls)"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_3fdefb0f","line":91,"range":{"start_line":91,"start_character":16,"end_line":91,"end_character":27},"updated":"2020-01-07 15:50:27.000000000","message":"this indentation seems strange for me","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5fc9aa56bdeb80cd49e0b61de0ab86be8d6331b6","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                match\u003dofpp.OFPMatch(),"},{"line_number":89,"context_line":"                priority\u003d3,"},{"line_number":90,"context_line":"                table_id\u003d61),"},{"line_number":91,"context_line":"                           active_bundle\u003dNone),"},{"line_number":92,"context_line":"        ]"},{"line_number":93,"context_line":"        self.assertEqual(expected, self.mock.mock_calls)"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_e81d0077","line":91,"range":{"start_line":91,"start_character":16,"end_line":91,"end_character":27},"in_reply_to":"3fa7e38b_3fdefb0f","updated":"2020-01-08 15:03:04.000000000","message":"ditto","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"}],"releasenotes/notes/accepted_egress_direct-cc23873e213c6919.yaml":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    issue on the neutron-ovs-agent integration bridge. And bug"},{"line_number":6,"context_line":"    https://bugs.launchpad.net/neutron/+bug/1841622 proposed a solution for"},{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 for not enable openflow firewall, table 94 vice versa) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    exsiting cloud networking."},{"line_number":11,"context_line":"other:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_215459c6","line":8,"range":{"start_line":8,"start_character":58,"end_line":8,"end_character":68},"updated":"2019-12-15 23:57:33.000000000","message":"otherwise","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    issue on the neutron-ovs-agent integration bridge. And bug"},{"line_number":6,"context_line":"    https://bugs.launchpad.net/neutron/+bug/1841622 proposed a solution for"},{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 for not enable openflow firewall, table 94 vice versa) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    exsiting cloud networking."},{"line_number":11,"context_line":"other:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_815f4de3","line":8,"range":{"start_line":8,"start_character":15,"end_line":8,"end_character":47},"updated":"2019-12-15 23:57:33.000000000","message":"when openflow firewall is not enabled","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"217ebcd9a30bcc7f3cc4577511177d0ef0028a94","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    issue on the neutron-ovs-agent integration bridge. And bug"},{"line_number":6,"context_line":"    https://bugs.launchpad.net/neutron/+bug/1841622 proposed a solution for"},{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 for not enable openflow firewall, table 94 vice versa) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    exsiting cloud networking."},{"line_number":11,"context_line":"other:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_18c9f977","line":8,"range":{"start_line":8,"start_character":58,"end_line":8,"end_character":68},"in_reply_to":"3fa7e38b_215459c6","updated":"2020-01-03 13:22:36.000000000","message":"Done","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"217ebcd9a30bcc7f3cc4577511177d0ef0028a94","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    issue on the neutron-ovs-agent integration bridge. And bug"},{"line_number":6,"context_line":"    https://bugs.launchpad.net/neutron/+bug/1841622 proposed a solution for"},{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 for not enable openflow firewall, table 94 vice versa) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    exsiting cloud networking."},{"line_number":11,"context_line":"other:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_b8c1c551","line":8,"range":{"start_line":8,"start_character":15,"end_line":8,"end_character":47},"in_reply_to":"3fa7e38b_815f4de3","updated":"2020-01-03 13:22:36.000000000","message":"Done","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 for not enable openflow firewall, table 94 vice versa) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    exsiting cloud networking."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_8183cd55","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":13},"updated":"2019-12-15 23:57:33.000000000","message":"existing","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"217ebcd9a30bcc7f3cc4577511177d0ef0028a94","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 for not enable openflow firewall, table 94 vice versa) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    exsiting cloud networking."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_d8be01cd","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":13},"in_reply_to":"3fa7e38b_8183cd55","updated":"2020-01-03 13:22:36.000000000","message":"Done","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"},{"line_number":14,"context_line":"    added for the aiming of distinguishing clouds which are running the"},{"line_number":15,"context_line":"    network node mixed with compute services, upstream neutron CI should be"},{"line_number":16,"context_line":"    an example. In such situation, this ``explicitly_egress_direct`` should be"},{"line_number":17,"context_line":"    set to False, because there are numerous cases from HA routers which can"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_2178d97c","line":14,"range":{"start_line":14,"start_character":10,"end_line":14,"end_character":24},"updated":"2019-12-15 23:57:33.000000000","message":"with the aim","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"217ebcd9a30bcc7f3cc4577511177d0ef0028a94","unresolved":false,"context_lines":[{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"},{"line_number":14,"context_line":"    added for the aiming of distinguishing clouds which are running the"},{"line_number":15,"context_line":"    network node mixed with compute services, upstream neutron CI should be"},{"line_number":16,"context_line":"    an example. In such situation, this ``explicitly_egress_direct`` should be"},{"line_number":17,"context_line":"    set to False, because there are numerous cases from HA routers which can"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_98a2c9ac","line":14,"range":{"start_line":14,"start_character":10,"end_line":14,"end_character":24},"in_reply_to":"3fa7e38b_2178d97c","updated":"2020-01-03 13:22:36.000000000","message":"Done","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f971b7f8c5fda4ed1ffc35ba82d74d0e493b675b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    set to False, because there are numerous cases from HA routers which can"},{"line_number":18,"context_line":"    not be covered, particularly when you have centralized floating IPs running"},{"line_number":19,"context_line":"    in such mixed hosts."},{"line_number":20,"context_line":"    Otherwise, set ``explicitly_egress_direct`` to True to avoid the flood."},{"line_number":21,"context_line":"    One more note is if your network nodes are for networing services only, we"},{"line_number":22,"context_line":"    recommand you disable all the security_group to get a higher performance."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_417dd56b","line":20,"range":{"start_line":20,"start_character":48,"end_line":20,"end_character":74},"updated":"2019-12-15 23:57:33.000000000","message":"When this note is rendered un the final release note, will the reader have context to understand what flooding you are talking about. Also, I suggest \u0027flooding\u0027 instead of \u0027flood\u0027","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"217ebcd9a30bcc7f3cc4577511177d0ef0028a94","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    set to False, because there are numerous cases from HA routers which can"},{"line_number":18,"context_line":"    not be covered, particularly when you have centralized floating IPs running"},{"line_number":19,"context_line":"    in such mixed hosts."},{"line_number":20,"context_line":"    Otherwise, set ``explicitly_egress_direct`` to True to avoid the flood."},{"line_number":21,"context_line":"    One more note is if your network nodes are for networing services only, we"},{"line_number":22,"context_line":"    recommand you disable all the security_group to get a higher performance."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_b896a549","line":20,"range":{"start_line":20,"start_character":48,"end_line":20,"end_character":74},"in_reply_to":"3fa7e38b_417dd56b","updated":"2020-01-03 13:22:36.000000000","message":"Done","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"c044d9ad3aa7d01ff112b68e8651d62b3f142097","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    in such mixed hosts."},{"line_number":20,"context_line":"    Otherwise, set ``explicitly_egress_direct`` to True to avoid the flood."},{"line_number":21,"context_line":"    One more note is if your network nodes are for networing services only, we"},{"line_number":22,"context_line":"    recommand you disable all the security_group to get a higher performance."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_7d77893c","line":22,"updated":"2019-12-11 15:12:17.000000000","message":"So finally, 1) your cloud has HA routers, 2) and network nodes are running networking services only, 3) compute nodes require security_group functionality. Your openvswitch-agent config will partially be:\n\na. compute node\n[agent]\nexplicitly_egress_direct\u003dTrue\n\n[securitygroup]\nenable_security_group \u003d True\nfirewall_driver \u003d openvswitch/iptables_hybrid\n\n\nb. network node\n[agent]\nexplicitly_egress_direct\u003dFalse\n\n[securitygroup]\nfirewall_driver \u003d noop\nenable_security_group \u003d False","commit_id":"61b0a659563b7ef2e667efc21195f4b09cada7a6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8897fa2bb159a736f1ee24426c5ba446adad8a32","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 when openflow firewall is not enabled, table 94 otherwise) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    existing cloud networking."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_9f3ccf30","line":10,"updated":"2020-01-07 15:50:27.000000000","message":"IMO it should be mentioned that this patch only fixes this issue for environments where network nodes aren\u0027t mixed with compute nodes. Otherwise the issue is still there, right?","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"5037c5e3bdc0e0bda7d5dbe1505567847d82d734","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 when openflow firewall is not enabled, table 94 otherwise) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    existing cloud networking."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_89ca3d16","line":10,"in_reply_to":"3fa7e38b_2e16c14b","updated":"2020-01-09 12:42:06.000000000","message":"I see it in L13-19 but still I think that it should be mentioned in this section too that this bug is only fixed for some deployment types. Not for all.","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"2342c9fdd82d162f825ea5c106cb2383f98c6fd7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 when openflow firewall is not enabled, table 94 otherwise) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    existing cloud networking."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_eca4144e","line":10,"in_reply_to":"3fa7e38b_89ca3d16","updated":"2020-01-10 01:23:50.000000000","message":"The statements in \"other\" are all moved to this.","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5fc9aa56bdeb80cd49e0b61de0ab86be8d6331b6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    it. The accepted egress packets will be taken care in the final egress"},{"line_number":8,"context_line":"    tables (61 when openflow firewall is not enabled, table 94 otherwise) with"},{"line_number":9,"context_line":"    direct output flows for unicast traffic with a minimum influence on the"},{"line_number":10,"context_line":"    existing cloud networking."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_2e16c14b","line":10,"in_reply_to":"3fa7e38b_9f3ccf30","updated":"2020-01-08 15:03:04.000000000","message":"Basically, more detail is when mixed compute\u0026network the centralized floating IPs from HA routers may not work under some conditions (e.g. gatway MAC in different hosts). Please see line 13-19.","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8897fa2bb159a736f1ee24426c5ba446adad8a32","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    existing cloud networking."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"},{"line_number":14,"context_line":"    added for the aim of distinguishing clouds which are running the"},{"line_number":15,"context_line":"    network node mixed with compute services, upstream neutron CI should be"},{"line_number":16,"context_line":"    an example. In such situation, this ``explicitly_egress_direct`` should be"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_7fe8f3a5","line":13,"range":{"start_line":13,"start_character":10,"end_line":13,"end_character":16},"updated":"2020-01-07 15:50:27.000000000","message":"config option","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5fc9aa56bdeb80cd49e0b61de0ab86be8d6331b6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    existing cloud networking."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    A new config ``explicitly_egress_direct``, with default value False, was"},{"line_number":14,"context_line":"    added for the aim of distinguishing clouds which are running the"},{"line_number":15,"context_line":"    network node mixed with compute services, upstream neutron CI should be"},{"line_number":16,"context_line":"    an example. In such situation, this ``explicitly_egress_direct`` should be"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_0e7745a1","line":13,"range":{"start_line":13,"start_character":10,"end_line":13,"end_character":16},"in_reply_to":"3fa7e38b_7fe8f3a5","updated":"2020-01-08 15:03:04.000000000","message":"Done","commit_id":"9314a39448b6ef40b55612a5fe85b6ee983819e4"}]}
