Several changes to better comply with packaging guidelines...

- Use EXTRA_CFLAGS to include standard Fedora compiler flags in build
- Set CONFIG_RTE_MACHINE=default to build for least-common-denominator machines
- Turn-off build of librte_acl, since it does not build on default machines
- Turn-off build of physical device PMDs that require kernel support
- Clean-up the install rules to match current packaging
- Correct changelog versions 1.0.7 -> 1.7.0
- Remove ix86 from ExclusiveArch -- it does not build with above changes
This commit is contained in:
John W. Linville 2014-07-21 10:02:31 -04:00
parent ec5bc3b8bf
commit fe6107da05
7 changed files with 133 additions and 641 deletions

View File

@ -1,412 +0,0 @@
# BSD LICENSE
#
# Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Intel Corporation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# define executive environment
#
# CONFIG_RTE_EXEC_ENV can be linuxapp, baremetal, bsdapp
#
CONFIG_RTE_EXEC_ENV="linuxapp"
CONFIG_RTE_EXEC_ENV_LINUXAPP=y
##
## machine can define specific variables or action for a specific board
## RTE_MACHINE can be:
## default nothing specific
## native current machine
## atm Intel® Atom™ microarchitecture
## nhm Intel® microarchitecture code name Nehalem
## wsm Intel® microarchitecture code name Westmere
## snb Intel® microarchitecture code name Sandy Bridge
## ivb Intel® microarchitecture code name Ivy Bridge
##
## Note: if your compiler does not support the relevant -march options,
## it will be compiled with whatever latest processor the compiler supports!
##
#CONFIG_RTE_MACHINE="native"
#
##
## define the architecture we compile for.
## CONFIG_RTE_ARCH can be i686, x86_64, x86_64_32
##
#CONFIG_RTE_ARCH="x86_64"
#CONFIG_RTE_ARCH_X86_64=y
#
##
## The compiler we use.
## Can be gcc or icc.
##
#CONFIG_RTE_TOOLCHAIN="gcc"
#CONFIG_RTE_TOOLCHAIN_GCC=y
#
# Use intrinsics or assembly code for key routines
#
CONFIG_RTE_FORCE_INTRINSICS=n
#
# Compile to share library
#
CONFIG_RTE_BUILD_SHARED_LIB=y
#
# Combine to one single library
#
CONFIG_RTE_BUILD_COMBINE_LIBS=n
CONFIG_RTE_LIBNAME="intel_dpdk"
#
# Compile libc directory
#
CONFIG_RTE_LIBC=n
#
# Compile newlib as libc from source
#
CONFIG_RTE_LIBC_NEWLIB_SRC=n
#
# Use binary newlib
#
CONFIG_RTE_LIBC_NEWLIB_BIN=n
#
# Use binary newlib
#
CONFIG_RTE_LIBC_NETINCS=n
#
# Compile libgloss (newlib-stubs)
#
CONFIG_RTE_LIBGLOSS=n
#
# Compile Environment Abstraction Layer
#
CONFIG_RTE_LIBRTE_EAL=y
CONFIG_RTE_MAX_LCORE=64
CONFIG_RTE_MAX_NUMA_NODES=8
CONFIG_RTE_MAX_MEMSEG=256
CONFIG_RTE_MAX_MEMZONE=2560
CONFIG_RTE_MAX_TAILQ=32
CONFIG_RTE_LOG_LEVEL=8
CONFIG_RTE_LOG_HISTORY=256
CONFIG_RTE_LIBEAL_USE_HPET=n
CONFIG_RTE_EAL_ALLOW_INV_SOCKET_ID=n
CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
CONFIG_RTE_EAL_IGB_UIO=n
CONFIG_RTE_EAL_VFIO=y
#
# Special configurations in PCI Config Space for high performance
#
CONFIG_RTE_PCI_CONFIG=n
CONFIG_RTE_PCI_EXTENDED_TAG=""
CONFIG_RTE_PCI_MAX_READ_REQUEST_SIZE=0
#
# Compile Environment Abstraction Layer for linux
#
CONFIG_RTE_LIBRTE_EAL_LINUXAPP=y
#
# Compile Environment Abstraction Layer for Bare metal
#
CONFIG_RTE_LIBRTE_EAL_BAREMETAL=n
#
# Compile Environment Abstraction Layer to support Vmware TSC map
#
CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=y
#
# Compile the argument parser library
#
CONFIG_RTE_LIBRTE_KVARGS=y
#
# Compile generic ethernet library
#
CONFIG_RTE_LIBRTE_ETHER=y
CONFIG_RTE_LIBRTE_ETHDEV_DEBUG=n
CONFIG_RTE_MAX_ETHPORTS=32
CONFIG_RTE_LIBRTE_IEEE1588=n
CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=16
#
# Support NIC bypass logic
#
CONFIG_RTE_NIC_BYPASS=n
#
# Compile burst-oriented IGB & EM PMD drivers
#
CONFIG_RTE_LIBRTE_EM_PMD=y
CONFIG_RTE_LIBRTE_IGB_PMD=y
CONFIG_RTE_LIBRTE_E1000_DEBUG_INIT=n
CONFIG_RTE_LIBRTE_E1000_DEBUG_RX=n
CONFIG_RTE_LIBRTE_E1000_DEBUG_TX=n
CONFIG_RTE_LIBRTE_E1000_DEBUG_TX_FREE=n
CONFIG_RTE_LIBRTE_E1000_DEBUG_DRIVER=n
CONFIG_RTE_LIBRTE_E1000_PF_DISABLE_STRIP_CRC=n
#
# Compile burst-oriented IXGBE PMD driver
#
CONFIG_RTE_LIBRTE_IXGBE_PMD=y
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_INIT=n
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_RX=n
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX=n
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX_FREE=n
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_DRIVER=n
CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=n
CONFIG_RTE_LIBRTE_IXGBE_RX_ALLOW_BULK_ALLOC=y
CONFIG_RTE_LIBRTE_IXGBE_ALLOW_UNSUPPORTED_SFP=n
CONFIG_RTE_IXGBE_INC_VECTOR=y
CONFIG_RTE_IXGBE_RX_OLFLAGS_ENABLE=y
#
# Compile burst-oriented I40E PMD driver
#
CONFIG_RTE_LIBRTE_I40E_PMD=y
CONFIG_RTE_LIBRTE_I40E_DEBUG_INIT=n
CONFIG_RTE_LIBRTE_I40E_DEBUG_RX=n
CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=n
CONFIG_RTE_LIBRTE_I40E_DEBUG_TX_FREE=n
CONFIG_RTE_LIBRTE_I40E_DEBUG_DRIVER=n
CONFIG_RTE_LIBRTE_I40E_PF_DISABLE_STRIP_CRC=n
CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC=y
CONFIG_RTE_LIBRTE_I40E_ALLOW_UNSUPPORTED_SFP=n
CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF=4
# interval up to 8160 us, aligned to 2 (or default value)
CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL=-1
#
# Compile burst-oriented VIRTIO PMD driver
#
CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_INIT=n
CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_RX=n
CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_TX=n
CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DRIVER=n
CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP=n
#
# Compile burst-oriented VMXNET3 PMD driver
#
CONFIG_RTE_LIBRTE_VMXNET3_PMD=y
CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_INIT=n
CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_RX=n
CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX=n
CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX_FREE=n
CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_DRIVER=n
#
# Compile example software rings based PMD
#
CONFIG_RTE_LIBRTE_PMD_RING=y
CONFIG_RTE_PMD_RING_MAX_RX_RINGS=16
CONFIG_RTE_PMD_RING_MAX_TX_RINGS=16
#
# Compile software PMD backed by PCAP files
#
CONFIG_RTE_LIBRTE_PMD_PCAP=y
#
# Compile link bonding PMD library
#
CONFIG_RTE_LIBRTE_PMD_BOND=y
#
# Compile Xen PMD
#
CONFIG_RTE_LIBRTE_PMD_XENVIRT=n
#
# Do prefetch of packet data within PMD driver receive function
#
CONFIG_RTE_PMD_PACKET_PREFETCH=y
#
# Compile librte_ring
#
CONFIG_RTE_LIBRTE_RING=y
CONFIG_RTE_LIBRTE_RING_DEBUG=n
CONFIG_RTE_RING_SPLIT_PROD_CONS=n
#
# Compile librte_mempool
#
CONFIG_RTE_LIBRTE_MEMPOOL=y
CONFIG_RTE_MEMPOOL_CACHE_MAX_SIZE=512
CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG=n
#
# Compile librte_mbuf
#
CONFIG_RTE_LIBRTE_MBUF=y
CONFIG_RTE_LIBRTE_MBUF_DEBUG=n
CONFIG_RTE_MBUF_SCATTER_GATHER=y
CONFIG_RTE_MBUF_REFCNT_ATOMIC=y
CONFIG_RTE_PKTMBUF_HEADROOM=128
#
# Compile librte_timer
#
CONFIG_RTE_LIBRTE_TIMER=y
CONFIG_RTE_LIBRTE_TIMER_DEBUG=n
#
# Compile librte_malloc
#
CONFIG_RTE_LIBRTE_MALLOC=y
CONFIG_RTE_LIBRTE_MALLOC_DEBUG=n
CONFIG_RTE_MALLOC_MEMZONE_SIZE=11M
#
# Compile librte_cfgfile
#
CONFIG_RTE_LIBRTE_CFGFILE=y
#
# Compile librte_cmdline
#
CONFIG_RTE_LIBRTE_CMDLINE=y
CONFIG_RTE_LIBRTE_CMDLINE_DEBUG=n
#
# Compile librte_hash
#
CONFIG_RTE_LIBRTE_HASH=y
CONFIG_RTE_LIBRTE_HASH_DEBUG=n
#
# Compile librte_lpm
#
CONFIG_RTE_LIBRTE_LPM=y
CONFIG_RTE_LIBRTE_LPM_DEBUG=n
#
# Compile librte_acl
#
CONFIG_RTE_LIBRTE_ACL=y
CONFIG_RTE_LIBRTE_ACL_DEBUG=n
CONFIG_RTE_LIBRTE_ACL_STANDALONE=n
#
# Compile librte_power
#
CONFIG_RTE_LIBRTE_POWER=y
CONFIG_RTE_LIBRTE_POWER_DEBUG=n
CONFIG_RTE_MAX_LCORE_FREQS=64
#
# Compile librte_net
#
CONFIG_RTE_LIBRTE_NET=y
#
# Compile librte_ip_frag
#
CONFIG_RTE_LIBRTE_IP_FRAG=y
CONFIG_RTE_LIBRTE_IP_FRAG_DEBUG=n
CONFIG_RTE_LIBRTE_IP_FRAG_MAX_FRAG=4
CONFIG_RTE_LIBRTE_IP_FRAG_TBL_STAT=n
#
# Compile librte_meter
#
CONFIG_RTE_LIBRTE_METER=y
#
# Compile librte_sched
#
CONFIG_RTE_LIBRTE_SCHED=y
CONFIG_RTE_SCHED_RED=n
CONFIG_RTE_SCHED_COLLECT_STATS=n
CONFIG_RTE_SCHED_SUBPORT_TC_OV=n
CONFIG_RTE_SCHED_PORT_N_GRINDERS=8
#
# Compile the distributor library
#
CONFIG_RTE_LIBRTE_DISTRIBUTOR=y
#
# Compile librte_port
#
CONFIG_RTE_LIBRTE_PORT=y
#
# Compile librte_table
#
CONFIG_RTE_LIBRTE_TABLE=y
#
# Compile librte_pipeline
#
CONFIG_RTE_LIBRTE_PIPELINE=y
#
# Compile librte_kni
#
CONFIG_RTE_LIBRTE_KNI=n
CONFIG_RTE_KNI_KO_DEBUG=n
CONFIG_RTE_KNI_VHOST=n
CONFIG_RTE_KNI_VHOST_MAX_CACHE_SIZE=1024
CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=n
CONFIG_RTE_KNI_VHOST_DEBUG_RX=n
CONFIG_RTE_KNI_VHOST_DEBUG_TX=n
#
#Compile Xen domain0 support
#
CONFIG_RTE_LIBRTE_XEN_DOM0=n
#
# Enable warning directives
#
CONFIG_RTE_INSECURE_FUNCTION_WARNING=n
#
# Compile the test application
#
CONFIG_RTE_APP_TEST=y
#
# Compile the PMD test application
#
CONFIG_RTE_TEST_PMD=y
CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES=n
CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=n

View File

@ -1,73 +0,0 @@
# BSD LICENSE
#
# Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Intel Corporation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#include "common_linuxapp"
#
# machine can define specific variables or action for a specific board
# RTE_MACHINE can be:
# default nothing specific
# native current machine
# atm Intel® Atom™ microarchitecture
# nhm Intel® microarchitecture code name Nehalem
# wsm Intel® microarchitecture code name Westmere
# snb Intel® microarchitecture code name Sandy Bridge
# ivb Intel® microarchitecture code name Ivy Bridge
#
# Note: if your compiler does not support the relevant -march options,
# it will be compiled with whatever latest processor the compiler supports!
#
CONFIG_RTE_MACHINE="native"
#
# define the architecture we compile for.
# CONFIG_RTE_ARCH can be i686, x86_64, x86_64_32
#
CONFIG_RTE_ARCH="i686"
CONFIG_RTE_ARCH_I686=y
#
# The compiler we use.
# Can be gcc or icc.
#
CONFIG_RTE_TOOLCHAIN="gcc"
CONFIG_RTE_TOOLCHAIN_GCC=y
#
# KNI is not supported on 32-bit
#
CONFIG_RTE_LIBRTE_KNI=n
#
# Vectorized PMD is not supported on 32-bit
#
CONFIG_RTE_IXGBE_INC_VECTOR=n

View File

@ -1,63 +0,0 @@
# BSD LICENSE
#
# Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Intel Corporation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#include "common_linuxapp"
#
# machine can define specific variables or action for a specific board
# RTE_MACHINE can be:
# default nothing specific
# native current machine
# atm Intel® Atom™ microarchitecture
# nhm Intel® microarchitecture code name Nehalem
# wsm Intel® microarchitecture code name Westmere
# snb Intel® microarchitecture code name Sandy Bridge
# ivb Intel® microarchitecture code name Ivy Bridge
#
# Note: if your compiler does not support the relevant -march options,
# it will be compiled with whatever latest processor the compiler supports!
#
CONFIG_RTE_MACHINE="native"
#
# define the architecture we compile for.
# CONFIG_RTE_ARCH can be i686, x86_64, x86_64_32
#
CONFIG_RTE_ARCH="x86_64"
CONFIG_RTE_ARCH_X86_64=y
#
# The compiler we use.
# Can be gcc or icc.
#
CONFIG_RTE_TOOLCHAIN="gcc"
CONFIG_RTE_TOOLCHAIN_GCC=y

View File

@ -1,15 +0,0 @@
diff -up ./lib/librte_eal/linuxapp/Makefile.orig ./lib/librte_eal/linuxapp/Makefile
--- ./lib/librte_eal/linuxapp/Makefile.orig 2014-05-29 05:43:11.000000000 -0400
+++ ./lib/librte_eal/linuxapp/Makefile 2014-06-03 12:24:26.754134045 -0400
@@ -31,7 +31,10 @@
include $(RTE_SDK)/mk/rte.vars.mk
-DIRS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += igb_uio
+# In a future release of dpdk, igb_uio will be build-time
+# disable-able. Until then, just comment it out here
+#DIRS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += igb_uio
+
DIRS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal
ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
DIRS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += kni

89
dpdk-config.patch Normal file
View File

@ -0,0 +1,89 @@
diff -up dpdk-1.7.0/config/common_linuxapp.config dpdk-1.7.0/config/common_linuxapp
--- dpdk-1.7.0/config/common_linuxapp.config 2014-07-04 04:18:07.000000000 -0400
+++ dpdk-1.7.0/config/common_linuxapp 2014-07-17 14:43:44.359455939 -0400
@@ -52,7 +52,7 @@ CONFIG_RTE_EXEC_ENV_LINUXAPP=y
## Note: if your compiler does not support the relevant -march options,
## it will be compiled with whatever latest processor the compiler supports!
##
-#CONFIG_RTE_MACHINE="native"
+CONFIG_RTE_MACHINE="default"
#
##
## define the architecture we compile for.
@@ -123,7 +123,7 @@ CONFIG_RTE_LOG_HISTORY=256
CONFIG_RTE_LIBEAL_USE_HPET=n
CONFIG_RTE_EAL_ALLOW_INV_SOCKET_ID=n
CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
-CONFIG_RTE_EAL_IGB_UIO=y
+CONFIG_RTE_EAL_IGB_UIO=n
CONFIG_RTE_EAL_VFIO=y
#
@@ -170,8 +170,8 @@ CONFIG_RTE_NIC_BYPASS=n
#
# Compile burst-oriented IGB & EM PMD drivers
#
-CONFIG_RTE_LIBRTE_EM_PMD=y
-CONFIG_RTE_LIBRTE_IGB_PMD=y
+CONFIG_RTE_LIBRTE_EM_PMD=n
+CONFIG_RTE_LIBRTE_IGB_PMD=n
CONFIG_RTE_LIBRTE_E1000_DEBUG_INIT=n
CONFIG_RTE_LIBRTE_E1000_DEBUG_RX=n
CONFIG_RTE_LIBRTE_E1000_DEBUG_TX=n
@@ -182,7 +182,7 @@ CONFIG_RTE_LIBRTE_E1000_PF_DISABLE_STRIP
#
# Compile burst-oriented IXGBE PMD driver
#
-CONFIG_RTE_LIBRTE_IXGBE_PMD=y
+CONFIG_RTE_LIBRTE_IXGBE_PMD=n
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_INIT=n
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_RX=n
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX=n
@@ -197,7 +197,7 @@ CONFIG_RTE_IXGBE_RX_OLFLAGS_ENABLE=y
#
# Compile burst-oriented I40E PMD driver
#
-CONFIG_RTE_LIBRTE_I40E_PMD=y
+CONFIG_RTE_LIBRTE_I40E_PMD=n
CONFIG_RTE_LIBRTE_I40E_DEBUG_INIT=n
CONFIG_RTE_LIBRTE_I40E_DEBUG_RX=n
CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=n
@@ -241,7 +241,7 @@ CONFIG_RTE_PMD_RING_MAX_TX_RINGS=16
#
# Compile software PMD backed by PCAP files
#
-CONFIG_RTE_LIBRTE_PMD_PCAP=n
+CONFIG_RTE_LIBRTE_PMD_PCAP=y
#
# Compile link bonding PMD library
@@ -320,7 +320,7 @@ CONFIG_RTE_LIBRTE_LPM_DEBUG=n
#
# Compile librte_acl
#
-CONFIG_RTE_LIBRTE_ACL=y
+CONFIG_RTE_LIBRTE_ACL=n
CONFIG_RTE_LIBRTE_ACL_DEBUG=n
CONFIG_RTE_LIBRTE_ACL_STANDALONE=n
@@ -381,7 +381,7 @@ CONFIG_RTE_LIBRTE_PIPELINE=y
#
# Compile librte_kni
#
-CONFIG_RTE_LIBRTE_KNI=y
+CONFIG_RTE_LIBRTE_KNI=n
CONFIG_RTE_KNI_KO_DEBUG=n
CONFIG_RTE_KNI_VHOST=n
CONFIG_RTE_KNI_VHOST_MAX_CACHE_SIZE=1024
diff -up dpdk-1.7.0/config/defconfig_x86_64-native-linuxapp-gcc.config dpdk-1.7.0/config/defconfig_x86_64-native-linuxapp-gcc
--- dpdk-1.7.0/config/defconfig_x86_64-native-linuxapp-gcc.config 2014-07-04 04:18:07.000000000 -0400
+++ dpdk-1.7.0/config/defconfig_x86_64-native-linuxapp-gcc 2014-07-17 14:40:09.881651791 -0400
@@ -46,7 +46,7 @@
# Note: if your compiler does not support the relevant -march options,
# it will be compiled with whatever latest processor the compiler supports!
#
-CONFIG_RTE_MACHINE="native"
+#CONFIG_RTE_MACHINE="native"
#
# define the architecture we compile for.

View File

@ -1,25 +0,0 @@
diff -up ./mk/rte.lib.mk.orig ./mk/rte.lib.mk
--- ./mk/rte.lib.mk.orig 2014-05-29 05:43:11.000000000 -0400
+++ ./mk/rte.lib.mk 2014-07-01 10:21:36.827871451 -0400
@@ -60,8 +60,10 @@ build: _postbuild
exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
ifeq ($(LINK_USING_CC),1)
-# Override the definition of LD here, since we're linking with CC
-LD := $(CC)
+CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS))
+O_TO_S = $(CC) $(CPU_LDFLAGS) -z muldefs -shared $(OBJS-y) -o $(LIB)
+else
+O_TO_S = $(LD) $(CPU_LDFLAGS) -z muldefs -shared $(OBJS-y) -o $(LIB)
endif
O_TO_A = $(AR) crus $(LIB) $(OBJS-y)
@@ -73,8 +75,6 @@ O_TO_A_DO = @set -e; \
$(O_TO_A) && \
echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
-O_TO_S = $(LD) $(CPU_LDFLAGS) -z muldefs -shared $(OBJS-y) -o $(LIB)
-O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)"," LD $(@)")
O_TO_S_DO = @set -e; \
echo $(O_TO_S_DISP); \

View File

@ -1,19 +1,11 @@
%global rel 1.0
# As per packaging guidelines, since dpdk is pre-release, this is the git hash
# that I used with git archive to build the source tarball and the date on which
# I did it
Name: dpdk
Version: 1.7.0
Release: %{rel}%{?dist}
Release: 2%{?dist}
URL: http://dpdk.org
Source: http://dpdk.org/browse/dpdk/snapshot/dpdk-%{version}.tar.gz
Source1: defconfig_x86_64-native-linuxapp-gcc
Source2: defconfig_i686-native-linuxapp-gcc
Source3: common_linuxapp
Patch0: dpdk-debug.patch
Patch1: dpdk-config.patch
Summary: Data Plane Development Kit core
@ -30,15 +22,11 @@ License: BSD and LGPLv2 and GPLv2
# other techniques, carefully crafted x86 assembly instructions. As such it
# currently (and likely never will) run on non-x86 platforms
#
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: x86_64
%global machine native
%ifarch x86_64
%global target x86_64-%{machine}-linuxapp-gcc
%else
%global target i686-%{machine}-linuxapp-gcc
%endif
@ -74,41 +62,37 @@ DPDK core library API programming documentation
%prep
%setup -q
cp %{SOURCE1} ./config/
cp %{SOURCE2} ./config/
cp %{SOURCE3} ./config/
%patch0 -p1
%patch0 -p1 -z .debug
%patch1 -p1 -z .config
%build
# need to enable debuginfo
export EXTRA_CFLAGS="%{optflags}"
#Note that RPM_OPT_FLAGS is not being used here as it conflicts with
#Flags that the package sets.
make V=1 O=%{target} T=%{target} config
make V=1 O=%{target}
make V=1 O=%{target} doc
# 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
make V=1 O=%{target} %{?_smp_mflags}
make V=1 O=%{target} %{?_smp_mflags} doc
%install
make V=1 O=%{target} DESTDIR=%{destdir}
find %{destdir} -name '*.orig' | xargs rm -f
mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_libdir}/%{name}-%{version}
mkdir -p %{buildroot}%{_includedir}/%{name}-%{version}
mkdir -p %{buildroot}%{_bindir}
mv %{destdir}/%{target}/app/testpmd %{buildroot}%{_bindir}/testpmd-%{version}
rmdir %{destdir}/%{target}/app
mv %{destdir}/%{target}/include/* %{buildroot}%{_includedir}/%{name}-%{version}
mv %{destdir}/%{target}/lib/* %{buildroot}%{_libdir}/%{name}-%{version}
mkdir -p %{buildroot}%{docdir}
mv %{destdir}/%{target}/doc/* %{buildroot}%{docdir}
rmdir %{destdir}/%{target}/doc
mkdir -p %{buildroot}%{datadir}
mv %{destdir}/%{target}/.config %{buildroot}%{datadir}/config
rm -rf %{destdir}/%{target}/kmod
mv %{destdir}/%{target} %{buildroot}%{datadir}
rm -rf %{destdir}/mk
rm -rf %{destdir}/scripts
cp -a tools %{buildroot}%{datadir}
# DPDK's "make install" seems a bit broken -- do things manually...
mkdir -p %{buildroot}%{_bindir}
cp -a %{target}/app/testpmd %{buildroot}%{_bindir}/testpmd-%{version}
mkdir -p %{buildroot}%{_includedir}/%{name}-%{version}
cp -a %{target}/include/* %{buildroot}%{_includedir}/%{name}-%{version}
mkdir -p %{buildroot}%{_libdir}/%{name}-%{version}
cp -a %{target}/lib/* %{buildroot}%{_libdir}/%{name}-%{version}
mkdir -p %{buildroot}%{docdir}
cp -a %{target}/doc/* %{buildroot}%{docdir}
mkdir -p %{buildroot}%{datadir}
cp -a %{target}/.config %{buildroot}%{datadir}/config
cp -a tools %{buildroot}%{datadir}
%files
# BSD
@ -130,28 +114,35 @@ cp -a tools %{buildroot}%{datadir}
%files devel
#BSD
%{_includedir}/*
#%{datadir}/%{target}
%exclude %{docdir}/html
%changelog
* Thu Jul 10 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.0.7-1.0
* Thu Jul 17 2014 - John W. Linville <linville@redhat.com> - 1.7.0-2
- Use EXTRA_CFLAGS to include standard Fedora compiler flags in build
- Set CONFIG_RTE_MACHINE=default to build for least-common-denominator machines
- Turn-off build of librte_acl, since it does not build on default machines
- Turn-off build of physical device PMDs that require kernel support
- Clean-up the install rules to match current packaging
- Correct changelog versions 1.0.7 -> 1.7.0
- Remove ix86 from ExclusiveArch -- it does not build with above changes
* Thu Jul 10 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-1.0
- Update source to official 1.7.0 release
* Thu Jul 03 2014 - Neil Horman <nhorman@tuxdriver.com>
- Fixing up release numbering
* Tue Jul 01 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.0.7-0.9.1.20140603git5ebbb1728
* Tue Jul 01 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.9.1.20140603git5ebbb1728
- Fixed some build errors (empty debuginfo, bad 32 bit build)
* Wed Jun 11 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.0.7-0.9.20140603git5ebbb1728
* Wed Jun 11 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.9.20140603git5ebbb1728
- Fix another build dependency
* Mon Jun 09 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.0.7-0.8.20140603git5ebbb1728
* Mon Jun 09 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.8.20140603git5ebbb1728
- Fixed doc arch versioning issue
* Mon Jun 09 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.0.7-0.7.20140603git5ebbb1728
* Mon Jun 09 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.7.20140603git5ebbb1728
- Added verbose output to build
* Tue May 13 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.0.7-0.6.20140603git5ebbb1728
* Tue May 13 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.6.20140603git5ebbb1728
- Initial Build