From de9b91e8576f21774ce103d295dc56877d3e3fa7 Mon Sep 17 00:00:00 2001 From: Shijith Thotton Date: Sat, 25 Mar 2017 11:54:12 +0530 Subject: [PATCH] net/liquidio: add skeleton Add makefile and config file options to compile PMD. Add feature and version map file. Update maintainers file to claim responsibility. Signed-off-by: Shijith Thotton Signed-off-by: Jerin Jacob Signed-off-by: Derek Chickles Signed-off-by: Venkat Koppula Signed-off-by: Srisivasubramanian S Signed-off-by: Mallesham Jatharakonda --- MAINTAINERS | 6 ++ config/common_base | 5 ++ doc/guides/nics/features/liquidio.ini | 7 +++ drivers/net/Makefile | 2 + drivers/net/liquidio/Makefile | 59 ++++++++++++++++++++ drivers/net/liquidio/rte_pmd_lio_version.map | 4 ++ mk/rte.app.mk | 1 + 7 files changed, 84 insertions(+) create mode 100644 doc/guides/nics/features/liquidio.ini create mode 100644 drivers/net/liquidio/Makefile create mode 100644 drivers/net/liquidio/rte_pmd_lio_version.map diff --git a/MAINTAINERS b/MAINTAINERS index bf155762a2..3ec858cf07 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -293,6 +293,12 @@ M: Maciej Czekaj F: drivers/net/thunderx/ F: doc/guides/nics/thunderx.rst +Cavium LiquidIO +M: Shijith Thotton +M: Srisivasubramanian Srinivasan +F: drivers/net/liquidio/ +F: doc/guides/nics/features/liquidio.ini + Chelsio cxgbe M: Rahul Lakkireddy F: drivers/net/cxgbe/ diff --git a/config/common_base b/config/common_base index 70faf0a907..d17180df96 100644 --- a/config/common_base +++ b/config/common_base @@ -291,6 +291,11 @@ CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX=n CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_DRIVER=n CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_MBOX=n +# +# Compile burst-oriented Cavium LiquidIO PMD driver +# +CONFIG_RTE_LIBRTE_LIO_PMD=y + # # Compile burst-oriented VIRTIO PMD driver # diff --git a/doc/guides/nics/features/liquidio.ini b/doc/guides/nics/features/liquidio.ini new file mode 100644 index 0000000000..3422661b1c --- /dev/null +++ b/doc/guides/nics/features/liquidio.ini @@ -0,0 +1,7 @@ +; +; Supported features of the 'LiquidIO' network poll mode driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +x86-64 = Y diff --git a/drivers/net/Makefile b/drivers/net/Makefile index ac5d3b3488..cfac72191d 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -54,6 +54,8 @@ DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e DEPDIRS-i40e = $(core-libs) librte_hash DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe DEPDIRS-ixgbe = $(core-libs) librte_hash +DIRS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += liquidio +DEPDIRS-liquidio = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4 DEPDIRS-mlx4 = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5 diff --git a/drivers/net/liquidio/Makefile b/drivers/net/liquidio/Makefile new file mode 100644 index 0000000000..ce2b7fcbaf --- /dev/null +++ b/drivers/net/liquidio/Makefile @@ -0,0 +1,59 @@ +# +# BSD LICENSE +# +# Copyright(c) 2017 Cavium, Inc.. 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 Cavium, Inc. 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(S) 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_pmd_lio.a + +CFLAGS += -O3 +CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)/base -I$(SRCDIR) + +EXPORT_MAP := rte_pmd_lio_version.map + +LIBABIVER := 1 + +VPATH += $(RTE_SDK)/drivers/net/liquidio/base + +# +# all source are stored in SRCS-y +# +SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += + +# this lib depends upon: +DEPDIRS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lib/librte_eal lib/librte_ether +DEPDIRS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lib/librte_mempool lib/librte_mbuf + +include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/liquidio/rte_pmd_lio_version.map b/drivers/net/liquidio/rte_pmd_lio_version.map new file mode 100644 index 0000000000..8591cc0b18 --- /dev/null +++ b/drivers/net/liquidio/rte_pmd_lio_version.map @@ -0,0 +1,4 @@ +DPDK_17.05 { + + local: *; +}; diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 2f9d32ec2a..9dfa0e0d88 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -117,6 +117,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe ifeq ($(CONFIG_RTE_LIBRTE_KNI),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KNI) += -lrte_pmd_kni endif +_LDLIBS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += -lrte_pmd_lio _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += -lrte_pmd_mlx4 -libverbs _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += -lrte_pmd_mlx5 -libverbs _LDLIBS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += -lrte_pmd_nfp -lm -- 2.20.1