From: Pavan Nikhilesh <pbhagavat...@marvell.com>

Disable packey type parsing on port init, user can enable ptype parsing
by issuing set ptype command.

Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com>
---
 app/test-pmd/cmdline.c |  2 ++
 app/test-pmd/testpmd.c | 12 ++++++++++++
 app/test-pmd/testpmd.h |  1 +
 3 files changed, 15 insertions(+)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index da556f91e..bd056033c 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -19082,6 +19082,8 @@ cmd_set_port_ptypes_parsed(
                rte_get_ptype_name(ptypes[i], ptype_name, sizeof(ptype_name));
                printf("%s\n", ptype_name);
        }
+
+       clear_ptypes = false;
 }
 
 cmdline_parse_inst_t cmd_set_port_ptypes = {
diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 44443469a..446da3623 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -359,6 +359,9 @@ uint8_t hot_plug = 0; /**< hotplug disabled by default. */
 /* After attach, port setup is called on event or by iterator */
 bool setup_on_probe_event = true;
 
+/* Clear ptypes on port initialization. */
+uint8_t clear_ptypes = true;
+
 /* Pretty printing of ethdev events */
 static const char * const eth_event_desc[] = {
        [RTE_ETH_EVENT_UNKNOWN] = "unknown",
@@ -2269,6 +2272,15 @@ start_port(portid_t pid)
                                return -1;
                }
                configure_rxtx_dump_callbacks(verbose_level);
+               if (clear_ptypes) {
+                       diag = rte_eth_dev_set_ptypes(pi, RTE_PTYPE_UNKNOWN,
+                                       NULL, 0);
+                       if (diag < 0)
+                               printf(
+                               "Port %d: Failed to disable Ptype parsing\n",
+                               pi);
+               }
+
                /* start port */
                if (rte_eth_dev_start(pi) < 0) {
                        printf("Fail to start port %d\n", pi);
diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
index caabf3254..90694a330 100644
--- a/app/test-pmd/testpmd.h
+++ b/app/test-pmd/testpmd.h
@@ -334,6 +334,7 @@ extern uint32_t event_print_mask;
 extern bool setup_on_probe_event; /**< disabled by port setup-on iterator */
 extern uint8_t hot_plug; /**< enable by "--hot-plug" parameter */
 extern int do_mlockall; /**< set by "--mlockall" or "--no-mlockall" parameter 
*/
+extern uint8_t clear_ptypes; /**< disabled by set ptype cmd */
 
 #ifdef RTE_LIBRTE_IXGBE_BYPASS
 extern uint32_t bypass_timeout; /**< Store the NIC bypass watchdog timeout */
-- 
2.17.1

Reply via email to