Message ID | 1575982632-23059-2-git-send-email-bernard.iremonger@intel.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Ferruh Yigit |
Headers | show |
Series | net/i40e: ESP support | expand |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
ci/iol-testing | success | Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
Hi Bernard, > -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Bernard Iremonger > Sent: Tuesday, December 10, 2019 2:57 PM > To: dev@dpdk.org; beilei.xing@intel.com; qi.z.zhang@intel.com; > declan.doherty@intel.com > Cc: stephen1.byrne@intel.com; konstantin.ananyev@intel.com; > bernard.iremonger@intel.com > Subject: [dpdk-dev] [PATCH 1/9] app/testpmd: parse flow command line for > ESP > > add ITEM_ESP > add ITEM_ESP_SPI > add debug to cmdline_flow.c > improve debug in config.c > > Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> > --- > app/test-pmd/cmdline_flow.c | 37 > ++++++++++++++++++++++++++++++++++--- > app/test-pmd/config.c | 2 +- > 2 files changed, 35 insertions(+), 4 deletions(-) > > diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c > index 99dade7..f1b0610 100644 > --- a/app/test-pmd/cmdline_flow.c > +++ b/app/test-pmd/cmdline_flow.c > @@ -213,6 +213,8 @@ enum index { > ITEM_TAG, > ITEM_TAG_DATA, > ITEM_TAG_INDEX, > + ITEM_ESP, > + ITEM_ESP_SPI, > > /* Validate/create actions. */ > ACTIONS, > @@ -746,6 +748,7 @@ static const enum index next_item[] = { > ITEM_PPPOE_PROTO_ID, > ITEM_HIGIG2, > ITEM_TAG, > + ITEM_ESP, > END_SET, > ZERO, > }; > @@ -1017,6 +1020,12 @@ static const enum index item_higig2[] = { > ZERO, > }; > > +static const enum index item_esp[] = { > + ITEM_ESP_SPI, > + ITEM_NEXT, > + ZERO, > +}; > + > static const enum index next_set_raw[] = { > SET_RAW_INDEX, > ITEM_ETH, > @@ -2593,6 +2602,20 @@ static const struct token token_list[] = { > NEXT_ENTRY(ITEM_PARAM_IS)), > .args = ARGS(ARGS_ENTRY(struct rte_flow_item_tag, > index)), > }, > + [ITEM_ESP] = { > + .name = "esp", > + .help = "match ESP header", > + .priv = PRIV_ITEM(ESP, sizeof(struct rte_flow_item_esp)), > + .next = NEXT(item_esp), > + .call = parse_vc, > + }, > + [ITEM_ESP_SPI] = { > + .name = "spi", > + .help = "security policy index", > + .next = NEXT(item_esp, NEXT_ENTRY(UNSIGNED), > item_param), > + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_esp, > + hdr.spi)), > + }, > /* Validate/create actions. */ > [ACTIONS] = { > .name = "actions", > @@ -6052,6 +6075,9 @@ cmd_flow_tok(cmdline_parse_token_hdr_t **hdr, > static void > cmd_flow_parsed(const struct buffer *in) > { > + printf("Flow command line parsed successfully for > command=%d.\n", > + in->command); > + Why did you add the printf? Debug? > switch (in->command) { > case VALIDATE: > port_flow_validate(in->port, &in->args.vc.attr, > @@ -6230,14 +6256,15 @@ flow_item_default_mask(const struct > rte_flow_item *item) > case RTE_FLOW_ITEM_TYPE_GTP: > mask = &rte_flow_item_gtp_mask; > break; > - case RTE_FLOW_ITEM_TYPE_ESP: > - mask = &rte_flow_item_esp_mask; > - break; > case RTE_FLOW_ITEM_TYPE_GTP_PSC: > mask = &rte_flow_item_gtp_psc_mask; > break; > case RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID: > mask = &rte_flow_item_pppoe_proto_id_mask; > + break; > + case RTE_FLOW_ITEM_TYPE_ESP: > + mask = &rte_flow_item_esp_mask; > + break; > default: > break; > } > @@ -6327,6 +6354,10 @@ cmd_set_raw_parsed(const struct buffer *in) > case RTE_FLOW_ITEM_TYPE_GENEVE: > size = sizeof(struct rte_flow_item_geneve); > break; > + case RTE_FLOW_ITEM_TYPE_ESP: > + size = sizeof(struct rte_flow_item_esp); > + proto = 0x32; > + break; > default: > printf("Error - Not supported item\n"); > *total_size = 0; > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c > index d599682..2753ec5 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -1303,7 +1303,7 @@ port_flow_complain(struct rte_flow_error *error) > errstr = "unknown type"; > else > errstr = errstrlist[error->type]; > - printf("Caught error type %d (%s): %s%s: %s\n", > + printf("%s(): Caught PMD error type %d (%s): %s%s: %s\n", > __func__, I don't think this change is relevant for this commit. > error->type, errstr, > error->cause ? (snprintf(buf, sizeof(buf), "cause: %p, ", > error->cause), buf) : "", > -- > 2.7.4 Thanks, Ori
Hi Ori, <snip> > > Subject: [dpdk-dev] [PATCH 1/9] app/testpmd: parse flow command line > > for ESP > > > > add ITEM_ESP > > add ITEM_ESP_SPI > > add debug to cmdline_flow.c > > improve debug in config.c > > > > Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> > > --- > > app/test-pmd/cmdline_flow.c | 37 > > ++++++++++++++++++++++++++++++++++--- > > app/test-pmd/config.c | 2 +- > > 2 files changed, 35 insertions(+), 4 deletions(-) > > > > diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c > > index 99dade7..f1b0610 100644 > > --- a/app/test-pmd/cmdline_flow.c > > +++ b/app/test-pmd/cmdline_flow.c > > @@ -213,6 +213,8 @@ enum index { > > ITEM_TAG, > > ITEM_TAG_DATA, > > ITEM_TAG_INDEX, > > + ITEM_ESP, > > + ITEM_ESP_SPI, > > > > /* Validate/create actions. */ > > ACTIONS, > > @@ -746,6 +748,7 @@ static const enum index next_item[] = { > > ITEM_PPPOE_PROTO_ID, > > ITEM_HIGIG2, > > ITEM_TAG, > > + ITEM_ESP, > > END_SET, > > ZERO, > > }; > > @@ -1017,6 +1020,12 @@ static const enum index item_higig2[] = { > > ZERO, > > }; > > > > +static const enum index item_esp[] = { > > + ITEM_ESP_SPI, > > + ITEM_NEXT, > > + ZERO, > > +}; > > + > > static const enum index next_set_raw[] = { > > SET_RAW_INDEX, > > ITEM_ETH, > > @@ -2593,6 +2602,20 @@ static const struct token token_list[] = { > > NEXT_ENTRY(ITEM_PARAM_IS)), > > .args = ARGS(ARGS_ENTRY(struct rte_flow_item_tag, > index)), > > }, > > + [ITEM_ESP] = { > > + .name = "esp", > > + .help = "match ESP header", > > + .priv = PRIV_ITEM(ESP, sizeof(struct rte_flow_item_esp)), > > + .next = NEXT(item_esp), > > + .call = parse_vc, > > + }, > > + [ITEM_ESP_SPI] = { > > + .name = "spi", > > + .help = "security policy index", > > + .next = NEXT(item_esp, NEXT_ENTRY(UNSIGNED), > > item_param), > > + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_esp, > > + hdr.spi)), > > + }, > > /* Validate/create actions. */ > > [ACTIONS] = { > > .name = "actions", > > @@ -6052,6 +6075,9 @@ cmd_flow_tok(cmdline_parse_token_hdr_t > **hdr, > > static void cmd_flow_parsed(const struct buffer *in) { > > + printf("Flow command line parsed successfully for > > command=%d.\n", > > + in->command); > > + > > Why did you add the printf? Debug? > > > switch (in->command) { > > case VALIDATE: > > port_flow_validate(in->port, &in->args.vc.attr, @@ -6230,14 > > +6256,15 @@ flow_item_default_mask(const struct rte_flow_item *item) > > case RTE_FLOW_ITEM_TYPE_GTP: > > mask = &rte_flow_item_gtp_mask; > > break; > > - case RTE_FLOW_ITEM_TYPE_ESP: > > - mask = &rte_flow_item_esp_mask; > > - break; > > case RTE_FLOW_ITEM_TYPE_GTP_PSC: > > mask = &rte_flow_item_gtp_psc_mask; > > break; > > case RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID: > > mask = &rte_flow_item_pppoe_proto_id_mask; > > + break; > > + case RTE_FLOW_ITEM_TYPE_ESP: > > + mask = &rte_flow_item_esp_mask; > > + break; > > default: > > break; > > } > > @@ -6327,6 +6354,10 @@ cmd_set_raw_parsed(const struct buffer *in) > > case RTE_FLOW_ITEM_TYPE_GENEVE: > > size = sizeof(struct rte_flow_item_geneve); > > break; > > + case RTE_FLOW_ITEM_TYPE_ESP: > > + size = sizeof(struct rte_flow_item_esp); > > + proto = 0x32; > > + break; > > default: > > printf("Error - Not supported item\n"); > > *total_size = 0; > > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index > > d599682..2753ec5 100644 > > --- a/app/test-pmd/config.c > > +++ b/app/test-pmd/config.c > > @@ -1303,7 +1303,7 @@ port_flow_complain(struct rte_flow_error > *error) > > errstr = "unknown type"; > > else > > errstr = errstrlist[error->type]; > > - printf("Caught error type %d (%s): %s%s: %s\n", > > + printf("%s(): Caught PMD error type %d (%s): %s%s: %s\n", > > __func__, > > I don't think this change is relevant for this commit. This is useful information to have when testing/debugging. I will move it to a separate patch. > > > error->type, errstr, > > error->cause ? (snprintf(buf, sizeof(buf), "cause: %p, ", > > error->cause), buf) : "", > > -- > > 2.7.4 > > Thanks, > Ori Regards, Bernard.
diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 99dade7..f1b0610 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -213,6 +213,8 @@ enum index { ITEM_TAG, ITEM_TAG_DATA, ITEM_TAG_INDEX, + ITEM_ESP, + ITEM_ESP_SPI, /* Validate/create actions. */ ACTIONS, @@ -746,6 +748,7 @@ static const enum index next_item[] = { ITEM_PPPOE_PROTO_ID, ITEM_HIGIG2, ITEM_TAG, + ITEM_ESP, END_SET, ZERO, }; @@ -1017,6 +1020,12 @@ static const enum index item_higig2[] = { ZERO, }; +static const enum index item_esp[] = { + ITEM_ESP_SPI, + ITEM_NEXT, + ZERO, +}; + static const enum index next_set_raw[] = { SET_RAW_INDEX, ITEM_ETH, @@ -2593,6 +2602,20 @@ static const struct token token_list[] = { NEXT_ENTRY(ITEM_PARAM_IS)), .args = ARGS(ARGS_ENTRY(struct rte_flow_item_tag, index)), }, + [ITEM_ESP] = { + .name = "esp", + .help = "match ESP header", + .priv = PRIV_ITEM(ESP, sizeof(struct rte_flow_item_esp)), + .next = NEXT(item_esp), + .call = parse_vc, + }, + [ITEM_ESP_SPI] = { + .name = "spi", + .help = "security policy index", + .next = NEXT(item_esp, NEXT_ENTRY(UNSIGNED), item_param), + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_esp, + hdr.spi)), + }, /* Validate/create actions. */ [ACTIONS] = { .name = "actions", @@ -6052,6 +6075,9 @@ cmd_flow_tok(cmdline_parse_token_hdr_t **hdr, static void cmd_flow_parsed(const struct buffer *in) { + printf("Flow command line parsed successfully for command=%d.\n", + in->command); + switch (in->command) { case VALIDATE: port_flow_validate(in->port, &in->args.vc.attr, @@ -6230,14 +6256,15 @@ flow_item_default_mask(const struct rte_flow_item *item) case RTE_FLOW_ITEM_TYPE_GTP: mask = &rte_flow_item_gtp_mask; break; - case RTE_FLOW_ITEM_TYPE_ESP: - mask = &rte_flow_item_esp_mask; - break; case RTE_FLOW_ITEM_TYPE_GTP_PSC: mask = &rte_flow_item_gtp_psc_mask; break; case RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID: mask = &rte_flow_item_pppoe_proto_id_mask; + break; + case RTE_FLOW_ITEM_TYPE_ESP: + mask = &rte_flow_item_esp_mask; + break; default: break; } @@ -6327,6 +6354,10 @@ cmd_set_raw_parsed(const struct buffer *in) case RTE_FLOW_ITEM_TYPE_GENEVE: size = sizeof(struct rte_flow_item_geneve); break; + case RTE_FLOW_ITEM_TYPE_ESP: + size = sizeof(struct rte_flow_item_esp); + proto = 0x32; + break; default: printf("Error - Not supported item\n"); *total_size = 0; diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index d599682..2753ec5 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -1303,7 +1303,7 @@ port_flow_complain(struct rte_flow_error *error) errstr = "unknown type"; else errstr = errstrlist[error->type]; - printf("Caught error type %d (%s): %s%s: %s\n", + printf("%s(): Caught PMD error type %d (%s): %s%s: %s\n", __func__, error->type, errstr, error->cause ? (snprintf(buf, sizeof(buf), "cause: %p, ", error->cause), buf) : "",
add ITEM_ESP add ITEM_ESP_SPI add debug to cmdline_flow.c improve debug in config.c Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> --- app/test-pmd/cmdline_flow.c | 37 ++++++++++++++++++++++++++++++++++--- app/test-pmd/config.c | 2 +- 2 files changed, 35 insertions(+), 4 deletions(-)