The change to do argument process before EAL init broke
the support of select-interface option. Fix by setting flag
and doing select-interface later.
Fixes: a8dde09f97df ("app/dumpcap: allow help/version without primary process")

Signed-off-by: Arshdeep Kaur <arshdeep.k...@intel.com>
---
 app/dumpcap/main.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/app/dumpcap/main.c b/app/dumpcap/main.c
index e0a3477d91..11a44ecce4 100644
--- a/app/dumpcap/main.c
+++ b/app/dumpcap/main.c
@@ -64,6 +64,8 @@ static const char *capture_comment;
 static uint32_t snaplen = RTE_MBUF_DEFAULT_BUF_SIZE;
 static bool dump_bpf;
 static bool show_interfaces;
+static bool select_interfaces;
+const char *interface_arg;
 
 static struct {
        uint64_t  duration;     /* nanoseconds */
@@ -370,7 +372,8 @@ static void parse_opts(int argc, char **argv)
                        usage();
                        exit(0);
                case 'i':
-                       select_interface(optarg);
+                       select_interfaces = true;
+                       interface_arg = optarg;
                        break;
                case 'n':
                        use_pcapng = true;
@@ -796,6 +799,9 @@ int main(int argc, char **argv)
        if (rte_eth_dev_count_avail() == 0)
                rte_exit(EXIT_FAILURE, "No Ethernet ports found\n");
 
+       if (select_interface)
+               select_interface(interface_arg);
+
        if (filter_str)
                compile_filter();
 
-- 
2.37.1

Reply via email to