)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"6c255e03da6c179b979d37840f2369542333695b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yang JianFeng \u003cyjf1970231893@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-05-09 07:13:42 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"DVR router support FLAT network"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently codes only support assocate tunnel network and vlan network"},{"line_number":10,"context_line":"to DVR router. This patch add codes that make the flat network assocate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ff570b3c_08d065f7","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":31},"updated":"2020-05-11 09:34:48.000000000","message":"What about the linux bridge driver and OVN? So maybe we should highlight that this is for OVS only.","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"}],"neutron/agent/linux/openvswitch_firewall/firewall.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2dc8a249fd6ad91a5a5184615162e842a36fb05c","unresolved":false,"context_lines":[{"line_number":775,"context_line":"                                     ofport, local_vlan, network_type):"},{"line_number":776,"context_line":"        # If the port segment_id is not None/0, the"},{"line_number":777,"context_line":"        # port\u0027s network type must be VLAN type."},{"line_number":778,"context_line":"        if segment_id:"},{"line_number":779,"context_line":"            self._add_flow("},{"line_number":780,"context_line":"                table\u003dovs_consts.TRANSIENT_TABLE,"},{"line_number":781,"context_line":"                priority\u003d90,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_0b4a1f26","line":778,"updated":"2020-05-11 08:25:45.000000000","message":"so if You now have network_type You can use it instead of segment_id here, IMO it will be more clear and additional comment above will not be necessary anymore","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"4ca5410a116906485866ccdac6debbe623f5e771","unresolved":false,"context_lines":[{"line_number":775,"context_line":"                                     ofport, local_vlan, network_type):"},{"line_number":776,"context_line":"        # If the port segment_id is not None/0, the"},{"line_number":777,"context_line":"        # port\u0027s network type must be VLAN type."},{"line_number":778,"context_line":"        if segment_id:"},{"line_number":779,"context_line":"            self._add_flow("},{"line_number":780,"context_line":"                table\u003dovs_consts.TRANSIENT_TABLE,"},{"line_number":781,"context_line":"                priority\u003d90,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_77ef3c87","line":778,"in_reply_to":"ff570b3c_0b4a1f26","updated":"2020-05-11 12:24:01.000000000","message":"Done","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"6c255e03da6c179b979d37840f2369542333695b","unresolved":false,"context_lines":[{"line_number":798,"context_line":"                table\u003dovs_consts.TRANSIENT_TABLE,"},{"line_number":799,"context_line":"                priority\u003d90,"},{"line_number":800,"context_line":"                dl_dst\u003dmac,"},{"line_number":801,"context_line":"                vlan_tci\u003d\u00270x0000/0x1fff\u0027,"},{"line_number":802,"context_line":"                actions\u003d\u0027set_field:{:d}-\u003ereg{:d},\u0027"},{"line_number":803,"context_line":"                        \u0027set_field:{:d}-\u003ereg{:d},\u0027"},{"line_number":804,"context_line":"                        \u0027resubmit(,{:d})\u0027.format("}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_6893e150","line":801,"range":{"start_line":801,"start_character":26,"end_line":801,"end_character":39},"updated":"2020-05-11 09:34:48.000000000","message":"This could be a new constant entry, and can be moved to neutron-lib someday.","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"4ca5410a116906485866ccdac6debbe623f5e771","unresolved":false,"context_lines":[{"line_number":798,"context_line":"                table\u003dovs_consts.TRANSIENT_TABLE,"},{"line_number":799,"context_line":"                priority\u003d90,"},{"line_number":800,"context_line":"                dl_dst\u003dmac,"},{"line_number":801,"context_line":"                vlan_tci\u003d\u00270x0000/0x1fff\u0027,"},{"line_number":802,"context_line":"                actions\u003d\u0027set_field:{:d}-\u003ereg{:d},\u0027"},{"line_number":803,"context_line":"                        \u0027set_field:{:d}-\u003ereg{:d},\u0027"},{"line_number":804,"context_line":"                        \u0027resubmit(,{:d})\u0027.format("}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_f7d98cf4","line":801,"range":{"start_line":801,"start_character":26,"end_line":801,"end_character":39},"in_reply_to":"ff570b3c_6893e150","updated":"2020-05-11 12:24:01.000000000","message":"Done","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2dc8a249fd6ad91a5a5184615162e842a36fb05c","unresolved":false,"context_lines":[{"line_number":801,"context_line":"                vlan_tci\u003d\u00270x0000/0x1fff\u0027,"},{"line_number":802,"context_line":"                actions\u003d\u0027set_field:{:d}-\u003ereg{:d},\u0027"},{"line_number":803,"context_line":"                        \u0027set_field:{:d}-\u003ereg{:d},\u0027"},{"line_number":804,"context_line":"                        \u0027resubmit(,{:d})\u0027.format("},{"line_number":805,"context_line":"                            ofport,"},{"line_number":806,"context_line":"                            ovsfw_consts.REG_PORT,"},{"line_number":807,"context_line":"                            # This always needs the local vlan."}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_cb0e67e4","line":804,"range":{"start_line":804,"start_character":24,"end_line":804,"end_character":40},"updated":"2020-05-11 08:25:45.000000000","message":"so the only difference is this lack of \"strip_vlan\" action in case of flat networks.\nMaybe You can make \"if\" block smaller. E.g. something like:\n\n    actions\u003d(\u0027set_field:{d}-\u003ereq{:d},\u0027\n             \u0027set_field:{:d}-\u003ereg{:d},).format(\n                 ofport, ovsfw_consts.REG_PORT,\n                 local_vlan, ovsfw_consts.REG_NET)\n    if network_type \u003d\u003d lib_const.TYPE_VLAN:\n        actions +\u003d \u0027strip_vlan,\u0027\n    actions +\u003d \u0027resubmit(,{:d}),\u0027.format(\n        ovs_consts.BASE_INGRESS_TABLE)","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"4ca5410a116906485866ccdac6debbe623f5e771","unresolved":false,"context_lines":[{"line_number":801,"context_line":"                vlan_tci\u003d\u00270x0000/0x1fff\u0027,"},{"line_number":802,"context_line":"                actions\u003d\u0027set_field:{:d}-\u003ereg{:d},\u0027"},{"line_number":803,"context_line":"                        \u0027set_field:{:d}-\u003ereg{:d},\u0027"},{"line_number":804,"context_line":"                        \u0027resubmit(,{:d})\u0027.format("},{"line_number":805,"context_line":"                            ofport,"},{"line_number":806,"context_line":"                            ovsfw_consts.REG_PORT,"},{"line_number":807,"context_line":"                            # This always needs the local vlan."}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_d7d608c4","line":804,"range":{"start_line":804,"start_character":24,"end_line":804,"end_character":40},"in_reply_to":"ff570b3c_cb0e67e4","updated":"2020-05-11 12:24:01.000000000","message":"Done","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"6c255e03da6c179b979d37840f2369542333695b","unresolved":false,"context_lines":[{"line_number":820,"context_line":"            self._strict_delete_flow(priority\u003d90,"},{"line_number":821,"context_line":"                                     table\u003dovs_consts.TRANSIENT_TABLE,"},{"line_number":822,"context_line":"                                     dl_dst\u003dmac,"},{"line_number":823,"context_line":"                                     vlan_tci\u003d\u00270x0000/0x1fff\u0027)"},{"line_number":824,"context_line":""},{"line_number":825,"context_line":"    def initialize_port_flows(self, port):"},{"line_number":826,"context_line":"        \"\"\"Set base flows for port"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_a89df95a","line":823,"range":{"start_line":823,"start_character":47,"end_line":823,"end_character":60},"updated":"2020-05-11 09:34:48.000000000","message":"ditto","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"4ca5410a116906485866ccdac6debbe623f5e771","unresolved":false,"context_lines":[{"line_number":820,"context_line":"            self._strict_delete_flow(priority\u003d90,"},{"line_number":821,"context_line":"                                     table\u003dovs_consts.TRANSIENT_TABLE,"},{"line_number":822,"context_line":"                                     dl_dst\u003dmac,"},{"line_number":823,"context_line":"                                     vlan_tci\u003d\u00270x0000/0x1fff\u0027)"},{"line_number":824,"context_line":""},{"line_number":825,"context_line":"    def initialize_port_flows(self, port):"},{"line_number":826,"context_line":"        \"\"\"Set base flows for port"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_37e4a4ac","line":823,"range":{"start_line":823,"start_character":47,"end_line":823,"end_character":60},"in_reply_to":"ff570b3c_a89df95a","updated":"2020-05-11 12:24:01.000000000","message":"Done","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"61870c89d5e7600cbb6deeb2bd8e70b17a721f5f","unresolved":false,"context_lines":[{"line_number":790,"context_line":"                dl_vlan\u003d\u00270x%x\u0027 % segment_id,"},{"line_number":791,"context_line":"                actions\u003dactions)"},{"line_number":792,"context_line":"        elif network_type \u003d\u003d lib_const.TYPE_FLAT:"},{"line_number":793,"context_line":"            # If the port belong to flat network, we need macth vlan_tci and"},{"line_number":794,"context_line":"            # needn\u0027t pop vlan"},{"line_number":795,"context_line":"            actions +\u003d \u0027resubmit(,{:d})\u0027.format("},{"line_number":796,"context_line":"                    ovs_consts.BASE_INGRESS_TABLE)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff570b3c_c07ad223","line":793,"range":{"start_line":793,"start_character":58,"end_line":793,"end_character":63},"updated":"2020-06-08 06:49:36.000000000","message":"typo: match","commit_id":"f69d43205ff68dfae585e4f735475c109b988f4c"}],"neutron/plugins/ml2/drivers/openvswitch/agent/common/constants.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2dc8a249fd6ad91a5a5184615162e842a36fb05c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"LOCAL_SWITCHING \u003d 0"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"# The pyhsical network types of support DVR router"},{"line_number":45,"context_line":"DVR_PHYSICAL_NETWORK_YTPES \u003d [p_const.TYPE_VLAN, p_const.TYPE_FLAT]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Various tables for DVR use of integration bridge flows"},{"line_number":48,"context_line":"DVR_TO_SRC_MAC \u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_0bf85fc2","line":45,"range":{"start_line":45,"start_character":21,"end_line":45,"end_character":26},"updated":"2020-05-11 08:25:45.000000000","message":"s/TYPES","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"4ca5410a116906485866ccdac6debbe623f5e771","unresolved":false,"context_lines":[{"line_number":42,"context_line":"LOCAL_SWITCHING \u003d 0"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"# The pyhsical network types of support DVR router"},{"line_number":45,"context_line":"DVR_PHYSICAL_NETWORK_YTPES \u003d [p_const.TYPE_VLAN, p_const.TYPE_FLAT]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Various tables for DVR use of integration bridge flows"},{"line_number":48,"context_line":"DVR_TO_SRC_MAC \u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_7761fc39","line":45,"range":{"start_line":45,"start_character":21,"end_line":45,"end_character":26},"in_reply_to":"ff570b3c_0bf85fc2","updated":"2020-05-11 12:24:01.000000000","message":"Done","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"6c255e03da6c179b979d37840f2369542333695b","unresolved":false,"context_lines":[{"line_number":133,"context_line":"# Various tables for DVR use of physical bridge flows"},{"line_number":134,"context_line":"DVR_PROCESS_PHYSICAL \u003d 1"},{"line_number":135,"context_line":"LOCAL_VLAN_TRANSLATION \u003d 2"},{"line_number":136,"context_line":"DVR_NOT_LEARN_PROVIDER \u003d 3"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"PHY_BR_ALL_TABLES \u003d ("},{"line_number":139,"context_line":"    LOCAL_SWITCHING,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_ee909951","line":136,"range":{"start_line":136,"start_character":14,"end_line":136,"end_character":22},"updated":"2020-05-11 09:34:48.000000000","message":"Why not PHYSICAL?","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"4ca5410a116906485866ccdac6debbe623f5e771","unresolved":false,"context_lines":[{"line_number":133,"context_line":"# Various tables for DVR use of physical bridge flows"},{"line_number":134,"context_line":"DVR_PROCESS_PHYSICAL \u003d 1"},{"line_number":135,"context_line":"LOCAL_VLAN_TRANSLATION \u003d 2"},{"line_number":136,"context_line":"DVR_NOT_LEARN_PROVIDER \u003d 3"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"PHY_BR_ALL_TABLES \u003d ("},{"line_number":139,"context_line":"    LOCAL_SWITCHING,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_d751e864","line":136,"range":{"start_line":136,"start_character":14,"end_line":136,"end_character":22},"in_reply_to":"ff570b3c_ee909951","updated":"2020-05-11 12:24:01.000000000","message":"Thinks, this is my little mistake.","commit_id":"ab8004a8cb41e0a3e828d234b0659f5ba8a0831a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"45a52eadb4b2552af2bcd67b2884538a99470098","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# Special vlan_id value in ovs_vlan_allocations table indicating flat network"},{"line_number":20,"context_line":"FLAT_VLAN_ID \u003d -1"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"FLAT_VLAN_TCI \u003d \u00270x0000/0x1fff\u0027"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_94fdbc70","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":12},"updated":"2020-06-08 11:58:05.000000000","message":"This is not used anymore.","commit_id":"58c21b6be2a65c18460a9fe9df7cf91744f1d5f1"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"2e0fc25d167660ca8be920b51de2ce1272e12ff7","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# Special vlan_id value in ovs_vlan_allocations table indicating flat network"},{"line_number":20,"context_line":"FLAT_VLAN_ID \u003d -1"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"FLAT_VLAN_TCI \u003d \u00270x0000/0x1fff\u0027"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_cf0f9d2d","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":12},"in_reply_to":"ff570b3c_94fdbc70","updated":"2020-06-08 12:18:48.000000000","message":"Done","commit_id":"58c21b6be2a65c18460a9fe9df7cf91744f1d5f1"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_dvr_neutron_agent.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"45a52eadb4b2552af2bcd67b2884538a99470098","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def _add_dvr_mac_for_phys_br(self, physical_network, mac):"},{"line_number":276,"context_line":"        self.int_br.add_dvr_mac_physical(mac\u003dmac,"},{"line_number":277,"context_line":"                                     port\u003dself.int_ofports[physical_network])"},{"line_number":278,"context_line":"        phys_br \u003d self.phys_brs[physical_network]"},{"line_number":279,"context_line":"        phys_br.add_dvr_mac_physical(mac\u003dmac,"},{"line_number":280,"context_line":"                                 port\u003dself.phys_ofports[physical_network])"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_7472a8af","line":277,"updated":"2020-06-08 11:58:05.000000000","message":"nit: indentation","commit_id":"58c21b6be2a65c18460a9fe9df7cf91744f1d5f1"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"2e0fc25d167660ca8be920b51de2ce1272e12ff7","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def _add_dvr_mac_for_phys_br(self, physical_network, mac):"},{"line_number":276,"context_line":"        self.int_br.add_dvr_mac_physical(mac\u003dmac,"},{"line_number":277,"context_line":"                                     port\u003dself.int_ofports[physical_network])"},{"line_number":278,"context_line":"        phys_br \u003d self.phys_brs[physical_network]"},{"line_number":279,"context_line":"        phys_br.add_dvr_mac_physical(mac\u003dmac,"},{"line_number":280,"context_line":"                                 port\u003dself.phys_ofports[physical_network])"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_0f1a356e","line":277,"in_reply_to":"ff570b3c_7472a8af","updated":"2020-06-08 12:18:48.000000000","message":"Done","commit_id":"58c21b6be2a65c18460a9fe9df7cf91744f1d5f1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"45a52eadb4b2552af2bcd67b2884538a99470098","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                                     port\u003dself.int_ofports[physical_network])"},{"line_number":278,"context_line":"        phys_br \u003d self.phys_brs[physical_network]"},{"line_number":279,"context_line":"        phys_br.add_dvr_mac_physical(mac\u003dmac,"},{"line_number":280,"context_line":"                                 port\u003dself.phys_ofports[physical_network])"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    def _add_arp_dvr_mac_for_phys_br(self, physical_network, mac):"},{"line_number":283,"context_line":"        self.int_br.add_dvr_gateway_mac_arp_vlan("}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_d46614ef","line":280,"range":{"start_line":280,"start_character":33,"end_line":280,"end_character":34},"updated":"2020-06-08 11:58:05.000000000","message":"nit: indentation","commit_id":"58c21b6be2a65c18460a9fe9df7cf91744f1d5f1"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"2e0fc25d167660ca8be920b51de2ce1272e12ff7","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                                     port\u003dself.int_ofports[physical_network])"},{"line_number":278,"context_line":"        phys_br \u003d self.phys_brs[physical_network]"},{"line_number":279,"context_line":"        phys_br.add_dvr_mac_physical(mac\u003dmac,"},{"line_number":280,"context_line":"                                 port\u003dself.phys_ofports[physical_network])"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    def _add_arp_dvr_mac_for_phys_br(self, physical_network, mac):"},{"line_number":283,"context_line":"        self.int_br.add_dvr_gateway_mac_arp_vlan("}],"source_content_type":"text/x-python","patch_set":12,"id":"ff570b3c_ef16e149","line":280,"range":{"start_line":280,"start_character":33,"end_line":280,"end_character":34},"in_reply_to":"ff570b3c_d46614ef","updated":"2020-06-08 12:18:48.000000000","message":"Done","commit_id":"58c21b6be2a65c18460a9fe9df7cf91744f1d5f1"}],"releasenotes/notes/dvr-support-flat-network-for-ovs-fdf8c3eb461426ec.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7fd2033dd76d2533922a6ce59e609f56350550d8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Add codes which make DVR router support FLAT network for openvswitch"},{"line_number":5,"context_line":"    agent. This fixes the ICMP reply DUP bug which result of FLAT network"},{"line_number":6,"context_line":"    associate to distributed router. For more information, see bug"},{"line_number":7,"context_line":"    `1876092 \u003chttps://bugs.launchpad.net/neutron/+bug/1876092\u003e`_."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"ff570b3c_aea248fa","line":7,"updated":"2020-06-05 09:41:29.000000000","message":"I\u0027m not native english speaker but I would write it a bit differently. What about something like:\n\n    features:\n      - |\n        ``DVR`` routers now supports ``flat`` networks.\n\n    fixes:\n      - |\n        Fixed bug `1876092 \u003chttps://bugs.launchpad.net/neutron/+bug/1876092\u003e`_ which caused DUP ICMP replies on the ``flat`` networks used with ``DVR`` routers\n\nor something similar?","commit_id":"02b6d651f0b320eb9df1b52195c34bba9871bb01"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"f7043465da9dd6f77d39b7228a6b975c309f8ff0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Add codes which make DVR router support FLAT network for openvswitch"},{"line_number":5,"context_line":"    agent. This fixes the ICMP reply DUP bug which result of FLAT network"},{"line_number":6,"context_line":"    associate to distributed router. For more information, see bug"},{"line_number":7,"context_line":"    `1876092 \u003chttps://bugs.launchpad.net/neutron/+bug/1876092\u003e`_."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"ff570b3c_c959768e","line":7,"in_reply_to":"ff570b3c_aea248fa","updated":"2020-06-05 11:05:13.000000000","message":"Think you very much for your suggestion.","commit_id":"02b6d651f0b320eb9df1b52195c34bba9871bb01"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"61870c89d5e7600cbb6deeb2bd8e70b17a721f5f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    ``DVR`` routers now supports ``flat`` networks."},{"line_number":5,"context_line":"fixes:"},{"line_number":6,"context_line":"  - |"},{"line_number":7,"context_line":"    Fixed bug `1876092 \u003chttps://bugs.launchpad.net/neutron/+bug/1876092\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"ff570b3c_20baaebf","line":4,"range":{"start_line":4,"start_character":24,"end_line":4,"end_character":32},"updated":"2020-06-08 06:49:36.000000000","message":"support","commit_id":"f69d43205ff68dfae585e4f735475c109b988f4c"}]}
