)]}'
{"dragonflow/controller/df_base_app.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"58d4b2cea0dc178fb62baa28a0c5c4f7b4680a8b","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        parser \u003d datapath.ofproto_parser"},{"line_number":139,"context_line":"        actions \u003d [parser.OFPActionSetField(reg7\u003dunique_key),"},{"line_number":140,"context_line":"                   parser.NXActionResubmitTable("},{"line_number":141,"context_line":"                       table_id\u003dconstants.INGRESS_DISPATCH_TABLE)]"},{"line_number":142,"context_line":"        out \u003d parser.OFPPacketOut(datapath\u003ddatapath,"},{"line_number":143,"context_line":"                                  buffer_id\u003dofproto.OFP_NO_BUFFER,"},{"line_number":144,"context_line":"                                  in_port\u003dofproto.OFPP_CONTROLLER,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_c2cd2d67","line":141,"range":{"start_line":141,"start_character":42,"end_line":141,"end_character":64},"updated":"2017-02-25 02:35:14.000000000","message":"It is definitely an improvement here, while I think we need more think. Should we let the packet go through the conntrack module(aka go though INGRESS_CONNTRACK_TABLE). Now the packet-in connections are single side tracked by ct module. This might cause invalid ct entry in ct table.","commit_id":"c8fbf5d9c3907841a9f08716f8081e23266054c2"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55de3b1f3f87756f5de9a01ce963ae076183e265","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        parser \u003d datapath.ofproto_parser"},{"line_number":139,"context_line":"        actions \u003d [parser.OFPActionSetField(reg7\u003dunique_key),"},{"line_number":140,"context_line":"                   parser.NXActionResubmitTable("},{"line_number":141,"context_line":"                       table_id\u003dconstants.INGRESS_DISPATCH_TABLE)]"},{"line_number":142,"context_line":"        out \u003d parser.OFPPacketOut(datapath\u003ddatapath,"},{"line_number":143,"context_line":"                                  buffer_id\u003dofproto.OFP_NO_BUFFER,"},{"line_number":144,"context_line":"                                  in_port\u003dofproto.OFPP_CONTROLLER,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_bdcdbc67","line":141,"range":{"start_line":141,"start_character":42,"end_line":141,"end_character":64},"in_reply_to":"da36d5c6_c2cd2d67","updated":"2017-02-25 03:48:06.000000000","message":"This function comes to replace the send_packet, which by-passed connection tracking. Therefore we want only dispatch, without connection tracking. This method is used with DHCP, DNAT (to return ICMP packets), and L3 (to return ICMP packets). These are use-cases without connection tracking on return packet path.\n\nPerhaps in future there\u0027ll be a more general method, where the table is given, and then this method will call that method with constants.INGRESS_DISPATCH_TABLE, and the dispatch for using security groups will call it with constants.INGRESS_CONNECTION_TRACKING.","commit_id":"c8fbf5d9c3907841a9f08716f8081e23266054c2"}],"dragonflow/controller/dhcp_app.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"58d4b2cea0dc178fb62baa28a0c5c4f7b4680a8b","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except Exception:"},{"line_number":111,"context_line":"            LOG.exception(_LE(\"Unable to handle packet %s\"), msg)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _handle_dhcp_request(self, event, packet, lport):"},{"line_number":114,"context_line":"        dhcp_packet \u003d packet.get_protocol(dhcp.dhcp)"},{"line_number":115,"context_line":"        dhcp_message_type \u003d self._get_dhcp_message_type_opt(dhcp_packet)"},{"line_number":116,"context_line":"        send_packet \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_e2cf9153","line":113,"range":{"start_line":113,"start_character":35,"end_line":113,"end_character":42},"updated":"2017-02-25 02:35:14.000000000","message":"The event is not used in this method.","commit_id":"c8fbf5d9c3907841a9f08716f8081e23266054c2"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55de3b1f3f87756f5de9a01ce963ae076183e265","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except Exception:"},{"line_number":111,"context_line":"            LOG.exception(_LE(\"Unable to handle packet %s\"), msg)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _handle_dhcp_request(self, event, packet, lport):"},{"line_number":114,"context_line":"        dhcp_packet \u003d packet.get_protocol(dhcp.dhcp)"},{"line_number":115,"context_line":"        dhcp_message_type \u003d self._get_dhcp_message_type_opt(dhcp_packet)"},{"line_number":116,"context_line":"        send_packet \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_1dbfa8aa","line":113,"range":{"start_line":113,"start_character":35,"end_line":113,"end_character":42},"in_reply_to":"da36d5c6_e2cf9153","updated":"2017-02-25 03:48:06.000000000","message":"Done","commit_id":"c8fbf5d9c3907841a9f08716f8081e23266054c2"}]}
