From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 151B7DE0 for ; Wed, 4 Jun 2014 20:08:47 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 04 Jun 2014 11:08:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.98,974,1392192000"; d="scan'208";a="542499216" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga001.fm.intel.com with ESMTP; 04 Jun 2014 11:08:51 -0700 Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com [10.237.217.45]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id s54I8pk7011754; Wed, 4 Jun 2014 19:08:51 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id s54I8pJr009087; Wed, 4 Jun 2014 19:08:51 +0100 Received: (from cfdumitr@localhost) by sivswdev01.ir.intel.com with id s54I8pnS009083; Wed, 4 Jun 2014 19:08:51 +0100 From: Cristian Dumitrescu To: dev@dpdk.org Date: Wed, 4 Jun 2014 19:08:34 +0100 Message-Id: <1401905319-8882-19-git-send-email-cristian.dumitrescu@intel.com> X-Mailer: git-send-email 1.7.0.7 In-Reply-To: <1401905319-8882-1-git-send-email-cristian.dumitrescu@intel.com> References: <1401905319-8882-1-git-send-email-cristian.dumitrescu@intel.com> Subject: [dpdk-dev] [v2 18/23] Packet Framework librte_table: Build infrastructure X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jun 2014 18:08:50 -0000 Makefile and buid infrastructure for the Packet Framework table library. Signed-off-by: Cristian Dumitrescu --- config/common_bsdapp | 5 +++ config/common_linuxapp | 5 +++ doc/doxy-api-index.md | 9 ++++- doc/doxy-api.conf | 1 + lib/Makefile | 1 + lib/librte_table/Makefile | 85 +++++++++++++++++++++++++++++++++++++++++++++ mk/rte.app.mk | 4 ++ 7 files changed, 109 insertions(+), 1 deletions(-) create mode 100644 lib/librte_table/Makefile diff --git a/config/common_bsdapp b/config/common_bsdapp index e1cc356..c86b03c 100644 --- a/config/common_bsdapp +++ b/config/common_bsdapp @@ -305,3 +305,8 @@ CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=n # Compile librte_port # CONFIG_RTE_LIBRTE_PORT=y + +# +# Compile librte_table +# +CONFIG_RTE_LIBRTE_TABLE=y diff --git a/config/common_linuxapp b/config/common_linuxapp index ef0f65e..a3a5761 100644 --- a/config/common_linuxapp +++ b/config/common_linuxapp @@ -341,3 +341,8 @@ CONFIG_RTE_NIC_BYPASS=n # Compile librte_port # CONFIG_RTE_LIBRTE_PORT=y + +# +# Compile librte_table +# +CONFIG_RTE_LIBRTE_TABLE=y diff --git a/doc/doxy-api-index.md b/doc/doxy-api-index.md index 3e74ea6..a49ee77 100644 --- a/doc/doxy-api-index.md +++ b/doc/doxy-api-index.md @@ -92,7 +92,14 @@ There are many libraries, so their headers may be grouped by topics: [port IPv4 fragmentation] (@ref rte_port_frag.h), [port IPv4 reassembly] (@ref rte_port_ras.h), [port scheduler] (@ref rte_port_sched.h), - [port source/sink] (@ref rte_port_source_sink.h) + [port source/sink] (@ref rte_port_source_sink.h), + [table] (@ref rte_table.h), + [table ACL] (@ref rte_table_acl.h), + [table array] (@ref rte_table_array.h), + [table hash] (@ref rte_table_hash.h), + [table lpm IPv4] (@ref rte_table_lpm.h), + [table lpm IPv6] (@ref rte_table_lpm_ipv6.h), + [table stub] (@ref rte_table_stub.h) - **hashes**: [hash] (@ref rte_hash.h), diff --git a/doc/doxy-api.conf b/doc/doxy-api.conf index 4f280bf..5a456b7 100644 --- a/doc/doxy-api.conf +++ b/doc/doxy-api.conf @@ -45,6 +45,7 @@ INPUT = doc/doxy-api-index.md \ lib/librte_power \ lib/librte_ring \ lib/librte_sched \ + lib/librte_table \ lib/librte_timer FILE_PATTERNS = rte_*.h \ cmdline.h diff --git a/lib/Makefile b/lib/Makefile index 654968e..4246e2f 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -56,6 +56,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += librte_sched DIRS-$(CONFIG_RTE_LIBRTE_ACL) += librte_acl DIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += librte_kvargs DIRS-$(CONFIG_RTE_LIBRTE_PORT) += librte_port +DIRS-$(CONFIG_RTE_LIBRTE_TABLE) += librte_table ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y) DIRS-$(CONFIG_RTE_LIBRTE_KNI) += librte_kni diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile new file mode 100644 index 0000000..ca38e75 --- /dev/null +++ b/lib/librte_table/Makefile @@ -0,0 +1,85 @@ +# BSD LICENSE +# +# Copyright(c) 2010-2014 Intel Corporation. All rights reserved. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +include $(RTE_SDK)/mk/rte.vars.mk + +# +# library name +# +LIB = librte_table.a + +CFLAGS += -O3 +CFLAGS += $(WERROR_FLAGS) + +# +# all source are stored in SRCS-y +# +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_stub.c +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_array.c +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_ext.c +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_lru.c +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key8.c +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key16.c +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key32.c +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_lpm.c +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_lpm_ipv6.c + +ifeq ($(CONFIG_RTE_LIBRTE_ACL),y) +SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_acl.c +endif + +# install includes +SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table.h +SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_stub.h +SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_array.h +SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash.h +SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_lpm.h +SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_lpm_ipv6.h +SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru.h + +ifeq ($(CONFIG_RTE_LIBRTE_ACL),y) +SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_acl.h +endif + +# this lib depends upon: +DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) := lib/librte_eal +DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_mbuf +DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_mempool +DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_malloc +DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_hash +DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_lpm +DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_port + +ifeq ($(CONFIG_RTE_LIBRTE_ACL),y) +DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_acl +endif + +include $(RTE_SDK)/mk/rte.lib.mk diff --git a/mk/rte.app.mk b/mk/rte.app.mk index e67326b..a11812b 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -73,6 +73,10 @@ LDLIBS += -lrte_ivshmem endif endif +ifeq ($(CONFIG_RTE_LIBRTE_TABLE),y) +LDLIBS += -lrte_table +endif + ifeq ($(CONFIG_RTE_LIBRTE_PORT),y) LDLIBS += -lrte_port endif -- 1.7.7.6