diff --git a/_multibuild b/_multibuild
new file mode 100644
index 0000000..896cba1
--- /dev/null
+++ b/_multibuild
@@ -0,0 +1,3 @@
+
+ thunderx
+
diff --git a/dpdk-fix-implicit-fallthrough-warning.patch b/dpdk-fix-implicit-fallthrough-warning.patch
new file mode 100644
index 0000000..f35c4ff
--- /dev/null
+++ b/dpdk-fix-implicit-fallthrough-warning.patch
@@ -0,0 +1,30 @@
+diff -ur dpdk-18.11.orig/kernel/linux/igb_uio/igb_uio.c dpdk-18.11/kernel/linux/igb_uio/igb_uio.c
+--- dpdk-18.11.orig/kernel/linux/igb_uio/igb_uio.c 2018-11-27 00:36:00.000000000 +0100
++++ dpdk-18.11/kernel/linux/igb_uio/igb_uio.c 2019-08-14 09:49:58.720141734 +0200
+@@ -235,8 +235,8 @@
+ break;
+ }
+ #endif
+-
+ /* fall back to MSI */
++ /* fallthrough */
+ case RTE_INTR_MODE_MSI:
+ #ifndef HAVE_ALLOC_IRQ_VECTORS
+ if (pci_enable_msi(udev->pdev) == 0) {
+@@ -256,6 +256,7 @@
+ }
+ #endif
+ /* fall back to INTX */
++ /* fallthrough */
+ case RTE_INTR_MODE_LEGACY:
+ if (pci_intx_mask_supported(udev->pdev)) {
+ dev_dbg(&udev->pdev->dev, "using INTX");
+@@ -266,6 +267,7 @@
+ }
+ dev_notice(&udev->pdev->dev, "PCI INTX mask not supported\n");
+ /* fall back to no IRQ */
++ /* fallthrough */
+ case RTE_INTR_MODE_NONE:
+ udev->mode = RTE_INTR_MODE_NONE;
+ udev->info.irq = UIO_IRQ_NONE;
+Only in dpdk-18.11/kernel/linux/igb_uio: igb_uio.c~
diff --git a/dpdk-thunderx.changes b/dpdk-thunderx.changes
deleted file mode 100644
index ab1dd38..0000000
--- a/dpdk-thunderx.changes
+++ /dev/null
@@ -1,897 +0,0 @@
--------------------------------------------------------------------
-Mon Jun 17 17:14:01 CEST 2019 - ndas@suse.de
-
-- Minor Update to 18.11.2
- * List of fixes can be found in
- https://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html#fixes
-
--------------------------------------------------------------------
-Mon Apr 29 17:14:01 CEST 2019 - ndas@suse.de
-
-- Add missing libmnl-devel
-
--------------------------------------------------------------------
-Fri Mar 8 11:50:03 CET 2019 - ndas@suse.de
-
-- remove -Wno-error=array-bounds as its no longer needed
-- disable i586 build because lack of sse support
-
--------------------------------------------------------------------
-Fri Feb 22 10:57:13 CET 2019 - ndas@suse.de
-
-- Add 0002-fix-cpu-compatibility.patch to address issue with older
- CPUs (bsc#1125961, bsc#1099474)
- [+ 0002-fix-cpu-compatibility.patch]
-
--------------------------------------------------------------------
-Thu Jan 24 14:17:48 CET 2019 - ndas@suse.de
-
-- Update to 18.11; some of the changes are(fate#325916, fate#325951 fate#326025, fate#326992, bsc#1134968, jira#SLE-4715) :
- * Added support for using externally allocated memory in DPDK.
- * Added check for ensuring allocated memory is addressable by devices.
- * Updated the C11 memory model version of the ring library.
- * Added NXP CAAM JR PMD.
- * Added support for GEN3 devices to Intel QAT driver.
- * Added Distributed Software Eventdev PMD.
- * Updated KNI kernel module, rte_kni library, and KNI sample application.
- * Add a new sample application for vDPA.
- * Updated mlx5 driver.
- ** Improved security of PMD to prevent the NIC from getting stuck when the application misbehaves.
- ** Reworked flow engine to supported e-switch flow rules (transfer attribute).
- ** Added support for header re-write(L2-L4), VXLAN encap/decap, count, match on TCP flags and multiple flow groups with e-switch flow rules.
- ** Added support for match on metadata, VXLAN and MPLS encap/decap with flow rules.
- ** Added support for RTE_ETH_DEV_CLOSE_REMOVE flag to provide better support for representors.
- ** Added support for meson build.
- ** Fixed build issue with PPC.
- ** Added support for BlueField VF.
- ** Added support for externally allocated static memory for DMA.
- all the changes can be viwed in http://doc.dpdk.org/guides/rel_notes/release_18_11.html
- [- 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch]
-
--------------------------------------------------------------------
-Thu Oct 25 15:26:53 CEST 2018 - ndas@suse.de
-
-- Enable missed MLX PMDs for SLE12SP4 (bsc#1112307)
-
--------------------------------------------------------------------
-Mon Sep 24 11:52:08 UTC 2018 - Marco Varlese
-
-- Fixed a problem with ABI compatibility; API/ABI compatibility is
- guaranteed by DPDK upstream community across subsequent bug-fix
- releases. However, the .spec file broke it by defining the wrong
- version which included also the bug-fix release number.
-- Fixed a naming issue with library: did not reflect soname
-
--------------------------------------------------------------------
-Wed Aug 29 09:59:13 UTC 2018 - marco.varlese@suse.com
-
-- Fixed a syntax error affecting csh environment configuration(bsc#1102310)
-
--------------------------------------------------------------------
-Mon Jun 18 06:21:21 UTC 2018 - marco.varlese@suse.com
-
-- Update to 18.02.2; some of the changes are:
- * Added function to allow releasing internal EAL resources on exit
- * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API
- * Updated i40e driver to support PPPoE/PPPoL2TP
- * Added MAC loopback support for i40e
- * Added support of run time determination of number of queues per i40e VF
- * Updated mlx4/mlx5 driver
- * Added NVGRE and UDP tunnels support in Solarflare network PMD
- * Added AVF (Adaptive Virtual Function) net PMD
- * Added feature supports for live migration from vhost-net to vhost-user
- * Updated the AESNI-MB PMD
- * Updated the DPAA_SEC crypto driver to support rte_security
- * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD
- * Added GRO support for VxLAN-tunneled packets
-- Removed 0002-dpdk-eal-ppc-rte_smp_mb.patch since incorporated
- upstream
-
--------------------------------------------------------------------
-Mon Apr 23 14:11:51 UTC 2018 - marco.varlese@suse.com
-
-- Update to 18.02.1
-- Restrict untrusted guest to misuse virtio to corrupt
- host application(ovs-dpdk) memory which can lead all VM to lose
- connectivity(CVE-2018-1059,bsc#1089638).
- Changes:
- * Add deprecation notice for rte_vhost_gpa_to_vva()
- * Patch vhost-net and vhost-scsi examples
- * Fixes checkpatch warnings
- * Take VIRTIO_RING_F_EVENT_IDX into account when ring size (Tiwei)
- * Fix next chuncks translation access rights in Rx paths (Tiwei)
- * vhost: fix indirect descriptors table translation size
- * vhost: check all range is mapped when translating GPAs
- * vhost: introduce safe API for GPA translation
- * vhost: ensure all range is mapped when translating QVAs
- * vhost: add support for non-contiguous indirect descs tables
- * vhost: handle virtually non-contiguous buffers in Tx
- * vhost: handle virtually non-contiguous buffers in Rx
- * vhost: handle virtually non-contiguous buffers in Rx-mrg
- * examples/vhost: move to safe GPA translation API
- * examples/vhost_scsi: move to safe GPA translation API
- * vhost/crypto: move to safe GPA translation API
- * vhost: deprecate unsafe GPA translation API
-
--------------------------------------------------------------------
-Fri Apr 20 14:16:57 CEST 2018 - ndas@suse.de
-
-- Enable MLX4/5 PMD only in Factory and >= SLES15
- It needs rdma-core >= v16.
-
--------------------------------------------------------------------
-Tue Mar 6 11:35:29 UTC 2018 - marco.varlese@suse.de
-
-- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since no longer referenced in .spec files
-- Added 0002-dpdk-eal-ppc-rte_smp_mb.patch to fix an issue on ppc64le platforms with v18.02
-- Updated to version 18.02; some of the changes include:
- * Added function to allow releasing internal EAL resources on exit
- * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API
- * Updated i40e driver to support PPPoE/PPPoL2TP
- * Added MAC loopback support for i40e
- * Added support of run time determination of number of queues per i40e VF
- * Updated mlx5 driver
- * Updated mlx4 driver
- * Added NVGRE and UDP tunnels support in Solarflare network PMD
- * Added AVF (Adaptive Virtual Function) net PMD
- * Added feature supports for live migration from vhost-net to vhost-user
- * Updated the AESNI-MB PMD
- * Updated the DPAA_SEC crypto driver to support rte_security
- * Added Wireless Base Band Device (bbdev) abstraction
- * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD
- * Added new pipeline use case for dpdk-test-eventdev application
- * Updated Eventdev sample application to support event devices based on capability
- * Added Rawdev, a generic device support library
- * Added new multi-process communication channel
- * Added GRO support for VxLAN-tunneled packets
- * Increased default Rx and Tx ring size in sample applications
- * Added new DPDK build system using the tools “meson” and “ninja” [EXPERIMENTAL]
-
--------------------------------------------------------------------
-Wed Feb 28 07:02:13 UTC 2018 - marco.varlese@suse.de
-
-- The vm_power example does not work for ppc64le since it uses the
- IXGBE PMD driver which is not available for that platform(bsc#1082154):
- * Disable CONFIG_RTE_LIBRTE_POWER for the sample application;
- * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver;
-
--------------------------------------------------------------------
-Tue Feb 27 14:45:25 UTC 2018 - marco.varlese@suse.de
-
-- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include:
- * location changes of the GPL and LGPL licenses;
- * net/mlx4:
- - fix drop flow resources leak
- * net/bnxt:
- - double increment of idx during Tx ring alloc
- - group info usage
- - check for ether type
- - size of Tx ring in HW
- - number of pools for RSS
- - return code in MAC address set
- - link speed setting with autoneg off
- * net/nfp:
- - MTU settings
- - jumbo settings
- - CRC strip check behaviour
- * net/sfc:
- - multicast address list copy memory leak
- - DMA memory leak after kvarg processing failure
- - fix label name to be consistent
- * net/i40e:
- - VLAN offload setting issue
- - FDIR input set conflict
- - FDIR rule confiliction issue
- - setting MAC address of VF
- - flow director Rx resource defect
- - warn when writing global registers
- - multiple driver support
- - interrupt conflict with multi-driver
- - Rx interrupt
- - check multi-driver option parsing
- - flow director filter
- * net/qede:
- - enable LRO over tunnels
- - reject config with no Rx queue
- - check tunnel L3 header
- - tunnel header size in Tx BD configuration
- - VF LRO tunnel configuration
- * net/mlx5:
- - Tx checksum offloads
- - un-supported RSS hash fields use
- - device operation type
- - pedantic compilation
- - fix pedantic compilation
- - flow item validation
- - flow RSS configuration
- - UAR remapping on non configured queues
- - secondary process verification
- - port stop by verify flows are still present
- - flow priority on queue action
-
--------------------------------------------------------------------
-Mon Jan 15 11:20:39 CET 2018 - ndas@suse.de
-
-- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609)
-
--------------------------------------------------------------------
-Tue Jan 9 14:03:43 UTC 2018 - marco.varlese@suse.de
-
-- Upgraded to latest major 17.11(fate#322609); some of the fixes include:
- * Extended port_id range from uint8_t to uint16_t
- * Added a new driver for Marvell Armada 7k/8k devices
- * Updated mlx4 driver
- * Updated mlx5 driver
- * Added SoftNIC PMD
- * Added support for NXP DPAA Devices
- * Updated support for Cavium OCTEONTX Device
- * Added PF support to the Netronome NFP PMD
- * Updated bnxt PMD
- * Added bus agnostic functions to cryptodev for PMD initialization
- * Updated QAT crypto PMD
- * Updated the AESNI MB PMD
- * Updated the OpenSSL PMD
- * Added NXP DPAA SEC crypto PMD
- * Add new benchmarking mode to dpdk-test-crypto-perf application
- * Added IOMMU support to libvhost-user
- * Added the Generic Segmentation Offload Library
- * Added the Flow Classification Library
-- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11
-
--------------------------------------------------------------------
-Fri Dec 22 09:06:51 UTC 2017 - marco.varlese@suse.de
-
-- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810
-
--------------------------------------------------------------------
-Mon Dec 11 07:53:13 UTC 2017 - marco.varlese@suse.de
-
-- Upgraded to latest stable 17.08.1; some of the fixes include:
- * net/qede: disable per-VF Tx switching feature
- * revert "net/virtio: flush Rx queues on start"
- * various fixes for mlx5 PMD drivers
- * various fixes for bnxt PMD drivers
- * various fixes for i40e PMD drivers
- * various fixes for crypto PMD drivers
- * testpmd: fix for non-consecutive ports
- * ethdev: fix ABI version
-
--------------------------------------------------------------------
-Wed Nov 15 09:02:07 UTC 2017 - mchandras@suse.de
-
-- Add missing libelf-devel dependency
-
--------------------------------------------------------------------
-Mon Sep 4 11:18:19 CEST 2017 - ndas@suse.de
-
-- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608)
- Some of the new features are listed below:
- * Increase minimum x86 ISA version to SSE4.2
- * Added Fail-Safe PMD
- * Added support for generic flow API (rte_flow) on igb NICs
- * Added support for generic flow API (rte_flow) on enic
- * Added support for Chelsio T6 family of adapters
- * Added latency and performance improvements for cxgbe
- * Updated mlx5 driver
- * Added NXP DPAA2 Eventdev PMD
- * Added dpdk-test-eventdev test application
- * from 17.05:
- * Added mbuf raw free API
- * Added free Tx mbuf on demand API
- * Added VFIO hotplug support
- * Added PowerPC support for i40e and its vector PMD
- * Added VF max bandwidth setting in i40e
- * Added LiquidIO network PMD
- * Added support for NXP DPAA2 Network PMD
- * Added support for NXP DPAA2 - FSLMC bus
- * Added support for the Wind River Systems AVP PMD
- * Added vmxnet3 version 3 support
- * Added MTU feature support to Virtio and Vhost
- * Added event driven programming model library (rte_eventdev)
- * Added Software Eventdev PMD
- * Added Cavium OCTEONTX Eventdev PMD
- * Added NXP DPAA2 SEC crypto PMD
- * from 17.02:
- * Added generic EAL API for I/O device memory read/write operations
- * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL
- * Added generic flow API (rte_flow)
- * Added APIs for MACsec offload support to the ixgbe PMD
- * Added Solarflare libefx-based network PMD.
- * Added support for Mellanox ConnectX-5 adapters (mlx5)
- * Added ARMv8 crypto PMD
- * Added crypto performance test application
- * more details can be found in
- http://dpdk.org/doc/guides/rel_notes/release_17_08.html
- http://dpdk.org/doc/guides/rel_notes/release_17_05.html
- http://dpdk.org/doc/guides/rel_notes/release_17_02.html
- [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch
- -0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch
- -0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch
- -0005-kni-fix-build-with-gcc-7.1.patch
- -0006-kni-fix-ethtool-build-with-kernel-4.11.patch
- -0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]
-- Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705).
- [+ 0002-kni-fix-build-on-SLE12-SP3.patch]
-
--------------------------------------------------------------------
-Fri Aug 25 12:09:57 UTC 2017 - marco.varlese@suse.com
-
-- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version
-
--------------------------------------------------------------------
-Fri Aug 18 14:44:37 UTC 2017 - marco.varlese@suse.com
-
-- Split libs into a subpackage to provide multiple installable versions on same sytem
-
--------------------------------------------------------------------
-Tue Jul 18 11:26:36 CEST 2017 - ndas@suse.de
-
-- Do not use obsolete pci_enable_msix for() kernel > 4.8
- [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch,
- +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]
-
--------------------------------------------------------------------
-Wed Jun 14 12:55:10 CEST 2017 - ndas@suse.de
-
-- Updated to 16.11.2 which provide bug fixes as below(fate#321541):
- * mbuf: fix missing includes in exported header
- * eal: fix debug macro redefinition
- * net/nfp: fix packet/data length conversion
- * net/i40e: fix setup when bulk is disabled
- * pci: fix device registration on FreeBSD
- * net/i40e: ensure vector mode is not used with QinQ
- * nic_uio: fix device binding at boot
- * net/bnx2x: fix transmit queue free threshold
- * net/vmxnet3: fix queue size changes
- * kni: fix build with kernel 4.11
- * kni: fix possible memory leak
- * kni: fix crash caused by freeing mempool
- * net/i40e: fix allocation check
- * net/virtio: fix crash when closing twice
- * net/ixgbevf: set xstats id values
- * net/i40e: fix hash input set on X722
- * eal/linux: fix build with glibc 2.25
- * net/i40e: fix incorrect packet index reference
- * net/thunderx: fix 32-bit build
- * net/thunderx: fix build on FreeBSD
- * net/thunderx: fix deadlock in Rx path
- * net/ixgbe: fix setting MTU on stopped device
- * vfio: fix secondary process start
- * net/virtio-user: fix address on 32-bit system
- * net/virtio: fix MSI-X for modern devices
- * net/virtio: fix link status always down
- * net/ixgbe: fix multi-queue mode check in SRIOV mode
- * net/i40e/base: fix potential out of bound array access
- * vhost: fix false sharing
- * net/thunderx: fix stats access out of bounds
- * net/virtio: disable LSC interrupt if MSIX not enabled
- * net/i40e: fix mbuf alloc failed counter
- * net: fix stripped VLAN flag for offload emulation
- * vfio: fix disabling INTx
- * net/igb: fix VF MAC address setting
- * net/igb: fix VF MAC address setting
- * net/ixgbe: fix VF Rx mode for allmulticast disabled
- * net/bonding: fix updating slave link status
- * net/virtio-user: fix overflow
- * net/i40e: fix TC bitmap of VEB
- * net/ixgbe/base: fix build error
- * net/ixgbe: fix Rx queue blocking issue
- * net/ixgbe: fix all queues drop setting of DCB
- * net/ixgbe: fix TC bandwidth setting
- more details can be found in
- http://dpdk.org/ml/archives/stable/2017-May/001809.html
- [- 0005-kni-fix-build-with-kernel-4.11.patch]
-- use default gcc which is now gcc7 (bsc#1042372)
- [+0005-kni-fix-build-with-gcc-7.1.patch]
-
--------------------------------------------------------------------
-Tue May 23 22:25:38 UTC 2017 - mchandras@suse.de
-
-- Add upstream patch to fix building against linux kernel 4.11
- [+0005-kni-fix-build-with-kernel-4.11.patch]
-
--------------------------------------------------------------------
-Tue Apr 25 13:40:05 CEST 2017 - ndas@suse.de
-
-- sync mailbox definitions with Linux PF driver(bsc#1035993)
- [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch]
-
--------------------------------------------------------------------
-Tue Apr 18 11:35:19 CEST 2017 - ndas@suse.de
-
-- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705).
- [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch]
-
--------------------------------------------------------------------
-Tue Apr 4 15:28:20 CEST 2017 - ndas@suse.de
-
-- Fix dpdk KMP build fails(bsc#1031750)
-- enable igb_uio kernel module(fate#322394)
-- update kernel version for SLES12SP3 4.4.59 for bsc#1031705
- [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]
-
--------------------------------------------------------------------
-Thu Mar 30 16:50:07 CEST 2017 - ndas@suse.de
-
-- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705).
- [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]
-
--------------------------------------------------------------------
-Mon Mar 20 15:32:12 CET 2017 - ndas@suse.de
-
-- Disable dpdk-kmp package for ix86.
-
--------------------------------------------------------------------
-Fri Mar 3 11:37:59 CET 2017 - ndas@suse.de
-
-- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541):
- * app/test: fix symmetric session free in crypto perf tests
- * app/testpmd: fix check for invalid ports
- * app/testpmd: fix static build link ordering
- * crypto/aesni_gcm: fix IV size in capabilities
- * crypto/aesni_gcm: fix J0 padding bytes
- * crypto/aesni_mb: fix incorrect crypto session
- * crypto/openssl: fix extra bytes written at end of data
- * crypto/openssl: fix indentation in guide
- * crypto/qat: fix IV size in capabilities
- * crypto/qat: fix to avoid buffer overwrite in OOP case
- * cryptodev: fix crash on null dereference
- * cryptodev: fix loop in device query
- * devargs: reset driver name pointer on parsing failure
- * drivers/crypto: fix different auth/cipher keys
- * ethdev: check maximum number of queues for statistics
- * ethdev: fix extended statistics name index
- * ethdev: fix port data mismatched in multiple process model
- * ethdev: fix port lookup if none
- * ethdev: remove invalid function from version map
- * examples/ethtool: fix driver information
- * examples/ethtool: fix querying non-PCI devices
- * examples/ip_pipeline: fix coremask limitation
- * examples/ip_pipeline: fix parsing of pass-through pipeline
- * examples/l2fwd-crypto: fix overflow
- * examples/vhost: fix calculation of mbuf count
- * examples/vhost: fix lcore initialization
- * mempool: fix API documentation
- * mempool: fix stack handler dequeue
- * net/af_packet: fix fd use after free
- * net/bnx2x: fix Rx mode configuration
- * net/cxgbe/base: initialize variable before reading EEPROM
- * net/cxgbe: fix parenthesis on bitwise operation
- * net/ena: fix setting host attributes
- * net/enic: fix hardcoding of some flow director masks
- * net/enic: fix memory leak with oversized Tx packets
- * net/enic: remove unnecessary function parameter attributes
- * net/i40e: enable auto link update for 25G
- * net/i40e: fix Rx checksum flag
- * net/i40e: fix TC bandwidth definition
- * net/i40e: fix VF reset flow
- * net/i40e: fix checksum flag in x86 vector Rx
- * net/i40e: fix crash in close
- * net/i40e: fix deletion of all macvlan filters
- * net/i40e: fix ethertype filter on X722
- * net/i40e: fix link update delay
- * net/i40e: fix logging for Tx free threshold check
- * net/i40e: fix segment number in reassemble process
- * net/i40e: fix wrong return value when handling PF message
- * net/i40e: fix xstats value mapping
- * net/i40evf: fix casting between structs
- * net/i40evf: fix reporting of imissed packets
- * net/ixgbe: fix blocked interrupts
- * net/ixgbe: fix received packets number for ARM
- * net/ixgbe: fix received packets number for ARM NEON
- * net/ixgbevf: fix max packet length
- * net/mlx5: fix RSS hash result for flows
- * net/mlx5: fix Rx packet validation and type
- * net/mlx5: fix Tx doorbell
- * net/mlx5: fix endianness in Tx completion queue
- * net/mlx5: fix inconsistent link status
- * net/mlx5: fix leak when starvation occurs
- * net/mlx5: fix link status query
- * net/mlx5: fix memory leak when parsing device params
- * net/mlx5: fix missing inline attributes
- * net/mlx5: fix updating total length of multi-packet send
- * net/mlx: fix IPv4 and IPv6 packet type
- * net/nfp: fix VLAN offload flags check
- * net/nfp: fix typo in Tx offload capabilities
- * net/pcap: fix timestamps in output pcap file
- * net/qede/base: fix FreeBSD build
- * net/qede: add vendor/device id info
- * net/qede: fix PF fastpath status block index
- * net/qede: fix filtering code
- * net/qede: fix function declaration
- * net/qede: fix per queue statisitics
- * net/qede: fix resource leak
- * net/vhost: fix socket file deleted on stop
- * net/vhost: fix unix socket not removed as closing
- * net/virtio-user: fix not properly reset device
- * net/virtio-user: fix wrongly get/set features
- * net/virtio: fix build without virtio-user
- * net/virtio: fix crash when number of virtio devices > 1
- * net/virtio: fix multiple process support
- * net/virtio: fix performance regression due to TSO
- * net/virtio: fix rewriting LSC flag
- * net/virtio: fix wrong Rx/Tx method for secondary process
- * net/virtio: optimize header reset on any layout
- * net/virtio: store IO port info locally
- * net/virtio: store PCI operators pointer locally
- * net/vmxnet3: fix Rx deadlock
- * pci: fix check of mknod
- * pmdinfogen: fix endianness with cross-compilation
- * pmdinfogen: fix null dereference
- * sched: fix crash when freeing port
- * usertools: fix active interface detection when binding
- * vdev: fix detaching with alias
- * vfio: fix file descriptor leak in multi-process
- * vhost: allow many vhost-user ports
- * vhost: do not GSO when no header is present
- * vhost: fix dead loop in enqueue path
- * vhost: fix guest/host physical address mapping
- * vhost: fix long stall of negotiation
- * vhost: fix memory leak
-
--------------------------------------------------------------------
-Fri Feb 24 13:46:44 CET 2017 - ndas@suse.de
-
-- Fix broken dpdk-pmd/* soft links(bsc#1026804).
-
--------------------------------------------------------------------
-Thu Feb 16 18:29:43 CET 2017 - ndas@suse.de
-
-- Do not disable cryptodev as EXPREMENTAL tag has been removed.
-- Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending
- on it anymore and its removed from the upstream.
-
--------------------------------------------------------------------
-Fri Feb 10 11:24:27 CET 2017 - ndas@suse.de
-
-- Enable rte_kni kernel module for dpdk(fate#322394).
- [+preamble]
-- Build dpdk-thunderx only for aarch64
-
--------------------------------------------------------------------
-Thu Feb 2 15:21:14 CET 2017 - ndas@suse.de
-
-- Update to version 16.11(fate#321541). Some of the new features are listed below:
- * Added software parser for packet type.
- * Improved offloads support in mbuf.
- * Added vhost-user dequeue zero copy support.
- * Added vhost-user indirect descriptors support.
- * Added vhost PMD xstats.
- * Added virtio NEON support for ARM.
- * Updated the ixgbe base driver.
- * Added APIs for VF management to the ixgbe PMD.
- * Updated the enic driver.
- * Added openssl PMD.
- * Added support for new gcc -march option.
- Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html
-- Resolved fixes in the updated versions are :
- * enic: Fixed several flow director issues.
- * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets.
- * enic: Fixed high driver overhead when servicing Rx queues beyond the first.
-
--------------------------------------------------------------------
-Fri Jan 20 11:01:47 CET 2017 - ndas@suse.de
-
-- Added gcc-6 as default compiler for CRC/mtune & other optimizations.
-- Fix possible parallel installation of dpdk subpackages.
-
--------------------------------------------------------------------
-Wed Jan 4 18:11:17 CET 2017 - ndas@suse.de
-
-- Add pre_checkin.sh to generate the dpdk-thunderx.spec file
-
--------------------------------------------------------------------
-Mon Dec 12 11:35:44 UTC 2016 - marco.varlese@suse.com
-
-- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec
-
--------------------------------------------------------------------
-Mon Dec 12 11:08:37 UTC 2016 - marco.varlese@suse.com
-
-- Added back in all the architectures to keep .spec files aligned
- * Driving thunderx platform architectural dependency via the ExclusiveArch tag
-
--------------------------------------------------------------------
-Mon Dec 12 10:30:00 UTC 2016 - mvarlese@suse.com
-
-- Added support to build code for Thunderx platform(fate#321960).
-- Introduced new dpdk-thunderx.spec file:
- * Removed architectures not supporting Thunderx platform (e.g. x86)
- * Added dependency on gcc v5.0 for armv8a-crc
-
--------------------------------------------------------------------
-Wed Nov 30 16:51:47 UTC 2016 - mchandras@suse.de
-
-- Update to version 16.07.2. Some of the fixes are listed below:
- * ethdev: prevent duplicate event callback
- * hash: fix bucket size usage
- * hash: fix unlimited cuckoo path
- * lpm: fix freeing memory
- * lpm: fix freeing unused sub-table on rule delete
- * mempool: fix leak if populate fails
- * mempool: fix search of maximum contiguous pages
- * pci: fix probing error if no driver found
- * net/bnx2x: fix maximum PF queues
- * net/bnxt: fix bit shift size
- * net/bnxt: fix crash when closing
- * net/enic: fix Rx queue index when not using Rx scatter
- * net/enic: fix crash on MTU update or Rx queue reconfigure
- * net/enic: fix crash with removed flow director filters
- * net/enic: fix max packet length check
- * net/enic: fix multi-queue Rx performance
- * net/enic: revert truncated packets counter fix
- * net/fm10k: fix VF Tx queue initialization
- * net/i40e: fix Rx hang when disable LLDP
- * net/ixgbe: fix VF registers
- * net/thunderx: fix Tx checksum handling
- * [The list of changes is rather long so please consult the following
- resources for the complete list of new features, bugfixes and other
- changes in this release:
- - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]
-
--------------------------------------------------------------------
-Thu Nov 24 15:31:27 UTC 2016 - mchandras@suse.de
-
-- Update to version 16.07.1. Some of the fixes are listed below:
- * contigmem: zero all pages during mmap
- * crypto/null: fix key size increment value
- * hash: fix false zero signature key hit lookup
- * mem: fix crash on hugepage mapping error
- * mbuf: fix error handling on pool creation
- * net/e1000: fix returned number of available Rx descriptors
- * net/enic: fix freeing memory for descriptor ring
- * net/i40e: fix dropping packets with ethertype 0x88A8
- * net/i40e: fix mbuf leak during Rx queue release
- * net/i40e: fix null pointer dereferences when using VMDq+RSS
- * net/ixgbe/base: fix possible corruption of shadow RAM
- * net/ixgbe: fix VF reset to apply to correct VF
- * net/virtio_user: fix error management during init
- * [The list of changes is rather long so please consult the following
- resources for the complete list of new features, bugfixes and other
- changes in this release:
- - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]
-
--------------------------------------------------------------------
-Thu Oct 6 10:36:52 UTC 2016 - mchandras@suse.de
-
-- Drop code for generating our own linker script.
- * Commit 948fd64befc3 (" mk: replace the combined library with a
- linker script") added upstream support for building and installing
- a linker script so we drop our code from the spec file which
- generated a much larger and possibly broken linker script resulting
- to linking issues (boo#1002534)
-
--------------------------------------------------------------------
-Wed Aug 10 16:51:17 CEST 2016 - ndas@suse.de
-
-- Update to version 16.07. Some of the new features are listed below:
- * Removed the mempool cache memory if caching is not being used.
- * Added mempool external cache for non-EAL thread.
- * Changed the memory allocation scheme in the mempool library.
- * Added a new driver for Broadcom NetXtreme-C devices.
- * Added a new driver for ThunderX nicvf devices.
- * Added mailbox interrupt support for ixgbe and igb VFs.
- * Updated the ixgbe base driver.
- * Updated the i40e base driver.
- * Updated the enic driver.
- * Updated the mlx5 driver.
- * Added support for virtio on IBM POWER8.
- * Added support for Virtio in containers.
- * Added vhost-user client mode.
- * Added NSH packet recognition in i40e.
- * Added AES-CTR support to AESNI MB PMD.
- * Added AES counter mode support for Intel QuickAssist devices.
- * Added KASUMI SW PMD.
- * Added multi-writer support for RTE Hash with Intel TSX.
- * Improved IP Pipeline Application.
- * Added keepalive enhancements.
- * Added packet capture framework.
- * Added floating VEB support for i40e PF driver.
- * Added support for live migration of a VM with SRIOV VF.
- * [The list of changes is rather long so please consult the following
- resources for the complete list of new features, bugfixes and other
- changes in this release:
- - http://dpdk.org/doc/guides/rel_notes/release_16_07.html
- - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst
- - Or the doc/guides/rel_notes/release_16_07.rst file in the released
- tarball.]
-- Removed patches that are already avilable in dpdk-16.07
- [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch
- -0003-mk-fix-external-shared-library-dependencies-of-libraries.patch
- -0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch
- -0005-d293dac-vhost-claim-support-of-guest-announce.patch
- -0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch
- -0007-ixgbe-fix-VLAN-filter-missing-brackets.patch
- -0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch
- -0009-bonding-copy-entire-config-structure-in-mode-4.patch
- -0010-bonding-fix-active-slaves-with-no-primary.patch
- -0011-bonding-do-not-ignore-multicast-in-mode-4.patch
- -0012-bonding-do-not-activate-slave-twice.patch
- -0013-bonding-fix-crash-when-no-slave-device.patch
- -0014-bonding-fix-detach-of-bonded-device.patch
- -0015-bonding-fix-detach-of-slave-devices.patch
- -0016-eal-linux-support-built-in-kernel-modules.patch
- -0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch
- -0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch
- -0019-i40e-base-fix-driver-load-failure.patch
- -0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch
- -0021-i40e-fix-inverted-check-for-no-refcount.patch
- -0022-i40e-fix-overflow.patch
- -0023-i40e-fix-VLAN-filtering.patch
- -0024-mempool-fix-leak-when-creation-fails.patch
- -0025-pcap-fix-captured-frame-length.patch
- -0026-port-fix-crash-for-ethdev-writer-nodrop.patch
- -0027-port-fix-crash-for-ring-writer-nodrop.patch
- -0028-tools-fix-unbinding-failure-handling.patch
- -0029-tools-support-Python-3-in-bind-script.patch
- -0030-tools-support-binding-to-built-in-kernel-modules.patch
- -0031-vhost-fix-leak-of-fds-and-mmaps.patch
- -0032-virtio-fix-crash-in-statistics-functions.patch
- -0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch
- -0034-virtio-fix-restart.patch
- -0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch
- -0036-examples-fix-build-dependencies.patch
- -0037-examples-ethtool-fix-build.patch
- -0099-mk-fix-gcc-5-version-on-suse.patch
- -0100-kni-fix-build-with-gcc-6.patch
- -0101-ixgbe-fix-uninitialized-warning.patch
- -0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch
- -0103-e1000-base-Add-missing-braces-to-the-if-statements.patch
- -0104-igb-fix-constant-sign-in-left-shift-operator.patch
- -0105-e1000-fix-missing-link-interrupt-check-brackets.patch
- -0106-app-test-fix-missing-brackets.patch
- -0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch
- ]
-
-- Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility.
-- Added a new binary dpdk-pdump dpdk-procinfo
-
--------------------------------------------------------------------
-Thu Jul 28 16:39:07 CEST 2016 - ndas@suse.de
-
-- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462).
-- Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de).
-- Enable example package for aarch64 using Rüdiger(ro@suse.de) changes.
-- Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings).
-- Disable examples that need LPM which is disabled on non-x86.
-
- [+0036-examples-fix-build-dependencies.patch,
- +0037-examples-ethtool-fix-build.patch,
- +_constraints]
-
--------------------------------------------------------------------
-Mon Jul 11 18:20:57 CEST 2016 - ndas@suse.de
-
-- Added support for aarch64 compilation.
- [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch]
-- Disabled aarch64 dpdk-examples package for the time being as it
- contains lots of Intel specific code.
-- Added proper "Group" field for the subpackages .
-
--------------------------------------------------------------------
-Thu Jun 23 09:56:05 UTC 2016 - mchandras@suse.de
-
-- Add upstream patches to fix building with gcc >= 6
- * 0100-kni-fix-build-with-gcc-6.patch
- * 0101-ixgbe-fix-uninitialized-warning.patch
- * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch
- * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch
- * 0104-igb-fix-constant-sign-in-left-shift-operator.patch
- * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch
- * 0106-app-test-fix-missing-brackets.patch
- * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch
-
--------------------------------------------------------------------
-Tue Jun 14 10:04:09 UTC 2016 - ndas@suse.de
-
-- Removed unwanted files(bsc#984437).
-
--------------------------------------------------------------------
-Thu Jun 9 17:18:01 CEST 2016 - ndas@suse.de
-
-- Added missing GPL-2.0 and LGPL-2.1 licenses.
-
--------------------------------------------------------------------
-Wed Jun 1 14:16:10 UTC 2016 - mchandras@suse.de
-
-- Update tarball URL.
-
--------------------------------------------------------------------
-Fri May 27 12:28:02 CEST 2016 - ndas@suse.de
-
-- Applied all the fixes recommended by upstream for
- v2.2 stable release(bsc#981996).
-
- [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch,
- +0009-bonding-copy-entire-config-structure-in-mode-4.patch,
- +0010-bonding-fix-active-slaves-with-no-primary.patch,
- +0011-bonding-do-not-ignore-multicast-in-mode-4.patch,
- +0012-bonding-do-not-activate-slave-twice.patch,
- +0013-bonding-fix-crash-when-no-slave-device.patch,
- +0014-bonding-fix-detach-of-bonded-device.patch,
- +0015-bonding-fix-detach-of-slave-devices.patch,
- +0016-eal-linux-support-built-in-kernel-modules.patch,
- +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch,
- +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch,
- +0019-i40e-base-fix-driver-load-failure.patch,
- +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch,
- +0021-i40e-fix-inverted-check-for-no-refcount.patch,
- +0022-i40e-fix-overflow.patch,
- +0023-i40e-fix-VLAN-filtering.patch,
- +0024-mempool-fix-leak-when-creation-fails.patch,
- +0025-pcap-fix-captured-frame-length.patch,
- +0026-port-fix-crash-for-ethdev-writer-nodrop.patch,
- +0027-port-fix-crash-for-ring-writer-nodrop.patch,
- +0028-tools-fix-unbinding-failure-handling.patch,
- +0029-tools-support-Python-3-in-bind-script.patch,
- +0030-tools-support-binding-to-built-in-kernel-modules.patch,
- +0031-vhost-fix-leak-of-fds-and-mmaps.patch,
- +0032-virtio-fix-crash-in-statistics-functions.patch,
- +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch,
- +0034-virtio-fix-restart.patch]
-
--------------------------------------------------------------------
-Wed May 11 09:21:40 UTC 2016 - mchandras@suse.de
-
-- Use fdupes to manage duplicate files
-
--------------------------------------------------------------------
-Thu Apr 28 14:39:36 CEST 2016 - ndas@suse.de
-
-- Create DPDK packages for 32 bit x86(bsc#977639).
-
--------------------------------------------------------------------
-Wed Apr 27 14:55:37 UTC 2016 - mchandras@suse.de
-
-- Add upstream patch for the ixgbe driver
- * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN
- filtering logic by adding the missing brackets in the 'if' statement.
-
--------------------------------------------------------------------
-Tue Apr 19 10:45:29 CEST 2016 - ndas@suse.de
-
-- DPDK is most common vhost-user backend, Adding upstream patches to
- help qemu vm live migration with vhost-user (fate#320713).
- [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch
- + 0005-d293dac-vhost-claim-support-of-guest-announce.patch
- + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch]
-
--------------------------------------------------------------------
-Wed Apr 13 10:56:08 UTC 2016 - mchandras@suse.de
-
-- Move the combined library back to the devel package (bsc#975123)
- Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the
- libdpdk.so is no longer a shared object but rather a linker script
- generated by the spec file. This means that it is only used during
- linking and the linker will add the individual DPDK libraries to the
- DT_NEEDED tag on the dependent binaries.
-
--------------------------------------------------------------------
-Tue Apr 12 12:45:40 UTC 2016 - mchandras@suse.de
-
-- Fix shared linking against libdpdk.so (bsc#975123)
- * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch
- patch which sets the correct dependencies for the shared libraries.
- * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script
- is used to create and install a more lightweight version of libdpdk.so.
- * Include the combined libdpdk.so library to the regular package since it
- is also necessary during runtime.
-
--------------------------------------------------------------------
-Mon Apr 11 16:12:09 CEST 2016 - ndas@suse.de
-
-- Removed unwnated patch and reformated patch file names(bsc#974903).
- [- dpdk-2.2-dtneeded.patch,
- - dpdk-2.2-examples.patch,
- - enic-pun-fix.patch,
- - dpdk-2.2-warningflags.patch,
- + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch
- + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch]
-- Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into
- one library
-
--------------------------------------------------------------------
-Mon Mar 21 14:15:08 UTC 2016 - nirmoy.das@suse.com
-
-- Intial version 2.2.0(fate#319169)
-
diff --git a/dpdk-thunderx.spec b/dpdk-thunderx.spec
deleted file mode 100644
index 7b2665e..0000000
--- a/dpdk-thunderx.spec
+++ /dev/null
@@ -1,391 +0,0 @@
-#
-# spec file for package dpdk-thunderx
-#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
-#
-# All modifications and additions to the file contributed by third parties
-# remain the property of their copyright owners, unless otherwise agreed
-# upon. The license for this file, and modifications and additions to the
-# file, is the same license as for the pristine package itself (unless the
-# license for the pristine package is not an Open Source License, in which
-# case the license is the MIT License). An "Open Source License" is a
-# license that conforms to the Open Source Definition (Version 1.9)
-# published by the Open Source Initiative.
-
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
-#
-# needssslcertforbuild
-
-
-%define machine native
-%define machine2 default
-%ifarch x86_64
-%define machine native
-%define target x86_64-%{machine}-linuxapp-gcc
-%endif
-%ifarch aarch64
-%define machine2 thunderx
-%define target arm64-%{machine2}-linuxapp-gcc
-%endif
-%ifarch ppc64le
-%define machine2 power8
-%define target ppc_64-%{machine2}-linuxapp-gcc
-%endif
-%bcond_without shared
-# Add option to build without examples
-%bcond_without examples
-# Add option to build without tools
-%bcond_without tools
-
-# The lname versioning is based solely on the MAJOR and MINOR
-# as per DPDK CONFIG_RTE_MAJOR_ABI.
-%define maj 18
-%define min 11
-%define lname libdpdk-%{maj}_%{min}
-
-# Do NOT edit this auto generated file! Edit dpdk.spec instead
-# and run 'pre_checkin.sh' before committing
-Name: dpdk-thunderx
-Version: 18.11.2
-Release: 0
-Summary: Set of libraries and drivers for fast packet processing (thunderx)
-License: BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only
-Group: System/Libraries
-Url: http://dpdk.org
-Source: http://fast.dpdk.org/rel/dpdk-%{version}.tar.xz
-Source1: preamble
-Patch1: 0002-fix-cpu-compatibility.patch
-BuildRequires: doxygen
-BuildRequires: fdupes
-BuildRequires: libelf-devel
-BuildRequires: libmnl-devel
-BuildRequires: libnuma-devel
-BuildRequires: libpcap-devel
-BuildRequires: pesign-obs-integration
-%if 0%{?sle_version} >= 120400
-BuildRequires: rdma-core-devel
-%endif
-BuildRequires: zlib-devel
-ExclusiveArch: aarch64
-Provides: dpdk-any = %{version}
-Conflicts: otherproviders(dpdk-any)
-
-%description
-The Data Plane Development Kit is a set of libraries and drivers for
-fast packet processing in the user space.
-
-%package devel
-Summary: Data Plane Development Kit development files (thunderx)
-Group: Development/Libraries/C and C++
-Requires: %{lname} = %{version}
-Provides: dpdk-any-devel = %{version}
-Conflicts: otherproviders(dpdk-any-devel)
-
-%description devel
-This package contains the headers and other files needed for developing
-applications with the Data Plane Development Kit.
-
-%package -n %{lname}
-Summary: Data Plane Development Kit runtime libraries (thunderx)
-Group: Development/Libraries/C and C++
-Provides: %{lname}-any = %{version}
-
-%description -n %{lname}
-This package contains the runtime libraries needed for 3rd party application
-to use the Data Plane Development Kit.
-
-%package doc
-Summary: Data Plane Development Kit API documentation (thunderx)
-Group: System/Libraries
-BuildArch: noarch
-Provides: dpdk-any-doc = %{version}
-Conflicts: otherproviders(dpdk-any-doc)
-
-%description doc
-API programming documentation for the Data Plane Development Kit.
-
-%if %{with tools}
-%package tools
-Summary: Tools for setting up Data Plane Development Kit environment (thunderx)
-Group: System/Libraries
-Requires: %{name} = %{version}
-Requires: findutils
-Requires: iproute
-Requires: kmod
-Requires: pciutils
-Provides: dpdk-any-tools = %{version}
-Conflicts: otherproviders(dpdk-any-tools)
-
-%description tools
-This package contains tools for setting up Data Plane Development Kit environment
-%endif
-
-%if %{with examples}
-%package examples
-Summary: Data Plane Development Kit example applications (thunderx)
-Group: System/Libraries
-BuildRequires: libvirt-devel
-Provides: dpdk-any-examples = %{version}
-Conflicts: otherproviders(dpdk-any-examples)
-
-%description examples
-Example applications utilizing the Data Plane Development Kit, such
-as L2 and L3 forwarding.
-%endif
-
-%package kmp
-Summary: DPDK KNI kernel module (thunderx)
-Group: System/Kernel
-BuildRequires: %{kernel_module_package_buildreqs}
-Conflicts: otherproviders(dpdk-any-kmp)
-%suse_kernel_module_package -p %{_sourcedir}/preamble pae 64kb
-
-%description kmp
-The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the Linux* control plane.
-
-%define sdkdir %{_datadir}/dpdk
-%define docdir %{_docdir}/dpdk
-%define incdir %{_includedir}/dpdk
-%define pmddir %{_libdir}/dpdk-pmds
-
-%prep
-# can't use %{name} because of dpdk-thunderx
-%setup -q -n dpdk-stable-%{version}
-%patch1 -p1 -z .init
-
-# This fixes CROSS compilation (broken) in the mk file for ThunderX
-sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk
-
-%build
-# set up a method for modifying the resulting .config file
-function setconf() {
- if grep -q ^$1= $3/.config; then
- sed -i "s:^$1=.*$:$1=$2:g" $3/.config
- else
- echo $1=$2 >> $3/.config
- fi
-}
-
-function setdefaultconf()
-{
- # Remove the below once upstream fixes the DPAA for NXP ARM
- setconf CONFIG_RTE_LIBRTE_DPAA_BUS n $1
- setconf CONFIG_RTE_LIBRTE_DPAA_MEMPOOL n $1
- setconf CONFIG_RTE_LIBRTE_DPAA_PMD n $1
- setconf CONFIG_RTE_LIBRTE_PMD_DPAA_SEC n $1
- setconf CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV n $1
-
- setconf CONFIG_RTE_MACHINE '"%{machine2}"' $1
- # Disable experimental features
- setconf CONFIG_RTE_NEXT_ABI n $1
-
- # SONAME equals to DPDK release version
- setconf CONFIG_RTE_MAJOR_ABI %{maj}.%{min} $1
-
- # Enable automatic driver loading from this path
- setconf CONFIG_RTE_EAL_PMD_PATH '"%{pmddir}"' $1
-
- setconf CONFIG_RTE_LIBRTE_BNX2X_PMD y $1
- setconf CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT y $1
- setconf CONFIG_RTE_LIBRTE_PMD_PCAP y $1
- setconf CONFIG_RTE_LIBRTE_VHOST_NUMA y $1
-%if 0%{?sle_version} >= 120400
- setconf CONFIG_RTE_LIBRTE_MLX5_PMD y $1
- setconf CONFIG_RTE_LIBRTE_MLX4_PMD y $1
-%endif
- setconf CONFIG_RTE_EAL_IGB_UIO n $1
- setconf CONFIG_RTE_KNI_KMOD n $1
-
- %if %{with shared}
- setconf CONFIG_RTE_BUILD_SHARED_LIB y $1
- %endif
-
- %ifarch aarch64 ppc64le
- setconf CONFIG_RTE_LIBRTE_DISTRIBUTOR n $1
- %endif
- %ifarch ppc64le
- setconf CONFIG_RTE_LIBRTE_PMD_RING n $1
- setconf CONFIG_RTE_LIBRTE_IXGBE_PMD n $1
- setconf CONFIG_RTE_LIBRTE_POWER n $1
- %endif
-}
-# In case dpdk-devel is installed, we should ignore its hints about the SDK directories
-unset RTE_SDK RTE_INCLUDE RTE_TARGET
-
-export EXTRA_CFLAGS="%{optflags} -Wformat -fPIC -U_FORTIFY_SOURCE"
-
-# DPDK defaults to using builder-specific compiler flags. However,
-# the config has been changed by specifying CONFIG_RTE_MACHINE=default
-# in order to build for a more generic host. NOTE: It is possible that
-# the compiler flags used still won't work for all Fedora-supported
-# machines, but runtime checks in DPDK will catch those situations.
-
-make V=1 O=%{target} T=%{target} %{?_smp_mflags} config
-setdefaultconf %{target}
-
-export EXTRA_CFLAGS='-DVERSION=\"%{version}\"'
-for flavor in %{flavors_to_build}; do
- export RTE_KERNELDIR=%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor
- make V=1 O=%{target}-$flavor T=%{target} %{?_smp_mflags} config
- setdefaultconf %{target}-$flavor
- setconf CONFIG_RTE_EAL_IGB_UIO y %{target}-$flavor
- setconf CONFIG_RTE_KNI_KMOD y %{target}-$flavor
- cd %{target}-$flavor
- make V=1 %{?_smp_mflags}
- cd -
-done
-
-make V=1 O=%{target} %{?_smp_mflags}
-make V=1 O=%{target} %{?_smp_mflags} doc-api-html
-
-%if %{with examples}
-make V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples
-%endif
-
-%install
-# export needed for kmp package
-export EXTRA_CFLAGS='-DVERSION=\"%{version}\"'
-export INSTALL_MOD_PATH=%{buildroot}
-export INSTALL_MOD_DIR=updates
-export BRP_PESIGN_FILES="*.ko"
-
-for flavor in %{flavors_to_build}; do
- cd %{target}-$flavor
- export RTE_KERNELDIR=%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor
- dir=/usr/src/linux-obj/%{_target_cpu}/$flavor
- krel=$(make -s -C "$dir" kernelrelease)
- mkdir -p %{buildroot}/lib/modules/$krel/extra/dpdk/
- #make install expects same kernel for build and target, lets copy it manually
- install -m644 ../%{target}-$flavor/kmod/*.ko %{buildroot}/lib/modules/$krel/extra/dpdk/
- cd -
-done
-# In case dpdk-devel is installed
-unset RTE_SDK RTE_INCLUDE RTE_TARGET
-
-%make_install O=%{target} prefix=%{_usr} libdir=%{_libdir}
-
-%if ! %{with tools}
-rm -rf %{buildroot}%{sdkdir}/usertools/
-rm -rf %{buildroot}%{_sbindir}/dpdk_nic_bind
-%endif
-rm -f %{buildroot}%{sdkdir}/usertools/setup.sh
-#TODO pip elftools has issues to fix
-rm -rf %{buildroot}%{_bindir}/dpdk-pmdinfo
-
-%if %{with examples}
-find %{target}/examples/ -name "*.map" | xargs rm -f
-for f in %{target}/examples/*/%{target}/app/*; do
- bn=`basename ${f}`
- cp -p ${f} %{buildroot}%{_bindir}/dpdk_example_${bn}
-done
-%endif
-
-# Create a driver directory with symlinks to all pmds
-mkdir -p %{buildroot}/%{pmddir}
-for f in %{buildroot}/%{_libdir}/*_pmd_*.so.*; do
- bn=$(basename ${f})
- ln -s ../${bn} %{buildroot}%{pmddir}/${bn}
-done
-#mempool is a driver now from 16.07
-mkdir -p %{buildroot}/%{pmddir}
-for f in %{buildroot}/%{_libdir}/*_mempool_*.so.*; do
- bn=$(basename ${f})
- ln -s ../${bn} %{buildroot}%{pmddir}/${bn}
-done
-
-# Setup RTE_SDK environment as expected by apps etc
-mkdir -p %{buildroot}/%{_sysconfdir}/profile.d
-cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.sh
-if [ -z "\${RTE_SDK}" ]; then
- export RTE_SDK="%{sdkdir}"
- export RTE_TARGET="%{target}"
- export RTE_INCLUDE="%{incdir}"
-fi
-EOF
-
-cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.csh
-if ( ! \${?RTE_SDK} ) then
- setenv RTE_SDK "%{sdkdir}"
- setenv RTE_TARGET "%{target}"
- setenv RTE_INCLUDE "%{incdir}"
-endif
-EOF
-
-# Fixup target machine mismatch
-sed -i -e 's:-%{machine}-:-%{machine2}-:g' %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk*
-
-#doc
-mkdir %{buildroot}%{_docdir}/
-mv %{buildroot}%{_datadir}/doc/dpdk %{buildroot}%{_docdir}/
-
-ln -s %{_bindir}/dpdk-procinfo %{buildroot}%{_bindir}/dpdk_proc_info
-ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind
-
-# Remove duplicates
-%fdupes %{buildroot}/%{_prefix}
-
-%post devel -p /sbin/ldconfig
-%postun devel -p /sbin/ldconfig
-%post -n %{lname} -p /sbin/ldconfig
-%postun -n %{lname} -p /sbin/ldconfig
-
-%files
-%defattr(-,root,root)
-# BSD
-%{_bindir}/testpmd
-%{_bindir}/testbbdev
-%{_bindir}/dpdk-procinfo
-%{_bindir}/dpdk_proc_info
-%{_bindir}/dpdk-pdump
-
-%files -n %{lname}
-%defattr(-,root,root)
-%if %{with shared}
-%dir %{_libdir}/dpdk-pmds
-
-%{_libdir}/*.so.*
-%{pmddir}/
-%endif
-
-%files doc
-%defattr(-,root,root)
-#BSD
-%docdir
-%doc license/gpl-2.0.txt license/lgpl-2.1.txt
-
-%files devel
-%defattr(-,root,root)
-#BSD
-%{incdir}/
-%{sdkdir}
-%if %{with tools}
-%exclude %{sdkdir}/usertools/
-%endif
-%if %{with examples}
-%exclude %{sdkdir}/examples/
-%endif
-%{_sysconfdir}/profile.d/dpdk-sdk-*.*
-%if ! %{with shared}
-%{_libdir}/*.a
-%else
-%{_libdir}/*.so
-%endif
-
-%if %{with tools}
-%files tools
-%defattr(-,root,root)
-%{sdkdir}/usertools/
-%{_sbindir}/dpdk-devbind
-%{_sbindir}/dpdk_nic_bind
-%{_bindir}/dpdk-test-eventdev
-%{_bindir}/dpdk-test-crypto-perf
-%endif
-
-%if %{with examples}
-%files examples
-%defattr(-,root,root)
-%{_bindir}/dpdk_example_*
-%doc %{sdkdir}/examples
-%endif
-
-%changelog
diff --git a/dpdk.changes b/dpdk.changes
index ab1dd38..8ddee03 100644
--- a/dpdk.changes
+++ b/dpdk.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Mon Sep 30 10:04:59 UTC 2019 -
+
+- Changed to multibuild (bsc#1151455).
+- Added dpdk-fix-implicit-fallthrough-warning.patch to address build error with
+ recent kernels (bsc#1144704).
+
-------------------------------------------------------------------
Mon Jun 17 17:14:01 CEST 2019 - ndas@suse.de
diff --git a/dpdk.spec b/dpdk.spec
index 0b23358..d4d4cbc 100644
--- a/dpdk.spec
+++ b/dpdk.spec
@@ -17,6 +17,20 @@
# needssslcertforbuild
+%define flavor @BUILD_FLAVOR@%{nil}
+
+%define aarch64_machine2 armv8a
+%define exclusive_arch aarch64 x86_64 ppc64le
+%define name_tag %{nil}
+%define summary_tag %{nil}
+
+%if "%flavor" == "thunderx"
+%define name_tag -thunderx
+%define summary_tag thunderx
+%define aarch64_machine2 thunderx
+%define exclusive_arch aarch64
+%endif
+
%define machine native
%define machine2 default
%ifarch x86_64
@@ -24,7 +38,7 @@
%define target x86_64-%{machine}-linuxapp-gcc
%endif
%ifarch aarch64
-%define machine2 armv8a
+%define machine2 %aarch64_machine2
%define target arm64-%{machine2}-linuxapp-gcc
%endif
%ifarch ppc64le
@@ -43,7 +57,7 @@
%define min 11
%define lname libdpdk-%{maj}_%{min}
-Name: dpdk
+Name: dpdk%{name_tag}
Version: 18.11.2
Release: 0
Summary: Set of libraries and drivers for fast packet processing
@@ -52,6 +66,7 @@ Group: System/Libraries
Url: http://dpdk.org
Source: http://fast.dpdk.org/rel/dpdk-%{version}.tar.xz
Source1: preamble
+Patch: dpdk-fix-implicit-fallthrough-warning.patch
Patch1: 0002-fix-cpu-compatibility.patch
BuildRequires: doxygen
BuildRequires: fdupes
@@ -64,7 +79,7 @@ BuildRequires: pesign-obs-integration
BuildRequires: rdma-core-devel
%endif
BuildRequires: zlib-devel
-ExclusiveArch: aarch64 x86_64 ppc64le
+ExclusiveArch: %exclusive_arch
Provides: dpdk-any = %{version}
Conflicts: otherproviders(dpdk-any)
@@ -73,7 +88,7 @@ The Data Plane Development Kit is a set of libraries and drivers for
fast packet processing in the user space.
%package devel
-Summary: Data Plane Development Kit development files
+Summary: Data Plane Development Kit development files %{summary_tag}
Group: Development/Libraries/C and C++
Requires: %{lname} = %{version}
Provides: dpdk-any-devel = %{version}
@@ -84,7 +99,7 @@ This package contains the headers and other files needed for developing
applications with the Data Plane Development Kit.
%package -n %{lname}
-Summary: Data Plane Development Kit runtime libraries
+Summary: Data Plane Development Kit runtime libraries %{summary_tag}
Group: Development/Libraries/C and C++
Provides: %{lname}-any = %{version}
@@ -93,7 +108,7 @@ This package contains the runtime libraries needed for 3rd party application
to use the Data Plane Development Kit.
%package doc
-Summary: Data Plane Development Kit API documentation
+Summary: Data Plane Development Kit API documentation %{summary_tag}
Group: System/Libraries
BuildArch: noarch
Provides: dpdk-any-doc = %{version}
@@ -104,7 +119,7 @@ API programming documentation for the Data Plane Development Kit.
%if %{with tools}
%package tools
-Summary: Tools for setting up Data Plane Development Kit environment
+Summary: Tools for setting up Data Plane Development Kit environment %{summary_tag}
Group: System/Libraries
Requires: %{name} = %{version}
Requires: findutils
@@ -120,7 +135,7 @@ This package contains tools for setting up Data Plane Development Kit environmen
%if %{with examples}
%package examples
-Summary: Data Plane Development Kit example applications
+Summary: Data Plane Development Kit example applications %{summary_tag}
Group: System/Libraries
BuildRequires: libvirt-devel
Provides: dpdk-any-examples = %{version}
@@ -132,7 +147,7 @@ as L2 and L3 forwarding.
%endif
%package kmp
-Summary: DPDK KNI kernel module
+Summary: DPDK KNI kernel module %{summary_tag}
Group: System/Kernel
BuildRequires: %{kernel_module_package_buildreqs}
Conflicts: otherproviders(dpdk-any-kmp)
@@ -149,6 +164,7 @@ The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the
%prep
# can't use %{name} because of dpdk-thunderx
%setup -q -n dpdk-stable-%{version}
+%patch -p1
%patch1 -p1 -z .init
# This fixes CROSS compilation (broken) in the mk file for ThunderX
diff --git a/pre_checkin.sh b/pre_checkin.sh
deleted file mode 100644
index 8694d28..0000000
--- a/pre_checkin.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# Start fresh
-for f in spec changes; do
- cp dpdk.$f dpdk-thunderx.$f || exit 1
-done
-
-#
-#- Add comment about generated file
-#- Fix {,sub-}package name, description, summary
-#- Enable the dpdk conditional build
-sed -i -e "/^Name:.*dpdk$/i \
-# Do NOT edit this auto generated file! Edit dpdk.spec instead\n\
-# and run 'pre_checkin.sh' before committing" \
--e "/^#\s*spec file/s/dpdk$/&-thunderx/" \
--e "/^Name:/s/dpdk/&-thunderx/g" \
--e "/^Summary:/s/^.*$/&\ \(thunderx\)/g" \
--e "/^%define machine2 armv8a/s/armv8a/thunderx/g" \
--e "/ExclusiveArch/c\ExclusiveArch: aarch64" \
-dpdk-thunderx.spec || exit 1