patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: Cristian Bidea <cristian.bidea@keysight.com>,
	dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'port: fix pcap support with meson' has been queued to LTS release 18.11.6
Date: Tue, 10 Dec 2019 14:59:37 +0000	[thread overview]
Message-ID: <20191210145937.32755-63-ktraynor@redhat.com> (raw)
In-Reply-To: <20191210145937.32755-1-ktraynor@redhat.com>

Hi,

FYI, your patch has been queued to LTS release 18.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/16/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/5e8a1c2a3bfe0f7ec1e1fe01b00ecf7112f29e3b

Thanks.

Kevin.

---
From 5e8a1c2a3bfe0f7ec1e1fe01b00ecf7112f29e3b Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Tue, 24 Sep 2019 13:04:14 +0100
Subject: [PATCH] port: fix pcap support with meson

[ upstream commit 268fa581b1ffbd3077279c18f5a86992b747a9c0]

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")

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

diff --git a/config/meson.build b/config/meson.build
index d76776137..616af9746 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -90,4 +90,17 @@ if host_machine.system() == 'linux' and cc.find_library('bsd',
 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 0c4e0201a..2e84a5efc 100644
--- a/drivers/net/pcap/meson.build
+++ b/drivers/net/pcap/meson.build
@@ -2,9 +2,7 @@
 # Copyright(c) 2017 Intel Corporation
 
-pcap_dep = cc.find_library('pcap', required: false)
-if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep)
-	build = true
-else
+if not dpdk_conf.has('RTE_PORT_PCAP')
 	build = false
+	reason = 'missing dependency, "libpcap"'
 endif
 sources = files('rte_eth_pcap.c')
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
@@ -24,4 +24,8 @@ headers = files(
 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')
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-12-10 14:49:43.207549387 +0000
+++ 0063-port-fix-pcap-support-with-meson.patch	2019-12-10 14:49:39.111456667 +0000
@@ -0,0 +1,79 @@
+From 5e8a1c2a3bfe0f7ec1e1fe01b00ecf7112f29e3b Mon Sep 17 00:00:00 2001
+From: Bruce Richardson <bruce.richardson@intel.com>
+Date: Tue, 24 Sep 2019 13:04:14 +0100
+Subject: [PATCH] port: fix pcap support with meson
+
+[ upstream commit 268fa581b1ffbd3077279c18f5a86992b747a9c0]
+
+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")
+
+Reported-by: Cristian Bidea <cristian.bidea@keysight.com>
+Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
+Tested-by: Cristian Bidea <cristian.bidea@keysight.com>
+---
+ config/meson.build           | 13 +++++++++++++
+ drivers/net/pcap/meson.build |  6 ++----
+ lib/librte_port/meson.build  |  4 ++++
+ 3 files changed, 19 insertions(+), 4 deletions(-)
+
+diff --git a/config/meson.build b/config/meson.build
+index d76776137..616af9746 100644
+--- a/config/meson.build
++++ b/config/meson.build
+@@ -90,4 +90,17 @@ if host_machine.system() == 'linux' and cc.find_library('bsd',
+ 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 0c4e0201a..2e84a5efc 100644
+--- a/drivers/net/pcap/meson.build
++++ b/drivers/net/pcap/meson.build
+@@ -2,9 +2,7 @@
+ # Copyright(c) 2017 Intel Corporation
+ 
+-pcap_dep = cc.find_library('pcap', required: false)
+-if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep)
+-	build = true
+-else
++if not dpdk_conf.has('RTE_PORT_PCAP')
+ 	build = false
++	reason = 'missing dependency, "libpcap"'
+ endif
+ sources = files('rte_eth_pcap.c')
+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
+@@ -24,4 +24,8 @@ headers = files(
+ 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')
+-- 
+2.21.0
+


      parent reply	other threads:[~2019-12-10 15:02 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-10 14:58 [dpdk-stable] patch 'app/testpmd: fix CRC strip command' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/i40e: fix integer overflow' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'vhost: translate incoming log address to GPA' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'vhost: fix virtqueue not accessible' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'vhost: prevent zero copy mode if IOMMU is on' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/i40e: fix address of first segment' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/ixgbe: " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'doc: fix a common typo in NIC guides' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'app/testpmd: fix help for loop topology option' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/mlx4: remove dependency on libmnl in meson' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/axgbe: fix double unlock' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/af_packet: improve Tx statistics accuracy' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/enetc: fix BD ring alignment' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'bus/fslmc: fix global variable multiple definitions' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/igb: " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'crypto/null: " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'crypto/virtio: " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'compress/octeontx: " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'test: " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'reciprocal: fix off-by-one with 32-bit divisor' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'vfio: fix truncated BAR offset for 32-bit' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'ethdev: fix include of ethernet header file' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/bnxt: fix mbuf free when clearing Tx queue' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/i40e: fix exception with multi-driver' " Kevin Traynor
2019-12-10 14:58 ` [dpdk-stable] patch 'net/ixgbe: fix zeroing of RSS config' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/e1000: " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/virtio: reject deferred Rx start' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/virtio: reject deferred Tx " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/virtio: reject unsupported Rx multi-queue modes' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/virtio: reject unsupported Tx " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'vhost: fix IPv4 checksum' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/mlx: fix debug build with icc' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'app/testpmd: fix Tx checksum when TSO enabled' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/bnxt: fix ping with MTU change' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/bnxt: fix setting max RSS contexts' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/bnxt: fix writing MTU to FW' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/bnxt: expose some missing counters in port stats' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/bonding: use non deprecated PCI API' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'vhost: fix build on RHEL 7.6 for Power' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'app/procinfo: use strlcpy for copying string' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'examples/vm_power: fix type of cmdline token in cli' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'examples/l3fwd-power: fix Rx interrupt disabling' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'power: fix socket indicator value' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'examples/vm_power: fix build without i40e' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'usertools: fix pmdinfo with python 3 and pyelftools>=0.24' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'usertools: fix telemetry client with python 3' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'doc: fix description of links to EAL options pages' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'common/dpaax: fallback to check separate memory node for VM' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'doc: fix description of versioning macros' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'eventdev: fix possible use of uninitialized var' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'common/cpt: fix possible null dereference' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'compress/octeontx: remove commented out code' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'event/opdl: " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/bnxt: " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'mk: fix build on arm64' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'crypto/dpaa2_sec: fix length retrieved from hardware' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix GCM IV length' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix SHA256-HMAC digest " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'crypto/openssl: use local copy for session contexts' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/fm10k: fix mbuf free in vector Rx' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/igb: fix PHY status if PHY reset is not blocked' " Kevin Traynor
2019-12-10 14:59 ` [dpdk-stable] patch 'net/bonding: fix port ID check' " Kevin Traynor
2019-12-10 14:59 ` Kevin Traynor [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191210145937.32755-63-ktraynor@redhat.com \
    --to=ktraynor@redhat.com \
    --cc=bruce.richardson@intel.com \
    --cc=cristian.bidea@keysight.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).