If the "port config all crc-strip on" command is issued,
The DEV_RX_OFFLOAD_KEEP_CRC offload flag should be cleared.

If the "port config all crc-strip off command is issued,
The DEV_RX_OFFLOAD_KEEP_CRC offload flag should be set.

Fixes: 70815c9ecadd ("ethdev: add new offload flag to keep CRC")
Signed-off-by: Bernard Iremonger <bernard.iremon...@intel.com>
---
 app/test-pmd/cmdline.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 8708875..54ba2f5 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -1897,11 +1897,13 @@ cmd_config_rx_mode_flag_parsed(void *parsed_result,
                port = &ports[pid];
                rx_offloads = port->dev_conf.rxmode.offloads;
                if (!strcmp(res->name, "crc-strip")) {
-                       if (!strcmp(res->value, "on"))
+                       if (!strcmp(res->value, "on")) {
                                rx_offloads |= DEV_RX_OFFLOAD_CRC_STRIP;
-                       else if (!strcmp(res->value, "off"))
+                               rx_offloads &= ~DEV_RX_OFFLOAD_KEEP_CRC;
+                       } else if (!strcmp(res->value, "off")) {
+                               rx_offloads |= DEV_RX_OFFLOAD_KEEP_CRC;
                                rx_offloads &= ~DEV_RX_OFFLOAD_CRC_STRIP;
-                       else {
+                       } else {
                                printf("Unknown parameter\n");
                                return;
                        }
-- 
2.7.4

Reply via email to