)]}'
{"dragonflow/controller/common/constants.py":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"2126bedfd363482ce3dbb19b8b64fde44f0aa23d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"PRIORITY_VERY_HIGH \u003d 300"},{"line_number":47,"context_line":"PRIORITY_CT_STATE \u003d 65534"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"ARP_OP_TYPE_REQUEST \u003d 1"},{"line_number":50,"context_line":"ARP_OP_TYPE_REPLY \u003d 2"},{"line_number":51,"context_line":"UDP_PROTOCOL_NUMBER \u003d 17"},{"line_number":52,"context_line":"DHCP_CLIENT_PORT \u003d 68"},{"line_number":53,"context_line":"DHCP_SERVER_PORT \u003d 67"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"BROADCAST_MAC \u003d \u0027ff:ff:ff:ff:ff:ff\u0027"},{"line_number":56,"context_line":"BROADCAST_IP \u003d \u0027255.255.255.255\u0027"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"# Connection Track flags"},{"line_number":59,"context_line":"CT_STATE_NEW \u003d 0x01"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_596ab181","line":56,"range":{"start_line":49,"start_character":0,"end_line":56,"end_character":32},"updated":"2016-12-02 01:47:59.000000000","message":"I suggest you take advantage of neutron common lib, instead of specifying our own protocol-related constants.\n\nhttps://github.com/openstack/neutron-lib/blob/master/neutron_lib/constants.py","commit_id":"95360b2b2732f1e8b33498fe20e19cbd5a9775d4"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"2acd2865a313a66337449956e6fa676d4f591638","unresolved":false,"context_lines":[{"line_number":46,"context_line":"PRIORITY_VERY_HIGH \u003d 300"},{"line_number":47,"context_line":"PRIORITY_CT_STATE \u003d 65534"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"ARP_OP_TYPE_REQUEST \u003d 1"},{"line_number":50,"context_line":"ARP_OP_TYPE_REPLY \u003d 2"},{"line_number":51,"context_line":"UDP_PROTOCOL_NUMBER \u003d 17"},{"line_number":52,"context_line":"DHCP_CLIENT_PORT \u003d 68"},{"line_number":53,"context_line":"DHCP_SERVER_PORT \u003d 67"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"BROADCAST_MAC \u003d \u0027ff:ff:ff:ff:ff:ff\u0027"},{"line_number":56,"context_line":"BROADCAST_IP \u003d \u0027255.255.255.255\u0027"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"# Connection Track flags"},{"line_number":59,"context_line":"CT_STATE_NEW \u003d 0x01"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_963b2beb","line":56,"range":{"start_line":49,"start_character":0,"end_line":56,"end_character":32},"in_reply_to":"3a71b18c_44ae4886","updated":"2016-12-02 06:41:12.000000000","message":"I suggest you submit a patch to neutron lib to include the necessary constants.","commit_id":"95360b2b2732f1e8b33498fe20e19cbd5a9775d4"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"42289b44bef3ebab32933c4343fbd511506686b7","unresolved":false,"context_lines":[{"line_number":46,"context_line":"PRIORITY_VERY_HIGH \u003d 300"},{"line_number":47,"context_line":"PRIORITY_CT_STATE \u003d 65534"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"ARP_OP_TYPE_REQUEST \u003d 1"},{"line_number":50,"context_line":"ARP_OP_TYPE_REPLY \u003d 2"},{"line_number":51,"context_line":"UDP_PROTOCOL_NUMBER \u003d 17"},{"line_number":52,"context_line":"DHCP_CLIENT_PORT \u003d 68"},{"line_number":53,"context_line":"DHCP_SERVER_PORT \u003d 67"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"BROADCAST_MAC \u003d \u0027ff:ff:ff:ff:ff:ff\u0027"},{"line_number":56,"context_line":"BROADCAST_IP \u003d \u0027255.255.255.255\u0027"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"# Connection Track flags"},{"line_number":59,"context_line":"CT_STATE_NEW \u003d 0x01"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_44ae4886","line":56,"range":{"start_line":49,"start_character":0,"end_line":56,"end_character":32},"in_reply_to":"3a71b18c_596ab181","updated":"2016-12-02 02:21:37.000000000","message":"I just find DHCP_RESPONSE_PORT and PROTO_NUM_UDP in neutron-lib, so I just replace part of these constants?","commit_id":"95360b2b2732f1e8b33498fe20e19cbd5a9775d4"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"aeac010af0574cc4bf5c4fa0551c7729b5a88cc9","unresolved":false,"context_lines":[{"line_number":49,"context_line":"PRIORITY_VERY_HIGH \u003d 300"},{"line_number":50,"context_line":"PRIORITY_CT_STATE \u003d 65534"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"ARP_OP_TYPE_REQUEST \u003d arp.ARP_REQUEST"},{"line_number":53,"context_line":"ARP_OP_TYPE_REPLY \u003d arp.ARP_REPLY"},{"line_number":54,"context_line":"UDP_PROTOCOL_NUMBER \u003d const.PROTO_NUM_UDP"},{"line_number":55,"context_line":"DHCP_CLIENT_PORT \u003d 68"},{"line_number":56,"context_line":"DHCP_SERVER_PORT \u003d 67"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_305978ff","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":41},"updated":"2016-12-02 08:34:49.000000000","message":"If these constants are already defined, why not use them directly?","commit_id":"4055ed023463d916ab5edc520dae26d75e3687e4"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"ff37d5fdd375eaaa540f56de30c96c3f7cb40877","unresolved":false,"context_lines":[{"line_number":49,"context_line":"PRIORITY_VERY_HIGH \u003d 300"},{"line_number":50,"context_line":"PRIORITY_CT_STATE \u003d 65534"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"ARP_OP_TYPE_REQUEST \u003d arp.ARP_REQUEST"},{"line_number":53,"context_line":"ARP_OP_TYPE_REPLY \u003d arp.ARP_REPLY"},{"line_number":54,"context_line":"UDP_PROTOCOL_NUMBER \u003d const.PROTO_NUM_UDP"},{"line_number":55,"context_line":"DHCP_CLIENT_PORT \u003d 68"},{"line_number":56,"context_line":"DHCP_SERVER_PORT \u003d 67"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_adcd2a5f","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":41},"in_reply_to":"3a71b18c_305978ff","updated":"2016-12-02 11:47:08.000000000","message":"ok, I\u0027ll modify this patch after this one:\nhttps://review.openstack.org/#/c/405969/","commit_id":"4055ed023463d916ab5edc520dae26d75e3687e4"}],"dragonflow/controller/dhcp_app.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"81cd54375744541998ee81406ec87fff84bc50d0","unresolved":false,"context_lines":[{"line_number":210,"context_line":"                                  proto\u003dpkt_ipv4.proto))"},{"line_number":211,"context_line":"        dhcp_ack_pkt.add_protocol(udp.udp(src_port\u003dconst.DHCP_SERVER_PORT,"},{"line_number":212,"context_line":"                                          dst_port\u003dconst.DHCP_CLIENT_PORT))"},{"line_number":213,"context_line":"        dhcp_ack_pkt.add_protocol(dhcp.dhcp(op\u003dDHCP_ACK,"},{"line_number":214,"context_line":"                                            chaddr\u003dpkt_ethernet.src,"},{"line_number":215,"context_line":"                                            siaddr\u003ddhcp_server_address,"},{"line_number":216,"context_line":"                                            boot_file\u003ddhcp_packet.boot_file,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_d061ab3a","line":213,"range":{"start_line":213,"start_character":47,"end_line":213,"end_character":55},"updated":"2016-12-06 07:04:24.000000000","message":"As discussed in another patch, this should be dhcp.DHCP_BOOT_REPLY","commit_id":"6a15b3cc6fc5ec748ed5944f72fc304e0c1e5787"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"d799d6db02e50e3689485bb7a79e0574fbc5f79a","unresolved":false,"context_lines":[{"line_number":210,"context_line":"                                  proto\u003dpkt_ipv4.proto))"},{"line_number":211,"context_line":"        dhcp_ack_pkt.add_protocol(udp.udp(src_port\u003dconst.DHCP_SERVER_PORT,"},{"line_number":212,"context_line":"                                          dst_port\u003dconst.DHCP_CLIENT_PORT))"},{"line_number":213,"context_line":"        dhcp_ack_pkt.add_protocol(dhcp.dhcp(op\u003dDHCP_ACK,"},{"line_number":214,"context_line":"                                            chaddr\u003dpkt_ethernet.src,"},{"line_number":215,"context_line":"                                            siaddr\u003ddhcp_server_address,"},{"line_number":216,"context_line":"                                            boot_file\u003ddhcp_packet.boot_file,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_8bef08e8","line":213,"range":{"start_line":213,"start_character":47,"end_line":213,"end_character":55},"in_reply_to":"3a71b18c_d061ab3a","updated":"2016-12-06 07:16:14.000000000","message":"Done","commit_id":"6a15b3cc6fc5ec748ed5944f72fc304e0c1e5787"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"81cd54375744541998ee81406ec87fff84bc50d0","unresolved":false,"context_lines":[{"line_number":265,"context_line":"                                   proto\u003dpkt_ipv4.proto))"},{"line_number":266,"context_line":"        dhcp_offer_pkt.add_protocol(udp.udp(src_port\u003dconst.DHCP_SERVER_PORT,"},{"line_number":267,"context_line":"                                            dst_port\u003dconst.DHCP_CLIENT_PORT))"},{"line_number":268,"context_line":"        dhcp_offer_pkt.add_protocol(dhcp.dhcp(op\u003dDHCP_OFFER,"},{"line_number":269,"context_line":"                                              chaddr\u003dpkt_ethernet.src,"},{"line_number":270,"context_line":"                                              siaddr\u003dstr(dhcp_server_address),"},{"line_number":271,"context_line":"                                              boot_file\u003ddhcp_packet.boot_file,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_50567b5c","line":268,"range":{"start_line":268,"start_character":49,"end_line":268,"end_character":59},"updated":"2016-12-06 07:04:24.000000000","message":"ditto","commit_id":"6a15b3cc6fc5ec748ed5944f72fc304e0c1e5787"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"d799d6db02e50e3689485bb7a79e0574fbc5f79a","unresolved":false,"context_lines":[{"line_number":265,"context_line":"                                   proto\u003dpkt_ipv4.proto))"},{"line_number":266,"context_line":"        dhcp_offer_pkt.add_protocol(udp.udp(src_port\u003dconst.DHCP_SERVER_PORT,"},{"line_number":267,"context_line":"                                            dst_port\u003dconst.DHCP_CLIENT_PORT))"},{"line_number":268,"context_line":"        dhcp_offer_pkt.add_protocol(dhcp.dhcp(op\u003dDHCP_OFFER,"},{"line_number":269,"context_line":"                                              chaddr\u003dpkt_ethernet.src,"},{"line_number":270,"context_line":"                                              siaddr\u003dstr(dhcp_server_address),"},{"line_number":271,"context_line":"                                              boot_file\u003ddhcp_packet.boot_file,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_abecc4f3","line":268,"range":{"start_line":268,"start_character":49,"end_line":268,"end_character":59},"in_reply_to":"3a71b18c_50567b5c","updated":"2016-12-06 07:16:14.000000000","message":"Done","commit_id":"6a15b3cc6fc5ec748ed5944f72fc304e0c1e5787"}],"dragonflow/tests/fullstack/test_db_consistent.py":[{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"f0689cca29d72d031ffd5a394c5346b36972fae1","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def _check_lswitch_dhcp_rule(self, flows, dhcp_ip):"},{"line_number":38,"context_line":"        for flow in flows:"},{"line_number":39,"context_line":"            goto_dhcp \u003d \u0027goto_table:\u0027 + str(const.DHCP_TABLE)"},{"line_number":40,"context_line":"            if (flow[\u0027table\u0027] \u003d\u003d str(const.SERVICES_CLASSIFICATION_TABLE)"},{"line_number":41,"context_line":"                and flow[\u0027actions\u0027] \u003d\u003d goto_dhcp):"},{"line_number":42,"context_line":"                dhcp_ports \u003d \u0027,tp_src\u003d\u0027 + str(const.DHCP_CLIENT_PORT) +\\"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_2c7c4bb4","line":39,"range":{"start_line":39,"start_character":12,"end_line":39,"end_character":61},"updated":"2016-12-06 08:37:34.000000000","message":"It may be not as important here (in the tests), but I think it will be better to define it outside the loop","commit_id":"7a2273921c05f5a673cc48168d4f4c43cca9c5bf"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"76267da9bccf050b27fcbd2d61f5bf49f92c7e36","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def _check_lswitch_dhcp_rule(self, flows, dhcp_ip):"},{"line_number":38,"context_line":"        for flow in flows:"},{"line_number":39,"context_line":"            goto_dhcp \u003d \u0027goto_table:\u0027 + str(const.DHCP_TABLE)"},{"line_number":40,"context_line":"            if (flow[\u0027table\u0027] \u003d\u003d str(const.SERVICES_CLASSIFICATION_TABLE)"},{"line_number":41,"context_line":"                and flow[\u0027actions\u0027] \u003d\u003d goto_dhcp):"},{"line_number":42,"context_line":"                dhcp_ports \u003d \u0027,tp_src\u003d\u0027 + str(const.DHCP_CLIENT_PORT) +\\"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_cf2909e8","line":39,"range":{"start_line":39,"start_character":12,"end_line":39,"end_character":61},"in_reply_to":"3a71b18c_2c7c4bb4","updated":"2016-12-06 08:49:13.000000000","message":"Done","commit_id":"7a2273921c05f5a673cc48168d4f4c43cca9c5bf"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"f0689cca29d72d031ffd5a394c5346b36972fae1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            goto_dhcp \u003d \u0027goto_table:\u0027 + str(const.DHCP_TABLE)"},{"line_number":40,"context_line":"            if (flow[\u0027table\u0027] \u003d\u003d str(const.SERVICES_CLASSIFICATION_TABLE)"},{"line_number":41,"context_line":"                and flow[\u0027actions\u0027] \u003d\u003d goto_dhcp):"},{"line_number":42,"context_line":"                dhcp_ports \u003d \u0027,tp_src\u003d\u0027 + str(const.DHCP_CLIENT_PORT) +\\"},{"line_number":43,"context_line":"                             \u0027,tp_dst\u003d\u0027 + str(const.DHCP_SERVER_PORT)"},{"line_number":44,"context_line":"                if (\u0027nw_dst\u003d\u0027 + dhcp_ip + dhcp_ports in flow[\u0027match\u0027]):"},{"line_number":45,"context_line":"                    return True"},{"line_number":46,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_8c439f6b","line":43,"range":{"start_line":42,"start_character":15,"end_line":43,"end_character":69},"updated":"2016-12-06 08:37:34.000000000","message":"ditto","commit_id":"7a2273921c05f5a673cc48168d4f4c43cca9c5bf"}],"dragonflow/tests/fullstack/test_dhcp_flows.py":[{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"f0689cca29d72d031ffd5a394c5346b36972fae1","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def check_dhcp_rule(self, flows, dhcp_srv):"},{"line_number":28,"context_line":"        for flow in flows:"},{"line_number":29,"context_line":"            goto_dhcp \u003d \u0027goto_table:\u0027 + str(constants.DHCP_TABLE)"},{"line_number":30,"context_line":"            if (flow[\u0027table\u0027] \u003d\u003d str(constants.SERVICES_CLASSIFICATION_TABLE)"},{"line_number":31,"context_line":"                and flow[\u0027actions\u0027] \u003d\u003d goto_dhcp):"},{"line_number":32,"context_line":"                dhcp_ports \u003d \u0027,tp_src\u003d\u0027 + str(constants.DHCP_CLIENT_PORT) +\\"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_ef94058c","line":29,"range":{"start_line":29,"start_character":11,"end_line":29,"end_character":65},"updated":"2016-12-06 08:37:34.000000000","message":"ditto","commit_id":"7a2273921c05f5a673cc48168d4f4c43cca9c5bf"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"76267da9bccf050b27fcbd2d61f5bf49f92c7e36","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def check_dhcp_rule(self, flows, dhcp_srv):"},{"line_number":28,"context_line":"        for flow in flows:"},{"line_number":29,"context_line":"            goto_dhcp \u003d \u0027goto_table:\u0027 + str(constants.DHCP_TABLE)"},{"line_number":30,"context_line":"            if (flow[\u0027table\u0027] \u003d\u003d str(constants.SERVICES_CLASSIFICATION_TABLE)"},{"line_number":31,"context_line":"                and flow[\u0027actions\u0027] \u003d\u003d goto_dhcp):"},{"line_number":32,"context_line":"                dhcp_ports \u003d \u0027,tp_src\u003d\u0027 + str(constants.DHCP_CLIENT_PORT) +\\"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_8f82b1c6","line":29,"range":{"start_line":29,"start_character":11,"end_line":29,"end_character":65},"in_reply_to":"3a71b18c_ef94058c","updated":"2016-12-06 08:49:13.000000000","message":"Done","commit_id":"7a2273921c05f5a673cc48168d4f4c43cca9c5bf"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"f0689cca29d72d031ffd5a394c5346b36972fae1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"            goto_dhcp \u003d \u0027goto_table:\u0027 + str(constants.DHCP_TABLE)"},{"line_number":30,"context_line":"            if (flow[\u0027table\u0027] \u003d\u003d str(constants.SERVICES_CLASSIFICATION_TABLE)"},{"line_number":31,"context_line":"                and flow[\u0027actions\u0027] \u003d\u003d goto_dhcp):"},{"line_number":32,"context_line":"                dhcp_ports \u003d \u0027,tp_src\u003d\u0027 + str(constants.DHCP_CLIENT_PORT) +\\"},{"line_number":33,"context_line":"                             \u0027,tp_dst\u003d\u0027 + str(constants.DHCP_SERVER_PORT)"},{"line_number":34,"context_line":"                if (\u0027nw_dst\u003d\u0027 + dhcp_srv + dhcp_ports in flow[\u0027match\u0027]):"},{"line_number":35,"context_line":"                    return True"},{"line_number":36,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_2f8b5d69","line":33,"range":{"start_line":32,"start_character":16,"end_line":33,"end_character":73},"updated":"2016-12-06 08:37:34.000000000","message":"ditto","commit_id":"7a2273921c05f5a673cc48168d4f4c43cca9c5bf"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"f0689cca29d72d031ffd5a394c5346b36972fae1","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        ovs \u003d utils.OvsFlowsParser()"},{"line_number":52,"context_line":"        flows \u003d ovs.dump(self.integration_bridge)"},{"line_number":53,"context_line":"        for flow in flows:"},{"line_number":54,"context_line":"            goto_dhcp \u003d \u0027goto_table:\u0027 + str(constants.DHCP_TABLE)"},{"line_number":55,"context_line":"            if (flow[\u0027table\u0027] \u003d\u003d str(constants.SERVICES_CLASSIFICATION_TABLE)"},{"line_number":56,"context_line":"                and flow[\u0027actions\u0027] \u003d\u003d goto_dhcp):"},{"line_number":57,"context_line":"                dhcp_ports \u003d \u0027,tp_src\u003d\u0027 + str(constants.DHCP_CLIENT_PORT) + \\"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_ec0a5325","line":54,"range":{"start_line":54,"start_character":12,"end_line":54,"end_character":65},"updated":"2016-12-06 08:37:34.000000000","message":"ditto","commit_id":"7a2273921c05f5a673cc48168d4f4c43cca9c5bf"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"f0689cca29d72d031ffd5a394c5346b36972fae1","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            goto_dhcp \u003d \u0027goto_table:\u0027 + str(constants.DHCP_TABLE)"},{"line_number":55,"context_line":"            if (flow[\u0027table\u0027] \u003d\u003d str(constants.SERVICES_CLASSIFICATION_TABLE)"},{"line_number":56,"context_line":"                and flow[\u0027actions\u0027] \u003d\u003d goto_dhcp):"},{"line_number":57,"context_line":"                dhcp_ports \u003d \u0027,tp_src\u003d\u0027 + str(constants.DHCP_CLIENT_PORT) + \\"},{"line_number":58,"context_line":"                             \u0027,tp_dst\u003d\u0027 + str(constants.DHCP_SERVER_PORT)"},{"line_number":59,"context_line":"                if (\u0027udp,dl_dst\u003d\u0027 + constants.BROADCAST_MAC + dhcp_ports"},{"line_number":60,"context_line":"                    in flow[\u0027match\u0027]):"},{"line_number":61,"context_line":"                    found_dhcp_cast_flow \u003d True"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_0f1dc165","line":58,"range":{"start_line":57,"start_character":16,"end_line":58,"end_character":73},"updated":"2016-12-06 08:37:34.000000000","message":"ditto","commit_id":"7a2273921c05f5a673cc48168d4f4c43cca9c5bf"}]}
