From 036c5642835ec3157753f64f4ca98b01ac48565b Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Thu, 22 Aug 2024 11:41:10 +0100 Subject: [PATCH] app/testpmd: show output of commands read from file Testpmd supports the "--cmdline-file" parameter to read a set of initial commands from a file. However, the only indication that this has been done successfully on startup is a single-line message, no output from the commands is seen. To improve usability here, we can use cmdline_new rather than cmdline_file_new and have the output from the various commands sent to stdout, allowing the user to see better what is happening. Signed-off-by: Bruce Richardson Acked-by: Ferruh Yigit --- app/test-pmd/cmdline.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 12d8c002934..1fc1cce5fe9 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -13677,7 +13678,18 @@ cmdline_read_from_file(const char *filename) { struct cmdline *cl; - cl = cmdline_file_new(main_ctx, "testpmd> ", filename); + /* cmdline_file_new does not produce any output which is not ideal here. + * Much better to show output of the commands, so we open filename directly + * and then pass that to cmdline_new with stdout as the output path. + */ + int fd = open(filename, O_RDONLY); + if (fd < 0) { + fprintf(stderr, "Failed to open file %s: %s\n", + filename, strerror(errno)); + return; + } + + cl = cmdline_new(main_ctx, "testpmd> ", fd, STDOUT_FILENO); if (cl == NULL) { fprintf(stderr, "Failed to create file based cmdline context: %s\n",