)]}'
{"dragonflow/controller/l2_app.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"6ddcbf68c276f87c1a6c524fe49b58304a27a18f","unresolved":false,"context_lines":[{"line_number":381,"context_line":"        local_network.local_ports[lport_id] \u003d port_key"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        ingress \u003d []"},{"line_number":384,"context_line":"        ingress.append(parser.OFPActionSetField(reg7\u003dport_key))"},{"line_number":385,"context_line":"        ingress.append(parser.NXActionResubmitTable("},{"line_number":386,"context_line":"            OF_IN_PORT,"},{"line_number":387,"context_line":"            const.INGRESS_CONNTRACK_TABLE))"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        egress \u003d []"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        egress.append(parser.OFPActionSetField(reg7\u003dport_key))"},{"line_number":392,"context_line":"        egress.append(parser.NXActionResubmitTable(OF_IN_PORT,"},{"line_number":393,"context_line":"                                                   const.EGRESS_TABLE))"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"        for port_id_in_network in local_network.local_ports:"},{"line_number":396,"context_line":"            lport \u003d self.db_store.get_port(port_id_in_network, topic)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_0ac09fe0","side":"PARENT","line":393,"range":{"start_line":384,"start_character":0,"end_line":393,"end_character":71},"updated":"2017-04-09 23:41:26.000000000","message":"according to [1], the port that is being updated will not be in db_store. If you remove these lines, it seems that the multicast flow will miss current port.\n\nIf you want to do the optimize, could you add a test to verify the behaviour?\n\n\n[1] https://github.com/openstack/dragonflow/blob/5135dc38ca14b089df1a19bc7661a7b9b9ece75b/dragonflow/controller/df_local_controller.py#L641","commit_id":"5135dc38ca14b089df1a19bc7661a7b9b9ece75b"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"6ddcbf68c276f87c1a6c524fe49b58304a27a18f","unresolved":false,"context_lines":[{"line_number":432,"context_line":"            priority\u003dconst.PRIORITY_HIGH,"},{"line_number":433,"context_line":"            match\u003dmatch)"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    @df_base_app.register_event(l2.LogicalSwitch,"},{"line_number":436,"context_line":"                                model_constants.EVENT_DELETED)"},{"line_number":437,"context_line":"    def remove_logical_switch(self, lswitch):"},{"line_number":438,"context_line":"        ofproto \u003d self.ofproto"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        network_id \u003d lswitch.unique_key"},{"line_number":441,"context_line":"        match \u003d self._get_multicast_broadcast_match(network_id)"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"        self.mod_flow("},{"line_number":444,"context_line":"            table_id\u003dconst.L2_LOOKUP_TABLE,"},{"line_number":445,"context_line":"            command\u003dofproto.OFPFC_DELETE,"},{"line_number":446,"context_line":"            priority\u003dconst.PRIORITY_HIGH,"},{"line_number":447,"context_line":"            match\u003dmatch)"},{"line_number":448,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_aa489386","side":"PARENT","line":445,"range":{"start_line":435,"start_character":4,"end_line":445,"end_character":41},"updated":"2017-04-09 23:41:26.000000000","message":"it is better to add some test after [1]\n\n[1] https://github.com/openstack/dragonflow/blob/5135dc38ca14b089df1a19bc7661a7b9b9ece75b/dragonflow/tests/fullstack/test_l2_flows.py#L508","commit_id":"5135dc38ca14b089df1a19bc7661a7b9b9ece75b"}]}
