I did a clean build on system where libpcap was NOT installed.
My changes make rte_pcapng lib depend on libpcap (this is for libpcaps DLT_USER Macros).
So now, in turn, everything that depends on rte_pcapng also depends on libpcap. Dumpcap, rte_graph and rte_pdump all depend on rte_pcapng, so I think we may need to add the libpcap dependency to all of these? We would then need to add the libpcap dependency
to any libraries that depend on these, which seems like a slippery slope. Maybe that's not the best approach though. Can you say whether it is okay to add libpcap dependency to all of these libraries? Or maybe there's a better way to enforce the dependency
for DPDK build? Or is it altogether incorrect to have rte_pcapng depend on libpcap in the first place?
Thanks,
Dylan
From: Thomas Monjalon <thomas@monjalon.net>
Sent: Thursday, July 3, 2025 7:27 AM
To: Dylan Schneider <schneide@qti.qualcomm.com>
Cc: dev@dpdk.org <dev@dpdk.org>; Reshma Pattan <reshma.pattan@intel.com>; Stephen Hemminger <stephen@networkplumber.org>; Jerin Jacob <jerinj@marvell.com>; Kiran Kumar K <kirankumark@marvell.com>; Nithin Dabilpuram <ndabilpuram@marvell.com>; Zhirun Yan
<yanzhirun_163@163.com>
Subject: Re: [PATCH v2] pcapng: allow any protocol link type for the interface block
WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros.
Please can you compare which libraries are built before/after your patch?
02/07/2025 21:30, Dylan Schneider:
> Hey Thomas,
> I retried a build when libpcap was absent and was able to reproduce the same errors as you did.
>
> Error: cannot find librte_pcapng.so.25.1 in dpdk-build/build-arm64-generic-gcc/install
> Error: cannot find librte_graph.so.25.1 in dpdk-build/build-arm64-generic-gcc/install
> Error: cannot find librte_node.so.25.1 in dpdk-build/build-arm64-generic-gcc/install
> Error: cannot find librte_pdump.so.25.1 in dpdk-build/build-arm64-generic-gcc/install
>
> These Errors are coming from ABI check: dpdk/devtools/check-abi.sh:49
>
> I see in this function that it is checking for the existence of these libraries, which will be absent when libpcap is absent. Is there a way to have the abi-check skip these libraries if they are not built?
> Or better question: How does the abi-check even know about these libraries if they are never built?
>
> Thanks!
> Dylan
>
>
> ________________________________
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Monday, June 30, 2025 8:28 AM
> To: Dylan Schneider <schneide@qti.qualcomm.com>
> Cc: dev@dpdk.org <dev@dpdk.org>; Reshma Pattan <reshma.pattan@intel.com>; Stephen Hemminger <stephen@networkplumber.org>; Jerin Jacob <jerinj@marvell.com>; Kiran Kumar K <kirankumark@marvell.com>; Nithin Dabilpuram <ndabilpuram@marvell.com>; Zhirun Yan <yanzhirun_163@163.com>
> Subject: Re: [PATCH v2] pcapng: allow any protocol link type for the interface block
>
> WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros.
>
> Sorry I did not investigate, but there is probably a different installation of the pcap library.
>
> I have this in a config file:
>
> pcaparm=$deps/libpcap/build-aarch64/install # requires big changes in DPDK
> #export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$pcaparm/lib/pkgconfig
>
> I don't remember what are the big changes required, and why it is disabled.
>
> Checking Meson, libpcap is indeed not found on aarch64:
>
> Run-time dependency libpcap found: NO (tried pkgconfig)
> Library pcap found: NO
>
> Can you check whether the error can be related to the absence of libpcap?
>
>
>
> 30/06/2025 15:50, Dylan Schneider:
> > Hey Thomas, just wanted to confirm, I see the ARM build passing in CI. Is there a reason it would pass there but not on your dev machine?
> >
> >
> > ________________________________
> > From: Dylan Schneider <schneide@qti.qualcomm.com>
> > Sent: Friday, June 27, 2025 11:46 AM
> > To: Thomas Monjalon <thomas@monjalon.net>
> > Cc: dev@dpdk.org <dev@dpdk.org>; Reshma Pattan <reshma.pattan@intel.com>; Stephen Hemminger <stephen@networkplumber.org>; Jerin Jacob <jerinj@marvell.com>; Kiran Kumar K <kirankumark@marvell.com>; Nithin Dabilpuram <ndabilpuram@marvell.com>; Zhirun Yan
<yanzhirun_163@163.com>
> > Subject: Re: [PATCH v2] pcapng: allow any protocol link type for the interface block
> >
> >
> > WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros.
> >
> > Hey Thomas,
> > Thanks for the reply.
> > Can you tell me the build command you're using to produce those errors? I have ran the builds on my test machine and cannot reproduce these. Thanks!
> > Dylan
> > ________________________________
> > From: Thomas Monjalon <thomas@monjalon.net>
> > Sent: Friday, June 27, 2025 11:39 AM
> > To: Dylan Schneider <schneide@qti.qualcomm.com>
> > Cc: dev@dpdk.org <dev@dpdk.org>; Reshma Pattan <reshma.pattan@intel.com>; Stephen Hemminger <stephen@networkplumber.org>; Jerin Jacob <jerinj@marvell.com>; Kiran Kumar K <kirankumark@marvell.com>; Nithin Dabilpuram <ndabilpuram@marvell.com>; Zhirun Yan
<yanzhirun_163@163.com>
> > Subject: Re: [PATCH v2] pcapng: allow any protocol link type for the interface block
> >
> > WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros.
> >
> > 09/06/2025 23:19, Schneide:
> > > From: Dylan Schneider <schneide@qti.qualcomm.com>
> > >
> > > Allow the user to specify protocol link type when creating pcapng files.
> > > This change is needed to specify the protocol type in the pcapng file,
> > > DLT_EN10MB specifies ethernet packets only. This will allow dissectors
> > > for other protocols to be used on files generated by pcapng.
> > >
> > > Includes a breaking change to rte_pcapng_add_interface to add link_type
> > > parameter. Existing calls to the function have been updated to pass
> > > DLT_EN10MB for the link type argument.
> > >
> > > Fixes: d1da6d0d04c7 ("pcapng: require per-interface information")
> > > Signed-off-by: Dylan Schneider <schneide@qti.qualcomm.com>
> > > Cc: stephen@networkplumber.org
> >
> > I doesn't pass compilation test on my machine:
> >
> > Error: cannot find librte_pcapng.so.25.1 in dpdk-build/build-arm64-generic-gcc/install
> > Error: cannot find librte_graph.so.25.1 in dpdk-build/build-arm64-generic-gcc/install
> > Error: cannot find librte_node.so.25.1 in dpdk-build/build-arm64-generic-gcc/install
> > Error: cannot find librte_pdump.so.25.1 in dpdk-build/build-arm64-generic-gcc/install
> >
> >
> >
> >
>
>
>
>
>
>