Hi, Bernard, In the previous version, the command 'crc_strip' and 'keep_crc' used the same macro DEV_RX_OFFLOAD_KEEP_CRC. After Commit e5db17a1e54e, "port config all crc-strip on|off" is removed and the new command does not enable 'crc_strip'. So I wanted to change the name to 'keep_crc' to use DEV_RX_OFFLOAD_KEEP_CRC for 'crc_strip'.
However, since Ferruh said that the command 'crc_strip' is removed, I will rework the code totally. Thanks! -----Original Message----- From: Iremonger, Bernard Sent: Monday, October 14, 2019 7:42 PM To: Iremonger, Bernard <bernard.iremon...@intel.com>; Xu, Ting <ting...@intel.com>; dev@dpdk.org Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Wu, Jingjing <jingjing...@intel.com>; sta...@dpdk.org Subject: RE: [PATCH v1] app/testpmd: fix CRC strip config error Hi Ting, > -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Iremonger, > Bernard > Sent: Monday, October 14, 2019 12:26 PM > To: Xu, Ting <ting...@intel.com>; dev@dpdk.org > Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Wu, Jingjing > <jingjing...@intel.com>; sta...@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v1] app/testpmd: fix CRC strip config > error > > Hi Ting, > > > -----Original Message----- > > From: Xu, Ting > > Sent: Saturday, October 12, 2019 1:19 PM > > To: dev@dpdk.org > > Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Wu, Jingjing > > <jingjing...@intel.com>; Iremonger, Bernard > > <bernard.iremon...@intel.com>; sta...@dpdk.org > > Subject: [PATCH v1] app/testpmd: fix CRC strip config error > > > > This patch fixed the bug that an error appears when config > > rx_offload crc_strip using command "port config all crc-strip > > on|off". The reason is that this command was removed previously. > > However, the current command does not enable "crc_strip" option > > properly, so that testpmd returns error when config crc_strip. > > > > In this patch, an additional operation is added to recognize "crc_strip" > > option, since "crc_strip" and "keep_crc" are using the same flag > > "DEV_RX_OFFLOAD_KEEP_CRC". The current command is "port config > > <port_id> rx_offload crc_strip on|off". > > > > Fixes: e5db17a1e54e ("app/testpmd: remove duplicated Rx offload > > commands") > > Cc: sta...@dpdk.org > > > > Signed-off-by: Ting Xu <ting...@intel.com> > > --- > > app/test-pmd/cmdline.c | 10 +++++++++- > > 1 file changed, 9 insertions(+), 1 deletion(-) > > > > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index > > def471d97..31dbe4a07 100644 > > --- a/app/test-pmd/cmdline.c > > +++ b/app/test-pmd/cmdline.c > > @@ -18084,6 +18084,9 @@ search_rx_offload(const char *name) > > int found = 0; > > unsigned int bit; > > > > + if (!strcmp(name, "crc_strip")) > > + name = "keep_crc"; > > + I don't understand why the name is being changed from "crc_strip" to "keep_crc" here? > > single_offload = 1; > > for (bit = 0; bit < sizeof(single_offload) * CHAR_BIT; bit++) { > > single_name = > > rte_eth_dev_rx_offload_name(single_offload); > > @@ -18113,6 +18116,7 @@ cmd_config_per_port_rx_offload_parsed(void > > *parsed_result, > > uint16_t nb_rx_queues; > > int q; > > int ret; > > + int res_on_off = 1; > > > > if (port->port_status != RTE_PORT_STOPPED) { > > printf("Error: Can't config offload when Port %d " > > @@ -18131,7 +18135,11 @@ > cmd_config_per_port_rx_offload_parsed(void > > *parsed_result, > > return; > > > > nb_rx_queues = dev_info.nb_rx_queues; > > - if (!strcmp(res->on_off, "on")) { > > + res_on_off = strcmp(res->on_off, "on"); > > + > > + if (!strcmp(res->offload, "crc_strip")) > > + res_on_off = ~res_on_off; > > It looks as if res_on_off is intended to have a value of 0 or 1. > The above line gives it a value of -1, is this intended ? > > > + if (!res_on_off) { > > port->dev_conf.rxmode.offloads |= single_offload; > > for (q = 0; q < nb_rx_queues; q++) > > port->rx_conf[q].offloads |= single_offload; > > -- > > 2.17.1 > > Regards, > > Bernard. Regards, Bernard.