[ovs-dev] [PATCH ovn 1/2] northd: Treat reachable and unreachable VIPs differently.

Numan Siddique numans at ovn.org
Tue Nov 9 16:27:44 UTC 2021


On Tue, Nov 9, 2021 at 7:42 AM Dumitru Ceara <dceara at redhat.com> wrote:
>
> On 11/8/21 6:10 PM, numans at ovn.org wrote:
> > From: Numan Siddique <numans at ovn.org>
> >
> > If a logical switch is used to join multiple gateway
> > routers and if each of these gateway routers are
> > configured with the same load balancer,  then after the
> > commit [1] it's results in a flow explosion in
> > the "ls_in_l2_lkup" stage of this logical switch.
> >
> > So, this patch reverts parts of the commit [1] related to
> > the load balancer VIPs.
> >
> > Eg. If a load balancer with vip - 5.0.0.48 is configured
> > on gateway routers g0, g1 and g2.  Then ovn-northd will add
> > the below logical flows
> >
> > table=22(ls_in_l2_lkup), priority=80,
> >   match=(flags[1] == 0 && arp.op == 1 && arp.tpa == 5.0.0.48),
> >   action=(outport = "join-to-g0-port"; output;)
> > table=22(ls_in_l2_lkup), priority=80,
> >   match=(flags[1] == 0 && arp.op == 1 && arp.tpa == 5.0.0.48),
> >   action=(outport = "join-to-g1-port"; output;)
> > table=22(ls_in_l2_lkup), priority=80,
> >   match=(flags[1] == 0 && arp.op == 1 && arp.tpa == 5.0.0.48),
> >   action=(outport = "join-to-g2-port"; output;)
> >
> > After this patch,  we will just have one lflow
> > table=22(ls_in_l2_lkup), priority=90,
> >   match=(flags[1] == 0 && arp.op == 1 && arp.tpa == 5.0.0.48),
> >   action=(outport = "_MC_flood"; output;)
> >
> > [1] - ccbbbd0584e5("ovn-northd: Treat reachable and unreachable addresses identically.")
> > Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2020710
> > Fixes: ccbbbd0584e5("ovn-northd: Treat reachable and unreachable addresses identically.")
> > Signed-off-by: Numan Siddique <numans at ovn.org>
> > ---
>
> Some test numbers with a topology simulating 120 ovn-k8s nodes (120
> gateway routers connected to a single join switch) with 10K load
> balancers applied to all gateway router:
>
> A. Before this patch:
> - northd loop processing time: 6854ms
> - SB DB size (on disk, after compaction): 520M
> - number of logical flows: 1245942
>
> B. With this patch:
> - northd loop processing time: 2638ms
> - SB DB size (on disk, after compaction): 94M
> - number of logical flows: 55942
>
> Looks good to me, thanks for the quick fix!
>
> Acked-by: Dumitru Ceara <dceara at redhat.com>

Thanks Dumitru for the reviews.  I applied both the patches to the
main branch and branch-21.09.

Numan

>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list