[dpdk-dev] [PATCH] config: remove duplicate configuration information

Wiles, Keith keith.wiles at intel.com
Mon Feb 22 17:02:09 CET 2016


>Hi Keith,
>
>What makes a param common?
>
>e.g.  cryptodev QAT PMD is supported in linux, but currently not supported in bsd.
>So typically I disable it in the bsd file and enable it in the linux file.
>
>Couldn't the same apply to any other parameter, i.e. there may be users who want to have differences in config for different OSs?
>
>So why not just leave as is and give users the option to choose?

The problem is the major configs are all common, in this design we have the common_base all configs are placed then as you stated they are disable in the common_OS files. Plus some are enabled/disabled in the deconfig_XXX files as well.

The goal is to move all of the configs into one file then we do not have to keep updating all of the common_OS files, but only enable/disable that option.

I have common_osxapp that I want to add later to build and run DPDK on OS X, which is another place to have these same configs. Later we may add another OS too, which means more copies :-)

>
>Regards,
>Fiona
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Keith Wiles
>> Sent: Monday, February 22, 2016 1:54 PM
>> To: dev at dpdk.org
>> Subject: [dpdk-dev] [PATCH] config: remove duplicate configuration information
>> 
>> In order to cleanup the configuration files some and reduce the number of
>> duplicate configuration information. Add a new file called common_base which
>> contains just about all of the configuration lines in one place. Then have the
>> common_bsdapp, common_linuxapp files include this one file. Then in those OS
>> specific files add the delta configuration lines.
>> 
>> Signed-off-by: Keith Wiles <keith.wiles at intel.com>
>> ---
>>  config/common_base                          | 498 ++++++++++++++++++++++++++++
>>  config/common_bsdapp                        | 436 +-----------------------
>>  config/common_linuxapp                      | 491 +--------------------------
>>  config/defconfig_x86_64-native-bsdapp-clang |   1 +
>>  config/defconfig_x86_64-native-bsdapp-gcc   |   1 +
>>  5 files changed, 518 insertions(+), 909 deletions(-)  create mode 100644
>> config/common_base
>> 
>> diff --git a/config/common_base b/config/common_base new file mode 100644
>> index 0000000..91a12eb
>> --- /dev/null
>> +++ b/config/common_base
>> @@ -0,0 +1,498 @@
>> +#   BSD LICENSE
>> +#
>> +#   Copyright(c) 2010-2016 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.
>> +#
>> +
>> +#
>> +# Use intrinsics or assembly code for key routines #
>> +CONFIG_RTE_FORCE_INTRINSICS=n
>> +
>> +#
>> +# Machine forces strict alignment constraints.
>> +#
>> +CONFIG_RTE_ARCH_STRICT_ALIGN=n
>> +
>> +#
>> +# Compile to share library
>> +#
>> +CONFIG_RTE_BUILD_SHARED_LIB=n
>> +
>> +#
>> +# Combine to one single library
>> +#
>> +CONFIG_RTE_BUILD_COMBINE_LIBS=n
>> +
>> +#
>> +# Use newest code breaking previous ABI # CONFIG_RTE_NEXT_ABI=y
>> +
>> +#
>> +# Machine's cache line size
>> +#
>> +CONFIG_RTE_CACHE_LINE_SIZE=64
>> +
>> +#
>> +# Compile Environment Abstraction Layer # CONFIG_RTE_LIBRTE_EAL=y
>> +CONFIG_RTE_MAX_LCORE=128
>> +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=y
>> +CONFIG_RTE_EAL_VFIO=y
>> +CONFIG_RTE_MALLOC_DEBUG=n
>> +
>> +# Default driver path (or "" to disable) CONFIG_RTE_EAL_PMD_PATH=""
>> +
>> +#
>> +# 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 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_MAX_QUEUES_PER_PORT=1024
>> +CONFIG_RTE_LIBRTE_IEEE1588=n
>> +CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=16
>> +CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y
>> +
>> +#
>> +# 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_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_RX_ALLOW_BULK_ALLOC=y
>> +CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=n
>> +CONFIG_RTE_LIBRTE_I40E_RX_OLFLAGS_ENABLE=y
>> +CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
>> +CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
>> +CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF=4
>> +CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=4
>> +# interval up to 8160 us, aligned to 2 (or default value)
>> +CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL=-1
>> +
>> +#
>> +# Compile burst-oriented FM10K PMD
>> +#
>> +CONFIG_RTE_LIBRTE_FM10K_PMD=y
>> +CONFIG_RTE_LIBRTE_FM10K_DEBUG_INIT=n
>> +CONFIG_RTE_LIBRTE_FM10K_DEBUG_RX=n
>> +CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX=n
>> +CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX_FREE=n
>> +CONFIG_RTE_LIBRTE_FM10K_DEBUG_DRIVER=n
>> +CONFIG_RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE=y
>> +CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR=y
>> +
>> +#
>> +# Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD #
>> +CONFIG_RTE_LIBRTE_MLX4_PMD=n CONFIG_RTE_LIBRTE_MLX4_DEBUG=n
>> +CONFIG_RTE_LIBRTE_MLX4_SGE_WR_N=4
>> +CONFIG_RTE_LIBRTE_MLX4_MAX_INLINE=0
>> +CONFIG_RTE_LIBRTE_MLX4_TX_MP_CACHE=8
>> +CONFIG_RTE_LIBRTE_MLX4_SOFT_COUNTERS=1
>> +
>> +#
>> +# Compile burst-oriented Mellanox ConnectX-4 (MLX5) PMD #
>> +CONFIG_RTE_LIBRTE_MLX5_PMD=n CONFIG_RTE_LIBRTE_MLX5_DEBUG=n
>> +CONFIG_RTE_LIBRTE_MLX5_SGE_WR_N=4
>> +CONFIG_RTE_LIBRTE_MLX5_MAX_INLINE=0
>> +CONFIG_RTE_LIBRTE_MLX5_TX_MP_CACHE=8
>> +
>> +#
>> +# Compile burst-oriented Broadcom PMD driver #
>> +CONFIG_RTE_LIBRTE_BNX2X_PMD=n CONFIG_RTE_LIBRTE_BNX2X_DEBUG=n
>> +CONFIG_RTE_LIBRTE_BNX2X_DEBUG_INIT=n
>> +CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=n
>> +CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=n
>> +CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=n
>> +CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=n
>> +
>> +#
>> +# Compile burst-oriented Chelsio Terminator 10GbE/40GbE (CXGBE) PMD #
>> +CONFIG_RTE_LIBRTE_CXGBE_PMD=y CONFIG_RTE_LIBRTE_CXGBE_DEBUG=n
>> +CONFIG_RTE_LIBRTE_CXGBE_DEBUG_REG=n
>> +CONFIG_RTE_LIBRTE_CXGBE_DEBUG_MBOX=n
>> +CONFIG_RTE_LIBRTE_CXGBE_DEBUG_TX=n
>> +CONFIG_RTE_LIBRTE_CXGBE_DEBUG_RX=n
>> +
>> +#
>> +# Compile burst-oriented Cisco ENIC PMD driver #
>> +CONFIG_RTE_LIBRTE_ENIC_PMD=y CONFIG_RTE_LIBRTE_ENIC_DEBUG=n
>> +
>> +#
>> +# Compile burst-oriented Netronome NFP PMD driver #
>> +CONFIG_RTE_LIBRTE_NFP_PMD=n CONFIG_RTE_LIBRTE_NFP_DEBUG=n
>> +
>> +#
>> +# Compile software PMD backed by SZEDATA2 device #
>> +CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n
>> +
>> +#
>> +# 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=n
>> +
>> +#
>> +# Compile link bonding PMD library
>> +#
>> +CONFIG_RTE_LIBRTE_PMD_BOND=y
>> +CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n
>> +CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
>> +
>> +#
>> +# Compile software PMD backed by AF_PACKET sockets (Linux only) #
>> +CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
>> +
>> +#
>> +# Compile Xen PMD
>> +#
>> +CONFIG_RTE_LIBRTE_PMD_XENVIRT=n
>> +
>> +#
>> +# Compile null PMD
>> +#
>> +CONFIG_RTE_LIBRTE_PMD_NULL=y
>> +
>> +#
>> +# Do prefetch of packet data within PMD driver receive function #
>> +CONFIG_RTE_PMD_PACKET_PREFETCH=y
>> +
>> +#
>> +# Compile generic crypto device library # EXPERIMENTAL: API may change
>> +without prior notice # CONFIG_RTE_LIBRTE_CRYPTODEV=y
>> +CONFIG_RTE_LIBRTE_CRYPTODEV_DEBUG=n
>> +CONFIG_RTE_CRYPTO_MAX_DEVS=64
>> +CONFIG_RTE_CRYPTODEV_NAME_LEN=64
>> +
>> +#
>> +# Compile PMD for QuickAssist based devices #
>> +CONFIG_RTE_LIBRTE_PMD_QAT=n
>> CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_INIT=n
>> +CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_TX=n
>> +CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_RX=n
>> +CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_DRIVER=n
>> +#
>> +# Number of sessions to create in the session memory pool # on a single
>> +QuickAssist device.
>> +#
>> +CONFIG_RTE_QAT_PMD_MAX_NB_SESSIONS=2048
>> +
>> +#
>> +# Compile PMD for AESNI backed device
>> +#
>> +CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
>> +CONFIG_RTE_LIBRTE_PMD_AESNI_MB_DEBUG=n
>> +CONFIG_RTE_AESNI_MB_PMD_MAX_NB_QUEUE_PAIRS=8
>> +CONFIG_RTE_AESNI_MB_PMD_MAX_NB_SESSIONS=2048
>> +
>> +#
>> +# Compile librte_ring
>> +#
>> +CONFIG_RTE_LIBRTE_RING=y
>> +CONFIG_RTE_LIBRTE_RING_DEBUG=n
>> +CONFIG_RTE_RING_SPLIT_PROD_CONS=n
>> +CONFIG_RTE_RING_PAUSE_REP_COUNT=0
>> +
>> +#
>> +# 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_REFCNT_ATOMIC=y
>> +CONFIG_RTE_PKTMBUF_HEADROOM=128
>> +
>> +#
>> +# Compile librte_mbuf_offload
>> +# EXPERIMENTAL: API may change without prior notice #
>> +CONFIG_RTE_LIBRTE_MBUF_OFFLOAD=y
>> CONFIG_RTE_LIBRTE_MBUF_OFFLOAD_DEBUG=n
>> +
>> +#
>> +# Compile librte_timer
>> +#
>> +CONFIG_RTE_LIBRTE_TIMER=y
>> +CONFIG_RTE_LIBRTE_TIMER_DEBUG=n
>> +
>> +#
>> +# 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_jobstats
>> +#
>> +CONFIG_RTE_LIBRTE_JOBSTATS=y
>> +
>> +#
>> +# 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
>> +
>> +#
>> +# 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_DEBUG=n
>> +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
>> +CONFIG_RTE_SCHED_VECTOR=n
>> +
>> +#
>> +# Compile the distributor library
>> +#
>> +CONFIG_RTE_LIBRTE_DISTRIBUTOR=y
>> +
>> +#
>> +# Compile the reorder library
>> +#
>> +CONFIG_RTE_LIBRTE_REORDER=y
>> +
>> +#
>> +# Compile librte_port
>> +#
>> +CONFIG_RTE_LIBRTE_PORT=y
>> +CONFIG_RTE_PORT_STATS_COLLECT=n
>> +
>> +#
>> +# Compile librte_table
>> +#
>> +CONFIG_RTE_LIBRTE_TABLE=y
>> +CONFIG_RTE_TABLE_STATS_COLLECT=n
>> +
>> +#
>> +# Compile librte_pipeline
>> +#
>> +CONFIG_RTE_LIBRTE_PIPELINE=y
>> +CONFIG_RTE_PIPELINE_STATS_COLLECT=n
>> +
>> +#
>> +# Compile librte_kni
>> +#
>> +CONFIG_RTE_LIBRTE_KNI=y
>> +CONFIG_RTE_KNI_KMOD=y
>> +CONFIG_RTE_KNI_PREEMPT_DEFAULT=y
>> +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 vhost library
>> +# fuse-devel is needed to run vhost-cuse.
>> +# fuse-devel enables user space char driver development # vhost-user is
>> +turned on by default.
>> +#
>> +CONFIG_RTE_LIBRTE_VHOST=y
>> +CONFIG_RTE_LIBRTE_VHOST_USER=y
>> +CONFIG_RTE_LIBRTE_VHOST_NUMA=n
>> +CONFIG_RTE_LIBRTE_VHOST_DEBUG=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
>> diff --git a/config/common_bsdapp b/config/common_bsdapp index
>> 696382c..de0ca7d 100644
>> --- a/config/common_bsdapp
>> +++ b/config/common_bsdapp
>> @@ -1,6 +1,6 @@
>>  #   BSD LICENSE
>>  #
>> -#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
>> +#   Copyright(c) 2010-2016 Intel Corporation. All rights reserved.
>>  #   All rights reserved.
>>  #
>>  #   Redistribution and use in source and binary forms, with or without
>> @@ -37,74 +37,38 @@
>>  CONFIG_RTE_EXEC_ENV="bsdapp"
>>  CONFIG_RTE_EXEC_ENV_BSDAPP=y
>> 
>> -##
>> -## machine can define specific variables or action for a specific board -##
>> RTE_MACHINE values are the directories in mk/machine/ -## -
>> #CONFIG_RTE_MACHINE="native"
>> -#
>> -##
>> -## define the architecture we compile for.
>> -## RTE_ARCH values are the directories in mk/arch/ -## -
>> #CONFIG_RTE_ARCH="x86_64"
>> -#CONFIG_RTE_ARCH_X86_64=y
>> -#CONFIG_RTE_ARCH_X86=y
>> -#
>> -##
>> -## The compiler we use.
>> -## RTE_TOOLCHAIN values are the directories in mk/toolchain/ -## -
>> #CONFIG_RTE_TOOLCHAIN="gcc"
>> -#CONFIG_RTE_TOOLCHAIN_GCC=y
>> -
>> -#
>> -# Use intrinsics or assembly code for key routines -# -
>> CONFIG_RTE_FORCE_INTRINSICS=n
>> +#include "common_base"
>> 
>>  #
>> -# Machine forces strict alignment constraints.
>> +# Compile Environment Abstraction Layer for linux, FreeBSD, OS X, ...
>>  #
>> -CONFIG_RTE_ARCH_STRICT_ALIGN=n
>> +CONFIG_RTE_LIBRTE_EAL_BSDAPP=y
>> 
>>  #
>> -# Compile to share library
>> +# Compile Environment Abstraction Layer
>>  #
>> -CONFIG_RTE_BUILD_SHARED_LIB=n
>> +CONFIG_RTE_EAL_IGB_UIO=n
>> +CONFIG_RTE_EAL_VFIO=n
>> 
>>  #
>> -# Combine to one single library
>> +# Compile software PMD backed by AF_PACKET sockets (Linux only)
>>  #
>> -CONFIG_RTE_BUILD_COMBINE_LIBS=n
>> +CONFIG_RTE_LIBRTE_PMD_AF_PACKET=n
>> 
>>  #
>> -# Use newest code breaking previous ABI
>> +# Compile librte_power
>>  #
>> -CONFIG_RTE_NEXT_ABI=y
>> +CONFIG_RTE_LIBRTE_POWER=n
>> 
>>  #
>> -# Machine's cache line size
>> +# Compile librte_kni
>>  #
>> -CONFIG_RTE_CACHE_LINE_SIZE=64
>> +CONFIG_RTE_LIBRTE_KNI=n
>> 
>>  #
>> -# Compile Environment Abstraction Layer
>> +# Compile vhost library
>>  #
>> -CONFIG_RTE_LIBRTE_EAL=y
>> -CONFIG_RTE_MAX_LCORE=128
>> -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_EAL_ALLOW_INV_SOCKET_ID=n
>> -CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
>> -CONFIG_RTE_MALLOC_DEBUG=n
>> -
>> -# Default driver path (or "" to disable) -CONFIG_RTE_EAL_PMD_PATH=""
>> +CONFIG_RTE_LIBRTE_VHOST=n
>> 
>>  #
>>  # FreeBSD contiguous memory driver settings @@ -113,373 +77,3 @@
>> CONFIG_RTE_CONTIGMEM_MAX_NUM_BUFS=64
>>  CONFIG_RTE_CONTIGMEM_DEFAULT_NUM_BUFS=2
>>  CONFIG_RTE_CONTIGMEM_DEFAULT_BUF_SIZE=1024*1024*1024
>> 
>> -#
>> -# Compile Environment Abstraction Layer for BSD -# -
>> CONFIG_RTE_LIBRTE_EAL_BSDAPP=y
>> -
>> -#
>> -# Compile Environment Abstraction Layer for linux -# -
>> CONFIG_RTE_LIBRTE_EAL_LINUXAPP=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_MAX_QUEUES_PER_PORT=1024
>> -CONFIG_RTE_LIBRTE_IEEE1588=n
>> -CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=16
>> -CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y
>> -
>> -#
>> -# 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_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_RX_ALLOW_BULK_ALLOC=y
>> -CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=n
>> -CONFIG_RTE_LIBRTE_I40E_RX_OLFLAGS_ENABLE=y
>> -CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
>> -CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
>> -CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF=4
>> -CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=4
>> -# interval up to 8160 us, aligned to 2 (or default value)
>> -CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL=-1
>> -
>> -#
>> -# Compile burst-oriented FM10K PMD
>> -#
>> -CONFIG_RTE_LIBRTE_FM10K_PMD=y
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_INIT=n
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_RX=n
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX=n
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX_FREE=n
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_DRIVER=n
>> -CONFIG_RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE=y
>> -
>> -#
>> -# Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD -# -
>> CONFIG_RTE_LIBRTE_MLX4_PMD=n -CONFIG_RTE_LIBRTE_MLX4_DEBUG=n
>> -CONFIG_RTE_LIBRTE_MLX4_SGE_WR_N=4
>> -CONFIG_RTE_LIBRTE_MLX4_MAX_INLINE=0
>> -CONFIG_RTE_LIBRTE_MLX4_TX_MP_CACHE=8
>> -CONFIG_RTE_LIBRTE_MLX4_SOFT_COUNTERS=1
>> -
>> -#
>> -# Compile burst-oriented Mellanox ConnectX-4 (MLX5) PMD -# -
>> CONFIG_RTE_LIBRTE_MLX5_PMD=n -CONFIG_RTE_LIBRTE_MLX5_DEBUG=n
>> -CONFIG_RTE_LIBRTE_MLX5_SGE_WR_N=4
>> -CONFIG_RTE_LIBRTE_MLX5_MAX_INLINE=0
>> -CONFIG_RTE_LIBRTE_MLX5_TX_MP_CACHE=8
>> -
>> -#
>> -# Compile burst-oriented Broadcom PMD driver -# -
>> CONFIG_RTE_LIBRTE_BNX2X_PMD=n -CONFIG_RTE_LIBRTE_BNX2X_DEBUG=n -
>> CONFIG_RTE_LIBRTE_BNX2X_DEBUG_INIT=n
>> -CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=n
>> -CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=n
>> -CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=n
>> -CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=n
>> -
>> -#
>> -# Compile burst-oriented Chelsio Terminator 10GbE/40GbE (CXGBE) PMD -# -
>> CONFIG_RTE_LIBRTE_CXGBE_PMD=y -CONFIG_RTE_LIBRTE_CXGBE_DEBUG=n -
>> CONFIG_RTE_LIBRTE_CXGBE_DEBUG_REG=n
>> -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_MBOX=n
>> -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_TX=n
>> -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_RX=n
>> -
>> -#
>> -# Compile burst-oriented Cisco ENIC PMD driver -# -
>> CONFIG_RTE_LIBRTE_ENIC_PMD=y -CONFIG_RTE_LIBRTE_ENIC_DEBUG=n
>> -
>> -#
>> -# Compile software PMD backed by SZEDATA2 device -# -
>> CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n
>> -
>> -#
>> -# 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
>> -CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n
>> -CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
>> -
>> -#
>> -# Compile null PMD
>> -#
>> -CONFIG_RTE_LIBRTE_PMD_NULL=y
>> -
>> -#
>> -# Do prefetch of packet data within PMD driver receive function -# -
>> CONFIG_RTE_PMD_PACKET_PREFETCH=y
>> -
>> -#
>> -# Compile generic crypto device library -# EXPERIMENTAL: API may change
>> without prior notice -# -CONFIG_RTE_LIBRTE_CRYPTODEV=y -
>> CONFIG_RTE_LIBRTE_CRYPTODEV_DEBUG=n
>> -CONFIG_RTE_CRYPTO_MAX_DEVS=64
>> -CONFIG_RTE_CRYPTODEV_NAME_LEN=64
>> -
>> -#
>> -# Compile PMD for QuickAssist based devices -# -
>> CONFIG_RTE_LIBRTE_PMD_QAT=n -CONFIG_RTE_LIBRTE_QAT_DEBUG_INIT=n
>> -CONFIG_RTE_LIBRTE_QAT_DEBUG_TX=n
>> -CONFIG_RTE_LIBRTE_QAT_DEBUG_RX=n
>> -CONFIG_RTE_LIBRTE_QAT_DEBUG_DRIVER=n
>> -#
>> -# Number of sessions to create in the session memory pool -# on a single
>> QuickAssist device.
>> -#
>> -CONFIG_RTE_MAX_QAT_SESSIONS=200
>> -
>> -#
>> -# Compile PMD for AESNI backed device
>> -#
>> -CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
>> -CONFIG_RTE_LIBRTE_AESNI_MB_DEBUG=n
>> -
>> -#
>> -# Compile librte_ring
>> -#
>> -CONFIG_RTE_LIBRTE_RING=y
>> -CONFIG_RTE_LIBRTE_RING_DEBUG=n
>> -CONFIG_RTE_RING_SPLIT_PROD_CONS=n
>> -CONFIG_RTE_RING_PAUSE_REP_COUNT=0
>> -
>> -#
>> -# 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_REFCNT_ATOMIC=y
>> -CONFIG_RTE_PKTMBUF_HEADROOM=128
>> -
>> -#
>> -# Compile librte_mbuf_offload
>> -# EXPERIMENTAL: API may change without prior notice -# -
>> CONFIG_RTE_LIBRTE_MBUF_OFFLOAD=y -
>> CONFIG_RTE_LIBRTE_MBUF_OFFLOAD_DEBUG=n
>> -
>> -#
>> -# Compile librte_timer
>> -#
>> -CONFIG_RTE_LIBRTE_TIMER=y
>> -CONFIG_RTE_LIBRTE_TIMER_DEBUG=n
>> -
>> -#
>> -# 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_jobstats
>> -#
>> -CONFIG_RTE_LIBRTE_JOBSTATS=y
>> -
>> -#
>> -# 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
>> -
>> -#
>> -# Compile librte_power
>> -#
>> -CONFIG_RTE_LIBRTE_POWER=n
>> -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_DEBUG=n
>> -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
>> -CONFIG_RTE_SCHED_VECTOR=n
>> -
>> -#
>> -# Compile the distributor library
>> -#
>> -CONFIG_RTE_LIBRTE_DISTRIBUTOR=y
>> -
>> -#
>> -# Compile the reorder library
>> -#
>> -CONFIG_RTE_LIBRTE_REORDER=y
>> -
>> -#
>> -# Compile librte_port
>> -#
>> -CONFIG_RTE_LIBRTE_PORT=y
>> -CONFIG_RTE_PORT_STATS_COLLECT=n
>> -
>> -#
>> -# Compile librte_table
>> -#
>> -CONFIG_RTE_LIBRTE_TABLE=y
>> -CONFIG_RTE_TABLE_STATS_COLLECT=n
>> -
>> -#
>> -# Compile librte_pipeline
>> -#
>> -CONFIG_RTE_LIBRTE_PIPELINE=y
>> -CONFIG_RTE_PIPELINE_STATS_COLLECT=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
>> diff --git a/config/common_linuxapp b/config/common_linuxapp index
>> f1638db..64ddbe9 100644
>> --- a/config/common_linuxapp
>> +++ b/config/common_linuxapp
>> @@ -1,6 +1,6 @@
>>  #   BSD LICENSE
>>  #
>> -#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
>> +#   Copyright(c) 2010-2016 Intel Corporation. All rights reserved.
>>  #   All rights reserved.
>>  #
>>  #   Redistribution and use in source and binary forms, with or without
>> @@ -37,494 +37,9 @@
>>  CONFIG_RTE_EXEC_ENV="linuxapp"
>>  CONFIG_RTE_EXEC_ENV_LINUXAPP=y
>> 
>> -##
>> -## machine can define specific variables or action for a specific board -##
>> RTE_MACHINE values are the directories in mk/machine/ -## -
>> #CONFIG_RTE_MACHINE="native"
>> -#
>> -##
>> -## define the architecture we compile for.
>> -## RTE_ARCH values are the directories in mk/arch/ -## -
>> #CONFIG_RTE_ARCH="x86_64"
>> -#CONFIG_RTE_ARCH_X86_64=y
>> -#CONFIG_RTE_ARCH_X86=y
>> -#
>> -##
>> -## The compiler we use.
>> -## RTE_TOOLCHAIN values are the directories in mk/toolchain/ -## -
>> #CONFIG_RTE_TOOLCHAIN="gcc"
>> -#CONFIG_RTE_TOOLCHAIN_GCC=y
>> -
>> -#
>> -# Use intrinsics or assembly code for key routines -# -
>> CONFIG_RTE_FORCE_INTRINSICS=n
>> -
>> -#
>> -# Machine forces strict alignment constraints.
>> -#
>> -CONFIG_RTE_ARCH_STRICT_ALIGN=n
>> -
>> -#
>> -# Compile to share library
>> -#
>> -CONFIG_RTE_BUILD_SHARED_LIB=n
>> -
>> -#
>> -# Combine to one single library
>> -#
>> -CONFIG_RTE_BUILD_COMBINE_LIBS=n
>> -
>> -#
>> -# Use newest code breaking previous ABI -# -CONFIG_RTE_NEXT_ABI=y
>> -
>> -#
>> -# Machine's cache line size
>> -#
>> -CONFIG_RTE_CACHE_LINE_SIZE=64
>> -
>> -#
>> -# Compile Environment Abstraction Layer -# -CONFIG_RTE_LIBRTE_EAL=y
>> -CONFIG_RTE_MAX_LCORE=128
>> -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=y
>> -CONFIG_RTE_EAL_VFIO=y
>> -CONFIG_RTE_MALLOC_DEBUG=n
>> -# Default driver path (or "" to disable) -CONFIG_RTE_EAL_PMD_PATH=""
>> -
>> -#
>> -# 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
>> +#include "common_base"
>> 
>>  #
>> -# Compile Environment Abstraction Layer for linux
>> +# Compile Environment Abstraction Layer for linux, FreeBSD, OS X, ...
>>  #
>>  CONFIG_RTE_LIBRTE_EAL_LINUXAPP=y
>> -
>> -#
>> -# 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_MAX_QUEUES_PER_PORT=1024
>> -CONFIG_RTE_LIBRTE_IEEE1588=n
>> -CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=16
>> -CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y
>> -
>> -#
>> -# 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_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_RX_ALLOW_BULK_ALLOC=y
>> -CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=n
>> -CONFIG_RTE_LIBRTE_I40E_RX_OLFLAGS_ENABLE=y
>> -CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
>> -CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
>> -CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF=4
>> -CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=4
>> -# interval up to 8160 us, aligned to 2 (or default value)
>> -CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL=-1
>> -
>> -#
>> -# Compile burst-oriented FM10K PMD
>> -#
>> -CONFIG_RTE_LIBRTE_FM10K_PMD=y
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_INIT=n
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_RX=n
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX=n
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX_FREE=n
>> -CONFIG_RTE_LIBRTE_FM10K_DEBUG_DRIVER=n
>> -CONFIG_RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE=y
>> -CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR=y
>> -
>> -#
>> -# Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD -# -
>> CONFIG_RTE_LIBRTE_MLX4_PMD=n -CONFIG_RTE_LIBRTE_MLX4_DEBUG=n
>> -CONFIG_RTE_LIBRTE_MLX4_SGE_WR_N=4
>> -CONFIG_RTE_LIBRTE_MLX4_MAX_INLINE=0
>> -CONFIG_RTE_LIBRTE_MLX4_TX_MP_CACHE=8
>> -CONFIG_RTE_LIBRTE_MLX4_SOFT_COUNTERS=1
>> -
>> -#
>> -# Compile burst-oriented Mellanox ConnectX-4 (MLX5) PMD -# -
>> CONFIG_RTE_LIBRTE_MLX5_PMD=n -CONFIG_RTE_LIBRTE_MLX5_DEBUG=n
>> -CONFIG_RTE_LIBRTE_MLX5_SGE_WR_N=4
>> -CONFIG_RTE_LIBRTE_MLX5_MAX_INLINE=0
>> -CONFIG_RTE_LIBRTE_MLX5_TX_MP_CACHE=8
>> -
>> -#
>> -# Compile burst-oriented Broadcom PMD driver -# -
>> CONFIG_RTE_LIBRTE_BNX2X_PMD=n -CONFIG_RTE_LIBRTE_BNX2X_DEBUG=n -
>> CONFIG_RTE_LIBRTE_BNX2X_DEBUG_INIT=n
>> -CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=n
>> -CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=n
>> -CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=n
>> -CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=n
>> -
>> -#
>> -# Compile burst-oriented Chelsio Terminator 10GbE/40GbE (CXGBE) PMD -# -
>> CONFIG_RTE_LIBRTE_CXGBE_PMD=y -CONFIG_RTE_LIBRTE_CXGBE_DEBUG=n -
>> CONFIG_RTE_LIBRTE_CXGBE_DEBUG_REG=n
>> -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_MBOX=n
>> -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_TX=n
>> -CONFIG_RTE_LIBRTE_CXGBE_DEBUG_RX=n
>> -
>> -#
>> -# Compile burst-oriented Cisco ENIC PMD driver -# -
>> CONFIG_RTE_LIBRTE_ENIC_PMD=y -CONFIG_RTE_LIBRTE_ENIC_DEBUG=n
>> -
>> -#
>> -# Compile burst-oriented Netronome NFP PMD driver -# -
>> CONFIG_RTE_LIBRTE_NFP_PMD=n -CONFIG_RTE_LIBRTE_NFP_DEBUG=n
>> -
>> -#
>> -# Compile software PMD backed by SZEDATA2 device -# -
>> CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n
>> -
>> -#
>> -# 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=n
>> -
>> -#
>> -# Compile link bonding PMD library
>> -#
>> -CONFIG_RTE_LIBRTE_PMD_BOND=y
>> -CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n
>> -CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
>> -
>> -#
>> -# Compile software PMD backed by AF_PACKET sockets (Linux only) -# -
>> CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
>> -
>> -#
>> -# Compile Xen PMD
>> -#
>> -CONFIG_RTE_LIBRTE_PMD_XENVIRT=n
>> -
>> -#
>> -# Compile null PMD
>> -#
>> -CONFIG_RTE_LIBRTE_PMD_NULL=y
>> -
>> -#
>> -# Do prefetch of packet data within PMD driver receive function -# -
>> CONFIG_RTE_PMD_PACKET_PREFETCH=y
>> -
>> -#
>> -# Compile generic crypto device library -# EXPERIMENTAL: API may change
>> without prior notice -# -CONFIG_RTE_LIBRTE_CRYPTODEV=y -
>> CONFIG_RTE_LIBRTE_CRYPTODEV_DEBUG=n
>> -CONFIG_RTE_CRYPTO_MAX_DEVS=64
>> -CONFIG_RTE_CRYPTODEV_NAME_LEN=64
>> -
>> -#
>> -# Compile PMD for QuickAssist based devices -# -
>> CONFIG_RTE_LIBRTE_PMD_QAT=n -
>> CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_INIT=n
>> -CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_TX=n
>> -CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_RX=n
>> -CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_DRIVER=n
>> -#
>> -# Number of sessions to create in the session memory pool -# on a single
>> QuickAssist device.
>> -#
>> -CONFIG_RTE_QAT_PMD_MAX_NB_SESSIONS=2048
>> -
>> -#
>> -# Compile PMD for AESNI backed device
>> -#
>> -CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
>> -CONFIG_RTE_LIBRTE_PMD_AESNI_MB_DEBUG=n
>> -CONFIG_RTE_AESNI_MB_PMD_MAX_NB_QUEUE_PAIRS=8
>> -CONFIG_RTE_AESNI_MB_PMD_MAX_NB_SESSIONS=2048
>> -
>> -#
>> -# Compile librte_ring
>> -#
>> -CONFIG_RTE_LIBRTE_RING=y
>> -CONFIG_RTE_LIBRTE_RING_DEBUG=n
>> -CONFIG_RTE_RING_SPLIT_PROD_CONS=n
>> -CONFIG_RTE_RING_PAUSE_REP_COUNT=0
>> -
>> -#
>> -# 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_REFCNT_ATOMIC=y
>> -CONFIG_RTE_PKTMBUF_HEADROOM=128
>> -
>> -#
>> -# Compile librte_mbuf_offload
>> -# EXPERIMENTAL: API may change without prior notice -# -
>> CONFIG_RTE_LIBRTE_MBUF_OFFLOAD=y -
>> CONFIG_RTE_LIBRTE_MBUF_OFFLOAD_DEBUG=n
>> -
>> -#
>> -# Compile librte_timer
>> -#
>> -CONFIG_RTE_LIBRTE_TIMER=y
>> -CONFIG_RTE_LIBRTE_TIMER_DEBUG=n
>> -
>> -#
>> -# 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_jobstats
>> -#
>> -CONFIG_RTE_LIBRTE_JOBSTATS=y
>> -
>> -#
>> -# 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
>> -
>> -#
>> -# 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_DEBUG=n
>> -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
>> -CONFIG_RTE_SCHED_VECTOR=n
>> -
>> -#
>> -# Compile the distributor library
>> -#
>> -CONFIG_RTE_LIBRTE_DISTRIBUTOR=y
>> -
>> -#
>> -# Compile the reorder library
>> -#
>> -CONFIG_RTE_LIBRTE_REORDER=y
>> -
>> -#
>> -# Compile librte_port
>> -#
>> -CONFIG_RTE_LIBRTE_PORT=y
>> -CONFIG_RTE_PORT_STATS_COLLECT=n
>> -
>> -#
>> -# Compile librte_table
>> -#
>> -CONFIG_RTE_LIBRTE_TABLE=y
>> -CONFIG_RTE_TABLE_STATS_COLLECT=n
>> -
>> -#
>> -# Compile librte_pipeline
>> -#
>> -CONFIG_RTE_LIBRTE_PIPELINE=y
>> -CONFIG_RTE_PIPELINE_STATS_COLLECT=n
>> -
>> -#
>> -# Compile librte_kni
>> -#
>> -CONFIG_RTE_LIBRTE_KNI=y
>> -CONFIG_RTE_KNI_KMOD=y
>> -CONFIG_RTE_KNI_PREEMPT_DEFAULT=y
>> -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 vhost library
>> -# fuse-devel is needed to run vhost-cuse.
>> -# fuse-devel enables user space char driver development -# vhost-user is turned
>> on by default.
>> -#
>> -CONFIG_RTE_LIBRTE_VHOST=y
>> -CONFIG_RTE_LIBRTE_VHOST_USER=y
>> -CONFIG_RTE_LIBRTE_VHOST_NUMA=n
>> -CONFIG_RTE_LIBRTE_VHOST_DEBUG=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
>> diff --git a/config/defconfig_x86_64-native-bsdapp-clang
>> b/config/defconfig_x86_64-native-bsdapp-clang
>> index d2baf2c..8b870b3 100644
>> --- a/config/defconfig_x86_64-native-bsdapp-clang
>> +++ b/config/defconfig_x86_64-native-bsdapp-clang
>> @@ -37,6 +37,7 @@ CONFIG_RTE_MACHINE="native"
>>  CONFIG_RTE_ARCH="x86_64"
>>  CONFIG_RTE_ARCH_X86_64=y
>>  CONFIG_RTE_ARCH_X86=y
>> +CONFIG_RTE_ARCH_64=y
>> 
>>  CONFIG_RTE_TOOLCHAIN="clang"
>>  CONFIG_RTE_TOOLCHAIN_CLANG=y
>> diff --git a/config/defconfig_x86_64-native-bsdapp-gcc
>> b/config/defconfig_x86_64-native-bsdapp-gcc
>> index 5a6a4e8..4ea4433 100644
>> --- a/config/defconfig_x86_64-native-bsdapp-gcc
>> +++ b/config/defconfig_x86_64-native-bsdapp-gcc
>> @@ -37,6 +37,7 @@ CONFIG_RTE_MACHINE="native"
>>  CONFIG_RTE_ARCH="x86_64"
>>  CONFIG_RTE_ARCH_X86_64=y
>>  CONFIG_RTE_ARCH_X86=y
>> +CONFIG_RTE_ARCH_64=y
>> 
>>  CONFIG_RTE_TOOLCHAIN="gcc"
>>  CONFIG_RTE_TOOLCHAIN_GCC=y
>> --
>> 2.7.0
>
>


Regards,
Keith






More information about the dev mailing list