Accepting request 522138 from network

- 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]
- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version
- Split libs into a subpackage to provide multiple installable versions on same sytem
- 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]
- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version
- Split libs into a subpackage to provide multiple installable versions on same sytem

OBS-URL: https://build.opensuse.org/request/show/522138
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dpdk?expand=0&rev=19
This commit is contained in:
Dominique Leuenberger 2017-09-13 20:30:16 +00:00 committed by Git OBS Bridge
commit 723bdd9601
14 changed files with 275 additions and 351 deletions

View File

@ -1,33 +0,0 @@
From e6b63f9d941c8b27c4c1cbeab2c7cdbefb7747ba Mon Sep 17 00:00:00 2001
From: Nirmoy Das <ndas@suse.de>
Date: Fri, 31 Mar 2017 11:40:42 +0200
Subject: [PATCH] kni: define HAVE_VF_VLAN_PROTO for SLES12SP3
Add support for SLES12SP3, which uses kernel 4.4,
but backported features from newer kernels.
Signed-off-by: Nirmoy Das <ndas@suse.de>
---
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 84826b26e..3d22d8e69 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -3929,8 +3929,10 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
#define vlan_tx_tag_present skb_vlan_tag_present
#endif
-#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0) )
+#if (( LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0) ) \
+ || (defined(CONFIG_SUSE_KERNEL) && \
+ (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,59))))
#define HAVE_VF_VLAN_PROTO
-#endif /* >= 4.9.0 */
+#endif /* >= 4.9.0, >= SLES12SP3 */
#endif /* _KCOMPAT_H_ */
--
2.12.0

View File

@ -0,0 +1,71 @@
From d2749a174306f7ddb4259bdeb561761ddff7ca7d Mon Sep 17 00:00:00 2001
From: Nirmoy Das <ndas@suse.de>
Date: Tue, 29 Aug 2017 16:48:35 +0200
Subject: [PATCH v2] kni: fix build on SLE12 SP3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
compilation error:
build/lib/librte_eal/linuxapp/kni/kni_net.c:215:5: error:
struct net_device has no member named trans_start
dev->trans_start = jiffies;
Signed-off-by: Nirmoy Das <ndas@suse.de>
---
lib/librte_eal/linuxapp/kni/compat.h | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h
index 6a1587b4e..19f8e96ce 100644
--- a/lib/librte_eal/linuxapp/kni/compat.h
+++ b/lib/librte_eal/linuxapp/kni/compat.h
@@ -8,6 +8,34 @@
#define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b))
#endif
+/* SuSE version macro is the same as Linux kernel version */
+#ifndef SLE_VERSION
+#define SLE_VERSION(a, b, c) KERNEL_VERSION(a, b, c)
+#endif
+#ifdef CONFIG_SUSE_KERNEL
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 57))
+/* SLES12SP3 is at least 4.4.57+ based */
+#define SLE_VERSION_CODE SLE_VERSION(12, 3, 0)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 12, 28))
+/* SLES12 is at least 3.12.28+ based */
+#define SLE_VERSION_CODE SLE_VERSION(12, 0, 0)
+#elif ((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 61)) && \
+ (LINUX_VERSION_CODE < KERNEL_VERSION(3, 1, 0)))
+/* SLES11 SP3 is at least 3.0.61+ based */
+#define SLE_VERSION_CODE SLE_VERSION(11, 3, 0)
+#elif (LINUX_VERSION_CODE == KERNEL_VERSION(2, 6, 32))
+/* SLES11 SP1 is 2.6.32 based */
+#define SLE_VERSION_CODE SLE_VERSION(11, 1, 0)
+#elif (LINUX_VERSION_CODE == KERNEL_VERSION(2, 6, 27))
+/* SLES11 GA is 2.6.27 based */
+#define SLE_VERSION_CODE SLE_VERSION(11, 0, 0)
+#endif /* LINUX_VERSION_CODE == KERNEL_VERSION(x,y,z) */
+#endif /* CONFIG_SUSE_KERNEL */
+#ifndef SLE_VERSION_CODE
+#define SLE_VERSION_CODE 0
+#endif /* SLE_VERSION_CODE */
+
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39) && \
(!(defined(RHEL_RELEASE_CODE) && \
RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6, 4)))
@@ -55,7 +83,9 @@
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || \
(defined(RHEL_RELEASE_CODE) && \
- RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4))
+ RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4)) || \
+ (defined(SLE_VERSION_CODE) && \
+ SLE_VERSION_CODE == SLE_VERSION(12, 3, 0))
#define HAVE_TRANS_START_HELPER
#endif
--
2.13.3

View File

@ -1,31 +0,0 @@
From c284b14663fcaa2ab492496921a1fcb691abe764 Mon Sep 17 00:00:00 2001
From: Nirmoy Das <ndas@suse.de>
Date: Tue, 18 Apr 2017 11:20:48 +0200
Subject: [PATCH] kni: define HAVE_TRANS_START_HELPER for SLES12SP3
Add support for SLES12SP3, which uses kernel 4.4,
but backported features from newer kernels.
Signed-off-by: Nirmoy Das <ndas@suse.de>
---
lib/librte_eal/linuxapp/kni/compat.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h
index 78da08e..f781fd0 100644
--- a/lib/librte_eal/linuxapp/kni/compat.h
+++ b/lib/librte_eal/linuxapp/kni/compat.h
@@ -51,7 +51,9 @@
#define HAVE_SK_ALLOC_KERN_PARAM
#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) \
+ || (defined(CONFIG_SUSE_KERNEL) && \
+ (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,59))))
#define HAVE_TRANS_START_HELPER
#endif
--
2.12.2

View File

@ -1,81 +0,0 @@
From 2d5a4b62ff2d7b79ca937a5c88654deecf4aa986 Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Mon, 20 Mar 2017 19:40:40 +0530
Subject: [PATCH] net/thunderx: sync mailbox definitions with Linux PF driver
- bgx_link_status mbox definition was changed in Linux
commit 1cc702591bae ("net: thunderx: Add ethtool support")
- NIC_MBOX_MSG_RES_BIT related changes were never part of Linux PF driver
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
drivers/net/thunderx/base/nicvf_mbox.c | 7 ++-----
drivers/net/thunderx/base/nicvf_mbox.h | 11 +++--------
2 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/drivers/net/thunderx/base/nicvf_mbox.c b/drivers/net/thunderx/base/nicvf_mbox.c
index 3b7b8a518..8b3477d5f 100644
--- a/drivers/net/thunderx/base/nicvf_mbox.c
+++ b/drivers/net/thunderx/base/nicvf_mbox.c
@@ -62,9 +62,6 @@ static const char *mbox_message[NIC_MBOX_MSG_MAX] = {
[NIC_MBOX_MSG_RESET_STAT_COUNTER] = "NIC_MBOX_MSG_RESET_STAT_COUNTER",
[NIC_MBOX_MSG_CFG_DONE] = "NIC_MBOX_MSG_CFG_DONE",
[NIC_MBOX_MSG_SHUTDOWN] = "NIC_MBOX_MSG_SHUTDOWN",
- [NIC_MBOX_MSG_RES_BIT] = "NIC_MBOX_MSG_RES_BIT",
- [NIC_MBOX_MSG_RSS_SIZE_RES_BIT] = "NIC_MBOX_MSG_RSS_SIZE",
- [NIC_MBOX_MSG_ALLOC_SQS_RES_BIT] = "NIC_MBOX_MSG_ALLOC_SQS",
};
static inline const char * __attribute__((unused))
@@ -176,7 +173,7 @@ nicvf_handle_mbx_intr(struct nicvf *nic)
case NIC_MBOX_MSG_NACK:
nic->pf_nacked = true;
break;
- case NIC_MBOX_MSG_RSS_SIZE_RES_BIT:
+ case NIC_MBOX_MSG_RSS_SIZE:
nic->rss_info.rss_size = mbx.rss_size.ind_tbl_size;
nic->pf_acked = true;
break;
@@ -186,7 +183,7 @@ nicvf_handle_mbx_intr(struct nicvf *nic)
nic->speed = mbx.link_status.speed;
nic->pf_acked = true;
break;
- case NIC_MBOX_MSG_ALLOC_SQS_RES_BIT:
+ case NIC_MBOX_MSG_ALLOC_SQS:
assert_primary(nic);
if (mbx.sqs_alloc.qs_count != nic->sqs_count) {
nicvf_log_error("Received %" PRIu8 "/%" PRIu8
diff --git a/drivers/net/thunderx/base/nicvf_mbox.h b/drivers/net/thunderx/base/nicvf_mbox.h
index 084f3a769..8675fe8fb 100644
--- a/drivers/net/thunderx/base/nicvf_mbox.h
+++ b/drivers/net/thunderx/base/nicvf_mbox.h
@@ -68,16 +68,10 @@
#define NIC_MBOX_MSG_ALLOC_SQS 0x12 /* Allocate secondary Qset */
#define NIC_MBOX_MSG_LOOPBACK 0x16 /* Set interface in loopback */
#define NIC_MBOX_MSG_RESET_STAT_COUNTER 0x17 /* Reset statistics counters */
-#define NIC_MBOX_MSG_CFG_DONE 0x7E /* VF configuration done */
-#define NIC_MBOX_MSG_SHUTDOWN 0x7F /* VF is being shutdown */
-#define NIC_MBOX_MSG_RES_BIT 0x80 /* Reset bit from PF */
+#define NIC_MBOX_MSG_CFG_DONE 0xF0 /* VF configuration done */
+#define NIC_MBOX_MSG_SHUTDOWN 0xF1 /* VF is being shutdown */
#define NIC_MBOX_MSG_MAX 0x100 /* Maximum number of messages */
-#define NIC_MBOX_MSG_RSS_SIZE_RES_BIT \
- (NIC_MBOX_MSG_RSS_SIZE | NIC_MBOX_MSG_RES_BIT)
-#define NIC_MBOX_MSG_ALLOC_SQS_RES_BIT \
- (NIC_MBOX_MSG_ALLOC_SQS | NIC_MBOX_MSG_RES_BIT)
-
/* Get vNIC VF configuration */
struct nic_cfg_msg {
uint8_t msg;
@@ -157,6 +151,7 @@ struct rss_cfg_msg {
/* Physical interface link status */
struct bgx_link_status {
uint8_t msg;
+ uint8_t mac_type;
uint8_t link_up;
uint8_t duplex;
uint32_t speed;
--
2.12.2

View File

@ -1,13 +0,0 @@
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h
index d077b49e9..8667f29ca 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h
@@ -607,7 +607,7 @@ struct igb_adapter {
int int_mode;
u32 rss_queues;
u32 vmdq_pools;
- char fw_version[32];
+ char fw_version[43];
u32 wvbr;
struct igb_mac_addr *mac_table;
#ifdef CONFIG_IGB_VMDQ_NETDEV

View File

@ -1,66 +0,0 @@
From 9fb3cd2c041eeca30b6c46e5d555d857d6096ae7 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Wed, 3 May 2017 17:00:16 +0100
Subject: [PATCH] kni: fix ethtool build with kernel 4.11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
build error:
.../lib/librte_eal/linuxapp/kni/igb_main.c:1034:10:
error: implicit declaration of function pci_enable_msix
err = pci_enable_msix(pdev,
^~~~~~~~~~~~~~~
This build error observed when CONFIG_RTE_KNI_KMOD_ETHTOOL config option
enabled.
Following Linux commit removes the pci_enable_msix()
Linux: 4244de1c64de ("PCI: remove pci_enable_msix")
Switch to pci_enable_msix_range() for kernel > 4.8 since current Linux
igb driver uses this function.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
---
lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 7 +++++++
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 4 ++++
2 files changed, 11 insertions(+)
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
index c0d52db33..5f1f3a6b5 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
@@ -1031,8 +1031,15 @@ static void igb_set_interrupt_capability(struct igb_adapter *adapter, bool msix)
for (i = 0; i < numvecs; i++)
adapter->msix_entries[i].entry = i;
+#ifdef HAVE_PCI_ENABLE_MSIX
err = pci_enable_msix(pdev,
adapter->msix_entries, numvecs);
+#else
+ err = pci_enable_msix_range(pdev,
+ adapter->msix_entries,
+ numvecs,
+ numvecs);
+#endif
if (err == 0)
break;
}
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 4abab4aa3..4c52da3c1 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -3937,4 +3937,8 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
#define HAVE_VF_VLAN_PROTO
#endif /* >= 4.9.0, >= SLES12SP3 */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
+#define HAVE_PCI_ENABLE_MSIX
+#endif
+
#endif /* _KCOMPAT_H_ */
--
2.13.2

View File

@ -1,78 +0,0 @@
From 99bb58f3adc73046b538874a0944578146ee1189 Mon Sep 17 00:00:00 2001
From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Thu, 20 Apr 2017 15:11:23 +0200
Subject: [PATCH] igb_uio: switch to new irq function for MSI-X
pci_enable_msix() will be removed in kernel 4.12.
The new API pci_alloc_irq_vectors() is available
since linux 4.8, thus let's use it.
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aff171641d18
Link: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=4244de1c64de
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Reviewed-by: David Marchand <david.marchand@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
From 62d37a57656607a622a546c88cca5d78b23c4730 Mon Sep 17 00:00:00 2001
From: Nirmoy Das <ndas@suse.de>
Date: Tue, 18 Jul 2017 13:36:25 +0200
Subject: [PATCH] backport upstream patch
---
lib/librte_eal/linuxapp/igb_uio/compat.h | 4 ++++
lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 11 +++++++++++
2 files changed, 15 insertions(+)
diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/lib/librte_eal/linuxapp/igb_uio/compat.h
index 0d781e4..b800a53 100644
--- a/lib/librte_eal/linuxapp/igb_uio/compat.h
+++ b/lib/librte_eal/linuxapp/igb_uio/compat.h
@@ -123,3 +123,7 @@ static bool pci_check_and_mask_intx(struct pci_dev *pdev)
}
#endif /* < 3.3.0 */
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
+#define HAVE_PCI_ENABLE_MSIX
+#endif
diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
index df41e45..683cd8c 100644
--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
@@ -325,7 +325,9 @@ static int
igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
{
struct rte_uio_pci_dev *udev;
+#ifdef HAVE_PCI_ENABLE_MSIX
struct msix_entry msix_entry;
+#endif
int err;
udev = kzalloc(sizeof(struct rte_uio_pci_dev), GFP_KERNEL);
@@ -379,6 +381,7 @@ igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
switch (igbuio_intr_mode_preferred) {
case RTE_INTR_MODE_MSIX:
/* Only 1 msi-x vector needed */
+#ifdef HAVE_PCI_ENABLE_MSIX
msix_entry.entry = 0;
if (pci_enable_msix(dev, &msix_entry, 1) == 0) {
dev_dbg(&dev->dev, "using MSI-X");
@@ -386,6 +389,14 @@ igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
udev->mode = RTE_INTR_MODE_MSIX;
break;
}
+#else
+ if (pci_alloc_irq_vectors(dev, 1, 1, PCI_IRQ_MSIX) == 1) {
+ dev_dbg(&dev->dev, "using MSI-X");
+ udev->info.irq = pci_irq_vector(dev, 0);
+ udev->mode = RTE_INTR_MODE_MSIX;
+ break;
+ }
+#endif
/* fall back to INTX */
case RTE_INTR_MODE_LEGACY:
if (pci_intx_mask_supported(dev)) {
--
2.13.2

View File

@ -11,6 +11,7 @@
<flag>sse</flag> <flag>sse</flag>
<flag>sse2</flag> <flag>sse2</flag>
<flag>sse3</flag> <flag>sse3</flag>
<!-- TODO add SSE4.2 before that need to fix obs, patch on the way -->
</cpu> </cpu>
</hardware> </hardware>
</overwrite> </overwrite>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c8d99a1a074072a6087c3fc2fafa6baf2e64bed08b83935e75e5cf003cefd861
size 9056664

3
dpdk-17.08.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4bd77822ef6fe7a39ab8b11b36b86ba511282ac5ffdb81459eebb42bec5b7ef8
size 10156500

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
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 Tue Jul 18 11:26:36 CEST 2017 - ndas@suse.de

View File

@ -40,10 +40,13 @@
%bcond_without examples %bcond_without examples
# Add option to build without tools # Add option to build without tools
%bcond_without tools %bcond_without tools
%define lname libdpdk-17_08-0
# Do NOT edit this auto generated file! Edit dpdk.spec instead # Do NOT edit this auto generated file! Edit dpdk.spec instead
# and run 'pre_checkin.sh' before committing # and run 'pre_checkin.sh' before committing
Name: dpdk-thunderx Name: dpdk-thunderx
Version: 16.11.2 Version: 17.08
Release: 0 Release: 0
Summary: Set of libraries and drivers for fast packet processing (thunderx) Summary: Set of libraries and drivers for fast packet processing (thunderx)
License: BSD-3-Clause and GPL-2.0 and LGPL-2.1 License: BSD-3-Clause and GPL-2.0 and LGPL-2.1
@ -58,14 +61,8 @@ Source1: preamble
# However, the problem still exists and the fix has to find its way to the # However, the problem still exists and the fix has to find its way to the
# upstream code. # upstream code.
Patch1: 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch Patch1: 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch
Patch2: 0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch # PATCH-FIX-UPSTREAM 0002-kni-fix-build-on-SLE12-SP3.patch bsc#1031705
Patch3: 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch Patch2: 0002-kni-fix-build-on-SLE12-SP3.patch
Patch4: 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch
#PATCH-FIX-UPSTREAM 0005-kni-fix-build-with-gcc-7.1.patch bsc#1042372
Patch5: 0005-kni-fix-build-with-gcc-7.1.patch
#PATCH-FIX-UPSTREAM 0006-kni-fix-ethtool-build-with-kernel-4.11.patch
Patch6: 0006-kni-fix-ethtool-build-with-kernel-4.11.patch
Patch7: 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
@ -83,7 +80,7 @@ fast packet processing in the user space.
%package devel %package devel
Summary: Data Plane Development Kit development files (thunderx) Summary: Data Plane Development Kit development files (thunderx)
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{name} = %{version} Requires: %{lname} = %{version}
Provides: dpdk-any-devel = %{version} Provides: dpdk-any-devel = %{version}
Conflicts: otherproviders(dpdk-any-devel) Conflicts: otherproviders(dpdk-any-devel)
@ -91,6 +88,15 @@ Conflicts: otherproviders(dpdk-any-devel)
This package contains the headers and other files needed for developing This package contains the headers and other files needed for developing
applications with the Data Plane Development Kit. 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 %package doc
Summary: Data Plane Development Kit API documentation (thunderx) Summary: Data Plane Development Kit API documentation (thunderx)
Group: System/Libraries Group: System/Libraries
@ -149,14 +155,9 @@ The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the
%prep %prep
# can't use %{name} because of dpdk-thunderx # can't use %{name} because of dpdk-thunderx
%setup -q -n dpdk-stable-%{version} %setup -q -n dpdk-%{version}
%patch1 -p1 -z .enic %patch1 -p1 -z .enic
%patch2 -p1 -z .kni1 %patch2 -p1 -z .kni
%patch3 -p1 -z .kni2
%patch4 -p1 -z .thunderx
%patch5 -p1 -z .kni3
%patch6 -p1 -z .kni4
%patch7 -p1 -z .igb1
# This fixes CROSS compilation (broken) in the mk file for ThunderX # This fixes CROSS compilation (broken) in the mk file for ThunderX
sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk
@ -177,6 +178,9 @@ function setdefaultconf()
# Disable experimental features # Disable experimental features
setconf CONFIG_RTE_NEXT_ABI n $1 setconf CONFIG_RTE_NEXT_ABI n $1
# SONAME equals to DPDK release version
setconf CONFIG_RTE_MAJOR_ABI %{version} $1
# Enable automatic driver loading from this path # Enable automatic driver loading from this path
setconf CONFIG_RTE_EAL_PMD_PATH '"%{pmddir}"' $1 setconf CONFIG_RTE_EAL_PMD_PATH '"%{pmddir}"' $1
@ -262,10 +266,10 @@ unset RTE_SDK RTE_INCLUDE RTE_TARGET
%make_install O=%{target} prefix=%{_usr} libdir=%{_libdir} %make_install O=%{target} prefix=%{_usr} libdir=%{_libdir}
%if ! %{with tools} %if ! %{with tools}
rm -rf %{buildroot}%{sdkdir}/tools rm -rf %{buildroot}%{sdkdir}/usertools/
rm -rf %{buildroot}%{_sbindir}/dpdk_nic_bind rm -rf %{buildroot}%{_sbindir}/dpdk_nic_bind
%endif %endif
rm -f %{buildroot}%{sdkdir}/tools/setup.sh rm -f %{buildroot}%{sdkdir}/usertools/setup.sh
#TODO pip elftools has issues to fix #TODO pip elftools has issues to fix
rm -rf %{buildroot}%{_bindir}/dpdk-pmdinfo rm -rf %{buildroot}%{_bindir}/dpdk-pmdinfo
@ -283,6 +287,13 @@ for f in %{buildroot}/%{_libdir}/*_pmd_*.so.*; do
bn=$(basename ${f}) bn=$(basename ${f})
ln -s ../${bn} %{buildroot}%{pmddir}/${bn} ln -s ../${bn} %{buildroot}%{pmddir}/${bn}
done 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 # Setup RTE_SDK environment as expected by apps etc
mkdir -p %{buildroot}/%{_sysconfdir}/profile.d mkdir -p %{buildroot}/%{_sysconfdir}/profile.d
cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.sh cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.sh
@ -316,8 +327,8 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind
%post devel -p /sbin/ldconfig %post devel -p /sbin/ldconfig
%postun devel -p /sbin/ldconfig %postun devel -p /sbin/ldconfig
%post -p /sbin/ldconfig %post -n %{lname} -p /sbin/ldconfig
%postun -p /sbin/ldconfig %postun -n %{lname} -p /sbin/ldconfig
%files %files
%defattr(-,root,root) %defattr(-,root,root)
@ -327,6 +338,8 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind
%{_bindir}/dpdk_proc_info %{_bindir}/dpdk_proc_info
%{_bindir}/dpdk-pdump %{_bindir}/dpdk-pdump
%files -n %{lname}
%defattr(-,root,root)
%if %{with shared} %if %{with shared}
%dir %{_libdir}/dpdk-pmds %dir %{_libdir}/dpdk-pmds
@ -346,7 +359,7 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind
%{incdir}/ %{incdir}/
%{sdkdir} %{sdkdir}
%if %{with tools} %if %{with tools}
%exclude %{sdkdir}/tools/ %exclude %{sdkdir}/usertools/
%endif %endif
%if %{with examples} %if %{with examples}
%exclude %{sdkdir}/examples/ %exclude %{sdkdir}/examples/
@ -361,9 +374,11 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind
%if %{with tools} %if %{with tools}
%files tools %files tools
%defattr(-,root,root) %defattr(-,root,root)
%{sdkdir}/tools/ %{sdkdir}/usertools/
%{_sbindir}/dpdk-devbind %{_sbindir}/dpdk-devbind
%{_sbindir}/dpdk_nic_bind %{_sbindir}/dpdk_nic_bind
%{_bindir}/dpdk-test-eventdev
%{_bindir}/dpdk-test-crypto-perf
%endif %endif
%if %{with examples} %if %{with examples}

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
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 Tue Jul 18 11:26:36 CEST 2017 - ndas@suse.de

View File

@ -40,8 +40,11 @@
%bcond_without examples %bcond_without examples
# Add option to build without tools # Add option to build without tools
%bcond_without tools %bcond_without tools
%define lname libdpdk-17_08-0
Name: dpdk Name: dpdk
Version: 16.11.2 Version: 17.08
Release: 0 Release: 0
Summary: Set of libraries and drivers for fast packet processing Summary: Set of libraries and drivers for fast packet processing
License: BSD-3-Clause and GPL-2.0 and LGPL-2.1 License: BSD-3-Clause and GPL-2.0 and LGPL-2.1
@ -56,14 +59,8 @@ Source1: preamble
# However, the problem still exists and the fix has to find its way to the # However, the problem still exists and the fix has to find its way to the
# upstream code. # upstream code.
Patch1: 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch Patch1: 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch
Patch2: 0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch # PATCH-FIX-UPSTREAM 0002-kni-fix-build-on-SLE12-SP3.patch bsc#1031705
Patch3: 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch Patch2: 0002-kni-fix-build-on-SLE12-SP3.patch
Patch4: 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch
#PATCH-FIX-UPSTREAM 0005-kni-fix-build-with-gcc-7.1.patch bsc#1042372
Patch5: 0005-kni-fix-build-with-gcc-7.1.patch
#PATCH-FIX-UPSTREAM 0006-kni-fix-ethtool-build-with-kernel-4.11.patch
Patch6: 0006-kni-fix-ethtool-build-with-kernel-4.11.patch
Patch7: 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
@ -81,7 +78,7 @@ fast packet processing in the user space.
%package devel %package devel
Summary: Data Plane Development Kit development files Summary: Data Plane Development Kit development files
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{name} = %{version} Requires: %{lname} = %{version}
Provides: dpdk-any-devel = %{version} Provides: dpdk-any-devel = %{version}
Conflicts: otherproviders(dpdk-any-devel) Conflicts: otherproviders(dpdk-any-devel)
@ -89,6 +86,15 @@ Conflicts: otherproviders(dpdk-any-devel)
This package contains the headers and other files needed for developing This package contains the headers and other files needed for developing
applications with the Data Plane Development Kit. applications with the Data Plane Development Kit.
%package -n %{lname}
Summary: Data Plane Development Kit runtime libraries
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 %package doc
Summary: Data Plane Development Kit API documentation Summary: Data Plane Development Kit API documentation
Group: System/Libraries Group: System/Libraries
@ -147,14 +153,9 @@ The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the
%prep %prep
# can't use %{name} because of dpdk-thunderx # can't use %{name} because of dpdk-thunderx
%setup -q -n dpdk-stable-%{version} %setup -q -n dpdk-%{version}
%patch1 -p1 -z .enic %patch1 -p1 -z .enic
%patch2 -p1 -z .kni1 %patch2 -p1 -z .kni
%patch3 -p1 -z .kni2
%patch4 -p1 -z .thunderx
%patch5 -p1 -z .kni3
%patch6 -p1 -z .kni4
%patch7 -p1 -z .igb1
# This fixes CROSS compilation (broken) in the mk file for ThunderX # This fixes CROSS compilation (broken) in the mk file for ThunderX
sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk
@ -175,6 +176,9 @@ function setdefaultconf()
# Disable experimental features # Disable experimental features
setconf CONFIG_RTE_NEXT_ABI n $1 setconf CONFIG_RTE_NEXT_ABI n $1
# SONAME equals to DPDK release version
setconf CONFIG_RTE_MAJOR_ABI %{version} $1
# Enable automatic driver loading from this path # Enable automatic driver loading from this path
setconf CONFIG_RTE_EAL_PMD_PATH '"%{pmddir}"' $1 setconf CONFIG_RTE_EAL_PMD_PATH '"%{pmddir}"' $1
@ -260,10 +264,10 @@ unset RTE_SDK RTE_INCLUDE RTE_TARGET
%make_install O=%{target} prefix=%{_usr} libdir=%{_libdir} %make_install O=%{target} prefix=%{_usr} libdir=%{_libdir}
%if ! %{with tools} %if ! %{with tools}
rm -rf %{buildroot}%{sdkdir}/tools rm -rf %{buildroot}%{sdkdir}/usertools/
rm -rf %{buildroot}%{_sbindir}/dpdk_nic_bind rm -rf %{buildroot}%{_sbindir}/dpdk_nic_bind
%endif %endif
rm -f %{buildroot}%{sdkdir}/tools/setup.sh rm -f %{buildroot}%{sdkdir}/usertools/setup.sh
#TODO pip elftools has issues to fix #TODO pip elftools has issues to fix
rm -rf %{buildroot}%{_bindir}/dpdk-pmdinfo rm -rf %{buildroot}%{_bindir}/dpdk-pmdinfo
@ -281,6 +285,13 @@ for f in %{buildroot}/%{_libdir}/*_pmd_*.so.*; do
bn=$(basename ${f}) bn=$(basename ${f})
ln -s ../${bn} %{buildroot}%{pmddir}/${bn} ln -s ../${bn} %{buildroot}%{pmddir}/${bn}
done 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 # Setup RTE_SDK environment as expected by apps etc
mkdir -p %{buildroot}/%{_sysconfdir}/profile.d mkdir -p %{buildroot}/%{_sysconfdir}/profile.d
cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.sh cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.sh
@ -314,8 +325,8 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind
%post devel -p /sbin/ldconfig %post devel -p /sbin/ldconfig
%postun devel -p /sbin/ldconfig %postun devel -p /sbin/ldconfig
%post -p /sbin/ldconfig %post -n %{lname} -p /sbin/ldconfig
%postun -p /sbin/ldconfig %postun -n %{lname} -p /sbin/ldconfig
%files %files
%defattr(-,root,root) %defattr(-,root,root)
@ -325,6 +336,8 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind
%{_bindir}/dpdk_proc_info %{_bindir}/dpdk_proc_info
%{_bindir}/dpdk-pdump %{_bindir}/dpdk-pdump
%files -n %{lname}
%defattr(-,root,root)
%if %{with shared} %if %{with shared}
%dir %{_libdir}/dpdk-pmds %dir %{_libdir}/dpdk-pmds
@ -344,7 +357,7 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind
%{incdir}/ %{incdir}/
%{sdkdir} %{sdkdir}
%if %{with tools} %if %{with tools}
%exclude %{sdkdir}/tools/ %exclude %{sdkdir}/usertools/
%endif %endif
%if %{with examples} %if %{with examples}
%exclude %{sdkdir}/examples/ %exclude %{sdkdir}/examples/
@ -359,9 +372,11 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind
%if %{with tools} %if %{with tools}
%files tools %files tools
%defattr(-,root,root) %defattr(-,root,root)
%{sdkdir}/tools/ %{sdkdir}/usertools/
%{_sbindir}/dpdk-devbind %{_sbindir}/dpdk-devbind
%{_sbindir}/dpdk_nic_bind %{_sbindir}/dpdk_nic_bind
%{_bindir}/dpdk-test-eventdev
%{_bindir}/dpdk-test-crypto-perf
%endif %endif
%if %{with examples} %if %{with examples}