[...]
> > +        struct ovn_lflow *lflow_ref = NULL;
> > +        uint32_t hash = ovn_logical_flow_hash(
> > +                ovn_stage_get_table(S_SWITCH_IN_STATEFUL),
> > +                ovn_stage_get_pipeline_name(S_SWITCH_IN_STATEFUL), 
> > priority,
> > +                ds_cstr(match), ds_cstr(action));
> > +
> >          for (size_t j = 0; j < lb->n_nb_ls; j++) {
> >              struct ovn_datapath *od = lb->nb_ls[j];
> >  
> >              if (reject) {
> >                  meter = copp_meter_get(COPP_REJECT, od->nbs->copp,
> >                                         meter_groups);
> > +            } else if (ovn_dp_group_add_with_reference(lflow_ref, od, 
> > hash)) {
> > +                continue;
> >              }
> 
> Should this be another if statement instead of else if?
> 
> if (reject) {
>     meter = copp_meter_get(COPP_REJECT, od->nbs->copp,
>                            meter_groups);
> }
> 
> if (ovn_dp_group_add_with_reference(lflow_ref, od, hash)) {
>     continue;

we need else if here since the merter pointer introduces a dp dependency

Regards,
Lorenzo

> }
> 
> 
> > -            ovn_lflow_add_with_hint__(lflows, od, S_SWITCH_IN_STATEFUL,
> > -                                      priority, ds_cstr(match),
> > -                                      ds_cstr(action), NULL, meter,
> > -                                      &lb->nlb->header_);
> > +            lflow_ref = ovn_lflow_add_at_with_hash(lflows, od,
> > +                    S_SWITCH_IN_STATEFUL, priority,
> > +                    ds_cstr(match), ds_cstr(action),
> > +                    NULL, meter, &lb->nlb->header_,
> > +                    OVS_SOURCE_LOCATOR, hash);
> >          }
> >      }
> >  }
> > 
> 
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to