Sorry, Acutally, I summited a new change for [0], and the patchwork address is [1]
[0] [ovs-dev,OVN,v2] ovn-nbctl.c: Add an optional way to delete router policy by uuid [1] http://patchwork.ozlabs.org/project/openvswitch/patch/[email protected]/ Regards, Yun -------------- [email protected] >Hi Numan, >I have add a new test, and summit v3, please help to review it. > >Thanks, >Yun > >-------------- >[email protected] >>On Thu, Mar 19, 2020 at 11:23 AM Tao YunXiang >><[email protected]> wrote: >>> >>> We can delete qos by specify ls and more parameters. >>> If CMS want to delete it exactly, it must specify detailed "match" field. >>> It's not an easy way, also maybe deleted by mistake. >>> This change adds a way to specify ls and uuid, which is optional. >>> You can still use the previous method to delete. >>> >>> usage: >>> ovn-nbctl qos-del ls0 [UUID0] >>> >>> Author: Tao YunXiang <[email protected]> >>> Co-authored-by: Liu Chang <[email protected]> >>> Co-authored-by: Rong Yin <[email protected]> >>> Signed-off-by: Tao YunXiang <[email protected]> >>> Signed-off-by: Liu Chang <[email protected]> >>> Signed-off-by: Rong Yin <[email protected]> >> >>Can you please add a few tests in the tests/ovn-nbctl.at which would help >>in regressions ? >> >>Thanks >>Numan >> >>> >>> --- >>> v4: Add a way to delete QoS by its name or uuid >>> v3: ovn-nbctl.c: Add a way to delete QoS by its name or uuid >>> >>> --- >>> utilities/ovn-nbctl.c | 39 ++++++++++++++++++++++++++++----------- >>> 1 file changed, 28 insertions(+), 11 deletions(-) >>> >>> diff --git a/utilities/ovn-nbctl.c b/utilities/ovn-nbctl.c >>> index e80058e61..5b2fa6084 100644 >>> --- a/utilities/ovn-nbctl.c >>> +++ b/utilities/ovn-nbctl.c >>> @@ -604,7 +604,7 @@ ACL commands:\n\ >>> QoS commands:\n\ >>> qos-add SWITCH DIRECTION PRIORITY MATCH [rate=RATE [burst=BURST]] >>>[dscp=DSCP]\n\ >>> add an QoS rule to SWITCH\n\ >>> - qos-del SWITCH [DIRECTION [PRIORITY MATCH]]\n\ >>> + qos-del SWITCH [{DIRECTION | UUID} [PRIORITY MATCH]]\n\ >>> remove QoS rules from SWITCH\n\ >>> qos-list SWITCH print QoS rules for SWITCH\n\ >>> \n\ >>> @@ -2521,22 +2521,39 @@ nbctl_qos_del(struct ctl_context *ctx) >>> } >>> >>> const char *direction; >>> - error = parse_direction(ctx->argv[2], &direction); >>> - if (error) { >>> - ctx->error = error; >>> - return; >>> + const struct uuid *qos_rule_uuid = NULL; >>> + struct uuid uuid_from_cmd; >>> + if (uuid_from_string(&uuid_from_cmd, ctx->argv[2])) { >>> + qos_rule_uuid = &uuid_from_cmd; >>> + } else { >>> + error = parse_direction(ctx->argv[2], &direction); >>> + if (error) { >>> + ctx->error = error; >>> + return; >>> + } >>> } >>> >>> - /* If priority and match are not specified, delete all qos_rules with >>> the >>> - * specified direction. */ >>> + /* If uuid was specified, delete qos_rule with the >>> + * specified uuid. */ >>> if (ctx->argc == 3) { >>> struct nbrec_qos **new_qos_rules >>> = xmalloc(sizeof *new_qos_rules * ls->n_qos_rules); >>> >>> int n_qos_rules = 0; >>> - for (size_t i = 0; i < ls->n_qos_rules; i++) { >>> - if (strcmp(direction, ls->qos_rules[i]->direction)) { >>> - new_qos_rules[n_qos_rules++] = ls->qos_rules[i]; >>> + if (qos_rule_uuid) { >>> + for (size_t i = 0; i < ls->n_qos_rules; i++) { >>> + if (!uuid_equals(qos_rule_uuid, >>> + &(ls->qos_rules[i]->header_.uuid))) { >>> + new_qos_rules[n_qos_rules++] = ls->qos_rules[i]; >>> + } >>> + } >>> + /* If priority and match are not specified, delete all qos_rules >>> + * with the specified direction. */ >>> + } else { >>> + for (size_t i = 0; i < ls->n_qos_rules; i++) { >>> + if (strcmp(direction, ls->qos_rules[i]->direction)) { >>> + new_qos_rules[n_qos_rules++] = ls->qos_rules[i]; >>> + } >>> } >>> } >>> >>> @@ -6030,7 +6047,7 @@ static const struct ctl_command_syntax >>> nbctl_commands[] = { >>> { "qos-add", 5, 7, >>> "SWITCH DIRECTION PRIORITY MATCH [rate=RATE [burst=BURST]] >>>[dscp=DSCP]", >>> NULL, nbctl_qos_add, NULL, "--may-exist", RW }, >>> - { "qos-del", 1, 4, "SWITCH [DIRECTION [PRIORITY MATCH]]", NULL, >>> + { "qos-del", 1, 4, "SWITCH [{DIRECTION | UUID} [PRIORITY MATCH]]", >>> NULL, >>> nbctl_qos_del, NULL, "", RW }, >>> { "qos-list", 1, 1, "SWITCH", NULL, nbctl_qos_list, NULL, "", RO }, >>> >>> -- >>> 2.17.1 >>> >>> >>> >>> _______________________________________________ >>> dev mailing list >>> [email protected] >>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev >>> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
