forked from ovn-org/ovn
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
In order to avoid ovn-controller reinstalling all logical flows that refer a port_group when some ports are added/removed from the port group we now change the way ovn-northd populates the Southbound DB Port_Group table. Instead of copying NB.Port_Group.name to SB.Port_Group.name we now create one SB.Port_Group record for every datapath that has ports referenced by the NB.Port_Group.ports field. In order to maintain the SB.Port_Group.name uniqueness constraint, ovn-northd populates the field with the value: <SB.Logical_Datapath.tunnel_key>_<NB.Port_Group.name>. In specific scenarios we see significant improvements in time to install/remove all logical flows to/from OVS. One such scenario, in the BZ referenced below has: $ ovn-nbctl acl-list pg from-lport 1001 (inport == @pg && ip) drop to-lport 1001 (outport == @pg && ip) drop Then, incrementally, creates new logical ports on different logical switches, binds them to OVS interfaces and adds them to the port_group. Measuring the total time to perform the above steps 500 times (for 500 new ports attached to 100 switches, 5 per switch) on a test setup we observe an improvement of 50% in time it takes to install all openflow rules when port_groups are split in the SB database. Suggested-by: Numan Siddique <[email protected]> Reported-by: Venkata Anil <[email protected]> Reported-at: https://bugzilla.redhat.com/1818128 Signed-off-by: Dumitru Ceara <[email protected]> Acked-by: Numan Siddique <[email protected]> Signed-off-by: Mark Michelson <[email protected]>
- Loading branch information
Showing
10 changed files
with
198 additions
and
46 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
Oops, something went wrong.