l3fwd-power uses `--parse-ptype' parameter to query egress packets
type.  Before that feature is eanbled l3fwd-power verifies PMD ability
to advertise supporrtred packet types with
rte_eth_dev_get_supported_ptypes().

The patch updates code for PMDs that register supported types after
dev_start.

Fixes: 82bea4661626 ("examples/l3fwd-power: add --parse-ptype option")

Signed-off-by: Gregory Etelson <getel...@nvidia.com>
---
 examples/l3fwd-power/main.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index 2874285c4e..995a3b6ad7 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -2707,9 +2707,7 @@ main(int argc, char **argv)
                                if (add_cb_parse_ptype(portid, queueid) < 0)
                                        rte_exit(EXIT_FAILURE,
                                                 "Fail to add ptype cb\n");
-                       } else if (!check_ptype(portid))
-                               rte_exit(EXIT_FAILURE,
-                                        "PMD can not provide needed ptypes\n");
+                       }
                }
        }
 
@@ -2740,6 +2738,11 @@ main(int argc, char **argv)
                }
                /* initialize spinlock for each port */
                rte_spinlock_init(&(locks[portid]));
+
+               if (!parse_ptype)
+                       if (!check_ptype(portid))
+                               rte_exit(EXIT_FAILURE,
+                                       "PMD can not provide needed ptypes\n");
        }
 
        check_all_ports_link_status(enabled_port_mask);
-- 
2.29.2

Reply via email to