dvr: Avoid installing non-dvr openflow rule on startup
The tunneling bridge uses different openflow rules depending if the
agent is running in DVR mode or not. With DVR enabled initial rule was
installed that caused traffic coming from the integration bridge to be
flooded to all tunnels. After a few miliseconds this flow was replaced
by a DVR specific flow, correctly dropping the traffic. This small time
window caused a network loop on the compute node with restarted agent.
This patch skips installing the non-dvr specific flow in case OVS agent
is working in DVR mode. Hence the traffic is never flooded to the
tunnels.
Reviewed: https:/ /review. opendev. org/c/openstack /neutron/ +/890413 /opendev. org/openstack/ neutron/ commit/ 7692e3ae6c3e73d 58dcca54ef199dc eb1250daf7
Committed: https:/
Submitter: "Zuul (22348)"
Branch: stable/yoga
commit 7692e3ae6c3e73d 58dcca54ef199dc eb1250daf7
Author: Jakub Libosvar <email address hidden>
Date: Wed Jul 26 18:28:29 2023 +0000
dvr: Avoid installing non-dvr openflow rule on startup
The tunneling bridge uses different openflow rules depending if the
agent is running in DVR mode or not. With DVR enabled initial rule was
installed that caused traffic coming from the integration bridge to be
flooded to all tunnels. After a few miliseconds this flow was replaced
by a DVR specific flow, correctly dropping the traffic. This small time
window caused a network loop on the compute node with restarted agent.
This patch skips installing the non-dvr specific flow in case OVS agent
is working in DVR mode. Hence the traffic is never flooded to the
tunnels.
Closes-bug: #2028795
Conflicts:
neutron/ plugins/ ml2/drivers/ openvswitch/ agent/ovs_ dvr_neutron_ agent.py
Signed-off-by: Jakub Libosvar <email address hidden> e28ec1500f1a4aa 607fe73f337 48a97f781aa16bf 4a643a53d2)
Change-Id: I3ce026054286c8
(cherry picked from commit ba6f7bf83e6f170