DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] config: remove duplicate configuration information
@ 2016-02-22 13:53 Keith Wiles
  2016-02-22 15:09 ` Trahe, Fiona
                   ` (3 more replies)
  0 siblings, 4 replies; 30+ messages in thread
From: Keith Wiles @ 2016-02-22 13:53 UTC (permalink / raw)
  To: dev

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

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-02-22 13:53 [dpdk-dev] [PATCH] config: remove duplicate configuration information Keith Wiles
@ 2016-02-22 15:09 ` Trahe, Fiona
  2016-02-22 16:02   ` Wiles, Keith
  2016-02-24 13:58 ` Wiles, Keith
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 30+ messages in thread
From: Trahe, Fiona @ 2016-02-22 15:09 UTC (permalink / raw)
  To: Wiles, Keith, dev

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

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-02-22 15:09 ` Trahe, Fiona
@ 2016-02-22 16:02   ` Wiles, Keith
  2016-02-22 16:44     ` Panu Matilainen
  0 siblings, 1 reply; 30+ messages in thread
From: Wiles, Keith @ 2016-02-22 16:02 UTC (permalink / raw)
  To: Trahe, Fiona, dev

>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





^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-02-22 16:02   ` Wiles, Keith
@ 2016-02-22 16:44     ` Panu Matilainen
  0 siblings, 0 replies; 30+ messages in thread
From: Panu Matilainen @ 2016-02-22 16:44 UTC (permalink / raw)
  To: Wiles, Keith, Trahe, Fiona, dev

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 -

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-02-22 13:53 [dpdk-dev] [PATCH] config: remove duplicate configuration information Keith Wiles
  2016-02-22 15:09 ` Trahe, Fiona
@ 2016-02-24 13:58 ` Wiles, Keith
  2016-02-24 14:19   ` Trahe, Fiona
  2016-03-03 14:43 ` Wiles, Keith
  2016-03-03 18:37 ` Thomas Monjalon
  3 siblings, 1 reply; 30+ messages in thread
From: Wiles, Keith @ 2016-02-24 13:58 UTC (permalink / raw)
  To: dev

>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





^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-02-24 13:58 ` Wiles, Keith
@ 2016-02-24 14:19   ` Trahe, Fiona
  2016-02-24 15:25     ` Wiles, Keith
  0 siblings, 1 reply; 30+ messages in thread
From: Trahe, Fiona @ 2016-02-24 14:19 UTC (permalink / raw)
  To: Wiles, Keith, dev



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


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-02-24 14:19   ` Trahe, Fiona
@ 2016-02-24 15:25     ` Wiles, Keith
  0 siblings, 0 replies; 30+ messages in thread
From: Wiles, Keith @ 2016-02-24 15:25 UTC (permalink / raw)
  To: Trahe, Fiona, dev

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





^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-02-22 13:53 [dpdk-dev] [PATCH] config: remove duplicate configuration information Keith Wiles
  2016-02-22 15:09 ` Trahe, Fiona
  2016-02-24 13:58 ` Wiles, Keith
@ 2016-03-03 14:43 ` Wiles, Keith
  2016-03-03 17:05   ` Thomas Monjalon
  2016-03-03 18:37 ` Thomas Monjalon
  3 siblings, 1 reply; 30+ messages in thread
From: Wiles, Keith @ 2016-03-03 14:43 UTC (permalink / raw)
  To: dev

>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





^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-03 14:43 ` Wiles, Keith
@ 2016-03-03 17:05   ` Thomas Monjalon
  0 siblings, 0 replies; 30+ messages in thread
From: Thomas Monjalon @ 2016-03-03 17:05 UTC (permalink / raw)
  To: Wiles, Keith; +Cc: dev

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.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-02-22 13:53 [dpdk-dev] [PATCH] config: remove duplicate configuration information Keith Wiles
                   ` (2 preceding siblings ...)
  2016-03-03 14:43 ` Wiles, Keith
@ 2016-03-03 18:37 ` Thomas Monjalon
  2016-03-03 18:47   ` Wiles, Keith
                     ` (5 more replies)
  3 siblings, 6 replies; 30+ messages in thread
From: Thomas Monjalon @ 2016-03-03 18:37 UTC (permalink / raw)
  To: Keith Wiles; +Cc: dev

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.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-03 18:37 ` Thomas Monjalon
@ 2016-03-03 18:47   ` Wiles, Keith
  2016-03-04 14:44     ` Wiles, Keith
  2016-03-04  9:28   ` Traynor, Kevin
                     ` (4 subsequent siblings)
  5 siblings, 1 reply; 30+ messages in thread
From: Wiles, Keith @ 2016-03-03 18:47 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

>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





^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-03 18:37 ` Thomas Monjalon
  2016-03-03 18:47   ` Wiles, Keith
@ 2016-03-04  9:28   ` Traynor, Kevin
  2016-03-04  9:39     ` Panu Matilainen
  2016-03-04 14:11     ` Wiles, Keith
  2016-03-04  9:35   ` Panu Matilainen
                     ` (3 subsequent siblings)
  5 siblings, 2 replies; 30+ messages in thread
From: Traynor, Kevin @ 2016-03-04  9:28 UTC (permalink / raw)
  To: Thomas Monjalon, Wiles, Keith; +Cc: dev


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

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-03 18:37 ` Thomas Monjalon
  2016-03-03 18:47   ` Wiles, Keith
  2016-03-04  9:28   ` Traynor, Kevin
@ 2016-03-04  9:35   ` Panu Matilainen
  2016-03-04 10:12   ` Panu Matilainen
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 30+ messages in thread
From: Panu Matilainen @ 2016-03-04  9:35 UTC (permalink / raw)
  To: Thomas Monjalon, Keith Wiles; +Cc: dev

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 -

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-04  9:28   ` Traynor, Kevin
@ 2016-03-04  9:39     ` Panu Matilainen
  2016-03-04  9:58       ` Traynor, Kevin
  2016-03-04 14:11     ` Wiles, Keith
  1 sibling, 1 reply; 30+ messages in thread
From: Panu Matilainen @ 2016-03-04  9:39 UTC (permalink / raw)
  To: Traynor, Kevin, Thomas Monjalon, Wiles, Keith; +Cc: dev

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 -

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-04  9:39     ` Panu Matilainen
@ 2016-03-04  9:58       ` Traynor, Kevin
  2016-03-04 10:28         ` Thomas Monjalon
  0 siblings, 1 reply; 30+ messages in thread
From: Traynor, Kevin @ 2016-03-04  9:58 UTC (permalink / raw)
  To: Panu Matilainen, Thomas Monjalon, Wiles, Keith; +Cc: dev

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


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-03 18:37 ` Thomas Monjalon
                     ` (2 preceding siblings ...)
  2016-03-04  9:35   ` Panu Matilainen
@ 2016-03-04 10:12   ` Panu Matilainen
  2016-03-04 14:12     ` Wiles, Keith
  2016-03-04 17:01   ` [dpdk-dev] [PATCH v2] " Keith Wiles
  2016-03-04 18:11   ` [dpdk-dev] [PATCH v3] " Keith Wiles
  5 siblings, 1 reply; 30+ messages in thread
From: Panu Matilainen @ 2016-03-04 10:12 UTC (permalink / raw)
  To: Thomas Monjalon, Keith Wiles; +Cc: dev

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 -

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-04  9:58       ` Traynor, Kevin
@ 2016-03-04 10:28         ` Thomas Monjalon
  0 siblings, 0 replies; 30+ messages in thread
From: Thomas Monjalon @ 2016-03-04 10:28 UTC (permalink / raw)
  To: Traynor, Kevin; +Cc: dev

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.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-04  9:28   ` Traynor, Kevin
  2016-03-04  9:39     ` Panu Matilainen
@ 2016-03-04 14:11     ` Wiles, Keith
  1 sibling, 0 replies; 30+ messages in thread
From: Wiles, Keith @ 2016-03-04 14:11 UTC (permalink / raw)
  To: Traynor, Kevin, Thomas Monjalon; +Cc: dev

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





^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-04 10:12   ` Panu Matilainen
@ 2016-03-04 14:12     ` Wiles, Keith
  0 siblings, 0 replies; 30+ messages in thread
From: Wiles, Keith @ 2016-03-04 14:12 UTC (permalink / raw)
  To: Panu Matilainen, Thomas Monjalon; +Cc: dev

>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





^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-03 18:47   ` Wiles, Keith
@ 2016-03-04 14:44     ` Wiles, Keith
  2016-03-04 15:26       ` Thomas Monjalon
  0 siblings, 1 reply; 30+ messages in thread
From: Wiles, Keith @ 2016-03-04 14:44 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

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





^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH] config: remove duplicate configuration information
  2016-03-04 14:44     ` Wiles, Keith
@ 2016-03-04 15:26       ` Thomas Monjalon
  0 siblings, 0 replies; 30+ messages in thread
From: Thomas Monjalon @ 2016-03-04 15:26 UTC (permalink / raw)
  To: Wiles, Keith; +Cc: dev

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

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [dpdk-dev] [PATCH v2] config: remove duplicate configuration information
  2016-03-03 18:37 ` Thomas Monjalon
                     ` (3 preceding siblings ...)
  2016-03-04 10:12   ` Panu Matilainen
@ 2016-03-04 17:01   ` Keith Wiles
  2016-03-04 17:26     ` Thomas Monjalon
  2016-03-04 18:11   ` [dpdk-dev] [PATCH v3] " Keith Wiles
  5 siblings, 1 reply; 30+ messages in thread
From: Keith Wiles @ 2016-03-04 17:01 UTC (permalink / raw)
  To: dev

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

v2 - split out ARCH_64 missing defines into new patch.
     Turned off linux specific items in common_base and enable them
     in common_linux file.

 config/common_base     | 524 +++++++++++++++++++++++++++++++++++++++++++++++++
 config/common_bsdapp   | 436 +---------------------------------------
 config/common_linuxapp | 460 +------------------------------------------
 3 files changed, 533 insertions(+), 887 deletions(-)
 create mode 100644 config/common_base

diff --git a/config/common_base b/config/common_base
new file mode 100644
index 0000000..7ce0bd8
--- /dev/null
+++ b/config/common_base
@@ -0,0 +1,524 @@
+#   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.
+#
+
+#
+# The following three configs are for reference only and should be
+# enabled in the correct defconfig_XXX file(s).
+#
+
+################
+#
+# machine can define specific variables or action for a specific board
+# RTE_MACHINE values are the directories in mk/machine/
+#
+CONFIG_RTE_MACHINE=
+
+#
+# define the architecture we compile for.
+# RTE_ARCH values are the directories in mk/arch/
+#
+CONFIG_RTE_ARCH=
+
+#
+# The compiler we use.
+# RTE_TOOLCHAIN values are the directories in mk/toolchain/
+#
+CONFIG_RTE_TOOLCHAIN=
+
+################
+
+#
+# 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=n
+CONFIG_RTE_EAL_VFIO=n
+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=n
+
+#
+# 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=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
+
+#
+# Compile librte_kni
+#
+CONFIG_RTE_LIBRTE_KNI=n
+CONFIG_RTE_KNI_KMOD=n
+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=n
+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 7df5ac6..2fdaf19 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,69 +37,12 @@
 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
-
-#
-# Machine forces strict alignment constraints.
-#
-CONFIG_RTE_ARCH_STRICT_ALIGN=n
-
-#
-# Compile to share library
-#
-CONFIG_RTE_BUILD_SHARED_LIB=n
+#include "common_base"
 
 #
-# Use newest code breaking previous ABI
+# Compile Environment Abstraction Layer for FreeBSD
 #
-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_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_EAL_BSDAPP=y
 
 #
 # FreeBSD contiguous memory driver settings
@@ -107,374 +50,3 @@ CONFIG_RTE_EAL_PMD_PATH=""
 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 26df137..2d8e67a 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,78 +37,7 @@
 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
-
-#
-# 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
@@ -116,182 +45,10 @@ CONFIG_RTE_PCI_MAX_READ_REQUEST_SIZE=0
 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
+# Common configurations for Linux support enabled here from 'common_base' file.
 #
-CONFIG_RTE_LIBRTE_PMD_BOND=y
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
+CONFIG_RTE_EAL_IGB_UIO=y
+CONFIG_RTE_EAL_VFIO=y
 
 #
 # Compile software PMD backed by AF_PACKET sockets (Linux only)
@@ -299,197 +56,15 @@ CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
 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
@@ -498,28 +73,3 @@ CONFIG_RTE_KNI_VHOST_DEBUG_TX=n
 # 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
-- 
2.7.0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH v2] config: remove duplicate configuration information
  2016-03-04 17:01   ` [dpdk-dev] [PATCH v2] " Keith Wiles
@ 2016-03-04 17:26     ` Thomas Monjalon
  2016-03-04 18:07       ` Wiles, Keith
  0 siblings, 1 reply; 30+ messages in thread
From: Thomas Monjalon @ 2016-03-04 17:26 UTC (permalink / raw)
  To: Keith Wiles; +Cc: dev

2016-03-04 11:01, Keith Wiles:
> +#
> +# Combine to one single library
> +#
> +CONFIG_RTE_BUILD_COMBINE_LIBS=n

It has been removed.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH v2] config: remove duplicate configuration information
  2016-03-04 17:26     ` Thomas Monjalon
@ 2016-03-04 18:07       ` Wiles, Keith
  0 siblings, 0 replies; 30+ messages in thread
From: Wiles, Keith @ 2016-03-04 18:07 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

>2016-03-04 11:01, Keith Wiles:
>> +#
>> +# Combine to one single library
>> +#
>> +CONFIG_RTE_BUILD_COMBINE_LIBS=n
>
>It has been removed.
>

OK, Will send a new patch. Not sure how I missed it in the diffs :-(

Regards,
Keith





^ permalink raw reply	[flat|nested] 30+ messages in thread

* [dpdk-dev] [PATCH v3] config: remove duplicate configuration information
  2016-03-03 18:37 ` Thomas Monjalon
                     ` (4 preceding siblings ...)
  2016-03-04 17:01   ` [dpdk-dev] [PATCH v2] " Keith Wiles
@ 2016-03-04 18:11   ` Keith Wiles
  2016-03-04 22:43     ` Thomas Monjalon
  5 siblings, 1 reply; 30+ messages in thread
From: Keith Wiles @ 2016-03-04 18:11 UTC (permalink / raw)
  To: dev

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     | 519 +++++++++++++++++++++++++++++++++++++++++++++++++
 config/common_bsdapp   | 436 +----------------------------------------
 config/common_linuxapp | 460 +------------------------------------------
 3 files changed, 528 insertions(+), 887 deletions(-)
 create mode 100644 config/common_base

diff --git a/config/common_base b/config/common_base
new file mode 100644
index 0000000..0d30cd0
--- /dev/null
+++ b/config/common_base
@@ -0,0 +1,519 @@
+#   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.
+#
+
+#
+# The following three configs are for reference only and should be
+# enabled in the correct defconfig_XXX file(s).
+#
+
+################
+#
+# machine can define specific variables or action for a specific board
+# RTE_MACHINE values are the directories in mk/machine/
+#
+CONFIG_RTE_MACHINE=
+
+#
+# define the architecture we compile for.
+# RTE_ARCH values are the directories in mk/arch/
+#
+CONFIG_RTE_ARCH=
+
+#
+# The compiler we use.
+# RTE_TOOLCHAIN values are the directories in mk/toolchain/
+#
+CONFIG_RTE_TOOLCHAIN=
+
+################
+
+#
+# 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
+
+#
+# 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=n
+CONFIG_RTE_EAL_VFIO=n
+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=n
+
+#
+# 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=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
+
+#
+# Compile librte_kni
+#
+CONFIG_RTE_LIBRTE_KNI=n
+CONFIG_RTE_KNI_KMOD=n
+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=n
+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 7df5ac6..2fdaf19 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,69 +37,12 @@
 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
-
-#
-# Machine forces strict alignment constraints.
-#
-CONFIG_RTE_ARCH_STRICT_ALIGN=n
-
-#
-# Compile to share library
-#
-CONFIG_RTE_BUILD_SHARED_LIB=n
+#include "common_base"
 
 #
-# Use newest code breaking previous ABI
+# Compile Environment Abstraction Layer for FreeBSD
 #
-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_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_EAL_BSDAPP=y
 
 #
 # FreeBSD contiguous memory driver settings
@@ -107,374 +50,3 @@ CONFIG_RTE_EAL_PMD_PATH=""
 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 26df137..2d8e67a 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,78 +37,7 @@
 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
-
-#
-# 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
@@ -116,182 +45,10 @@ CONFIG_RTE_PCI_MAX_READ_REQUEST_SIZE=0
 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
+# Common configurations for Linux support enabled here from 'common_base' file.
 #
-CONFIG_RTE_LIBRTE_PMD_BOND=y
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
+CONFIG_RTE_EAL_IGB_UIO=y
+CONFIG_RTE_EAL_VFIO=y
 
 #
 # Compile software PMD backed by AF_PACKET sockets (Linux only)
@@ -299,197 +56,15 @@ CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
 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
@@ -498,28 +73,3 @@ CONFIG_RTE_KNI_VHOST_DEBUG_TX=n
 # 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
-- 
2.5.4 (Apple Git-61)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH v3] config: remove duplicate configuration information
  2016-03-04 18:11   ` [dpdk-dev] [PATCH v3] " Keith Wiles
@ 2016-03-04 22:43     ` Thomas Monjalon
  2016-03-06  1:11       ` Ferruh Yigit
  0 siblings, 1 reply; 30+ messages in thread
From: Thomas Monjalon @ 2016-03-04 22:43 UTC (permalink / raw)
  To: Keith Wiles; +Cc: dev

2016-03-04 12:11, Keith Wiles:
> 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>

It's also fixing the crypto settings which were mispelled for BSD.

Applied with few cosmetic adjustments, thanks.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH v3] config: remove duplicate configuration information
  2016-03-04 22:43     ` Thomas Monjalon
@ 2016-03-06  1:11       ` Ferruh Yigit
  2016-03-06  1:21         ` [dpdk-dev] [PATCH] config: move Linux only config options from base to Linux config Ferruh Yigit
  2016-03-06  9:35         ` [dpdk-dev] [PATCH v3] config: remove duplicate configuration information Thomas Monjalon
  0 siblings, 2 replies; 30+ messages in thread
From: Ferruh Yigit @ 2016-03-06  1:11 UTC (permalink / raw)
  To: Thomas Monjalon, Keith Wiles; +Cc: dev

On 3/4/2016 10:43 PM, Thomas Monjalon wrote:
> 2016-03-04 12:11, Keith Wiles:
>> 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>
> 
> It's also fixing the crypto settings which were mispelled for BSD.
> 
> Applied with few cosmetic adjustments, thanks.
> 
This is already applied, but,

Is it required to keep Linux specific features
(igb_uio/vfio/kni/vhost..) in base config? Why not move all to Linux
only config?

Because they show up in final bsd config, which is unnecessary. Also
they show up in final Linux config twice, first one disables feature and
second one enables back. Although this works fine both for bsd and
Linux, it is confusing.

I will send a patch for this.

Thanks,
ferruh

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [dpdk-dev] [PATCH] config: move Linux only config options from base to Linux config
  2016-03-06  1:11       ` Ferruh Yigit
@ 2016-03-06  1:21         ` Ferruh Yigit
  2016-03-06  9:35         ` [dpdk-dev] [PATCH v3] config: remove duplicate configuration information Thomas Monjalon
  1 sibling, 0 replies; 30+ messages in thread
From: Ferruh Yigit @ 2016-03-06  1:21 UTC (permalink / raw)
  To: dev, Thomas Monjalon, Keith Wiles

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 config/common_base     | 38 --------------------------------------
 config/common_linuxapp | 33 ++++++++++++++++++++++++++++++++-
 2 files changed, 32 insertions(+), 39 deletions(-)

diff --git a/config/common_base b/config/common_base
index 1af28c8..104a53d 100644
--- a/config/common_base
+++ b/config/common_base
@@ -93,8 +93,6 @@ CONFIG_RTE_LOG_HISTORY=256
 CONFIG_RTE_LIBEAL_USE_HPET=n
 CONFIG_RTE_EAL_ALLOW_INV_SOCKET_ID=n
 CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
-CONFIG_RTE_EAL_IGB_UIO=n
-CONFIG_RTE_EAL_VFIO=n
 CONFIG_RTE_MALLOC_DEBUG=n
 
 # Default driver path (or "" to disable)
@@ -286,11 +284,6 @@ 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=n
-
-#
 # Compile Xen PMD
 #
 CONFIG_RTE_LIBRTE_PMD_XENVIRT=n
@@ -407,13 +400,6 @@ 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
@@ -471,30 +457,6 @@ CONFIG_RTE_LIBRTE_PIPELINE=y
 CONFIG_RTE_PIPELINE_STATS_COLLECT=n
 
 #
-# Compile librte_kni
-#
-CONFIG_RTE_LIBRTE_KNI=n
-CONFIG_RTE_KNI_KMOD=n
-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=n
-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
diff --git a/config/common_linuxapp b/config/common_linuxapp
index ffbe260..1c124b4 100644
--- a/config/common_linuxapp
+++ b/config/common_linuxapp
@@ -37,8 +37,39 @@ CONFIG_RTE_EXEC_ENV_LINUXAPP=y
 
 CONFIG_RTE_EAL_IGB_UIO=y
 CONFIG_RTE_EAL_VFIO=y
-CONFIG_RTE_KNI_KMOD=y
+
+#
+# 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 software PMD backed by AF_PACKET sockets
+#
 CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
+
+#
+# Compile librte_power
+#
 CONFIG_RTE_LIBRTE_POWER=y
+CONFIG_RTE_LIBRTE_POWER_DEBUG=n
+CONFIG_RTE_MAX_LCORE_FREQS=64
-- 
2.5.0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH v3] config: remove duplicate configuration information
  2016-03-06  1:11       ` Ferruh Yigit
  2016-03-06  1:21         ` [dpdk-dev] [PATCH] config: move Linux only config options from base to Linux config Ferruh Yigit
@ 2016-03-06  9:35         ` Thomas Monjalon
  2016-03-07 12:41           ` Bruce Richardson
  1 sibling, 1 reply; 30+ messages in thread
From: Thomas Monjalon @ 2016-03-06  9:35 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev

2016-03-06 01:11, Ferruh Yigit:
> On 3/4/2016 10:43 PM, Thomas Monjalon wrote:
> > 2016-03-04 12:11, Keith Wiles:
> >> 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>
> > 
> > It's also fixing the crypto settings which were mispelled for BSD.
> > 
> > Applied with few cosmetic adjustments, thanks.
> > 
> This is already applied, but,
> 
> Is it required to keep Linux specific features
> (igb_uio/vfio/kni/vhost..) in base config? Why not move all to Linux
> only config?

I have no strong opinion.
Keeping them in the base file makes easy to list every options.
On the other hand, we already have MPIPE defined only in tilegx config
and CONTIGEM only in bsdapp.

> Because they show up in final bsd config, which is unnecessary. Also
> they show up in final Linux config twice, first one disables feature and
> second one enables back. Although this works fine both for bsd and
> Linux, it is confusing.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [dpdk-dev] [PATCH v3] config: remove duplicate configuration information
  2016-03-06  9:35         ` [dpdk-dev] [PATCH v3] config: remove duplicate configuration information Thomas Monjalon
@ 2016-03-07 12:41           ` Bruce Richardson
  0 siblings, 0 replies; 30+ messages in thread
From: Bruce Richardson @ 2016-03-07 12:41 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

On Sun, Mar 06, 2016 at 10:35:50AM +0100, Thomas Monjalon wrote:
> 2016-03-06 01:11, Ferruh Yigit:
> > On 3/4/2016 10:43 PM, Thomas Monjalon wrote:
> > > 2016-03-04 12:11, Keith Wiles:
> > >> 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>
> > > 
> > > It's also fixing the crypto settings which were mispelled for BSD.
> > > 
> > > Applied with few cosmetic adjustments, thanks.
> > > 
> > This is already applied, but,
> > 
> > Is it required to keep Linux specific features
> > (igb_uio/vfio/kni/vhost..) in base config? Why not move all to Linux
> > only config?
> 
> I have no strong opinion.
> Keeping them in the base file makes easy to list every options.
> On the other hand, we already have MPIPE defined only in tilegx config
> and CONTIGEM only in bsdapp.
> 
> > Because they show up in final bsd config, which is unnecessary. Also
> > they show up in final Linux config twice, first one disables feature and
> > second one enables back. Although this works fine both for bsd and
> > Linux, it is confusing.
> 
I prefer to have them in, so that the base config shows all config options.
Otherwise if a config option only used on one platform suddenly becomes used on
a second one, we need to start patching the base config to move it from a
platform-specific one to a common one. [Or worse, we start having cases where
we have to make a judgement call as to whether something is a common option
or not!]

/Bruce

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2016-03-07 12:41 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-22 13:53 [dpdk-dev] [PATCH] config: remove duplicate configuration information Keith Wiles
2016-02-22 15:09 ` Trahe, Fiona
2016-02-22 16:02   ` Wiles, Keith
2016-02-22 16:44     ` Panu Matilainen
2016-02-24 13:58 ` Wiles, Keith
2016-02-24 14:19   ` Trahe, Fiona
2016-02-24 15:25     ` Wiles, Keith
2016-03-03 14:43 ` Wiles, Keith
2016-03-03 17:05   ` Thomas Monjalon
2016-03-03 18:37 ` Thomas Monjalon
2016-03-03 18:47   ` Wiles, Keith
2016-03-04 14:44     ` Wiles, Keith
2016-03-04 15:26       ` Thomas Monjalon
2016-03-04  9:28   ` Traynor, Kevin
2016-03-04  9:39     ` Panu Matilainen
2016-03-04  9:58       ` Traynor, Kevin
2016-03-04 10:28         ` Thomas Monjalon
2016-03-04 14:11     ` Wiles, Keith
2016-03-04  9:35   ` Panu Matilainen
2016-03-04 10:12   ` Panu Matilainen
2016-03-04 14:12     ` Wiles, Keith
2016-03-04 17:01   ` [dpdk-dev] [PATCH v2] " Keith Wiles
2016-03-04 17:26     ` Thomas Monjalon
2016-03-04 18:07       ` Wiles, Keith
2016-03-04 18:11   ` [dpdk-dev] [PATCH v3] " Keith Wiles
2016-03-04 22:43     ` Thomas Monjalon
2016-03-06  1:11       ` Ferruh Yigit
2016-03-06  1:21         ` [dpdk-dev] [PATCH] config: move Linux only config options from base to Linux config Ferruh Yigit
2016-03-06  9:35         ` [dpdk-dev] [PATCH v3] config: remove duplicate configuration information Thomas Monjalon
2016-03-07 12:41           ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).