From: Ivan Malov Date: Mon, 2 Nov 2020 11:43:16 +0000 (+0300) Subject: app/testpmd: support shared flow action attribute transfer X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=f1a6a986c1b6065d098e79b1a26b3e867dc418f7;p=dpdk.git app/testpmd: support shared flow action attribute transfer This attribute helps PMDs to tell actions supposed to work on the so-called hardware e-switch level from regular ones. Signed-off-by: Ivan Malov Acked-by: Ori Kam --- diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index c68d22fdaa..fe18cca275 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -114,6 +114,7 @@ enum index { SHARED_ACTION_CREATE_ID, SHARED_ACTION_INGRESS, SHARED_ACTION_EGRESS, + SHARED_ACTION_TRANSFER, SHARED_ACTION_SPEC, /* Shared action destroy arguments */ @@ -782,6 +783,7 @@ static const enum index next_sa_create_attr[] = { SHARED_ACTION_CREATE_ID, SHARED_ACTION_INGRESS, SHARED_ACTION_EGRESS, + SHARED_ACTION_TRANSFER, SHARED_ACTION_SPEC, ZERO, }; @@ -4286,6 +4288,12 @@ static const struct token token_list[] = { .next = NEXT(next_sa_create_attr), .call = parse_sa, }, + [SHARED_ACTION_TRANSFER] = { + .name = "transfer", + .help = "affect rule to transfer", + .next = NEXT(next_sa_create_attr), + .call = parse_sa, + }, [SHARED_ACTION_SPEC] = { .name = "action", .help = "specify action to share", @@ -4521,6 +4529,9 @@ parse_sa(struct context *ctx, const struct token *token, case SHARED_ACTION_INGRESS: out->args.vc.attr.ingress = 1; return len; + case SHARED_ACTION_TRANSFER: + out->args.vc.attr.transfer = 1; + return len; default: return -1; } @@ -7273,6 +7284,7 @@ cmd_flow_parsed(const struct buffer *in) &((const struct rte_flow_shared_action_conf) { .ingress = in->args.vc.attr.ingress, .egress = in->args.vc.attr.egress, + .transfer = in->args.vc.attr.transfer, }), in->args.vc.actions); break; diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index 289df193b5..ebf7e68f86 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -4318,7 +4318,7 @@ Creating shared actions shared action ID. It is bound to ``rte_flow_shared_action_create()``:: flow shared_action {port_id} create [action_id {shared_action_id}] - [ingress] [egress] action {action} / end + [ingress] [egress] [transfer] action {action} / end If successful, it will show::