> -----Original Message-----
> From: Stephen Hemminger <step...@networkplumber.org>
> Sent: Friday, September 16, 2022 9:05 PM
> To: Ben Magistro <konce...@gmail.com>
> Cc: Kaur, Arshdeep <arshdeep.k...@intel.com>; dev@dpdk.org
> Subject: Re: [RFT] dumpcap: add file-prefix option
>
> On Fri, 16 Sep 2022 08:51:59 -0400
> Ben Magistro <konce...@gmail.com> wrote:
>
> > Kaur,
> >
> > I believe parse_opts() should be called before dpdk_init() now see
> > https://patches.dpdk.org/project/dpdk/patch/20220125032545.7704-1-
> konc
> > e...@gmail.com/
>
> Correct, in main branch parse_opts is before dpdk_init
Hi Stephen and Ben. I have a doubt regarding this. According to me if dpdk_init
is called after parse_opts, then some caller functions (called from within
parse_opts) are affected.
Eg. 1) Parameter 'D' : { "list-interfaces", no_argument, NULL, 'D' },
does not give any output.
2) Parameter 'i' : { "interface", required_argument, NULL, 'i' },
does not behave properly.
I think the reason is that port list is available after eal init.
Dumpcap(secondary process) will inherit the ports used by primary process.
This implies that dpdk_init should be called before parse_opts.
But then for multiprocess support, primary process is to be picked up by
providing a file-prefix (Added in parse_opts).
This implies that parse_opts should be called before dpdk_init.
So according to me there was a deadlock situation here. Which I handled by
providing file-prefix input to the program before dpdk_init manually. And then
after dpdk_init, parse_opts should be called.
Please let me know if I am going in the wrong direction. And how else can we
solve this?
NOTE: There is a bug in 'if' condition of select_interface function. Control
should enter the 'if' condition if we provide select interface as '*' but
instead it enters when they are unequal. So I have already submitted a patch
for that. And it is acknowledged. Change done is:
- if (strcmp(arg, "*"))
+ if (!strcmp(arg, "*"))