[ovs-git] [ovn-org/ovn] bff01d: Split SB Port_Group per datapath.
noreply at github.com
Tue Jun 30 12:06:48 UTC 2020
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2020-06-30 (Tue, 30 Jun 2020)
Split SB Port_Group per datapath.
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
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 <numans at ovn.org>
Reported-by: Venkata Anil <anilvenkata at redhat.com>
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Acked-by: Numan Siddique <numans at ovn.org>
Signed-off-by: Mark Michelson <mmichels at redhat.com>
More information about the git