[dpdk-dev] [RFC 2/4] app/testpmd: new flow dump CLI
Jerin Jacob
jerinjacobk at gmail.com
Tue Jan 14 05:31:31 CET 2020
On Tue, Jan 14, 2020 at 9:15 AM Xiaoyu Min <jackmin at mellanox.com> wrote:
>
> From: Xueming Li <xuemingl at mellanox.com>
>
> New flow dump CLI to dump MLX5 PMD specific flows into screen.
>
> Signed-off-by: Xueming Li <xuemingl at mellanox.com>
> Signed-off-by: Xiaoyu Min <jackmin at mellanox.com>
> ---
> app/test-pmd/Makefile | 4 ++
> app/test-pmd/cmdline_flow.c | 91 +++++++++++++++++++++++++++++++++++++
> app/test-pmd/config.c | 33 ++++++++++++++
> app/test-pmd/meson.build | 3 ++
> app/test-pmd/testpmd.h | 1 +
> 5 files changed, 132 insertions(+)
>
>
> +/** Dump all flow rules. */
> +int
> +port_flow_dump(portid_t port_id __rte_unused,
> + const char *file_name __rte_unused)
> +{
> + int ret = 0;
> +#ifdef RTE_LIBRTE_MLX5_PMD
IMO, It should be the last resort to add driver-specific symbols in testpmd.
Why not introduce rte_flow_dump() and hook the MLX driver underneath?
> + FILE * file = stdout;
> +
> + if (file_name && strlen(file_name)) {
> + file = fopen(file_name, "w");
> + if (!file) {
> + printf("Failed to create file %s: %s\n", file_name,
> + strerror(errno));
> + return -errno;
> + }
> + }
> + ret = rte_pmd_mlx5_flow_dump(port_id, file);
> + if (ret)
> + printf("Failed to dump flow: %s\n", strerror(-ret));
> + else
> + printf("Flow dump finished\n");
> + if (file_name && strlen(file_name))
> + fclose(file);
> +#else
> + printf("MLX5 PMD driver disabled\n");
> +#endif
> + return ret;
> +}
More information about the dev
mailing list