Makefile and build infrastructure for the librte_port library. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com> --- config/common_bsdapp | 5 +++ config/common_linuxapp | 4 ++ doc/doxy-api-index.md | 9 ++++++ doc/doxy-api.conf | 1 + lib/Makefile | 1 + lib/librte_port/Makefile | 72 ++++++++++++++++++++++++++++++++++++++++++++++ mk/rte.app.mk | 4 ++ 7 files changed, 96 insertions(+), 0 deletions(-) create mode 100644 lib/librte_port/Makefile mode change 100644 => 100755 mk/rte.app.mk
diff --git a/config/common_bsdapp b/config/common_bsdapp index 2cc7b80..e1cc356 100644 --- a/config/common_bsdapp +++ b/config/common_bsdapp @@ -300,3 +300,8 @@ CONFIG_RTE_APP_TEST=y CONFIG_RTE_TEST_PMD=y CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES=n CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=n + +# +# Compile librte_port +# +CONFIG_RTE_LIBRTE_PORT=y diff --git a/config/common_linuxapp b/config/common_linuxapp index 62619c6..ef0f65e 100644 --- a/config/common_linuxapp +++ b/config/common_linuxapp @@ -337,3 +337,7 @@ CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=n # CONFIG_RTE_NIC_BYPASS=n +# +# Compile librte_port +# +CONFIG_RTE_LIBRTE_PORT=y diff --git a/doc/doxy-api-index.md b/doc/doxy-api-index.md index 2825c08..3e74ea6 100644 --- a/doc/doxy-api-index.md +++ b/doc/doxy-api-index.md @@ -85,6 +85,15 @@ There are many libraries, so their headers may be grouped by topics: [scheduler] (@ref rte_sched.h), [RED congestion] (@ref rte_red.h) +- **Packet Framework**: + [port] (@ref rte_port.h), + [port ethdev] (@ref rte_port_ethdev.h), + [port ring] (@ref rte_port_ring.h), + [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) + - **hashes**: [hash] (@ref rte_hash.h), [jhash] (@ref rte_jhash.h), diff --git a/doc/doxy-api.conf b/doc/doxy-api.conf index 642f77a..4f280bf 100644 --- a/doc/doxy-api.conf +++ b/doc/doxy-api.conf @@ -41,6 +41,7 @@ INPUT = doc/doxy-api-index.md \ lib/librte_mempool \ lib/librte_meter \ lib/librte_net \ + lib/librte_port \ lib/librte_power \ lib/librte_ring \ lib/librte_sched \ diff --git a/lib/Makefile b/lib/Makefile index b92b392..654968e 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -55,6 +55,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_METER) += librte_meter 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 ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y) DIRS-$(CONFIG_RTE_LIBRTE_KNI) += librte_kni diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile new file mode 100644 index 0000000..b67df48 --- /dev/null +++ b/lib/librte_port/Makefile @@ -0,0 +1,72 @@ +# 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_port.a + +CFLAGS += -O3 +CFLAGS += $(WERROR_FLAGS) + +# +# all source are stored in SRCS-y +# +SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ring.c +SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ethdev.c +SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_sched.c +SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ras.c +SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_source_sink.c +ifeq ($(CONFIG_RTE_MBUF_SCATTER_GATHER),y) +SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_frag.c +endif + +# install includes +SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port.h +SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ring.h +SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ethdev.h +SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_sched.h +SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ras.h +SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_source_sink.h +ifeq ($(CONFIG_RTE_MBUF_SCATTER_GATHER),y) +SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_frag.h +endif + +# this lib depends upon: +DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) := lib/librte_eal +DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mbuf +DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mempool +DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_malloc +DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ether + +include $(RTE_SDK)/mk/rte.lib.mk diff --git a/mk/rte.app.mk b/mk/rte.app.mk old mode 100644 new mode 100755 index a836577..e67326b --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -73,6 +73,10 @@ LDLIBS += -lrte_ivshmem endif endif +ifeq ($(CONFIG_RTE_LIBRTE_PORT),y) +LDLIBS += -lrte_port +endif + ifeq ($(CONFIG_RTE_LIBRTE_TIMER),y) LDLIBS += -lrte_timer endif -- 1.7.7.6