-
Notifications
You must be signed in to change notification settings - Fork 236
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
controller: FDB entries for localnet should not overwrite entries for…
… vifs When localnet_learn_fdb is set, some localnet entries were overwriting entries from vifs; as a result, packets were not delivered to vifs anymore. This could have happened in the following config: - Two hv (hv1 and hv2) - vif1, vif2 and ln on ls - vif1 on hv1 and vif2 on hv2 When vif1 (mac1) sends a packets to vif2 (mac2) through localnet - mac1 is recorded in FDB when packet enters ls in hv1 (w/ in_port = vif1) - mac1 is recorded in FDB when packet enters ls in hv2 (w/ in_port = ln) - ... Next time a packet is received by ln on hv1 w/ dst=mac1, the packet was dropped. Flows have been added to prevent localnet entry to overwrite vif entry: Lookup_fdb(port, mac) will succeed if - port and mac are correct - mac is correct and port is localnet In addition, to handle potential race condition (packet received by hv1, mac1-vif1 written in fdb but flows not yet created in hv2 when packet is received in hv2), slow path (pinctrl) also prevents localnet port to overwite vif port entry. The extra flows (one per vif) are added whether or not localnet_learn_fdb is enabled. They are only used if localnet_learn_fdb is enabled. A future patch will prevent creating unncessary flows if localnet_learn_fdb is not enabled. Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2242830 Signed-off-by: Xavier Simonart <xsimonar@redhat.com> Reviewed-by: Ales Musil <amusil@redhat.com> Signed-off-by: Dumitru Ceara <dceara@redhat.com>
- Loading branch information
1 parent
5ef2a08
commit 2acf91e
Showing
13 changed files
with
440 additions
and
27 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
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
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
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
Oops, something went wrong.