On Fri, Oct 30, 2020 at 3:13 AM Dumitru Ceara <dce...@redhat.com> wrote:
>
> On 10/27/20 6:19 PM, num...@ovn.org wrote:
> > From: Numan Siddique <num...@ovn.org>
> >
> > Signed-off-by: Numan Siddique <num...@ovn.org>
> > ---
> >  utilities/ovn-sbctl.c | 55 +++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 55 insertions(+)
> >
> > diff --git a/utilities/ovn-sbctl.c b/utilities/ovn-sbctl.c
> > index 00c112c7e5..5b593b38cb 100644
> > --- a/utilities/ovn-sbctl.c
> > +++ b/utilities/ovn-sbctl.c
> > @@ -542,6 +542,11 @@ pre_get_info(struct ctl_context *ctx)
> >      ovsdb_idl_add_column(ctx->idl, &sbrec_mac_binding_col_logical_port);
> >      ovsdb_idl_add_column(ctx->idl, &sbrec_mac_binding_col_ip);
> >      ovsdb_idl_add_column(ctx->idl, &sbrec_mac_binding_col_mac);
> > +
> > +    ovsdb_idl_add_column(ctx->idl, &sbrec_load_balancer_col_datapaths);
> > +    ovsdb_idl_add_column(ctx->idl, &sbrec_load_balancer_col_vips);
> > +    ovsdb_idl_add_column(ctx->idl, &sbrec_load_balancer_col_name);
> > +    ovsdb_idl_add_column(ctx->idl, &sbrec_load_balancer_col_protocol);
> >  }
> >
> >  static struct cmd_show_table cmd_show_tables[] = {
> > @@ -1009,6 +1014,55 @@ cmd_lflow_list_chassis(struct ctl_context *ctx, 
> > struct vconn *vconn,
> >      }
> >  }
> >
> > +static void
> > +cmd_lflow_list_load_balancers(struct ctl_context *ctx, struct vconn *vconn,
> > +                              const struct sbrec_datapath_binding 
> > *datapath,
> > +                              bool stats, bool print_uuid)
> > +{
> > +    const struct sbrec_load_balancer *lb;
> > +    const struct sbrec_load_balancer *lb_prev = NULL;
> > +    SBREC_LOAD_BALANCER_FOR_EACH (lb, ctx->idl) {
> > +        bool dp_found = false;
> > +        if (datapath) {
> > +            for (size_t i = 0; i < lb->n_datapaths; i++) {
> > +                if (datapath == lb->datapaths[i]) {
> > +                    dp_found = true;
> > +                    break;
> > +                }
> > +            }
> > +            if (datapath && !dp_found) {
>
> 'datapath' is always 'true' here.
>
Ack.

> Nit: we could avoid 'dp_found' by checking 'i == lb->n_datapaths'.

Please see below

>
> > +                continue;
> > +            }
> > +        }
> > +
> > +        if (!lb_prev) {
> > +            printf("\nLoad Balancers:\n");
> > +        }
> > +
> > +        printf("  ");
> > +        print_uuid_part(&lb->header_.uuid, print_uuid);
> > +        printf("name=\"%s\", protocol=\"%s\", ", lb->name, lb->protocol);
> > +        if (!dp_found) {
> > +            for (size_t i = 0; i < lb->n_datapaths; i++) {
> > +                print_vflow_datapath_name(lb->datapaths[i], true);
> > +            }
> > +        }
>
> Here we print the SB LB record information.  If the LB refers multiple
> datapaths we should not filter them out regardless of the 'datapath' argument
> value.
>

I think it's better to filter out since we want to show flows related
to the specified datapath.

Thanks
Numan

> Thanks,
> Dumitru
>
> > +
> > +        printf("\n  vips:\n");
> > +        struct smap_node *node;
> > +        SMAP_FOR_EACH (node, &lb->vips) {
> > +            printf("    %s = %s\n", node->key, node->value);
> > +        }
> > +        printf("\n");
> > +
> > +        if (vconn) {
> > +            sbctl_dump_openflow(vconn, &lb->header_.uuid, stats);
> > +        }
> > +
> > +        lb_prev = lb;
> > +    }
> > +}
> > +
> >  static void
> >  cmd_lflow_list(struct ctl_context *ctx)
> >  {
> > @@ -1118,6 +1172,7 @@ cmd_lflow_list(struct ctl_context *ctx)
> >          cmd_lflow_list_mac_bindings(ctx, vconn, datapath, stats, 
> > print_uuid);
> >          cmd_lflow_list_mc_groups(ctx, vconn, datapath, stats, print_uuid);
> >          cmd_lflow_list_chassis(ctx, vconn, stats, print_uuid);
> > +        cmd_lflow_list_load_balancers(ctx, vconn, datapath, stats, 
> > print_uuid);
> >      }
> >
> >      vconn_close(vconn);
> >
>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to