On Tue, Jan 14, 2020 at 9:15 AM Xiaoyu Min <jack...@mellanox.com> wrote: > > From: Xueming Li <xuemi...@mellanox.com> > > New flow dump CLI to dump MLX5 PMD specific flows into screen. > > Signed-off-by: Xueming Li <xuemi...@mellanox.com> > Signed-off-by: Xiaoyu Min <jack...@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; > +}