Hey! I tested this patch and it works fine. Thanks for working on it Lorenzo!
Tested-By: Maciej Jozefczyk <[email protected]> On Wed, Apr 22, 2020 at 10:36 PM Lorenzo Bianconi < [email protected]> wrote: > ovn currently identifies qos meters according to the rate and burst values > configured. Doing so 2 meters on the same hv assigned to 2 different > logical > switch ports and configured with the same values for rate and burst will be > mapped to the same ovs kernel mater and will share the bandwidth. > Fix this behavior making qos meter name unique > > Signed-off-by: Lorenzo Bianconi <[email protected]> > --- > controller/ofctrl.c | 2 +- > lib/actions.c | 11 ++++++----- > 2 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/controller/ofctrl.c b/controller/ofctrl.c > index 36e39ba06..485a857d1 100644 > --- a/controller/ofctrl.c > +++ b/controller/ofctrl.c > @@ -970,7 +970,7 @@ add_meter_string(struct ovn_extend_table_info > *m_desired, > enum ofputil_protocol usable_protocols; > char *meter_string = xasprintf("meter=%"PRIu32",%s", > m_desired->table_id, > - &m_desired->name[9]); > + &m_desired->name[52]); > char *error = parse_ofp_meter_mod_str(&mm, meter_string, OFPMC13_ADD, > &usable_protocols); > if (!error) { > diff --git a/lib/actions.c b/lib/actions.c > index deca18842..20a7a5caf 100644 > --- a/lib/actions.c > +++ b/lib/actions.c > @@ -2851,12 +2851,13 @@ encode_SET_METER(const struct ovnact_set_meter *cl, > * describes the meter itself. */ > char *name; > if (cl->burst) { > - name = xasprintf("__string: kbps burst stats bands=type=drop " > - "rate=%"PRId64" burst_size=%"PRId64"", cl->rate, > - cl->burst); > + name = xasprintf("__string: uuid "UUID_FMT" kbps burst stats " > + "bands=type=drop rate=%"PRId64" > burst_size=%"PRId64, > + UUID_ARGS(&ep->lflow_uuid), cl->rate, cl->burst); > } else { > - name = xasprintf("__string: kbps stats bands=type=drop " > - "rate=%"PRId64"", cl->rate); > + name = xasprintf("__string: uuid "UUID_FMT" kbps stats " > + "bands=type=drop rate=%"PRId64, > + UUID_ARGS(&ep->lflow_uuid), cl->rate); > } > > table_id = ovn_extend_table_assign_id(ep->meter_table, name, > -- > 2.25.3 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > -- Best regards, Maciej Józefczyk _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
