Don't delete flows on ports which were on dead vlan during plug
Ocata codebase of the neutron agent deletes_flows when a port has been tagged and already had a tag. Later versions implement uninstall_flows to selectively delete specific flows, but such patches are big and buggy (have several follow up patches). This prevents that the patch handling 1767422 will get the DSCP flows deleted when port is tagged. Which is detected by functional testing. I have manually tested that setting a port admin_state_up False, and then True, will correctly move the port into dead vlan, and then back to non dead vlan, and properly remove the in_port=x,DROP openflow rule regardless of this change. Related: rhbz#1575706 Related-Bug: 1767422 Change-Id: Ib7915ae7bb7f471ff70ce25ce3beb16189ad5394
This commit is contained in:
parent
70fad48add
commit
e082336968
|
@ -828,7 +828,8 @@ class OVSNeutronAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin,
|
|||
self.int_br.set_db_attribute(
|
||||
"Port", port.port_name, "other_config", other_config)
|
||||
# Uninitialized port has tag set to []
|
||||
if cur_info['tag']:
|
||||
if (cur_info['tag'] and
|
||||
cur_info['tag'] != constants.DEAD_VLAN_TAG):
|
||||
self.int_br.delete_flows(in_port=port.ofport)
|
||||
|
||||
def _bind_devices(self, need_binding_ports):
|
||||
|
|
Loading…
Reference in New Issue