[dpdk-dev] [PATCH 1/7] member: implement main API
Luca Boccassi
luca.boccassi at gmail.com
Tue Aug 22 12:02:16 CEST 2017
On Mon, 2017-08-21 at 17:19 -0700, Yipeng Wang wrote:
> Membership library is an extension and generalization of a
> traditional
> filter (for example Bloom Filter) structure. In general, the
> Membership
> library is a data structure that provides a "set-summary" and
> responds
> to set-membership queries of whether a certain element belongs to a
> set(s). A membership test for an element will return the set this
> element
> belongs to or not-found if the element is never inserted into the
> set-summary.
>
> The results of the membership test is not 100% accurate. Certain
> false positive or false negative probability could exist. However,
> comparing to a "full-blown" complete list of elements, a "set-
> summary"
> is memory efficient and fast on lookup.
>
> This patch add the main API definition.
>
> Signed-off-by: Yipeng Wang <yipeng1.wang at intel.com>
> ---
> lib/Makefile | 2 +
> lib/librte_eal/common/eal_common_log.c | 1 +
> lib/librte_eal/common/include/rte_log.h | 1 +
> lib/librte_member/Makefile | 48 +++
> lib/librte_member/rte_member.c | 357 +++++++++++++++++++++
> lib/librte_member/rte_member.h | 518
> +++++++++++++++++++++++++++++++
> lib/librte_member/rte_member_version.map | 15 +
> 7 files changed, 942 insertions(+)
> create mode 100644 lib/librte_member/Makefile
> create mode 100644 lib/librte_member/rte_member.c
> create mode 100644 lib/librte_member/rte_member.h
> create mode 100644 lib/librte_member/rte_member_version.map
>
> diff --git a/lib/librte_member/Makefile b/lib/librte_member/Makefile
> new file mode 100644
> index 0000000..997c825
> --- /dev/null
> +++ b/lib/librte_member/Makefile
> @@ -0,0 +1,48 @@
> +# BSD LICENSE
> +#
> +# Copyright(c) 2017 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_member.a
> +
> +CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
> +
This breaks reproducibility as the output directory will be included
before the source directory, causing a race - please do something like:
CFLAGS := -I$(SRCDIR) $(CFLAGS)
CFLAGS += $(WERROR_FLAGS) -O3
> +EXPORT_MAP := rte_member_version.map
> +
> +LIBABIVER := 1
> +
> +# all source are stored in SRCS-y
> +SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += rte_member.c
> +# install includes
> +SYMLINK-$(CONFIG_RTE_LIBRTE_MEMBER)-include := rte_member.h
> +
> +include $(RTE_SDK)/mk/rte.lib.mk
--
Kind regards,
Luca Boccassi
More information about the dev
mailing list