[v17,09/10] app/testpmd: disable packet type parsing by default

Message ID 20191111131914.16559-10-pbhagavatula@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series ethdev: add new Rx offload flags |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Pavan Nikhilesh Bhagavatula Nov. 11, 2019, 1:19 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

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

Signed-off-by: Pavan Nikhilesh <pbhagavatula@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(+)
  

Comments

Ferruh Yigit Nov. 11, 2019, 2:54 p.m. UTC | #1
On 11/11/2019 1:19 PM, pbhagavatula@marvell.com wrote:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Disable packey type parsing on port init, user can enable ptype parsing
> by issuing set ptype command.

I will update release notes to add one line sentences to document the behavior
change while merging, please shout if you have any objection.

> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

<...>
  

Patch

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 */