[v17,09/10] app/testpmd: disable packet type parsing by default
Checks
Commit Message
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
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>
<...>
@@ -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 = {
@@ -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);
@@ -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 */