Hi Bernard,
> -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Bernard Iremonger > Sent: Tuesday, December 10, 2019 2:57 PM > To: dev@dpdk.org; beilei.x...@intel.com; qi.z.zh...@intel.com; > declan.dohe...@intel.com > Cc: stephen1.by...@intel.com; konstantin.anan...@intel.com; > bernard.iremon...@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.iremon...@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