)]}'
{"neutron/plugins/ml2/drivers/linuxbridge/agent/arp_protect.py":[{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"69416eed99b3273306ca408544d34dcfd1550a72","unresolved":false,"context_lines":[{"line_number":138,"context_line":"# DVR stuff"},{"line_number":139,"context_line":"# This is temporary and inefficient."},{"line_number":140,"context_line":"# It is expected to use ebtables-manager. It will be rewritten after"},{"line_number":141,"context_line":"# ebtables-manager revive."},{"line_number":142,"context_line":"def rule_exists(cmd, current_rules):"},{"line_number":143,"context_line":"    for line in current_rules:"},{"line_number":144,"context_line":"        if all(s in line for s in cmd):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_a206111e","line":141,"updated":"2015-12-11 08:32:17.000000000","message":"makes sense! And I would ask to place the whole commands not in the arp_spoofing file then, but in a separate dvr file or so.","commit_id":"aad340aa4644fdf14d30294a1418d2f016443ec0"}],"neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py":[{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"69416eed99b3273306ca408544d34dcfd1550a72","unresolved":false,"context_lines":[{"line_number":985,"context_line":"                                                          segmentation_id)"},{"line_number":986,"context_line":"        else:"},{"line_number":987,"context_line":"            return"},{"line_number":988,"context_line":"        if self.dvr_host_mac is None:"},{"line_number":989,"context_line":"            details \u003d self.dvr_plugin_rpc.get_dvr_mac_address_by_host("},{"line_number":990,"context_line":"                        self.context, cfg.CONF.host)"},{"line_number":991,"context_line":"            self.dvr_host_mac \u003d details[\u0027mac_address\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_42ae4d99","line":988,"updated":"2015-12-11 08:32:17.000000000","message":"why not making this if a separate function? Either ensure_dvr_host_mac() and call it here, or name it initialize_dvr() and call it after line 888?","commit_id":"aad340aa4644fdf14d30294a1418d2f016443ec0"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"69416eed99b3273306ca408544d34dcfd1550a72","unresolved":false,"context_lines":[{"line_number":991,"context_line":"            self.dvr_host_mac \u003d details[\u0027mac_address\u0027]"},{"line_number":992,"context_line":"        ip_address \u003d device_details[\u0027fixed_ips\u0027][0][\u0027ip_address\u0027]"},{"line_number":993,"context_line":"        mac_address \u003d device_details[\u0027mac_address\u0027]"},{"line_number":994,"context_line":"        LOG.info(\"##### set_ebtalbes_for_dvr %s %s %s %s\","},{"line_number":995,"context_line":"                 ip_address, mac_address, interface, self.dvr_host_mac)"},{"line_number":996,"context_line":""},{"line_number":997,"context_line":"        arp_protect.install_ebtables_for_dvr(ip_address, mac_address,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_628fc923","line":994,"updated":"2015-12-11 08:32:17.000000000","message":"make this a debug log. Don\u0027t use the ##### at the beginning. I mean it\u0027s fine as long this is just a poc, but you should remove it when the patchset leaves the poc status.","commit_id":"aad340aa4644fdf14d30294a1418d2f016443ec0"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"69416eed99b3273306ca408544d34dcfd1550a72","unresolved":false,"context_lines":[{"line_number":1079,"context_line":"            arp_protect.delete_arp_spoofing_protection(devices)"},{"line_number":1080,"context_line":"        # TODO(lb-dvr): it is necessary to handle deleted devices during the"},{"line_number":1081,"context_line":"        # agent down."},{"line_number":1082,"context_line":"        for device in devices:"},{"line_number":1083,"context_line":"            if device in self.ebtables_devices:"},{"line_number":1084,"context_line":"                ip_address, mac_address, interface \u003d ("},{"line_number":1085,"context_line":"                    self.ebtables_devices[device])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_c2ed5db8","line":1082,"updated":"2015-12-11 08:32:17.000000000","message":"can\u0027t we reuse the loop in line 1602?","commit_id":"aad340aa4644fdf14d30294a1418d2f016443ec0"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"69416eed99b3273306ca408544d34dcfd1550a72","unresolved":false,"context_lines":[{"line_number":1080,"context_line":"        # TODO(lb-dvr): it is necessary to handle deleted devices during the"},{"line_number":1081,"context_line":"        # agent down."},{"line_number":1082,"context_line":"        for device in devices:"},{"line_number":1083,"context_line":"            if device in self.ebtables_devices:"},{"line_number":1084,"context_line":"                ip_address, mac_address, interface \u003d ("},{"line_number":1085,"context_line":"                    self.ebtables_devices[device])"},{"line_number":1086,"context_line":"                arp_protect.delete_ebtables_for_dvr(ip_address, mac_address,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_42708ddc","line":1083,"updated":"2015-12-11 08:32:17.000000000","message":"what about having a method unset_ebtables_for_dvr (along set_ebtables_for_dvr) and place this logic there?","commit_id":"aad340aa4644fdf14d30294a1418d2f016443ec0"}]}
