forked from EdgeCloudX/ovn
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Clear port binding flows when datapath CT zone changes.
In commit f9cab11, a LOG_TO_PHY flow was changed so that it was no longer associated with a particular port binding. The logic there was that the particular flow contains data pertaining to the port binding's peer's datapath, so it didn't make sense to associate the flow with the port binding. This change was necessary in order for flows to be recalculated properly if the requested SNAT CT zone on a gateway router was changed. Since the datapath was changed but no port bindings were changed, that particular flow needed to be cleared so it could be recalculated with the new CT zones put in place. Unfortunately, that change broke some other behavior. Specifically, if a router was changed from a distributed router to a gateway router, then its port bindings and its port bindings' peers would be updated so that they were no longer type "patch" but instead type "l3gateway". They would attempt to remove all associated physical flows and then install the newly relevant ones. Since the LOG_TO_PHY flow was no longer associated with a port binding, that flow would remain. The result was that traffic could be sent to the gateway router on chassis where the gateway router was not pinned. This commit seeks to fix both behaviors. Now if CT zones are changed on a particular datapath, then all port bindings on that datapath, as well as all of those port bindings' peers will have their physical flows removed. When physical flows are recomputed, all of the appropriate flows will be added. Fixes: f9cab11("Allow explicit setting of the SNAT zone on a gateway router.") Signed-off-by: Mark Michelson <[email protected]> Signed-off-by: Numan Siddique <[email protected]>
- Loading branch information
1 parent
880dca9
commit 53f60c7
Showing
3 changed files
with
80 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters