DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [Bug 351] When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is not enabled for rte_port_source_sink.c
@ 2019-09-24  8:17 bugzilla
  2019-09-24 12:04 ` [dpdk-dev] [PATCH] port: fix missing pcap support with meson Bruce Richardson
  2019-09-24 14:35 ` [dpdk-dev] [Bug 351] When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is not enabled for rte_port_source_sink.c bugzilla
  0 siblings, 2 replies; 5+ messages in thread
From: bugzilla @ 2019-09-24  8:17 UTC (permalink / raw)
  To: dev

https://bugs.dpdk.org/show_bug.cgi?id=351

            Bug ID: 351
           Summary: When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is
                    not enabled for rte_port_source_sink.c
           Product: DPDK
           Version: 19.05
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: meson
          Assignee: dev@dpdk.org
          Reporter: cristian.bidea@keysight.com
  Target Milestone: ---

Created attachment 68
  --> https://bugs.dpdk.org/attachment.cgi?id=68&action=edit
Patch for missing -lpcap link and RTE_PORT_PCAP option

On the old build system when enabling RTE_LIBRTE_PCAP_PMD an option is enabled
for rte_port_source_sink (RTE_PORT_PCAP) and pcap is linked to librte_port.

On Meson build this doesn't happen. Please see attached patch for a possible
fix.

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-dev] [PATCH] port: fix missing pcap support with meson
  2019-09-24  8:17 [dpdk-dev] [Bug 351] When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is not enabled for rte_port_source_sink.c bugzilla
@ 2019-09-24 12:04 ` Bruce Richardson
  2019-09-24 15:19   ` Bruce Richardson
  2019-09-24 14:35 ` [dpdk-dev] [Bug 351] When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is not enabled for rte_port_source_sink.c bugzilla
  1 sibling, 1 reply; 5+ messages in thread
From: Bruce Richardson @ 2019-09-24 12:04 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson, stable, Cristian Bidea

The meson build was missing the define to enable pcap port support if
libpcap (development) package was found on the build platform. Rather than
duplicating the checks for libpcap found in the pcap net PMD build file, we
can move the checks to the top-level config directory and reference the
RTE_PCAP_PORT setting elsewhere in the build.

Bugzilla ID: 351
Fixes: 5b9656b157d3 ("lib: build with meson")

Cc: stable@dpdk.org
Reported-by: Cristian Bidea <cristian.bidea@keysight.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 config/meson.build           | 13 +++++++++++++
 drivers/net/pcap/meson.build | 18 +++---------------
 lib/librte_port/meson.build  |  4 ++++
 3 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/config/meson.build b/config/meson.build
index 2bafea530..f9ae632cf 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -138,6 +138,19 @@ if libbsd.found()
 	dpdk_conf.set('RTE_USE_LIBBSD', 1)
 endif
 
+# check for pcap
+pcap_dep = dependency('pcap', required: false)
+if pcap_dep.found()
+	# pcap got a pkg-config file only in 1.9.0 and before that meson uses
+	# an internal pcap-config finder, which is not compatible with
+	# cross-compilation, so try to fallback to find_library
+	pcap_dep = cc.find_library('pcap', required: false)
+endif
+if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep)
+	dpdk_conf.set('RTE_PORT_PCAP', 1)
+	dpdk_extra_ldflags += '-lpcap'
+endif
+
 # add -include rte_config to cflags
 add_project_arguments('-include', 'rte_config.h', language: 'c')
 
diff --git a/drivers/net/pcap/meson.build b/drivers/net/pcap/meson.build
index 910dfab9b..b680710aa 100644
--- a/drivers/net/pcap/meson.build
+++ b/drivers/net/pcap/meson.build
@@ -1,21 +1,9 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-pcap_dep = dependency('pcap', required: false)
-if pcap_dep.found()
-	build = true
-else
-	# pcap got a pkg-config file only in 1.9.0 and before that meson uses
-	# an internal pcap-config finder, which is not compatible with
-	# cross-compilation, so try to fallback to find_library
-	pcap_dep = cc.find_library('pcap', required: false)
-	if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep)
-		build = true
-		pkgconfig_extra_libs += '-lpcap'
-	else
-		build = false
-		reason = 'missing dependency, "libpcap"'
-	endif
+if not dpdk_conf.has('RTE_PORT_PCAP')
+	build = false
+	reason = 'missing dependency, "libpcap"'
 endif
 sources = files('rte_eth_pcap.c')
 ext_deps += pcap_dep
diff --git a/lib/librte_port/meson.build b/lib/librte_port/meson.build
index 0d11456f0..1b48127c1 100644
--- a/lib/librte_port/meson.build
+++ b/lib/librte_port/meson.build
@@ -23,6 +23,10 @@ headers = files(
 	'rte_port_sym_crypto.h')
 deps += ['ethdev', 'sched', 'ip_frag', 'cryptodev']
 
+if dpdk_conf.has('RTE_PORT_PCAP')
+	ext_deps += pcap_dep # dependency provided in config/meson.build
+endif
+
 if dpdk_conf.has('RTE_LIBRTE_KNI')
 	sources += files('rte_port_kni.c')
 	headers += files('rte_port_kni.h')
-- 
2.21.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-dev] [Bug 351] When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is not enabled for rte_port_source_sink.c
  2019-09-24  8:17 [dpdk-dev] [Bug 351] When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is not enabled for rte_port_source_sink.c bugzilla
  2019-09-24 12:04 ` [dpdk-dev] [PATCH] port: fix missing pcap support with meson Bruce Richardson
@ 2019-09-24 14:35 ` bugzilla
  1 sibling, 0 replies; 5+ messages in thread
From: bugzilla @ 2019-09-24 14:35 UTC (permalink / raw)
  To: dev

https://bugs.dpdk.org/show_bug.cgi?id=351

Cristian Bidea (cristian.bidea@keysight.com) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|IN_PROGRESS                 |RESOLVED

--- Comment #2 from Cristian Bidea (cristian.bidea@keysight.com) ---
It works fine. Thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] port: fix missing pcap support with meson
  2019-09-24 12:04 ` [dpdk-dev] [PATCH] port: fix missing pcap support with meson Bruce Richardson
@ 2019-09-24 15:19   ` Bruce Richardson
  2019-10-27 11:57     ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
  0 siblings, 1 reply; 5+ messages in thread
From: Bruce Richardson @ 2019-09-24 15:19 UTC (permalink / raw)
  To: dev; +Cc: stable, Cristian Bidea

On Tue, Sep 24, 2019 at 01:04:14PM +0100, Bruce Richardson wrote:
> The meson build was missing the define to enable pcap port support if
> libpcap (development) package was found on the build platform. Rather than
> duplicating the checks for libpcap found in the pcap net PMD build file, we
> can move the checks to the top-level config directory and reference the
> RTE_PCAP_PORT setting elsewhere in the build.
> 
> Bugzilla ID: 351
> Fixes: 5b9656b157d3 ("lib: build with meson")
> 
> Cc: stable@dpdk.org
> Reported-by: Cristian Bidea <cristian.bidea@keysight.com>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Based on response given in bugzilla
[https://bugs.dpdk.org/show_bug.cgi?id=351]

Tested-by: Cristian Bidea <cristian.bidea@keysight.com>

Just adding here so it shows up in patchwork.

/Bruce

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [dpdk-stable] [PATCH] port: fix missing pcap support with meson
  2019-09-24 15:19   ` Bruce Richardson
@ 2019-10-27 11:57     ` Thomas Monjalon
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Monjalon @ 2019-10-27 11:57 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: stable, dev, Cristian Bidea

24/09/2019 17:19, Bruce Richardson:
> On Tue, Sep 24, 2019 at 01:04:14PM +0100, Bruce Richardson wrote:
> > The meson build was missing the define to enable pcap port support if
> > libpcap (development) package was found on the build platform. Rather than
> > duplicating the checks for libpcap found in the pcap net PMD build file, we
> > can move the checks to the top-level config directory and reference the
> > RTE_PCAP_PORT setting elsewhere in the build.
> > 
> > Bugzilla ID: 351
> > Fixes: 5b9656b157d3 ("lib: build with meson")
> > 
> > Cc: stable@dpdk.org
> > Reported-by: Cristian Bidea <cristian.bidea@keysight.com>
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> 
> Based on response given in bugzilla
> [https://bugs.dpdk.org/show_bug.cgi?id=351]
> 
> Tested-by: Cristian Bidea <cristian.bidea@keysight.com>
> 
> Just adding here so it shows up in patchwork.

Applied, thanks



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-10-27 11:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-24  8:17 [dpdk-dev] [Bug 351] When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is not enabled for rte_port_source_sink.c bugzilla
2019-09-24 12:04 ` [dpdk-dev] [PATCH] port: fix missing pcap support with meson Bruce Richardson
2019-09-24 15:19   ` Bruce Richardson
2019-10-27 11:57     ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2019-09-24 14:35 ` [dpdk-dev] [Bug 351] When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is not enabled for rte_port_source_sink.c bugzilla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).