[dpdk-dev] config: remove duplicate configuration information

Message ID 1456149217-24833-1-git-send-email-keith.wiles@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Wiles, Keith Feb. 22, 2016, 1:53 p.m. UTC
  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@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
  

Comments

Fiona Trahe Feb. 22, 2016, 3:09 p.m. UTC | #1
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?

Regards,
Fiona


> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Keith Wiles
> Sent: Monday, February 22, 2016 1:54 PM
> To: dev@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@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
  
Wiles, Keith Feb. 22, 2016, 4:02 p.m. UTC | #2
>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@dpdk.org] On Behalf Of Keith Wiles

>> Sent: Monday, February 22, 2016 1:54 PM

>> To: dev@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@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
  
Panu Matilainen Feb. 22, 2016, 4:44 p.m. UTC | #3
On 02/22/2016 06:02 PM, Wiles, Keith wrote:
>> 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 :-)
>

My +1 for eliminating config redundancy. In addition to improving 
overall sanity, having the common options in a common file makes the few 
actually OS-dependent items stand out, which is only a good thing.

	- Panu -
  
Wiles, Keith Feb. 24, 2016, 1:58 p.m. UTC | #4
>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@intel.com>


Ping, Does this patch have any more comments, do we want to use this patch?
>---

> 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
  
Fiona Trahe Feb. 24, 2016, 2:19 p.m. UTC | #5
> -----Original Message-----

> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wiles, Keith

> Sent: Wednesday, February 24, 2016 1:58 PM

> To: dev@dpdk.org

> Subject: Re: [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@intel.com>

> 

> Ping, Does this patch have any more comments, do we want to use this patch?


I'd prefer to leave as is, but don't feel strongly about it, I can work with either way.
Fiona
  
Wiles, Keith Feb. 24, 2016, 3:25 p.m. UTC | #6
>

>

>> -----Original Message-----

>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wiles, Keith

>> Sent: Wednesday, February 24, 2016 1:58 PM

>> To: dev@dpdk.org

>> Subject: Re: [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@intel.com>

>> 

>> Ping, Does this patch have any more comments, do we want to use this patch?

>

>I'd prefer to leave as is, but don't feel strongly about it, I can work with either way.

>Fiona


What are your reasons for leaving it the same other then just keeping something you know now?

I do not see any downside and the upside is reducing having to change multiple files for a configuration add/remove or modify. Also as Panu stated it makes the changes for each OS and configuration much more obvious.

As Panu gave a +1 is that a Ack or how is this handled?
>

>



Regards,
Keith
  
Wiles, Keith March 3, 2016, 2:43 p.m. UTC | #7
>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.


Ping. I got a +1 for this patch just trying to get someone else to agree and ack. I know the current stuff kind of works, but it does require modifying multiple files and while moving this to a single place to modify I did find at least on different.

I would like to see this one go in unless it just does not make any sense.

Thanks
++Keith

>

>Signed-off-by: Keith Wiles <keith.wiles@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
  
Thomas Monjalon March 3, 2016, 5:05 p.m. UTC | #8
2016-03-03 14:43, Wiles, Keith:
> >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.
> 
> Ping. I got a +1 for this patch just trying to get someone else to agree and ack. I know the current stuff kind of works, but it does require modifying multiple files and while moving this to a single place to modify I did find at least on different.
> 
> I would like to see this one go in unless it just does not make any sense.

You have my +1
I'm going to review it.
  
Thomas Monjalon March 3, 2016, 6:37 p.m. UTC | #9
2016-02-22 07:53, Keith Wiles:
> --- /dev/null
> +++ b/config/common_base
> +CONFIG_RTE_EAL_IGB_UIO=y
> +CONFIG_RTE_EAL_VFIO=y

These options should be disabled in the base file
and enabled in Linux.

> +CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y

Idem, it should be disabled.

> +CONFIG_RTE_LIBRTE_POWER=y

Idem?

> +CONFIG_RTE_LIBRTE_KNI=y

Should be disabled.

> +CONFIG_RTE_LIBRTE_VHOST=y

Should be disabled.

> --- a/config/common_bsdapp
> +++ b/config/common_bsdapp
> +# Compile Environment Abstraction Layer for linux, FreeBSD, OS X, ...
> +CONFIG_RTE_LIBRTE_EAL_BSDAPP=y

Please keep the original comment:
Compile Environment Abstraction Layer for BSD

> +# Compile Environment Abstraction Layer

Why this comment before disabling UIO and VFIO?

> --- a/config/common_linuxapp
> +++ b/config/common_linuxapp
> -##
> -## 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

Maybe we should keep these comments in common_base?
I would remove the values and uncomment CONFIG_RTE_MACHINE, CONFIG_RTE_ARCH
and CONFIG_RTE_TOOLCHAIN.

> --- 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

It should be a totally separate patch.
And there are other places where it is missing.
  
Wiles, Keith March 3, 2016, 6:47 p.m. UTC | #10
>2016-02-22 07:53, Keith Wiles:

>> --- /dev/null

>> +++ b/config/common_base

>> +CONFIG_RTE_EAL_IGB_UIO=y

>> +CONFIG_RTE_EAL_VFIO=y

>

>These options should be disabled in the base file

>and enabled in Linux.

>

>> +CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y

>

>Idem, it should be disabled.

>

>> +CONFIG_RTE_LIBRTE_POWER=y

>

>Idem?

>

>> +CONFIG_RTE_LIBRTE_KNI=y

>

>Should be disabled.

>

>> +CONFIG_RTE_LIBRTE_VHOST=y

>

>Should be disabled.

>

>> --- a/config/common_bsdapp

>> +++ b/config/common_bsdapp

>> +# Compile Environment Abstraction Layer for linux, FreeBSD, OS X, ...

>> +CONFIG_RTE_LIBRTE_EAL_BSDAPP=y

>

>Please keep the original comment:

>Compile Environment Abstraction Layer for BSD

>

>> +# Compile Environment Abstraction Layer

>

>Why this comment before disabling UIO and VFIO?

>

>> --- a/config/common_linuxapp

>> +++ b/config/common_linuxapp

>> -##

>> -## 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

>

>Maybe we should keep these comments in common_base?

>I would remove the values and uncomment CONFIG_RTE_MACHINE, CONFIG_RTE_ARCH

>and CONFIG_RTE_TOOLCHAIN.

>

>> --- 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

>

>It should be a totally separate patch.

>And there are other places where it is missing.


I will create a new patch and split that other changes when I get back to Dallas.
>



Regards,
Keith
  
Traynor, Kevin March 4, 2016, 9:28 a.m. UTC | #11
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Thursday, March 3, 2016 6:38 PM
> To: Wiles, Keith <keith.wiles@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] config: remove duplicate configuration
> information
> 
> 2016-02-22 07:53, Keith Wiles:
> > --- /dev/null
> > +++ b/config/common_base
> > +CONFIG_RTE_EAL_IGB_UIO=y
> > +CONFIG_RTE_EAL_VFIO=y
> 
> These options should be disabled in the base file
> and enabled in Linux.
> 
> > +CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
> 
> Idem, it should be disabled.
> 
> > +CONFIG_RTE_LIBRTE_POWER=y
> 
> Idem?
> 
> > +CONFIG_RTE_LIBRTE_KNI=y
> 
> Should be disabled.
> 
> > +CONFIG_RTE_LIBRTE_VHOST=y
> 
> Should be disabled.

Any reason this should be disabled? It was changed to =Y in DPDK 2.1.

It means updating scripts/build instructions to set =Y for OVS, no big
deal but it might catch people out. 

Kevin.

> 
> > --- a/config/common_bsdapp
> > +++ b/config/common_bsdapp
> > +# Compile Environment Abstraction Layer for linux, FreeBSD, OS X, ...
> > +CONFIG_RTE_LIBRTE_EAL_BSDAPP=y
> 
> Please keep the original comment:
> Compile Environment Abstraction Layer for BSD
> 
> > +# Compile Environment Abstraction Layer
> 
> Why this comment before disabling UIO and VFIO?
> 
> > --- a/config/common_linuxapp
> > +++ b/config/common_linuxapp
> > -##
> > -## 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
> 
> Maybe we should keep these comments in common_base?
> I would remove the values and uncomment CONFIG_RTE_MACHINE, CONFIG_RTE_ARCH
> and CONFIG_RTE_TOOLCHAIN.
> 
> > --- 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
> 
> It should be a totally separate patch.
> And there are other places where it is missing.
  
Panu Matilainen March 4, 2016, 9:35 a.m. UTC | #12
On 03/03/2016 08:37 PM, Thomas Monjalon wrote:
> 2016-02-22 07:53, Keith Wiles:
>> --- /dev/null
>> +++ b/config/common_base
>> +CONFIG_RTE_EAL_IGB_UIO=y
>> +CONFIG_RTE_EAL_VFIO=y
>
> These options should be disabled in the base file
> and enabled in Linux.
>
>> +CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
>
> Idem, it should be disabled.
>
>> +CONFIG_RTE_LIBRTE_POWER=y
>
> Idem?
>
>> +CONFIG_RTE_LIBRTE_KNI=y
>
> Should be disabled.

Ditto for CONFIG_RTE_KNI_KMOD.

	- Panu -
  
Panu Matilainen March 4, 2016, 9:39 a.m. UTC | #13
On 03/04/2016 11:28 AM, Traynor, Kevin wrote:
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
>> Sent: Thursday, March 3, 2016 6:38 PM
>> To: Wiles, Keith <keith.wiles@intel.com>
>> Cc: dev@dpdk.org
>> Subject: Re: [dpdk-dev] [PATCH] config: remove duplicate configuration
>> information
>>
>> 2016-02-22 07:53, Keith Wiles:
>>> --- /dev/null
>>> +++ b/config/common_base
>>> +CONFIG_RTE_EAL_IGB_UIO=y
>>> +CONFIG_RTE_EAL_VFIO=y
>>
>> These options should be disabled in the base file
>> and enabled in Linux.
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

>>
>>> +CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
>>
>> Idem, it should be disabled.
>>
>>> +CONFIG_RTE_LIBRTE_POWER=y
>>
>> Idem?
>>
>>> +CONFIG_RTE_LIBRTE_KNI=y
>>
>> Should be disabled.
>>
>>> +CONFIG_RTE_LIBRTE_VHOST=y
>>
>> Should be disabled.
>
> Any reason this should be disabled? It was changed to =Y in DPDK 2.1.

That's what I first thought too, but I think Thomas meant "disable in 
common_base, enable in Linux config" for all these.

	- Panu -
  
Traynor, Kevin March 4, 2016, 9:58 a.m. UTC | #14
> -----Original Message-----

> From: Panu Matilainen [mailto:pmatilai@redhat.com]

> Sent: Friday, March 4, 2016 9:39 AM

> To: Traynor, Kevin <kevin.traynor@intel.com>; Thomas Monjalon

> <thomas.monjalon@6wind.com>; Wiles, Keith <keith.wiles@intel.com>

> Cc: dev@dpdk.org

> Subject: Re: [dpdk-dev] [PATCH] config: remove duplicate configuration

> information

> 

> On 03/04/2016 11:28 AM, Traynor, Kevin wrote:

> >

> >> -----Original Message-----

> >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon

> >> Sent: Thursday, March 3, 2016 6:38 PM

> >> To: Wiles, Keith <keith.wiles@intel.com>

> >> Cc: dev@dpdk.org

> >> Subject: Re: [dpdk-dev] [PATCH] config: remove duplicate configuration

> >> information

> >>

> >> 2016-02-22 07:53, Keith Wiles:

> >>> --- /dev/null

> >>> +++ b/config/common_base

> >>> +CONFIG_RTE_EAL_IGB_UIO=y

> >>> +CONFIG_RTE_EAL_VFIO=y

> >>

> >> These options should be disabled in the base file

> >> and enabled in Linux.

>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> 

> >>

> >>> +CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y

> >>

> >> Idem, it should be disabled.

> >>

> >>> +CONFIG_RTE_LIBRTE_POWER=y

> >>

> >> Idem?

> >>

> >>> +CONFIG_RTE_LIBRTE_KNI=y

> >>

> >> Should be disabled.

> >>

> >>> +CONFIG_RTE_LIBRTE_VHOST=y

> >>

> >> Should be disabled.

> >

> > Any reason this should be disabled? It was changed to =Y in DPDK 2.1.

> 

> That's what I first thought too, but I think Thomas meant "disable in

> common_base, enable in Linux config" for all these.

> 

> 	- Panu -


Ah, ok - got it, that makes sense. thanks.
  
Panu Matilainen March 4, 2016, 10:12 a.m. UTC | #15
On 03/03/2016 08:37 PM, Thomas Monjalon wrote:
>> --- 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
>
> It should be a totally separate patch.
> And there are other places where it is missing.

On a related note, perhaps the arch settings should be split to their 
own files, eg common_x86_64, common_i686 and so on that the defconfig 
files then include. That should eliminate things like missing 
CONFIG_RTE_ARCH_64 fairly effectively, and further reduce the 
duplication in the configs.

I can send a patch to do that once the dust from the common_base move 
settles if you like the idea.

	- Panu -
  
Thomas Monjalon March 4, 2016, 10:28 a.m. UTC | #16
2016-03-04 09:58, Traynor, Kevin:
> From: Panu Matilainen [mailto:pmatilai@redhat.com]
> > On 03/04/2016 11:28 AM, Traynor, Kevin wrote:
> > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> > >> 2016-02-22 07:53, Keith Wiles:
> > >>> +CONFIG_RTE_LIBRTE_VHOST=y
> > >>
> > >> Should be disabled.
> > >
> > > Any reason this should be disabled? It was changed to =Y in DPDK 2.1.
> > 
> > That's what I first thought too, but I think Thomas meant "disable in
> > common_base, enable in Linux config" for all these.
> > 
> > 	- Panu -
> 
> Ah, ok - got it, that makes sense. thanks.

Yes, this patch should not change the default settings.
Just defining a common base without specific features.
  
Wiles, Keith March 4, 2016, 2:11 p.m. UTC | #17
>

>> -----Original Message-----

>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon

>> Sent: Thursday, March 3, 2016 6:38 PM

>> To: Wiles, Keith <keith.wiles@intel.com>

>> Cc: dev@dpdk.org

>> Subject: Re: [dpdk-dev] [PATCH] config: remove duplicate configuration

>> information

>> 

>> 2016-02-22 07:53, Keith Wiles:

>> > --- /dev/null

>> > +++ b/config/common_base

>> > +CONFIG_RTE_EAL_IGB_UIO=y

>> > +CONFIG_RTE_EAL_VFIO=y

>> 

>> These options should be disabled in the base file

>> and enabled in Linux.

>> 

>> > +CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y

>> 

>> Idem, it should be disabled.

>> 

>> > +CONFIG_RTE_LIBRTE_POWER=y

>> 

>> Idem?

>> 

>> > +CONFIG_RTE_LIBRTE_KNI=y

>> 

>> Should be disabled.

>> 

>> > +CONFIG_RTE_LIBRTE_VHOST=y

>> 

>> Should be disabled.

>

>Any reason this should be disabled? It was changed to =Y in DPDK 2.1.

>

>It means updating scripts/build instructions to set =Y for OVS, no big

>deal but it might catch people out.


I do not see why it can not be disable, unless someone disagrees.
> 

>

>Kevin.

>

>> 

>> > --- a/config/common_bsdapp

>> > +++ b/config/common_bsdapp

>> > +# Compile Environment Abstraction Layer for linux, FreeBSD, OS X, ...

>> > +CONFIG_RTE_LIBRTE_EAL_BSDAPP=y

>> 

>> Please keep the original comment:

>> Compile Environment Abstraction Layer for BSD

>> 

>> > +# Compile Environment Abstraction Layer

>> 

>> Why this comment before disabling UIO and VFIO?

>> 

>> > --- a/config/common_linuxapp

>> > +++ b/config/common_linuxapp

>> > -##

>> > -## 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

>> 

>> Maybe we should keep these comments in common_base?

>> I would remove the values and uncomment CONFIG_RTE_MACHINE, CONFIG_RTE_ARCH

>> and CONFIG_RTE_TOOLCHAIN.

>> 

>> > --- 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

>> 

>> It should be a totally separate patch.

>> And there are other places where it is missing.

>



Regards,
Keith
  
Wiles, Keith March 4, 2016, 2:12 p.m. UTC | #18
>On 03/03/2016 08:37 PM, Thomas Monjalon wrote:

>>> --- 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

>>

>> It should be a totally separate patch.

>> And there are other places where it is missing.

>

>On a related note, perhaps the arch settings should be split to their 

>own files, eg common_x86_64, common_i686 and so on that the defconfig 

>files then include. That should eliminate things like missing 

>CONFIG_RTE_ARCH_64 fairly effectively, and further reduce the 

>duplication in the configs.

>

>I can send a patch to do that once the dust from the common_base move 

>settles if you like the idea.


+1, Sounds reasonable to me.
>

>	- Panu -

>



Regards,
Keith
  
Wiles, Keith March 4, 2016, 2:44 p.m. UTC | #19
>>>

>>>--- 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

>>

>>It should be a totally separate patch.

>>And there are other places where it is missing.


I looked in the other defconfig_XXX files and did not see any other places that were missing the CONFIG_RTE_ARCH_64, can you point out those places.

>

>



Regards,
Keith
  
Thomas Monjalon March 4, 2016, 3:26 p.m. UTC | #20
2016-03-04 14:44, Wiles, Keith:
> >>>
> >>>--- 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
> >>
> >>It should be a totally separate patch.
> >>And there are other places where it is missing.
> 
> I looked in the other defconfig_XXX files and did not see any other places that were missing the CONFIG_RTE_ARCH_64, can you point out those places.

% ls -1 config/defconfig_*64*
config/defconfig_arm64-armv8a-linuxapp-gcc
config/defconfig_arm64-thunderx-linuxapp-gcc
config/defconfig_arm64-xgene1-linuxapp-gcc
config/defconfig_ppc_64-power8-linuxapp-gcc
config/defconfig_x86_64-ivshmem-linuxapp-gcc
config/defconfig_x86_64-ivshmem-linuxapp-icc
config/defconfig_x86_64-native-bsdapp-clang
config/defconfig_x86_64-native-bsdapp-gcc
config/defconfig_x86_64-native-linuxapp-clang
config/defconfig_x86_64-native-linuxapp-gcc
config/defconfig_x86_64-native-linuxapp-icc

% git grep -l RTE_ARCH_64 config
config/defconfig_arm64-armv8a-linuxapp-gcc
config/defconfig_ppc_64-power8-linuxapp-gcc
config/defconfig_tile-tilegx-linuxapp-gcc
config/defconfig_x86_64-native-linuxapp-clang
config/defconfig_x86_64-native-linuxapp-gcc
config/defconfig_x86_64-native-linuxapp-icc

And you've patched:
config/defconfig_x86_64-native-bsdapp-clang
config/defconfig_x86_64-native-bsdapp-gcc

So the missing files seems to be
config/defconfig_arm64-thunderx-linuxapp-gcc
config/defconfig_arm64-xgene1-linuxapp-gcc
config/defconfig_x86_64-ivshmem-linuxapp-gcc
config/defconfig_x86_64-ivshmem-linuxapp-icc

But they include other defconfigs which have ARCH_64.
So you're right, there is no missing file.
Sorry for the confusion
  

Patch

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