Ensure that stale flows are cleaned from phys_bridges
In case when neutron-ovs-agent will notice that any of physical
bridges was "re-created", we should also ensure that stale Open
Flow rules (with old cookie id) are cleaned.
This patch is doing exactly that.
Change-Id: I7c7c8a4c371d6f4afdaab51ed50950e2b20db30f
Related-Bug: #1864822
(cherry picked from commit 63c45b3766
)
This commit is contained in:
parent
207ac766f3
commit
ae4b3edce2
|
@ -2553,6 +2553,10 @@ class OVSNeutronAgent(l2population_rpc.L2populationRpcCallBackTunnelMixin,
|
|||
added_bridges = idl_monitor.bridges_added + self.added_bridges
|
||||
bridges_recreated = self._reconfigure_physical_bridges(
|
||||
added_bridges)
|
||||
if bridges_recreated:
|
||||
# In case when any bridge was "re-created", we need to ensure
|
||||
# that there is no any stale flows in bridges left
|
||||
need_clean_stale_flow = True
|
||||
sync |= bridges_recreated
|
||||
# Notify the plugin of tunnel IP
|
||||
if self.enable_tunneling and tunnel_sync:
|
||||
|
@ -2621,14 +2625,19 @@ class OVSNeutronAgent(l2population_rpc.L2populationRpcCallBackTunnelMixin,
|
|||
ovs_restarted or bridges_recreated)
|
||||
failed_devices = self.process_network_ports(
|
||||
port_info, provisioning_needed)
|
||||
if need_clean_stale_flow:
|
||||
self.cleanup_stale_flows()
|
||||
need_clean_stale_flow = False
|
||||
LOG.info("Agent rpc_loop - iteration:%(iter_num)d - "
|
||||
"ports processed. Elapsed:%(elapsed).3f",
|
||||
{'iter_num': self.iter_num,
|
||||
'elapsed': time.time() - start})
|
||||
|
||||
if need_clean_stale_flow:
|
||||
self.cleanup_stale_flows()
|
||||
need_clean_stale_flow = False
|
||||
LOG.info("Agent rpc_loop - iteration:%(iter_num)d - "
|
||||
"cleanup stale flows. Elapsed:%(elapsed).3f",
|
||||
{'iter_num': self.iter_num,
|
||||
'elapsed': time.time() - start})
|
||||
|
||||
ports = port_info['current']
|
||||
|
||||
if self.ancillary_brs:
|
||||
|
|
Loading…
Reference in New Issue