)]}'
{"neutron/agent/linux/openvswitch_firewall/firewall.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"b81e41fe03a2e78e7c8c1f53048d03e4c48a1af4","unresolved":false,"context_lines":[{"line_number":393,"context_line":"            if pm \u003d\u003d \u0027+\u0027:"},{"line_number":394,"context_line":"                val |\u003d bit"},{"line_number":395,"context_line":"            ct_state \u003d ct_state[nextpos:]"},{"line_number":396,"context_line":"            if ct_state \u003d\u003d \u0027+-\u0027:"},{"line_number":397,"context_line":"                break"},{"line_number":398,"context_line":"        return (val, mask)"},{"line_number":399,"context_line":"     "},{"line_number":400,"context_line":"    def _add_flow(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_8c7f2a14","line":397,"range":{"start_line":396,"start_character":0,"end_line":397,"end_character":21},"updated":"2017-04-27 06:06:41.000000000","message":"We can include this in the while loop condition on L387:\n\n SENTINEL \u003d \u0027+-\u0027\n while ct_state !\u003d SENTINEL:","commit_id":"0447f41a08acadf32bea282f54adce76345b30e0"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"83b9b8998b43794cd3863e0798510c42ff491bd7","unresolved":false,"context_lines":[{"line_number":393,"context_line":"            if pm \u003d\u003d \u0027+\u0027:"},{"line_number":394,"context_line":"                val |\u003d bit"},{"line_number":395,"context_line":"            ct_state \u003d ct_state[nextpos:]"},{"line_number":396,"context_line":"            if ct_state \u003d\u003d \u0027+-\u0027:"},{"line_number":397,"context_line":"                break"},{"line_number":398,"context_line":"        return (val, mask)"},{"line_number":399,"context_line":"     "},{"line_number":400,"context_line":"    def _add_flow(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_ca2e6f42","line":397,"range":{"start_line":396,"start_character":0,"end_line":397,"end_character":21},"in_reply_to":"5ff73747_8c7f2a14","updated":"2017-05-31 02:31:54.000000000","message":"Done","commit_id":"0447f41a08acadf32bea282f54adce76345b30e0"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"46532f655941121dad6d197db0c18614517a0aa2","unresolved":false,"context_lines":[{"line_number":404,"context_line":"        if isinstance(ct_state, str):"},{"line_number":405,"context_line":"            kwargs[\u0027ct_state\u0027] \u003d self._numeric_ct_state(ct_state)"},{"line_number":406,"context_line":"        create_reg_numbers(kwargs)"},{"line_number":407,"context_line":"        if False: # self._deferred: # XXX XXX"},{"line_number":408,"context_line":"            self.int_br.install_instructions(actions, table_id, **kwargs)"},{"line_number":409,"context_line":"        else:"},{"line_number":410,"context_line":"            self.int_br.br.install_instructions(actions, table_id, **kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_b18bf6bd","line":407,"updated":"2017-05-02 04:29:03.000000000","message":"This should make use of bundled OF messages.","commit_id":"0447f41a08acadf32bea282f54adce76345b30e0"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"46532f655941121dad6d197db0c18614517a0aa2","unresolved":false,"context_lines":[{"line_number":411,"context_line":""},{"line_number":412,"context_line":"    def _delete_flows(self, **kwargs):"},{"line_number":413,"context_line":"        create_reg_numbers(kwargs)"},{"line_number":414,"context_line":"        if self._deferred:"},{"line_number":415,"context_line":"            self.int_br.delete_flows(**kwargs)"},{"line_number":416,"context_line":"        else:"},{"line_number":417,"context_line":"            self.int_br.br.delete_flows(**kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_719a0e14","line":414,"updated":"2017-05-02 04:29:03.000000000","message":"This _deferred handling block should be same as the above block in _add_flow, or out of order del-flows bites us.","commit_id":"0447f41a08acadf32bea282f54adce76345b30e0"}],"neutron/agent/linux/openvswitch_firewall/rules.py":[{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"46532f655941121dad6d197db0c18614517a0aa2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    ovsfw_consts.OF_STATE_NEW_NOT_ESTABLISHED]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"FLOW_FIELD_FOR_IPVER_AND_DIRECTION \u003d {"},{"line_number":33,"context_line":"    (n_consts.IP_VERSION_4, firewall.EGRESS_DIRECTION): \u0027nw_dst\u0027,"},{"line_number":34,"context_line":"    (n_consts.IP_VERSION_6, firewall.EGRESS_DIRECTION): \u0027ipv6_dst\u0027,"},{"line_number":35,"context_line":"    (n_consts.IP_VERSION_4, firewall.INGRESS_DIRECTION): \u0027nw_src\u0027,"},{"line_number":36,"context_line":"    (n_consts.IP_VERSION_6, firewall.INGRESS_DIRECTION): \u0027ipv6_src\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_11dd0adf","side":"PARENT","line":33,"range":{"start_line":33,"start_character":57,"end_line":33,"end_character":63},"updated":"2017-05-02 04:29:03.000000000","message":"This must be ipv4_dst","commit_id":"05df58e20ee370bd7a8691f894742a31ce82478b"}]}
