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