From patchwork Mon Sep 30 09:21:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Baran X-Patchwork-Id: 60149 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D1B0D2BF1; Mon, 30 Sep 2019 11:22:32 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id EEF422A6C for ; Mon, 30 Sep 2019 11:22:31 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Sep 2019 02:22:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,565,1559545200"; d="scan'208";a="204792612" Received: from baranmx-mobl.ger.corp.intel.com ([10.103.104.83]) by fmsmga001.fm.intel.com with ESMTP; 30 Sep 2019 02:22:28 -0700 From: Marcin Baran To: dev@dpdk.org, bruce.richardson@intel.com, ray.kinsella@intel.com Cc: Marcin Baran , Pawel Modrak Date: Mon, 30 Sep 2019 11:21:32 +0200 Message-Id: <20190930092139.2440-1-marcinx.baran@intel.com> X-Mailer: git-send-email 2.22.0.windows.1 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 1/8] config: change ABI versioning for global X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The libraries should be maintained using global ABI versioning. The changes includes adding global ABI version support for both makefile and meson build system. Experimental libraries should be marked as 0. Signed-off-by: Marcin Baran Signed-off-by: Pawel Modrak --- buildtools/meson.build | 2 ++ config/ABI_VERSION | 1 + config/meson.build | 3 ++- drivers/meson.build | 20 ++++++++++++++------ lib/meson.build | 18 +++++++++++++----- meson_options.txt | 2 -- mk/rte.lib.mk | 19 +++++++++++-------- 7 files changed, 43 insertions(+), 22 deletions(-) create mode 100644 config/ABI_VERSION diff --git a/buildtools/meson.build b/buildtools/meson.build index 32c79c130..78ce69977 100644 --- a/buildtools/meson.build +++ b/buildtools/meson.build @@ -12,3 +12,5 @@ if python3.found() else map_to_def_cmd = ['meson', 'runpython', files('map_to_def.py')] endif + +is_experimental_cmd = [find_program('grep', 'findstr'), '^DPDK_'] diff --git a/config/ABI_VERSION b/config/ABI_VERSION new file mode 100644 index 000000000..9a7c1e503 --- /dev/null +++ b/config/ABI_VERSION @@ -0,0 +1 @@ +20.0 diff --git a/config/meson.build b/config/meson.build index 2bafea530..16ad8968d 100644 --- a/config/meson.build +++ b/config/meson.build @@ -17,7 +17,8 @@ endforeach # set the major version, which might be used by drivers and libraries # depending on the configuration options pver = meson.project_version().split('.') -major_version = '@0@.@1@'.format(pver.get(0), pver.get(1)) +major_version = run_command(find_program('cat', 'more'), + files('ABI_VERSION')).stdout().strip() # extract all version information into the build configuration dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int()) diff --git a/drivers/meson.build b/drivers/meson.build index 2ed2e9541..5c5fe87c7 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -110,9 +110,20 @@ foreach class:dpdk_driver_classes output: out_filename, depends: [pmdinfogen, tmp_lib]) - if get_option('per_library_versions') - lib_version = '@0@.1'.format(version) - so_version = '@0@'.format(version) + version_map = '@0@/@1@/@2@_version.map'.format( + meson.current_source_dir(), + drv_path, lib_name) + + if is_windows + version_map = '\\'.join(version_map.split('/')) + endif + + is_experimental = run_command(is_experimental_cmd, + files(version_map)).returncode() + + if is_experimental != 0 + lib_version = '0.1' + so_version = '0' else lib_version = major_version so_version = major_version @@ -128,9 +139,6 @@ foreach class:dpdk_driver_classes install: true) # now build the shared driver - version_map = '@0@/@1@/@2@_version.map'.format( - meson.current_source_dir(), - drv_path, lib_name) shared_lib = shared_library(lib_name, sources, objects: objs, diff --git a/lib/meson.build b/lib/meson.build index e5ff83893..3892c16e8 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -97,9 +97,19 @@ foreach l:libraries cflags += '-DALLOW_EXPERIMENTAL_API' endif - if get_option('per_library_versions') - lib_version = '@0@.1'.format(version) - so_version = '@0@'.format(version) + version_map = '@0@/@1@/rte_@2@_version.map'.format( + meson.current_source_dir(), dir_name, name) + + if is_windows + version_map = '\\'.join(version_map.split('/')) + endif + + is_experimental = run_command(is_experimental_cmd, + files(version_map)).returncode() + + if is_experimental != 0 + lib_version = '0.1' + so_version = '0' else lib_version = major_version so_version = major_version @@ -120,8 +130,6 @@ foreach l:libraries # then use pre-build objects to build shared lib sources = [] objs += static_lib.extract_all_objects(recursive: false) - version_map = '@0@/@1@/rte_@2@_version.map'.format( - meson.current_source_dir(), dir_name, name) implib = dir_name + '.dll.a' def_file = custom_target(name + '_def', diff --git a/meson_options.txt b/meson_options.txt index 448f3e63d..000e38fd9 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -28,8 +28,6 @@ option('max_lcores', type: 'integer', value: 128, description: 'maximum number of cores/threads supported by EAL') option('max_numa_nodes', type: 'integer', value: 4, description: 'maximum number of NUMA nodes supported by EAL') -option('per_library_versions', type: 'boolean', value: true, - description: 'true: each lib gets its own version number, false: DPDK version used for each lib') option('tests', type: 'boolean', value: true, description: 'build unit tests') option('use_hpet', type: 'boolean', value: false, diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk index 4df8849a0..f84161c6d 100644 --- a/mk/rte.lib.mk +++ b/mk/rte.lib.mk @@ -11,20 +11,23 @@ EXTLIB_BUILD ?= n # VPATH contains at least SRCDIR VPATH += $(SRCDIR) -ifneq ($(CONFIG_RTE_MAJOR_ABI),) -ifneq ($(LIBABIVER),) -LIBABIVER := $(CONFIG_RTE_MAJOR_ABI) +ifeq ($(OS), Windows_NT) +search_cmd = findstr +print_cmd = more +else +search_cmd = grep +print_cmd = cat endif + +ifneq ($(shell $(search_cmd) "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),) +LIBABIVER := $(shell $(print_cmd) $(RTE_SRCDIR)/config/ABI_VERSION) +else +LIBABIVER := 0 endif ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB)) ifeq ($(EXTLIB_BUILD),n) -ifeq ($(CONFIG_RTE_MAJOR_ABI),) -ifeq ($(CONFIG_RTE_NEXT_ABI),y) -LIB := $(LIB).1 -endif -endif CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP) endif endif From patchwork Mon Sep 30 09:21:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Baran X-Patchwork-Id: 60150 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CE03437B4; Mon, 30 Sep 2019 11:22:37 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 125C334F3 for ; Mon, 30 Sep 2019 11:22:34 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Sep 2019 02:22:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,565,1559545200"; d="scan'208";a="204792623" Received: from baranmx-mobl.ger.corp.intel.com ([10.103.104.83]) by fmsmga001.fm.intel.com with ESMTP; 30 Sep 2019 02:22:33 -0700 From: Marcin Baran To: dev@dpdk.org, bruce.richardson@intel.com, ray.kinsella@intel.com Cc: Pawel Modrak Date: Mon, 30 Sep 2019 11:21:33 +0200 Message-Id: <20190930092139.2440-2-marcinx.baran@intel.com> X-Mailer: git-send-email 2.22.0.windows.1 In-Reply-To: <20190930092139.2440-1-marcinx.baran@intel.com> References: <20190930092139.2440-1-marcinx.baran@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 2/8] buildtools: scripts for updating symbols abi version X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Pawel Modrak The scripts updates version number for binding symbols and version map files. Signed-off-by: Pawel Modrak --- buildtools/update_default_symbol_abi.py | 57 ++++++++++++ buildtools/update_version_map_abi.py | 110 ++++++++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100755 buildtools/update_default_symbol_abi.py create mode 100755 buildtools/update_version_map_abi.py diff --git a/buildtools/update_default_symbol_abi.py b/buildtools/update_default_symbol_abi.py new file mode 100755 index 000000000..6fe60d8cd --- /dev/null +++ b/buildtools/update_default_symbol_abi.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2019 Intel Corporation + +from __future__ import print_function +import sys +import argparse +import re + +def setup_options(): + arg_parser = argparse.ArgumentParser(description='Update default bind symbol abi version.') + arg_parser.add_argument('map_file', metavar='map_file', type=str, nargs=1, + help='path to source file (pattern: *.c)') + arg_parser.add_argument('dst_abi_version', metavar='dst_abi_version', type=str, nargs=1, + help='target ABI version (pattern: DPDK_*)') + arg_parser.add_argument('-v', '--verbose', action='store_true', help='print changes') + + return arg_parser.parse_args() + +def replace_abi(f_in, abi_version_number, verbose): + source_file_content = [] + + for ln_no, ln in enumerate(f_in, 1): + if re.search("^BIND_DEFAULT_SYMBOL\(.*", ln): + source_file_content += [re.sub(", [0-9]{1,2}\.[0-9]{1,2}\);$", ", " + abi_version_number + ");", ln)] + if verbose: + print(f_in.name + ":" + str(ln_no) + ": " + ln[:-1] + " -> " + source_file_content[-1][:-1]) + elif re.search("^VERSION_SYMBOL\(.*", ln): + if verbose: + print(f_in.name + ":" + str(ln_no) + ": " + ln[:-1] + " -> " + "[DELETED]") + else: + source_file_content += [ln] + + return source_file_content + +def main(args): + params = setup_options() + + if not params.map_file[0].endswith('.c') or \ + not params.dst_abi_version[0].startswith('DPDK_'): + print('Wrong pattern for input files!\n') + arg_parser.print_help() + return 1 + + abi_version_number = params.dst_abi_version[0][5:] + source_file_content = [] + + with open(params.map_file[0]) as f_in: + source_file_content = replace_abi(f_in, abi_version_number, params.verbose) + + with open(params.map_file[0], 'w') as f_out: + f_out.writelines(source_file_content) + + return 0 + +if __name__ == "__main__": + sys.exit(main(sys.argv)) diff --git a/buildtools/update_version_map_abi.py b/buildtools/update_version_map_abi.py new file mode 100755 index 000000000..5a840e766 --- /dev/null +++ b/buildtools/update_version_map_abi.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2019 Intel Corporation + +from __future__ import print_function +import sys +import argparse + +def setup_options(): + arg_parser = argparse.ArgumentParser(description='Merge versions in linker version script.') + arg_parser.add_argument("map_file", metavar='map_file', type=str, nargs=1, + help='path to linker version script file (pattern: *version.map)') + arg_parser.add_argument("dst_abi_version", metavar='dst_abi_version', type=str, nargs=1, + help='target ABI version (pattern: DPDK_*)') + arg_parser.add_argument("src_abi_version", metavar='src_abi_version', default="DPDK_", type=str, nargs='?', + help='source ABI version (pattern: DPDK_*, default: DPDK_)') + arg_parser.add_argument('-v', '--verbose', action='store_true', help='print changes') + + return arg_parser.parse_args() + +def is_function_line(ln): + return ln.startswith('\t') and ln.endswith(';\n') and ":" not in ln + +def is_dpdk_version_start_line(ln, src_abi_version): + return ln.startswith(src_abi_version) and ln.endswith('{\n') and ":" not in ln + +def is_experimental_version_start_line(ln): + return ln.startswith('EXPERIMENTAL {') and ln.endswith('\n') and ":" not in ln + +def is_version_end_line(ln): + return ln.startswith('}') and ln.endswith(';\n') and ":" not in ln + +def is_global_line(ln): + return ln.startswith('\tglobal:') and ln.endswith('\n') + +def is_local_line(ln): + return ln.startswith('\tlocal: ') and ln.endswith(';\n') + +def store_functions(f_in): + functions = [] + local_line = [] + + for line in f_in: + if is_version_end_line(line): break + elif is_local_line(line): + local_line = [line] + elif is_function_line(line): functions += [line] + + return functions, local_line + +def parse_linker_version_map_file(f_in, src_abi_version): + dpdk_functions = [] + experimental_functions = [] + dpdk_local_line = [] + experimental_local_line = [] + + for line in f_in: + if is_dpdk_version_start_line(line, src_abi_version): + dpdk_functions_tmp, dpdk_local_line_tmp = store_functions(f_in) + dpdk_functions += dpdk_functions_tmp + dpdk_local_line = dpdk_local_line_tmp if len(dpdk_local_line_tmp) > 0 else dpdk_local_line + elif is_experimental_version_start_line(line): + experimental_functions_tmp, experimental_local_line_tmp = store_functions(f_in) + experimental_functions += experimental_functions_tmp + experimental_local_line += experimental_local_line_tmp + + return list(set(dpdk_functions)), list(set(experimental_functions)), list(set(dpdk_local_line)), list(set(experimental_local_line)) + +def main(args): + params = setup_options() + + if not params.map_file[0].endswith('version.map') or \ + not params.dst_abi_version[0].startswith('DPDK_'): + print('Wrong pattern for input files!\n') + arg_parser.print_help() + return 1 + + dpdk_functions = [] + experimental_functions = [] + dpdk_local_line = [] + experimental_local_line = [] + + with open(params.map_file[0]) as f_in: + dpdk_functions, experimental_functions, dpdk_local_line, experimental_local_line = parse_linker_version_map_file(f_in, params.src_abi_version) + + dpdk_functions.sort() + experimental_functions.sort() + + with open(params.map_file[0], 'w') as f_out: + if len(dpdk_functions) > 0: + dpdk_functions = params.dst_abi_version + [" {\n"] + ["\tglobal:\n\n"] + dpdk_functions + dpdk_local_line + ["};\n\n"] + if params.verbose: + print(*dpdk_functions) + f_out.writelines(dpdk_functions) + elif len(dpdk_local_line) > 0: + dpdk_functions = params.dst_abi_version + [" {\n"] + ["\n\tlocal: *;\n};\n"] + if params.verbose: + print(*dpdk_functions) + f_out.writelines(dpdk_functions) + + if len(experimental_functions) > 0: + experimental_functions = ["EXPERIMENTAL" + " {\n"] + ["\tglobal:\n\n"] + experimental_functions + experimental_local_line + ["};\n"] + if params.verbose: + print(*experimental_functions) + f_out.writelines(experimental_functions) + + return 0 + +if __name__ == "__main__": + sys.exit(main(sys.argv)) From patchwork Mon Sep 30 09:21:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Baran X-Patchwork-Id: 60151 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CC74349DF; Mon, 30 Sep 2019 11:22:41 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id D234A49DF for ; Mon, 30 Sep 2019 11:22:39 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Sep 2019 02:22:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,565,1559545200"; d="scan'208";a="204792635" Received: from baranmx-mobl.ger.corp.intel.com ([10.103.104.83]) by fmsmga001.fm.intel.com with ESMTP; 30 Sep 2019 02:22:38 -0700 From: Marcin Baran To: dev@dpdk.org, bruce.richardson@intel.com, ray.kinsella@intel.com Cc: Marcin Baran , Pawel Modrak Date: Mon, 30 Sep 2019 11:21:34 +0200 Message-Id: <20190930092139.2440-3-marcinx.baran@intel.com> X-Mailer: git-send-email 2.22.0.windows.1 In-Reply-To: <20190930092139.2440-1-marcinx.baran@intel.com> References: <20190930092139.2440-1-marcinx.baran@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 3/8] buildtools: add ABI versioning check script X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The script 'check-abi-version.sh' should be used to check whether built libraries are versioned with correct ABI number (provided ABI, provided ABI+1 or EXPERIMENTAL). Signed-off-by: Marcin Baran Signed-off-by: Pawel Modrak --- buildtools/check-abi-version.sh | 46 +++++++++++++++++++++++++++++++++ buildtools/update_abi.sh | 41 +++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100755 buildtools/check-abi-version.sh create mode 100755 buildtools/update_abi.sh diff --git a/buildtools/check-abi-version.sh b/buildtools/check-abi-version.sh new file mode 100755 index 000000000..ead25c080 --- /dev/null +++ b/buildtools/check-abi-version.sh @@ -0,0 +1,46 @@ +#!/bin/sh +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2019 Intel Corporation + +# Check whether library symbols have correct +# version (provided ABI number or provided ABI +# number + 1 or EXPERIMENTAL). +# Args: +# $1: path of the library .so file +# $2: ABI major version number to check +# (defaults to ABI_VERSION file value) + +if [ -z "$1" ]; then + echo "Script checks whether library symbols have" + echo "correct version (ABI_VER/ABI_VER+1/EXPERIMENTAL)" + echo "Usage:" + echo " $0 SO_FILE_PATH [ABI_VER]" + exit 1 +fi + +LIB="$1" +DEFAULT_ABI=$(cat "$(dirname \ + $(readlink -f $0))/../config/ABI_VERSION" | \ + cut -d'.' -f 1) +ABIVER="DPDK_${2-$DEFAULT_ABI}" +NEXT_ABIVER="DPDK_$((${2-$DEFAULT_ABI}+1))" + +ret=0 + +for SYM in `objdump -TC --section=.text ${LIB} | \ + grep -e "DPDK\|EXPERIMENTAL" | \ + awk '{print $(NF-1) "-" $NF}'` +do + version=$(echo $SYM | cut -d'-' -f 1) + symbol=$(echo $SYM | cut -d'-' -f 2) + case $version in (*"$ABIVER"*|*"$NEXT_ABIVER"*|"EXPERIMENTAL") + ;; + (*) + echo "Warning: symbol $symbol ($version) should be annotated " \ + "as ABI version $ABIVER / $NEXT_ABIVER, or EXPERIMENTAL." + ret=1 + ;; + esac +done + +exit $ret diff --git a/buildtools/update_abi.sh b/buildtools/update_abi.sh new file mode 100755 index 000000000..43ee79a92 --- /dev/null +++ b/buildtools/update_abi.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2019 Intel Corporation + +abi_version="" +abi_version_file="./config/ABI_VERSION" +update_path="lib drivers" + +if [ -z "$1" ] +then + echo "\$provide ABI version" +fi + +abi_version=$1 +abi_version_with_prefix="DPDK_$abi_version" + +if [ -n "$2" ] +then + abi_version_file=$2 +fi + +if [ -n "$3" ] +then + update_path=${@:3} +fi + +echo "New ABI version:" $abi_version +echo "ABI_VERSION path:" $abi_version_file +echo "Path to update:" $update_path + +echo $abi_version > $abi_version_file + +grep --binary-files=without-match --recursive --files-with-matches \ +--max-count=1 --include \*.c 'BIND_DEFAULT_SYMBOL\|VERSION_SYMBOL' \ +$update_path | xargs --max-lines=1 --verbose -I {} \ +./buildtools/update_default_symbol_abi.py {} \ +$abi_version_with_prefix + +find $update_path -name \*version.map -exec \ +./buildtools/update_version_map_abi.py {} \ +$abi_version_with_prefix \; -print From patchwork Mon Sep 30 09:21:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Baran X-Patchwork-Id: 60152 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 13BEA4C99; Mon, 30 Sep 2019 11:22:48 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id A639F4C99 for ; Mon, 30 Sep 2019 11:22:44 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Sep 2019 02:22:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,565,1559545200"; d="scan'208";a="204792648" Received: from baranmx-mobl.ger.corp.intel.com ([10.103.104.83]) by fmsmga001.fm.intel.com with ESMTP; 30 Sep 2019 02:22:40 -0700 From: Marcin Baran To: dev@dpdk.org, bruce.richardson@intel.com, ray.kinsella@intel.com Cc: Pawel Modrak Date: Mon, 30 Sep 2019 11:21:35 +0200 Message-Id: <20190930092139.2440-4-marcinx.baran@intel.com> X-Mailer: git-send-email 2.22.0.windows.1 In-Reply-To: <20190930092139.2440-1-marcinx.baran@intel.com> References: <20190930092139.2440-1-marcinx.baran@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 4/8] build: change ABI version to 20.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Pawel Modrak Merge all vesions in linker version script files to DPDK_20.0. Use version 20.0 as default version in source files. Signed-off-by: Pawel Modrak --- .../rte_pmd_bbdev_fpga_lte_fec_version.map | 5 +- .../null/rte_pmd_bbdev_null_version.map | 3 +- .../rte_pmd_bbdev_turbo_sw_version.map | 3 +- drivers/bus/dpaa/rte_bus_dpaa_version.map | 98 ++-- drivers/bus/fslmc/rte_bus_fslmc_version.map | 153 +++---- drivers/bus/ifpga/rte_bus_ifpga_version.map | 14 +- drivers/bus/pci/rte_bus_pci_version.map | 4 +- drivers/bus/vdev/rte_bus_vdev_version.map | 12 +- drivers/bus/vmbus/rte_bus_vmbus_version.map | 12 +- drivers/common/cpt/rte_common_cpt_version.map | 3 +- .../common/dpaax/rte_common_dpaax_version.map | 6 +- .../common/mvep/rte_common_mvep_version.map | 5 +- .../octeontx/rte_common_octeontx_version.map | 5 +- .../rte_common_octeontx2_version.map | 18 +- .../compress/isal/rte_pmd_isal_version.map | 3 +- .../rte_pmd_octeontx_compress_version.map | 3 +- drivers/compress/qat/rte_pmd_qat_version.map | 3 +- .../compress/zlib/rte_pmd_zlib_version.map | 3 +- .../aesni_gcm/rte_pmd_aesni_gcm_version.map | 3 +- .../aesni_mb/rte_pmd_aesni_mb_version.map | 3 +- .../crypto/armv8/rte_pmd_armv8_version.map | 3 +- .../caam_jr/rte_pmd_caam_jr_version.map | 2 +- drivers/crypto/ccp/rte_pmd_ccp_version.map | 2 +- .../dpaa2_sec/rte_pmd_dpaa2_sec_version.map | 10 +- .../dpaa_sec/rte_pmd_dpaa_sec_version.map | 2 +- .../crypto/kasumi/rte_pmd_kasumi_version.map | 3 +- .../crypto/mvsam/rte_pmd_mvsam_version.map | 3 +- .../null/rte_pmd_null_crypto_version.map | 3 +- .../rte_pmd_octeontx_crypto_version.map | 2 +- .../openssl/rte_pmd_openssl_version.map | 3 +- .../rte_pmd_crypto_scheduler_version.map | 18 +- .../crypto/snow3g/rte_pmd_snow3g_version.map | 3 +- .../virtio/rte_pmd_virtio_crypto_version.map | 3 +- drivers/crypto/zuc/rte_pmd_zuc_version.map | 3 +- .../event/dpaa/rte_pmd_dpaa_event_version.map | 2 +- .../dpaa2/rte_pmd_dpaa2_event_version.map | 3 +- .../event/dsw/rte_pmd_dsw_event_version.map | 3 +- .../rte_pmd_octeontx_event_version.map | 3 +- .../rte_pmd_octeontx2_event_version.map | 4 +- .../event/opdl/rte_pmd_opdl_event_version.map | 3 +- .../rte_pmd_skeleton_event_version.map | 2 +- drivers/event/sw/rte_pmd_sw_event_version.map | 3 +- .../bucket/rte_mempool_bucket_version.map | 2 +- .../mempool/dpaa/rte_mempool_dpaa_version.map | 4 +- .../dpaa2/rte_mempool_dpaa2_version.map | 12 +- .../octeontx/rte_mempool_octeontx_version.map | 3 +- .../rte_mempool_octeontx2_version.map | 6 +- .../mempool/ring/rte_mempool_ring_version.map | 2 +- .../stack/rte_mempool_stack_version.map | 2 +- .../af_packet/rte_pmd_af_packet_version.map | 2 +- drivers/net/af_xdp/rte_pmd_af_xdp_version.map | 3 +- drivers/net/ark/rte_pmd_ark_version.map | 4 +- .../net/atlantic/rte_pmd_atlantic_version.map | 12 +- drivers/net/avp/rte_pmd_avp_version.map | 3 +- drivers/net/axgbe/rte_pmd_axgbe_version.map | 3 +- drivers/net/bnx2x/rte_pmd_bnx2x_version.map | 2 +- drivers/net/bnxt/rte_pmd_bnxt_version.map | 6 +- drivers/net/bonding/rte_pmd_bond_version.map | 47 +- drivers/net/cxgbe/rte_pmd_cxgbe_version.map | 2 +- drivers/net/dpaa/rte_pmd_dpaa_version.map | 11 +- drivers/net/dpaa2/rte_pmd_dpaa2_version.map | 13 +- drivers/net/e1000/rte_pmd_e1000_version.map | 2 +- drivers/net/ena/rte_pmd_ena_version.map | 2 +- drivers/net/enetc/rte_pmd_enetc_version.map | 2 +- drivers/net/enic/rte_pmd_enic_version.map | 2 +- .../net/failsafe/rte_pmd_failsafe_version.map | 2 +- drivers/net/fm10k/rte_pmd_fm10k_version.map | 2 +- drivers/net/hinic/rte_pmd_hinic_version.map | 2 +- drivers/net/i40e/rte_pmd_i40e_version.map | 65 +-- drivers/net/iavf/rte_pmd_iavf_version.map | 2 +- drivers/net/ice/rte_pmd_ice_version.map | 2 +- drivers/net/ifc/rte_pmd_ifc_version.map | 2 +- drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map | 2 +- drivers/net/ixgbe/rte_pmd_ixgbe_version.map | 63 +-- drivers/net/kni/rte_pmd_kni_version.map | 2 +- .../net/liquidio/rte_pmd_liquidio_version.map | 2 +- drivers/net/memif/rte_pmd_memif_version.map | 4 +- drivers/net/mlx4/rte_pmd_mlx4_version.map | 2 +- drivers/net/mlx5/rte_pmd_mlx5_version.map | 3 +- drivers/net/mvneta/rte_pmd_mvneta_version.map | 3 +- drivers/net/mvpp2/rte_pmd_mvpp2_version.map | 3 +- drivers/net/netvsc/rte_pmd_netvsc_version.map | 3 +- drivers/net/nfb/rte_pmd_nfb_version.map | 2 +- drivers/net/nfp/rte_pmd_nfp_version.map | 3 +- drivers/net/null/rte_pmd_null_version.map | 2 +- .../net/octeontx/rte_pmd_octeontx_version.map | 10 +- .../octeontx2/rte_pmd_octeontx2_version.map | 2 +- drivers/net/pcap/rte_pmd_pcap_version.map | 2 +- drivers/net/qede/rte_pmd_qede_version.map | 2 +- drivers/net/ring/rte_pmd_ring_version.map | 10 +- drivers/net/sfc/rte_pmd_sfc_version.map | 2 +- .../net/softnic/rte_pmd_softnic_version.map | 3 +- .../net/szedata2/rte_pmd_szedata2_version.map | 3 +- drivers/net/tap/rte_pmd_tap_version.map | 2 +- .../net/thunderx/rte_pmd_thunderx_version.map | 2 +- .../rte_pmd_vdev_netvsc_version.map | 2 +- drivers/net/vhost/rte_pmd_vhost_version.map | 9 +- drivers/net/virtio/rte_pmd_virtio_version.map | 2 +- .../net/vmxnet3/rte_pmd_vmxnet3_version.map | 2 +- .../rte_rawdev_dpaa2_cmdif_version.map | 2 +- .../rte_rawdev_dpaa2_qdma_version.map | 6 +- .../raw/ifpga/rte_rawdev_ifpga_version.map | 2 +- drivers/raw/ioat/rte_rawdev_ioat_version.map | 2 +- drivers/raw/ntb/rte_rawdev_ntb_version.map | 4 +- .../rte_rawdev_octeontx2_dma_version.map | 2 +- .../skeleton/rte_rawdev_skeleton_version.map | 2 +- lib/librte_acl/rte_acl_version.map | 4 +- lib/librte_bbdev/rte_bbdev_version.map | 1 - .../rte_bitratestats_version.map | 4 +- lib/librte_bpf/rte_bpf_version.map | 1 - lib/librte_cfgfile/rte_cfgfile_version.map | 34 +- lib/librte_cmdline/rte_cmdline_version.map | 10 +- .../rte_compressdev_version.map | 13 +- .../rte_cryptodev_version.map | 107 ++--- lib/librte_distributor/rte_distributor.c | 18 +- lib/librte_distributor/rte_distributor_v20.c | 9 - .../rte_distributor_version.map | 16 +- lib/librte_eal/rte_eal_version.map | 428 +++++++----------- lib/librte_efd/rte_efd_version.map | 4 +- lib/librte_ethdev/rte_ethdev_version.map | 212 +++------ lib/librte_eventdev/rte_eventdev_version.map | 130 ++---- .../rte_flow_classify_version.map | 1 - lib/librte_gro/rte_gro_version.map | 4 +- lib/librte_gso/rte_gso_version.map | 4 +- lib/librte_hash/rte_hash_version.map | 45 +- lib/librte_ip_frag/rte_ip_frag_version.map | 11 +- lib/librte_ipsec/rte_ipsec_version.map | 1 - lib/librte_jobstats/rte_jobstats_version.map | 10 +- lib/librte_kni/rte_kni_version.map | 3 +- lib/librte_kvargs/rte_kvargs_version.map | 6 +- .../rte_latencystats_version.map | 4 +- lib/librte_lpm/rte_lpm.c | 21 +- lib/librte_lpm/rte_lpm6.c | 12 +- lib/librte_lpm/rte_lpm_version.map | 35 +- lib/librte_mbuf/rte_mbuf_version.map | 40 +- lib/librte_member/rte_member_version.map | 4 +- lib/librte_mempool/rte_mempool_version.map | 45 +- lib/librte_meter/rte_meter_version.map | 12 +- lib/librte_metrics/rte_metrics_version.map | 3 +- lib/librte_net/rte_net_version.map | 26 +- lib/librte_pci/rte_pci_version.map | 4 +- lib/librte_pdump/rte_pdump_version.map | 4 +- lib/librte_pipeline/rte_pipeline_version.map | 39 +- lib/librte_port/rte_port_version.map | 64 +-- lib/librte_power/rte_power_version.map | 25 +- lib/librte_rawdev/rte_rawdev_version.map | 6 +- lib/librte_rcu/rte_rcu_version.map | 1 - lib/librte_reorder/rte_reorder_version.map | 10 +- lib/librte_ring/rte_ring_version.map | 12 +- lib/librte_sched/rte_sched_version.map | 15 +- lib/librte_security/rte_security_version.map | 3 +- lib/librte_stack/rte_stack_version.map | 1 - lib/librte_table/rte_table_version.map | 4 +- .../rte_telemetry_version.map | 1 - lib/librte_timer/rte_timer.c | 15 +- lib/librte_timer/rte_timer_version.map | 13 +- lib/librte_vhost/rte_vhost_version.map | 79 +--- 157 files changed, 840 insertions(+), 1567 deletions(-) diff --git a/drivers/baseband/fpga_lte_fec/rte_pmd_bbdev_fpga_lte_fec_version.map b/drivers/baseband/fpga_lte_fec/rte_pmd_bbdev_fpga_lte_fec_version.map index e92327075..0322b777c 100644 --- a/drivers/baseband/fpga_lte_fec/rte_pmd_bbdev_fpga_lte_fec_version.map +++ b/drivers/baseband/fpga_lte_fec/rte_pmd_bbdev_fpga_lte_fec_version.map @@ -1,3 +1,4 @@ -DPDK_19.08 { - local: *; +DPDK_20.0 { + + local: *; }; diff --git a/drivers/baseband/null/rte_pmd_bbdev_null_version.map b/drivers/baseband/null/rte_pmd_bbdev_null_version.map index 58b94270d..0322b777c 100644 --- a/drivers/baseband/null/rte_pmd_bbdev_null_version.map +++ b/drivers/baseband/null/rte_pmd_bbdev_null_version.map @@ -1,3 +1,4 @@ -DPDK_18.02 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/baseband/turbo_sw/rte_pmd_bbdev_turbo_sw_version.map b/drivers/baseband/turbo_sw/rte_pmd_bbdev_turbo_sw_version.map index 58b94270d..0322b777c 100644 --- a/drivers/baseband/turbo_sw/rte_pmd_bbdev_turbo_sw_version.map +++ b/drivers/baseband/turbo_sw/rte_pmd_bbdev_turbo_sw_version.map @@ -1,3 +1,4 @@ -DPDK_18.02 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/bus/dpaa/rte_bus_dpaa_version.map b/drivers/bus/dpaa/rte_bus_dpaa_version.map index c88deaf7f..cfd3b55b6 100644 --- a/drivers/bus/dpaa/rte_bus_dpaa_version.map +++ b/drivers/bus/dpaa/rte_bus_dpaa_version.map @@ -1,4 +1,4 @@ -DPDK_17.11 { +DPDK_20.0 { global: bman_acquire; @@ -8,32 +8,37 @@ DPDK_17.11 { bman_new_pool; bman_query_free_buffers; bman_release; + bman_thread_irq; + dpaa_logtype_eventdev; dpaa_logtype_mempool; dpaa_logtype_pmd; dpaa_netcfg; + dpaa_svr_family; fman_ccsr_map_fd; fman_dealloc_bufs_mask_hi; fman_dealloc_bufs_mask_lo; fman_if_add_mac_addr; fman_if_clear_mac_addr; fman_if_disable_rx; - fman_if_enable_rx; fman_if_discard_rx_errors; - fman_if_get_fc_threshold; + fman_if_enable_rx; fman_if_get_fc_quanta; + fman_if_get_fc_threshold; fman_if_get_fdoff; + fman_if_get_sg_enable; fman_if_loopback_disable; fman_if_loopback_enable; fman_if_promiscuous_disable; fman_if_promiscuous_enable; fman_if_reset_mcast_filter_table; fman_if_set_bp; - fman_if_set_fc_threshold; fman_if_set_fc_quanta; + fman_if_set_fc_threshold; fman_if_set_fdoff; fman_if_set_ic_params; fman_if_set_maxfrm; fman_if_set_mcast_filter_table; + fman_if_set_sg; fman_if_stats_get; fman_if_stats_get_all; fman_if_stats_reset; @@ -41,85 +46,52 @@ DPDK_17.11 { netcfg_acquire; netcfg_release; of_find_compatible_node; + of_get_mac_address; of_get_property; + per_lcore_dpaa_io; + per_lcore_held_bufs; qm_channel_caam; + qm_channel_pool1; + qman_alloc_cgrid_range; + qman_alloc_pool_range; + qman_clear_irq; + qman_create_cgr; qman_create_fq; + qman_dca_index; + qman_delete_cgr; qman_dequeue; qman_dqrr_consume; qman_enqueue; qman_enqueue_multi; + qman_enqueue_multi_fq; qman_fq_fqid; qman_fq_state; qman_global_init; qman_init_fq; - qman_poll_dqrr; - qman_query_fq_np; - qman_set_vdq; - qman_reserve_fqid_range; - qman_volatile_dequeue; - rte_dpaa_driver_register; - rte_dpaa_driver_unregister; - rte_dpaa_mem_ptov; - rte_dpaa_portal_init; - - local: *; -}; - -DPDK_18.02 { - global: - - dpaa_logtype_eventdev; - dpaa_svr_family; - per_lcore_dpaa_io; - per_lcore_held_bufs; - qm_channel_pool1; - qman_alloc_cgrid_range; - qman_alloc_pool_range; - qman_create_cgr; - qman_dca_index; - qman_delete_cgr; - qman_enqueue_multi_fq; + qman_irqsource_add; + qman_irqsource_remove; qman_modify_cgr; qman_oos_fq; + qman_poll_dqrr; qman_portal_dequeue; qman_portal_poll_rx; qman_query_fq_frm_cnt; + qman_query_fq_np; qman_release_cgrid_range; + qman_reserve_fqid_range; qman_retire_fq; + qman_set_fq_lookup_table; + qman_set_vdq; qman_static_dequeue_add; - rte_dpaa_portal_fq_close; - rte_dpaa_portal_fq_init; - - local: *; -} DPDK_17.11; - -DPDK_18.08 { - global: - fman_if_get_sg_enable; - fman_if_set_sg; - of_get_mac_address; - - local: *; -} DPDK_18.02; - -DPDK_18.11 { - global: - bman_thread_irq; - fman_if_get_sg_enable; - fman_if_set_sg; - qman_clear_irq; - - qman_irqsource_add; - qman_irqsource_remove; qman_thread_fd; qman_thread_irq; - + qman_volatile_dequeue; + rte_dpaa_driver_register; + rte_dpaa_driver_unregister; + rte_dpaa_mem_ptov; + rte_dpaa_portal_fq_close; + rte_dpaa_portal_fq_init; + rte_dpaa_portal_init; local: *; -} DPDK_18.08; - -DPDK_19.05 { - global: - qman_set_fq_lookup_table; +}; - local: *; -} DPDK_18.11; diff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map index 4da787236..87810f789 100644 --- a/drivers/bus/fslmc/rte_bus_fslmc_version.map +++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map @@ -1,32 +1,67 @@ -DPDK_17.05 { +DPDK_20.0 { global: + dpaa2_affine_qbman_ethrx_swp; dpaa2_affine_qbman_swp; dpaa2_alloc_dpbp_dev; dpaa2_alloc_dq_storage; + dpaa2_dpbp_supported; + dpaa2_dqrr_size; + dpaa2_eqcr_size; dpaa2_free_dpbp_dev; dpaa2_free_dq_storage; + dpaa2_free_eq_descriptors; + dpaa2_get_qbman_swp; + dpaa2_io_portal; + dpaa2_svr_family; + dpaa2_virt_mode; dpbp_disable; dpbp_enable; dpbp_get_attributes; dpbp_get_num_free_bufs; dpbp_open; dpbp_reset; + dpci_get_opr; + dpci_set_opr; + dpci_set_rx_queue; + dpcon_get_attributes; + dpcon_open; + dpdmai_close; + dpdmai_disable; + dpdmai_enable; + dpdmai_get_attributes; + dpdmai_get_rx_queue; + dpdmai_get_tx_queue; + dpdmai_open; + dpdmai_set_rx_queue; + dpio_add_static_dequeue_channel; dpio_close; dpio_disable; dpio_enable; dpio_get_attributes; dpio_open; + dpio_remove_static_dequeue_channel; dpio_reset; dpio_set_stashing_destination; + mc_get_soc_version; + mc_get_version; mc_send_command; per_lcore__dpaa2_io; + per_lcore_dpaa2_held_bufs; qbman_check_command_complete; + qbman_check_new_result; qbman_eq_desc_clear; + qbman_eq_desc_set_dca; qbman_eq_desc_set_fq; qbman_eq_desc_set_no_orp; + qbman_eq_desc_set_orp; qbman_eq_desc_set_qd; qbman_eq_desc_set_response; + qbman_eq_desc_set_token; + qbman_fq_query_state; + qbman_fq_state_frame_count; + qbman_get_dqrr_from_idx; + qbman_get_dqrr_idx; qbman_pull_desc_clear; qbman_pull_desc_set_fq; qbman_pull_desc_set_numframes; @@ -35,112 +70,42 @@ DPDK_17.05 { qbman_release_desc_set_bpid; qbman_result_DQ_fd; qbman_result_DQ_flags; - qbman_result_has_new_result; - qbman_swp_acquire; - qbman_swp_pull; - qbman_swp_release; - rte_fslmc_driver_register; - rte_fslmc_driver_unregister; - rte_fslmc_vfio_dmamap; - rte_mcp_ptr_list; - - local: *; -}; - -DPDK_17.08 { - global: - - dpaa2_io_portal; - dpaa2_get_qbman_swp; - dpci_set_rx_queue; - dpcon_open; - dpcon_get_attributes; - dpio_add_static_dequeue_channel; - dpio_remove_static_dequeue_channel; - mc_get_soc_version; - mc_get_version; - qbman_check_new_result; - qbman_eq_desc_set_dca; - qbman_get_dqrr_from_idx; - qbman_get_dqrr_idx; qbman_result_DQ_fqd_ctx; + qbman_result_DQ_odpid; + qbman_result_DQ_seqnum; qbman_result_SCN_state; + qbman_result_eqresp_fd; + qbman_result_eqresp_rc; + qbman_result_eqresp_rspid; + qbman_result_eqresp_set_rspid; + qbman_result_has_new_result; + qbman_swp_acquire; qbman_swp_dqrr_consume; + qbman_swp_dqrr_idx_consume; qbman_swp_dqrr_next; qbman_swp_enqueue_multiple; qbman_swp_enqueue_multiple_desc; + qbman_swp_enqueue_multiple_fd; qbman_swp_interrupt_clear_status; + qbman_swp_prefetch_dqrr_next; + qbman_swp_pull; qbman_swp_push_set; + qbman_swp_release; rte_dpaa2_alloc_dpci_dev; - rte_fslmc_object_register; - rte_global_active_dqs_list; - -} DPDK_17.05; - -DPDK_17.11 { - global: - - dpaa2_dpbp_supported; rte_dpaa2_dev_type; + rte_dpaa2_free_dpci_dev; rte_dpaa2_intr_disable; rte_dpaa2_intr_enable; - -} DPDK_17.08; - -DPDK_18.02 { - global: - - dpaa2_svr_family; - dpaa2_virt_mode; - per_lcore_dpaa2_held_bufs; - qbman_fq_query_state; - qbman_fq_state_frame_count; - qbman_swp_dqrr_idx_consume; - qbman_swp_prefetch_dqrr_next; - rte_fslmc_get_device_count; - -} DPDK_17.11; - -DPDK_18.05 { - global: - - dpaa2_affine_qbman_ethrx_swp; - dpdmai_close; - dpdmai_disable; - dpdmai_enable; - dpdmai_get_attributes; - dpdmai_get_rx_queue; - dpdmai_get_tx_queue; - dpdmai_open; - dpdmai_set_rx_queue; - rte_dpaa2_free_dpci_dev; rte_dpaa2_memsegs; - -} DPDK_18.02; - -DPDK_18.11 { - global: - dpaa2_dqrr_size; - dpaa2_eqcr_size; - dpci_get_opr; - dpci_set_opr; - -} DPDK_18.05; - -DPDK_19.05 { - global: - dpaa2_free_eq_descriptors; - - qbman_eq_desc_set_orp; - qbman_eq_desc_set_token; - qbman_result_DQ_odpid; - qbman_result_DQ_seqnum; - qbman_result_eqresp_fd; - qbman_result_eqresp_rc; - qbman_result_eqresp_rspid; - qbman_result_eqresp_set_rspid; - qbman_swp_enqueue_multiple_fd; -} DPDK_18.11; + rte_fslmc_driver_register; + rte_fslmc_driver_unregister; + rte_fslmc_get_device_count; + rte_fslmc_object_register; + rte_fslmc_vfio_dmamap; + rte_global_active_dqs_list; + rte_mcp_ptr_list; + local: *; +}; EXPERIMENTAL { global: diff --git a/drivers/bus/ifpga/rte_bus_ifpga_version.map b/drivers/bus/ifpga/rte_bus_ifpga_version.map index 964c9a9c4..701d794d6 100644 --- a/drivers/bus/ifpga/rte_bus_ifpga_version.map +++ b/drivers/bus/ifpga/rte_bus_ifpga_version.map @@ -1,17 +1,11 @@ -DPDK_18.05 { +DPDK_20.0 { global: - rte_ifpga_get_integer32_arg; - rte_ifpga_get_string_arg; rte_ifpga_driver_register; rte_ifpga_driver_unregister; - + rte_ifpga_find_afu_by_name; + rte_ifpga_get_integer32_arg; + rte_ifpga_get_string_arg; local: *; }; -DPDK_19.05 { - global: - - rte_ifpga_find_afu_by_name; - -} DPDK_18.05; diff --git a/drivers/bus/pci/rte_bus_pci_version.map b/drivers/bus/pci/rte_bus_pci_version.map index 27e9c4f10..6d4dfc8ff 100644 --- a/drivers/bus/pci/rte_bus_pci_version.map +++ b/drivers/bus/pci/rte_bus_pci_version.map @@ -1,4 +1,4 @@ -DPDK_17.11 { +DPDK_20.0 { global: rte_pci_dump; @@ -13,6 +13,6 @@ DPDK_17.11 { rte_pci_unmap_device; rte_pci_unregister; rte_pci_write_config; - local: *; }; + diff --git a/drivers/bus/vdev/rte_bus_vdev_version.map b/drivers/bus/vdev/rte_bus_vdev_version.map index 590cf9b43..019e7cb8d 100644 --- a/drivers/bus/vdev/rte_bus_vdev_version.map +++ b/drivers/bus/vdev/rte_bus_vdev_version.map @@ -1,18 +1,12 @@ -DPDK_17.11 { +DPDK_20.0 { global: + rte_vdev_add_custom_scan; rte_vdev_init; rte_vdev_register; + rte_vdev_remove_custom_scan; rte_vdev_uninit; rte_vdev_unregister; - local: *; }; -DPDK_18.02 { - global: - - rte_vdev_add_custom_scan; - rte_vdev_remove_custom_scan; - -} DPDK_17.11; diff --git a/drivers/bus/vmbus/rte_bus_vmbus_version.map b/drivers/bus/vmbus/rte_bus_vmbus_version.map index ae231ad32..0064b37e4 100644 --- a/drivers/bus/vmbus/rte_bus_vmbus_version.map +++ b/drivers/bus/vmbus/rte_bus_vmbus_version.map @@ -1,6 +1,4 @@ -/* SPDX-License-Identifier: BSD-3-Clause */ - -DPDK_18.08 { +DPDK_20.0 { global: rte_vmbus_chan_close; @@ -20,17 +18,11 @@ DPDK_18.08 { rte_vmbus_probe; rte_vmbus_register; rte_vmbus_scan; + rte_vmbus_set_latency; rte_vmbus_sub_channel_index; rte_vmbus_subchan_open; rte_vmbus_unmap_device; rte_vmbus_unregister; - local: *; }; -DPDK_18.11 { - global: - - rte_vmbus_set_latency; - -} DPDK_18.08; diff --git a/drivers/common/cpt/rte_common_cpt_version.map b/drivers/common/cpt/rte_common_cpt_version.map index dec614f0d..d0d14b450 100644 --- a/drivers/common/cpt/rte_common_cpt_version.map +++ b/drivers/common/cpt/rte_common_cpt_version.map @@ -1,6 +1,7 @@ -DPDK_18.11 { +DPDK_20.0 { global: cpt_pmd_ops_helper_get_mlen_direct_mode; cpt_pmd_ops_helper_get_mlen_sg_mode; }; + diff --git a/drivers/common/dpaax/rte_common_dpaax_version.map b/drivers/common/dpaax/rte_common_dpaax_version.map index 8131c9e30..98d70eacb 100644 --- a/drivers/common/dpaax/rte_common_dpaax_version.map +++ b/drivers/common/dpaax/rte_common_dpaax_version.map @@ -1,11 +1,11 @@ -DPDK_18.11 { +DPDK_20.0 { global: - dpaax_iova_table_update; dpaax_iova_table_depopulate; dpaax_iova_table_dump; dpaax_iova_table_p; dpaax_iova_table_populate; - + dpaax_iova_table_update; local: *; }; + diff --git a/drivers/common/mvep/rte_common_mvep_version.map b/drivers/common/mvep/rte_common_mvep_version.map index c71722d79..79f8c5e2c 100644 --- a/drivers/common/mvep/rte_common_mvep_version.map +++ b/drivers/common/mvep/rte_common_mvep_version.map @@ -1,6 +1,7 @@ -DPDK_18.11 { +DPDK_20.0 { global: - rte_mvep_init; rte_mvep_deinit; + rte_mvep_init; }; + diff --git a/drivers/common/octeontx/rte_common_octeontx_version.map b/drivers/common/octeontx/rte_common_octeontx_version.map index f04b3b7f8..7d6f3a617 100644 --- a/drivers/common/octeontx/rte_common_octeontx_version.map +++ b/drivers/common/octeontx/rte_common_octeontx_version.map @@ -1,7 +1,8 @@ -DPDK_18.05 { +DPDK_20.0 { global: + octeontx_mbox_send; octeontx_mbox_set_ram_mbox_base; octeontx_mbox_set_reg; - octeontx_mbox_send; }; + diff --git a/drivers/common/octeontx2/rte_common_octeontx2_version.map b/drivers/common/octeontx2/rte_common_octeontx2_version.map index 4400120da..fa1bececa 100644 --- a/drivers/common/octeontx2/rte_common_octeontx2_version.map +++ b/drivers/common/octeontx2/rte_common_octeontx2_version.map @@ -1,39 +1,35 @@ -DPDK_19.08 { +DPDK_20.0 { global: otx2_dev_active_vfs; otx2_dev_fini; otx2_dev_priv_init; - + otx2_disable_irqs; + otx2_intra_dev_get_cfg; otx2_logtype_base; otx2_logtype_dpi; otx2_logtype_mbox; + otx2_logtype_nix; otx2_logtype_npa; otx2_logtype_npc; - otx2_logtype_nix; otx2_logtype_sso; - otx2_logtype_tm; otx2_logtype_tim; - + otx2_logtype_tm; otx2_mbox_alloc_msg_rsp; otx2_mbox_get_rsp; otx2_mbox_get_rsp_tmo; otx2_mbox_id2name; otx2_mbox_msg_send; otx2_mbox_wait_for_rsp; - - otx2_intra_dev_get_cfg; otx2_npa_lf_active; otx2_npa_lf_obj_get; otx2_npa_lf_obj_ref; otx2_npa_pf_func_get; otx2_npa_set_defaults; + otx2_register_irq; otx2_sso_pf_func_get; otx2_sso_pf_func_set; - - otx2_disable_irqs; otx2_unregister_irq; - otx2_register_irq; - local: *; }; + diff --git a/drivers/compress/isal/rte_pmd_isal_version.map b/drivers/compress/isal/rte_pmd_isal_version.map index de8e412ff..0322b777c 100644 --- a/drivers/compress/isal/rte_pmd_isal_version.map +++ b/drivers/compress/isal/rte_pmd_isal_version.map @@ -1,3 +1,4 @@ -DPDK_18.05 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/compress/octeontx/rte_pmd_octeontx_compress_version.map b/drivers/compress/octeontx/rte_pmd_octeontx_compress_version.map index ad6e191e4..0322b777c 100644 --- a/drivers/compress/octeontx/rte_pmd_octeontx_compress_version.map +++ b/drivers/compress/octeontx/rte_pmd_octeontx_compress_version.map @@ -1,3 +1,4 @@ -DPDK_18.08 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/compress/qat/rte_pmd_qat_version.map b/drivers/compress/qat/rte_pmd_qat_version.map index ad6e191e4..0322b777c 100644 --- a/drivers/compress/qat/rte_pmd_qat_version.map +++ b/drivers/compress/qat/rte_pmd_qat_version.map @@ -1,3 +1,4 @@ -DPDK_18.08 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/compress/zlib/rte_pmd_zlib_version.map b/drivers/compress/zlib/rte_pmd_zlib_version.map index ad6e191e4..0322b777c 100644 --- a/drivers/compress/zlib/rte_pmd_zlib_version.map +++ b/drivers/compress/zlib/rte_pmd_zlib_version.map @@ -1,3 +1,4 @@ -DPDK_18.08 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map b/drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map index dc4d417b7..0322b777c 100644 --- a/drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map +++ b/drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map @@ -1,3 +1,4 @@ -DPDK_16.04 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map b/drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map index ad607bbed..0322b777c 100644 --- a/drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map +++ b/drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map @@ -1,3 +1,4 @@ -DPDK_2.2 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/armv8/rte_pmd_armv8_version.map b/drivers/crypto/armv8/rte_pmd_armv8_version.map index 1f84b68a8..0322b777c 100644 --- a/drivers/crypto/armv8/rte_pmd_armv8_version.map +++ b/drivers/crypto/armv8/rte_pmd_armv8_version.map @@ -1,3 +1,4 @@ -DPDK_17.02 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/caam_jr/rte_pmd_caam_jr_version.map b/drivers/crypto/caam_jr/rte_pmd_caam_jr_version.map index 521e51f41..0322b777c 100644 --- a/drivers/crypto/caam_jr/rte_pmd_caam_jr_version.map +++ b/drivers/crypto/caam_jr/rte_pmd_caam_jr_version.map @@ -1,4 +1,4 @@ -DPDK_18.11 { +DPDK_20.0 { local: *; }; diff --git a/drivers/crypto/ccp/rte_pmd_ccp_version.map b/drivers/crypto/ccp/rte_pmd_ccp_version.map index 9b9ab1a4c..0322b777c 100644 --- a/drivers/crypto/ccp/rte_pmd_ccp_version.map +++ b/drivers/crypto/ccp/rte_pmd_ccp_version.map @@ -1,4 +1,4 @@ -DPDK_18.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map b/drivers/crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map index 0bfb986d0..a176d44fd 100644 --- a/drivers/crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map +++ b/drivers/crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map @@ -1,12 +1,8 @@ -DPDK_17.05 { - - local: *; -}; - -DPDK_18.11 { +DPDK_20.0 { global: dpaa2_sec_eventq_attach; dpaa2_sec_eventq_detach; + local: *; +}; -} DPDK_17.05; diff --git a/drivers/crypto/dpaa_sec/rte_pmd_dpaa_sec_version.map b/drivers/crypto/dpaa_sec/rte_pmd_dpaa_sec_version.map index a70bd197b..0322b777c 100644 --- a/drivers/crypto/dpaa_sec/rte_pmd_dpaa_sec_version.map +++ b/drivers/crypto/dpaa_sec/rte_pmd_dpaa_sec_version.map @@ -1,4 +1,4 @@ -DPDK_17.11 { +DPDK_20.0 { local: *; }; diff --git a/drivers/crypto/kasumi/rte_pmd_kasumi_version.map b/drivers/crypto/kasumi/rte_pmd_kasumi_version.map index 8ffeca934..0322b777c 100644 --- a/drivers/crypto/kasumi/rte_pmd_kasumi_version.map +++ b/drivers/crypto/kasumi/rte_pmd_kasumi_version.map @@ -1,3 +1,4 @@ -DPDK_16.07 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/mvsam/rte_pmd_mvsam_version.map b/drivers/crypto/mvsam/rte_pmd_mvsam_version.map index a75303172..0322b777c 100644 --- a/drivers/crypto/mvsam/rte_pmd_mvsam_version.map +++ b/drivers/crypto/mvsam/rte_pmd_mvsam_version.map @@ -1,3 +1,4 @@ -DPDK_17.11 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/null/rte_pmd_null_crypto_version.map b/drivers/crypto/null/rte_pmd_null_crypto_version.map index dc4d417b7..0322b777c 100644 --- a/drivers/crypto/null/rte_pmd_null_crypto_version.map +++ b/drivers/crypto/null/rte_pmd_null_crypto_version.map @@ -1,3 +1,4 @@ -DPDK_16.04 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/octeontx/rte_pmd_octeontx_crypto_version.map b/drivers/crypto/octeontx/rte_pmd_octeontx_crypto_version.map index 521e51f41..0322b777c 100644 --- a/drivers/crypto/octeontx/rte_pmd_octeontx_crypto_version.map +++ b/drivers/crypto/octeontx/rte_pmd_octeontx_crypto_version.map @@ -1,4 +1,4 @@ -DPDK_18.11 { +DPDK_20.0 { local: *; }; diff --git a/drivers/crypto/openssl/rte_pmd_openssl_version.map b/drivers/crypto/openssl/rte_pmd_openssl_version.map index cc5829e30..0322b777c 100644 --- a/drivers/crypto/openssl/rte_pmd_openssl_version.map +++ b/drivers/crypto/openssl/rte_pmd_openssl_version.map @@ -1,3 +1,4 @@ -DPDK_16.11 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/scheduler/rte_pmd_crypto_scheduler_version.map b/drivers/crypto/scheduler/rte_pmd_crypto_scheduler_version.map index 5c43127cf..8f4f9140e 100644 --- a/drivers/crypto/scheduler/rte_pmd_crypto_scheduler_version.map +++ b/drivers/crypto/scheduler/rte_pmd_crypto_scheduler_version.map @@ -1,21 +1,15 @@ -DPDK_17.02 { +DPDK_20.0 { global: rte_cryptodev_scheduler_load_user_scheduler; - rte_cryptodev_scheduler_slave_attach; - rte_cryptodev_scheduler_slave_detach; - rte_cryptodev_scheduler_ordering_set; - rte_cryptodev_scheduler_ordering_get; - -}; - -DPDK_17.05 { - global: - rte_cryptodev_scheduler_mode_get; rte_cryptodev_scheduler_mode_set; rte_cryptodev_scheduler_option_get; rte_cryptodev_scheduler_option_set; + rte_cryptodev_scheduler_ordering_get; + rte_cryptodev_scheduler_ordering_set; + rte_cryptodev_scheduler_slave_attach; + rte_cryptodev_scheduler_slave_detach; rte_cryptodev_scheduler_slaves_get; +}; -} DPDK_17.02; diff --git a/drivers/crypto/snow3g/rte_pmd_snow3g_version.map b/drivers/crypto/snow3g/rte_pmd_snow3g_version.map index dc4d417b7..0322b777c 100644 --- a/drivers/crypto/snow3g/rte_pmd_snow3g_version.map +++ b/drivers/crypto/snow3g/rte_pmd_snow3g_version.map @@ -1,3 +1,4 @@ -DPDK_16.04 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/virtio/rte_pmd_virtio_crypto_version.map b/drivers/crypto/virtio/rte_pmd_virtio_crypto_version.map index de8e412ff..0322b777c 100644 --- a/drivers/crypto/virtio/rte_pmd_virtio_crypto_version.map +++ b/drivers/crypto/virtio/rte_pmd_virtio_crypto_version.map @@ -1,3 +1,4 @@ -DPDK_18.05 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/crypto/zuc/rte_pmd_zuc_version.map b/drivers/crypto/zuc/rte_pmd_zuc_version.map index cc5829e30..0322b777c 100644 --- a/drivers/crypto/zuc/rte_pmd_zuc_version.map +++ b/drivers/crypto/zuc/rte_pmd_zuc_version.map @@ -1,3 +1,4 @@ -DPDK_16.11 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/event/dpaa/rte_pmd_dpaa_event_version.map b/drivers/event/dpaa/rte_pmd_dpaa_event_version.map index 179140fb8..0322b777c 100644 --- a/drivers/event/dpaa/rte_pmd_dpaa_event_version.map +++ b/drivers/event/dpaa/rte_pmd_dpaa_event_version.map @@ -1,4 +1,4 @@ -DPDK_18.02 { +DPDK_20.0 { local: *; }; diff --git a/drivers/event/dpaa2/rte_pmd_dpaa2_event_version.map b/drivers/event/dpaa2/rte_pmd_dpaa2_event_version.map index 1c0b7559d..0322b777c 100644 --- a/drivers/event/dpaa2/rte_pmd_dpaa2_event_version.map +++ b/drivers/event/dpaa2/rte_pmd_dpaa2_event_version.map @@ -1,3 +1,4 @@ -DPDK_17.08 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/event/dsw/rte_pmd_dsw_event_version.map b/drivers/event/dsw/rte_pmd_dsw_event_version.map index 24bd5cdb3..0322b777c 100644 --- a/drivers/event/dsw/rte_pmd_dsw_event_version.map +++ b/drivers/event/dsw/rte_pmd_dsw_event_version.map @@ -1,3 +1,4 @@ -DPDK_18.11 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/event/octeontx/rte_pmd_octeontx_event_version.map b/drivers/event/octeontx/rte_pmd_octeontx_event_version.map index 5352e7e3b..0322b777c 100644 --- a/drivers/event/octeontx/rte_pmd_octeontx_event_version.map +++ b/drivers/event/octeontx/rte_pmd_octeontx_event_version.map @@ -1,3 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/event/octeontx2/rte_pmd_octeontx2_event_version.map b/drivers/event/octeontx2/rte_pmd_octeontx2_event_version.map index 41c65c8c9..0322b777c 100644 --- a/drivers/event/octeontx2/rte_pmd_octeontx2_event_version.map +++ b/drivers/event/octeontx2/rte_pmd_octeontx2_event_version.map @@ -1,4 +1,4 @@ -DPDK_19.08 { +DPDK_20.0 { + local: *; }; - diff --git a/drivers/event/opdl/rte_pmd_opdl_event_version.map b/drivers/event/opdl/rte_pmd_opdl_event_version.map index 58b94270d..0322b777c 100644 --- a/drivers/event/opdl/rte_pmd_opdl_event_version.map +++ b/drivers/event/opdl/rte_pmd_opdl_event_version.map @@ -1,3 +1,4 @@ -DPDK_18.02 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/event/skeleton/rte_pmd_skeleton_event_version.map b/drivers/event/skeleton/rte_pmd_skeleton_event_version.map index 8591cc0b1..0322b777c 100644 --- a/drivers/event/skeleton/rte_pmd_skeleton_event_version.map +++ b/drivers/event/skeleton/rte_pmd_skeleton_event_version.map @@ -1,4 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/event/sw/rte_pmd_sw_event_version.map b/drivers/event/sw/rte_pmd_sw_event_version.map index 5352e7e3b..0322b777c 100644 --- a/drivers/event/sw/rte_pmd_sw_event_version.map +++ b/drivers/event/sw/rte_pmd_sw_event_version.map @@ -1,3 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/mempool/bucket/rte_mempool_bucket_version.map b/drivers/mempool/bucket/rte_mempool_bucket_version.map index 9b9ab1a4c..0322b777c 100644 --- a/drivers/mempool/bucket/rte_mempool_bucket_version.map +++ b/drivers/mempool/bucket/rte_mempool_bucket_version.map @@ -1,4 +1,4 @@ -DPDK_18.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/mempool/dpaa/rte_mempool_dpaa_version.map b/drivers/mempool/dpaa/rte_mempool_dpaa_version.map index 60bf50b2d..f20d86db8 100644 --- a/drivers/mempool/dpaa/rte_mempool_dpaa_version.map +++ b/drivers/mempool/dpaa/rte_mempool_dpaa_version.map @@ -1,8 +1,8 @@ -DPDK_17.11 { +DPDK_20.0 { global: rte_dpaa_bpid_info; rte_dpaa_memsegs; - local: *; }; + diff --git a/drivers/mempool/dpaa2/rte_mempool_dpaa2_version.map b/drivers/mempool/dpaa2/rte_mempool_dpaa2_version.map index b45e7a9ac..b4024be42 100644 --- a/drivers/mempool/dpaa2/rte_mempool_dpaa2_version.map +++ b/drivers/mempool/dpaa2/rte_mempool_dpaa2_version.map @@ -1,16 +1,10 @@ -DPDK_17.05 { +DPDK_20.0 { global: rte_dpaa2_bpid_info; rte_dpaa2_mbuf_alloc_bulk; - - local: *; -}; - -DPDK_18.05 { - global: - rte_dpaa2_mbuf_from_buf_addr; rte_dpaa2_mbuf_pool_bpid; + local: *; +}; -} DPDK_17.05; diff --git a/drivers/mempool/octeontx/rte_mempool_octeontx_version.map b/drivers/mempool/octeontx/rte_mempool_octeontx_version.map index a75303172..0322b777c 100644 --- a/drivers/mempool/octeontx/rte_mempool_octeontx_version.map +++ b/drivers/mempool/octeontx/rte_mempool_octeontx_version.map @@ -1,3 +1,4 @@ -DPDK_17.11 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map b/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map index d703368c3..4f8889204 100644 --- a/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map +++ b/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map @@ -1,8 +1,8 @@ -DPDK_19.08 { +DPDK_20.0 { global: - otx2_npa_lf_init; otx2_npa_lf_fini; - + otx2_npa_lf_init; local: *; }; + diff --git a/drivers/mempool/ring/rte_mempool_ring_version.map b/drivers/mempool/ring/rte_mempool_ring_version.map index 8591cc0b1..0322b777c 100644 --- a/drivers/mempool/ring/rte_mempool_ring_version.map +++ b/drivers/mempool/ring/rte_mempool_ring_version.map @@ -1,4 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/mempool/stack/rte_mempool_stack_version.map b/drivers/mempool/stack/rte_mempool_stack_version.map index 8591cc0b1..0322b777c 100644 --- a/drivers/mempool/stack/rte_mempool_stack_version.map +++ b/drivers/mempool/stack/rte_mempool_stack_version.map @@ -1,4 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/af_packet/rte_pmd_af_packet_version.map b/drivers/net/af_packet/rte_pmd_af_packet_version.map index ef3539840..0322b777c 100644 --- a/drivers/net/af_packet/rte_pmd_af_packet_version.map +++ b/drivers/net/af_packet/rte_pmd_af_packet_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/af_xdp/rte_pmd_af_xdp_version.map b/drivers/net/af_xdp/rte_pmd_af_xdp_version.map index c6db030fe..0322b777c 100644 --- a/drivers/net/af_xdp/rte_pmd_af_xdp_version.map +++ b/drivers/net/af_xdp/rte_pmd_af_xdp_version.map @@ -1,3 +1,4 @@ -DPDK_19.05 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/net/ark/rte_pmd_ark_version.map b/drivers/net/ark/rte_pmd_ark_version.map index 1062e0429..0322b777c 100644 --- a/drivers/net/ark/rte_pmd_ark_version.map +++ b/drivers/net/ark/rte_pmd_ark_version.map @@ -1,4 +1,4 @@ -DPDK_17.05 { - local: *; +DPDK_20.0 { + local: *; }; diff --git a/drivers/net/atlantic/rte_pmd_atlantic_version.map b/drivers/net/atlantic/rte_pmd_atlantic_version.map index b16faa999..fdf813df0 100644 --- a/drivers/net/atlantic/rte_pmd_atlantic_version.map +++ b/drivers/net/atlantic/rte_pmd_atlantic_version.map @@ -1,16 +1,14 @@ -DPDK_18.11 { +DPDK_20.0 { local: *; }; - EXPERIMENTAL { global: - rte_pmd_atl_macsec_enable; - rte_pmd_atl_macsec_disable; - rte_pmd_atl_macsec_config_txsc; rte_pmd_atl_macsec_config_rxsc; - rte_pmd_atl_macsec_select_txsa; + rte_pmd_atl_macsec_config_txsc; + rte_pmd_atl_macsec_disable; + rte_pmd_atl_macsec_enable; rte_pmd_atl_macsec_select_rxsa; + rte_pmd_atl_macsec_select_txsa; }; - diff --git a/drivers/net/avp/rte_pmd_avp_version.map b/drivers/net/avp/rte_pmd_avp_version.map index 5352e7e3b..0322b777c 100644 --- a/drivers/net/avp/rte_pmd_avp_version.map +++ b/drivers/net/avp/rte_pmd_avp_version.map @@ -1,3 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/net/axgbe/rte_pmd_axgbe_version.map b/drivers/net/axgbe/rte_pmd_axgbe_version.map index de8e412ff..0322b777c 100644 --- a/drivers/net/axgbe/rte_pmd_axgbe_version.map +++ b/drivers/net/axgbe/rte_pmd_axgbe_version.map @@ -1,3 +1,4 @@ -DPDK_18.05 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/net/bnx2x/rte_pmd_bnx2x_version.map b/drivers/net/bnx2x/rte_pmd_bnx2x_version.map index bd8138a03..0322b777c 100644 --- a/drivers/net/bnx2x/rte_pmd_bnx2x_version.map +++ b/drivers/net/bnx2x/rte_pmd_bnx2x_version.map @@ -1,4 +1,4 @@ -DPDK_2.1 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/bnxt/rte_pmd_bnxt_version.map b/drivers/net/bnxt/rte_pmd_bnxt_version.map index 4750d40ad..a83fd4036 100644 --- a/drivers/net/bnxt/rte_pmd_bnxt_version.map +++ b/drivers/net/bnxt/rte_pmd_bnxt_version.map @@ -1,4 +1,4 @@ -DPDK_17.08 { +DPDK_20.0 { global: rte_pmd_bnxt_get_vf_rx_status; @@ -10,13 +10,13 @@ DPDK_17.08 { rte_pmd_bnxt_set_tx_loopback; rte_pmd_bnxt_set_vf_mac_addr; rte_pmd_bnxt_set_vf_mac_anti_spoof; + rte_pmd_bnxt_set_vf_persist_stats; rte_pmd_bnxt_set_vf_rate_limit; rte_pmd_bnxt_set_vf_rxmode; rte_pmd_bnxt_set_vf_vlan_anti_spoof; rte_pmd_bnxt_set_vf_vlan_filter; rte_pmd_bnxt_set_vf_vlan_insert; rte_pmd_bnxt_set_vf_vlan_stripq; - rte_pmd_bnxt_set_vf_persist_stats; - local: *; }; + diff --git a/drivers/net/bonding/rte_pmd_bond_version.map b/drivers/net/bonding/rte_pmd_bond_version.map index 00d955c48..11da7191f 100644 --- a/drivers/net/bonding/rte_pmd_bond_version.map +++ b/drivers/net/bonding/rte_pmd_bond_version.map @@ -1,9 +1,21 @@ -DPDK_2.0 { +DPDK_20.0 { global: + rte_eth_bond_8023ad_agg_selection_get; + rte_eth_bond_8023ad_agg_selection_set; + rte_eth_bond_8023ad_conf_get; + rte_eth_bond_8023ad_dedicated_queues_disable; + rte_eth_bond_8023ad_dedicated_queues_enable; + rte_eth_bond_8023ad_ext_collect; + rte_eth_bond_8023ad_ext_collect_get; + rte_eth_bond_8023ad_ext_distrib; + rte_eth_bond_8023ad_ext_distrib_get; + rte_eth_bond_8023ad_ext_slowtx; + rte_eth_bond_8023ad_setup; rte_eth_bond_8023ad_slave_info; rte_eth_bond_active_slaves_get; rte_eth_bond_create; + rte_eth_bond_free; rte_eth_bond_link_monitoring_set; rte_eth_bond_mac_address_reset; rte_eth_bond_mac_address_set; @@ -16,39 +28,6 @@ DPDK_2.0 { rte_eth_bond_slaves_get; rte_eth_bond_xmit_policy_get; rte_eth_bond_xmit_policy_set; - local: *; }; -DPDK_2.1 { - global: - - rte_eth_bond_free; - -} DPDK_2.0; - -DPDK_16.04 { -}; - -DPDK_16.07 { - global: - - rte_eth_bond_8023ad_ext_collect; - rte_eth_bond_8023ad_ext_collect_get; - rte_eth_bond_8023ad_ext_distrib; - rte_eth_bond_8023ad_ext_distrib_get; - rte_eth_bond_8023ad_ext_slowtx; - -} DPDK_16.04; - -DPDK_17.08 { - global: - - rte_eth_bond_8023ad_dedicated_queues_enable; - rte_eth_bond_8023ad_dedicated_queues_disable; - rte_eth_bond_8023ad_agg_selection_get; - rte_eth_bond_8023ad_agg_selection_set; - rte_eth_bond_8023ad_conf_get; - rte_eth_bond_8023ad_setup; - -} DPDK_16.07; diff --git a/drivers/net/cxgbe/rte_pmd_cxgbe_version.map b/drivers/net/cxgbe/rte_pmd_cxgbe_version.map index bd8138a03..0322b777c 100644 --- a/drivers/net/cxgbe/rte_pmd_cxgbe_version.map +++ b/drivers/net/cxgbe/rte_pmd_cxgbe_version.map @@ -1,4 +1,4 @@ -DPDK_2.1 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/dpaa/rte_pmd_dpaa_version.map b/drivers/net/dpaa/rte_pmd_dpaa_version.map index 8cb4500b5..94fa246bb 100644 --- a/drivers/net/dpaa/rte_pmd_dpaa_version.map +++ b/drivers/net/dpaa/rte_pmd_dpaa_version.map @@ -1,12 +1,9 @@ -DPDK_17.11 { - - local: *; -}; - -DPDK_18.08 { +DPDK_20.0 { global: dpaa_eth_eventq_attach; dpaa_eth_eventq_detach; rte_pmd_dpaa_set_tx_loopback; -} DPDK_17.11; + local: *; +}; + diff --git a/drivers/net/dpaa2/rte_pmd_dpaa2_version.map b/drivers/net/dpaa2/rte_pmd_dpaa2_version.map index d1b4cdb23..5e0bcef9d 100644 --- a/drivers/net/dpaa2/rte_pmd_dpaa2_version.map +++ b/drivers/net/dpaa2/rte_pmd_dpaa2_version.map @@ -1,15 +1,10 @@ -DPDK_17.05 { - - local: *; -}; - -DPDK_17.11 { +DPDK_20.0 { global: dpaa2_eth_eventq_attach; dpaa2_eth_eventq_detach; - -} DPDK_17.05; + local: *; +}; EXPERIMENTAL { global: @@ -17,4 +12,4 @@ EXPERIMENTAL { rte_pmd_dpaa2_mux_flow_create; rte_pmd_dpaa2_set_custom_hash; rte_pmd_dpaa2_set_timestamp; -} DPDK_17.11; +}; diff --git a/drivers/net/e1000/rte_pmd_e1000_version.map b/drivers/net/e1000/rte_pmd_e1000_version.map index ef3539840..0322b777c 100644 --- a/drivers/net/e1000/rte_pmd_e1000_version.map +++ b/drivers/net/e1000/rte_pmd_e1000_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/ena/rte_pmd_ena_version.map b/drivers/net/ena/rte_pmd_ena_version.map index 349c6e1c2..0322b777c 100644 --- a/drivers/net/ena/rte_pmd_ena_version.map +++ b/drivers/net/ena/rte_pmd_ena_version.map @@ -1,4 +1,4 @@ -DPDK_16.04 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/enetc/rte_pmd_enetc_version.map b/drivers/net/enetc/rte_pmd_enetc_version.map index 521e51f41..0322b777c 100644 --- a/drivers/net/enetc/rte_pmd_enetc_version.map +++ b/drivers/net/enetc/rte_pmd_enetc_version.map @@ -1,4 +1,4 @@ -DPDK_18.11 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/enic/rte_pmd_enic_version.map b/drivers/net/enic/rte_pmd_enic_version.map index ef3539840..0322b777c 100644 --- a/drivers/net/enic/rte_pmd_enic_version.map +++ b/drivers/net/enic/rte_pmd_enic_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/failsafe/rte_pmd_failsafe_version.map b/drivers/net/failsafe/rte_pmd_failsafe_version.map index b6d2840be..0322b777c 100644 --- a/drivers/net/failsafe/rte_pmd_failsafe_version.map +++ b/drivers/net/failsafe/rte_pmd_failsafe_version.map @@ -1,4 +1,4 @@ -DPDK_17.08 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/fm10k/rte_pmd_fm10k_version.map b/drivers/net/fm10k/rte_pmd_fm10k_version.map index ef3539840..0322b777c 100644 --- a/drivers/net/fm10k/rte_pmd_fm10k_version.map +++ b/drivers/net/fm10k/rte_pmd_fm10k_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/hinic/rte_pmd_hinic_version.map b/drivers/net/hinic/rte_pmd_hinic_version.map index 9a61188cd..0322b777c 100644 --- a/drivers/net/hinic/rte_pmd_hinic_version.map +++ b/drivers/net/hinic/rte_pmd_hinic_version.map @@ -1,4 +1,4 @@ -DPDK_19.08 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/i40e/rte_pmd_i40e_version.map b/drivers/net/i40e/rte_pmd_i40e_version.map index cccd5768c..e8ecfa1d7 100644 --- a/drivers/net/i40e/rte_pmd_i40e_version.map +++ b/drivers/net/i40e/rte_pmd_i40e_version.map @@ -1,67 +1,40 @@ -DPDK_2.0 { - - local: *; -}; - -DPDK_17.02 { +DPDK_20.0 { global: + rte_pmd_i40e_add_vf_mac_addr; + rte_pmd_i40e_flow_add_del_packet_template; + rte_pmd_i40e_flow_type_mapping_get; + rte_pmd_i40e_flow_type_mapping_reset; + rte_pmd_i40e_flow_type_mapping_update; + rte_pmd_i40e_get_ddp_info; + rte_pmd_i40e_get_ddp_list; rte_pmd_i40e_get_vf_stats; + rte_pmd_i40e_inset_get; + rte_pmd_i40e_inset_set; rte_pmd_i40e_ping_vfs; + rte_pmd_i40e_process_ddp_package; rte_pmd_i40e_ptype_mapping_get; rte_pmd_i40e_ptype_mapping_replace; rte_pmd_i40e_ptype_mapping_reset; rte_pmd_i40e_ptype_mapping_update; + rte_pmd_i40e_query_vfid_by_mac; rte_pmd_i40e_reset_vf_stats; + rte_pmd_i40e_rss_queue_region_conf; + rte_pmd_i40e_set_tc_strict_prio; rte_pmd_i40e_set_tx_loopback; rte_pmd_i40e_set_vf_broadcast; rte_pmd_i40e_set_vf_mac_addr; rte_pmd_i40e_set_vf_mac_anti_spoof; + rte_pmd_i40e_set_vf_max_bw; rte_pmd_i40e_set_vf_multicast_promisc; + rte_pmd_i40e_set_vf_tc_bw_alloc; + rte_pmd_i40e_set_vf_tc_max_bw; rte_pmd_i40e_set_vf_unicast_promisc; rte_pmd_i40e_set_vf_vlan_anti_spoof; rte_pmd_i40e_set_vf_vlan_filter; rte_pmd_i40e_set_vf_vlan_insert; rte_pmd_i40e_set_vf_vlan_stripq; rte_pmd_i40e_set_vf_vlan_tag; + local: *; +}; -} DPDK_2.0; - -DPDK_17.05 { - global: - - rte_pmd_i40e_set_tc_strict_prio; - rte_pmd_i40e_set_vf_max_bw; - rte_pmd_i40e_set_vf_tc_bw_alloc; - rte_pmd_i40e_set_vf_tc_max_bw; - rte_pmd_i40e_process_ddp_package; - rte_pmd_i40e_get_ddp_list; - -} DPDK_17.02; - -DPDK_17.08 { - global: - - rte_pmd_i40e_get_ddp_info; - -} DPDK_17.05; - -DPDK_17.11 { - global: - - rte_pmd_i40e_add_vf_mac_addr; - rte_pmd_i40e_flow_add_del_packet_template; - rte_pmd_i40e_flow_type_mapping_update; - rte_pmd_i40e_flow_type_mapping_get; - rte_pmd_i40e_flow_type_mapping_reset; - rte_pmd_i40e_query_vfid_by_mac; - rte_pmd_i40e_rss_queue_region_conf; - -} DPDK_17.08; - -DPDK_18.02 { - global: - - rte_pmd_i40e_inset_get; - rte_pmd_i40e_inset_set; -} DPDK_17.11; \ No newline at end of file diff --git a/drivers/net/iavf/rte_pmd_iavf_version.map b/drivers/net/iavf/rte_pmd_iavf_version.map index 179140fb8..0322b777c 100644 --- a/drivers/net/iavf/rte_pmd_iavf_version.map +++ b/drivers/net/iavf/rte_pmd_iavf_version.map @@ -1,4 +1,4 @@ -DPDK_18.02 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/ice/rte_pmd_ice_version.map b/drivers/net/ice/rte_pmd_ice_version.map index 7b23b609d..0322b777c 100644 --- a/drivers/net/ice/rte_pmd_ice_version.map +++ b/drivers/net/ice/rte_pmd_ice_version.map @@ -1,4 +1,4 @@ -DPDK_19.02 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/ifc/rte_pmd_ifc_version.map b/drivers/net/ifc/rte_pmd_ifc_version.map index 9b9ab1a4c..0322b777c 100644 --- a/drivers/net/ifc/rte_pmd_ifc_version.map +++ b/drivers/net/ifc/rte_pmd_ifc_version.map @@ -1,4 +1,4 @@ -DPDK_18.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map b/drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map index fc8c95e91..0322b777c 100644 --- a/drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map +++ b/drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map @@ -1,4 +1,4 @@ -DPDK_19.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map index c814f96d7..b117c8d95 100644 --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map @@ -1,57 +1,38 @@ -DPDK_2.0 { - - local: *; -}; - -DPDK_16.11 { - global: - - rte_pmd_ixgbe_set_all_queues_drop_en; - rte_pmd_ixgbe_set_tx_loopback; - rte_pmd_ixgbe_set_vf_mac_addr; - rte_pmd_ixgbe_set_vf_mac_anti_spoof; - rte_pmd_ixgbe_set_vf_split_drop_en; - rte_pmd_ixgbe_set_vf_vlan_anti_spoof; - rte_pmd_ixgbe_set_vf_vlan_insert; - rte_pmd_ixgbe_set_vf_vlan_stripq; -} DPDK_2.0; - -DPDK_17.02 { +DPDK_20.0 { global: + rte_pmd_ixgbe_bypass_event_show; + rte_pmd_ixgbe_bypass_event_store; + rte_pmd_ixgbe_bypass_init; + rte_pmd_ixgbe_bypass_state_set; + rte_pmd_ixgbe_bypass_state_show; + rte_pmd_ixgbe_bypass_ver_show; + rte_pmd_ixgbe_bypass_wd_reset; + rte_pmd_ixgbe_bypass_wd_timeout_show; + rte_pmd_ixgbe_bypass_wd_timeout_store; rte_pmd_ixgbe_macsec_config_rxsc; rte_pmd_ixgbe_macsec_config_txsc; rte_pmd_ixgbe_macsec_disable; rte_pmd_ixgbe_macsec_enable; rte_pmd_ixgbe_macsec_select_rxsa; rte_pmd_ixgbe_macsec_select_txsa; + rte_pmd_ixgbe_ping_vf; + rte_pmd_ixgbe_set_all_queues_drop_en; + rte_pmd_ixgbe_set_tc_bw_alloc; + rte_pmd_ixgbe_set_tx_loopback; + rte_pmd_ixgbe_set_vf_mac_addr; + rte_pmd_ixgbe_set_vf_mac_anti_spoof; rte_pmd_ixgbe_set_vf_rate_limit; rte_pmd_ixgbe_set_vf_rx; rte_pmd_ixgbe_set_vf_rxmode; + rte_pmd_ixgbe_set_vf_split_drop_en; rte_pmd_ixgbe_set_vf_tx; + rte_pmd_ixgbe_set_vf_vlan_anti_spoof; rte_pmd_ixgbe_set_vf_vlan_filter; -} DPDK_16.11; - -DPDK_17.05 { - global: - - rte_pmd_ixgbe_ping_vf; - rte_pmd_ixgbe_set_tc_bw_alloc; -} DPDK_17.02; - -DPDK_17.08 { - global: - - rte_pmd_ixgbe_bypass_event_show; - rte_pmd_ixgbe_bypass_event_store; - rte_pmd_ixgbe_bypass_init; - rte_pmd_ixgbe_bypass_state_set; - rte_pmd_ixgbe_bypass_state_show; - rte_pmd_ixgbe_bypass_ver_show; - rte_pmd_ixgbe_bypass_wd_reset; - rte_pmd_ixgbe_bypass_wd_timeout_show; - rte_pmd_ixgbe_bypass_wd_timeout_store; -} DPDK_17.05; + rte_pmd_ixgbe_set_vf_vlan_insert; + rte_pmd_ixgbe_set_vf_vlan_stripq; + local: *; +}; EXPERIMENTAL { global: diff --git a/drivers/net/kni/rte_pmd_kni_version.map b/drivers/net/kni/rte_pmd_kni_version.map index 8591cc0b1..0322b777c 100644 --- a/drivers/net/kni/rte_pmd_kni_version.map +++ b/drivers/net/kni/rte_pmd_kni_version.map @@ -1,4 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/liquidio/rte_pmd_liquidio_version.map b/drivers/net/liquidio/rte_pmd_liquidio_version.map index 8591cc0b1..0322b777c 100644 --- a/drivers/net/liquidio/rte_pmd_liquidio_version.map +++ b/drivers/net/liquidio/rte_pmd_liquidio_version.map @@ -1,4 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/memif/rte_pmd_memif_version.map b/drivers/net/memif/rte_pmd_memif_version.map index 8861484fb..0322b777c 100644 --- a/drivers/net/memif/rte_pmd_memif_version.map +++ b/drivers/net/memif/rte_pmd_memif_version.map @@ -1,4 +1,4 @@ -DPDK_19.08 { +DPDK_20.0 { - local: *; + local: *; }; diff --git a/drivers/net/mlx4/rte_pmd_mlx4_version.map b/drivers/net/mlx4/rte_pmd_mlx4_version.map index ef3539840..0322b777c 100644 --- a/drivers/net/mlx4/rte_pmd_mlx4_version.map +++ b/drivers/net/mlx4/rte_pmd_mlx4_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/mlx5/rte_pmd_mlx5_version.map b/drivers/net/mlx5/rte_pmd_mlx5_version.map index ad607bbed..0322b777c 100644 --- a/drivers/net/mlx5/rte_pmd_mlx5_version.map +++ b/drivers/net/mlx5/rte_pmd_mlx5_version.map @@ -1,3 +1,4 @@ -DPDK_2.2 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/net/mvneta/rte_pmd_mvneta_version.map b/drivers/net/mvneta/rte_pmd_mvneta_version.map index 24bd5cdb3..0322b777c 100644 --- a/drivers/net/mvneta/rte_pmd_mvneta_version.map +++ b/drivers/net/mvneta/rte_pmd_mvneta_version.map @@ -1,3 +1,4 @@ -DPDK_18.11 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/net/mvpp2/rte_pmd_mvpp2_version.map b/drivers/net/mvpp2/rte_pmd_mvpp2_version.map index a75303172..0322b777c 100644 --- a/drivers/net/mvpp2/rte_pmd_mvpp2_version.map +++ b/drivers/net/mvpp2/rte_pmd_mvpp2_version.map @@ -1,3 +1,4 @@ -DPDK_17.11 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/net/netvsc/rte_pmd_netvsc_version.map b/drivers/net/netvsc/rte_pmd_netvsc_version.map index d534019a6..0322b777c 100644 --- a/drivers/net/netvsc/rte_pmd_netvsc_version.map +++ b/drivers/net/netvsc/rte_pmd_netvsc_version.map @@ -1,5 +1,4 @@ -/* SPDX-License-Identifier: BSD-3-Clause */ +DPDK_20.0 { -DPDK_18.08 { local: *; }; diff --git a/drivers/net/nfb/rte_pmd_nfb_version.map b/drivers/net/nfb/rte_pmd_nfb_version.map index fc8c95e91..0322b777c 100644 --- a/drivers/net/nfb/rte_pmd_nfb_version.map +++ b/drivers/net/nfb/rte_pmd_nfb_version.map @@ -1,4 +1,4 @@ -DPDK_19.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/nfp/rte_pmd_nfp_version.map b/drivers/net/nfp/rte_pmd_nfp_version.map index ad607bbed..0322b777c 100644 --- a/drivers/net/nfp/rte_pmd_nfp_version.map +++ b/drivers/net/nfp/rte_pmd_nfp_version.map @@ -1,3 +1,4 @@ -DPDK_2.2 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/net/null/rte_pmd_null_version.map b/drivers/net/null/rte_pmd_null_version.map index ef3539840..0322b777c 100644 --- a/drivers/net/null/rte_pmd_null_version.map +++ b/drivers/net/null/rte_pmd_null_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/octeontx/rte_pmd_octeontx_version.map b/drivers/net/octeontx/rte_pmd_octeontx_version.map index a3161b14d..13ac26b39 100644 --- a/drivers/net/octeontx/rte_pmd_octeontx_version.map +++ b/drivers/net/octeontx/rte_pmd_octeontx_version.map @@ -1,11 +1,7 @@ -DPDK_17.11 { - - local: *; -}; - -DPDK_18.02 { +DPDK_20.0 { global: rte_octeontx_pchan_map; + local: *; +}; -} DPDK_17.11; diff --git a/drivers/net/octeontx2/rte_pmd_octeontx2_version.map b/drivers/net/octeontx2/rte_pmd_octeontx2_version.map index 9a61188cd..0322b777c 100644 --- a/drivers/net/octeontx2/rte_pmd_octeontx2_version.map +++ b/drivers/net/octeontx2/rte_pmd_octeontx2_version.map @@ -1,4 +1,4 @@ -DPDK_19.08 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/pcap/rte_pmd_pcap_version.map b/drivers/net/pcap/rte_pmd_pcap_version.map index ef3539840..0322b777c 100644 --- a/drivers/net/pcap/rte_pmd_pcap_version.map +++ b/drivers/net/pcap/rte_pmd_pcap_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/qede/rte_pmd_qede_version.map b/drivers/net/qede/rte_pmd_qede_version.map index 349c6e1c2..0322b777c 100644 --- a/drivers/net/qede/rte_pmd_qede_version.map +++ b/drivers/net/qede/rte_pmd_qede_version.map @@ -1,4 +1,4 @@ -DPDK_16.04 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/ring/rte_pmd_ring_version.map b/drivers/net/ring/rte_pmd_ring_version.map index 1f785d940..4190d385a 100644 --- a/drivers/net/ring/rte_pmd_ring_version.map +++ b/drivers/net/ring/rte_pmd_ring_version.map @@ -1,14 +1,8 @@ -DPDK_2.0 { +DPDK_20.0 { global: + rte_eth_from_ring; rte_eth_from_rings; - local: *; }; -DPDK_2.2 { - global: - - rte_eth_from_ring; - -} DPDK_2.0; diff --git a/drivers/net/sfc/rte_pmd_sfc_version.map b/drivers/net/sfc/rte_pmd_sfc_version.map index 31eca32eb..0322b777c 100644 --- a/drivers/net/sfc/rte_pmd_sfc_version.map +++ b/drivers/net/sfc/rte_pmd_sfc_version.map @@ -1,4 +1,4 @@ -DPDK_17.02 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/softnic/rte_pmd_softnic_version.map b/drivers/net/softnic/rte_pmd_softnic_version.map index bc44b06f9..eb4f0b07a 100644 --- a/drivers/net/softnic/rte_pmd_softnic_version.map +++ b/drivers/net/softnic/rte_pmd_softnic_version.map @@ -1,8 +1,7 @@ -DPDK_17.11 { +DPDK_20.0 { global: rte_pmd_softnic_run; - local: *; }; diff --git a/drivers/net/szedata2/rte_pmd_szedata2_version.map b/drivers/net/szedata2/rte_pmd_szedata2_version.map index ad607bbed..0322b777c 100644 --- a/drivers/net/szedata2/rte_pmd_szedata2_version.map +++ b/drivers/net/szedata2/rte_pmd_szedata2_version.map @@ -1,3 +1,4 @@ -DPDK_2.2 { +DPDK_20.0 { + local: *; }; diff --git a/drivers/net/tap/rte_pmd_tap_version.map b/drivers/net/tap/rte_pmd_tap_version.map index 31eca32eb..0322b777c 100644 --- a/drivers/net/tap/rte_pmd_tap_version.map +++ b/drivers/net/tap/rte_pmd_tap_version.map @@ -1,4 +1,4 @@ -DPDK_17.02 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/thunderx/rte_pmd_thunderx_version.map b/drivers/net/thunderx/rte_pmd_thunderx_version.map index 1901bcb3b..0322b777c 100644 --- a/drivers/net/thunderx/rte_pmd_thunderx_version.map +++ b/drivers/net/thunderx/rte_pmd_thunderx_version.map @@ -1,4 +1,4 @@ -DPDK_16.07 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/vdev_netvsc/rte_pmd_vdev_netvsc_version.map b/drivers/net/vdev_netvsc/rte_pmd_vdev_netvsc_version.map index 179140fb8..0322b777c 100644 --- a/drivers/net/vdev_netvsc/rte_pmd_vdev_netvsc_version.map +++ b/drivers/net/vdev_netvsc/rte_pmd_vdev_netvsc_version.map @@ -1,4 +1,4 @@ -DPDK_18.02 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/vhost/rte_pmd_vhost_version.map b/drivers/net/vhost/rte_pmd_vhost_version.map index 695db8574..9f7e613f2 100644 --- a/drivers/net/vhost/rte_pmd_vhost_version.map +++ b/drivers/net/vhost/rte_pmd_vhost_version.map @@ -1,13 +1,8 @@ -DPDK_16.04 { +DPDK_20.0 { global: rte_eth_vhost_get_queue_event; - + rte_eth_vhost_get_vid_from_port_id; local: *; }; -DPDK_16.11 { - global: - - rte_eth_vhost_get_vid_from_port_id; -}; diff --git a/drivers/net/virtio/rte_pmd_virtio_version.map b/drivers/net/virtio/rte_pmd_virtio_version.map index ef3539840..0322b777c 100644 --- a/drivers/net/virtio/rte_pmd_virtio_version.map +++ b/drivers/net/virtio/rte_pmd_virtio_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { local: *; }; diff --git a/drivers/net/vmxnet3/rte_pmd_vmxnet3_version.map b/drivers/net/vmxnet3/rte_pmd_vmxnet3_version.map index ef3539840..0322b777c 100644 --- a/drivers/net/vmxnet3/rte_pmd_vmxnet3_version.map +++ b/drivers/net/vmxnet3/rte_pmd_vmxnet3_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { local: *; }; diff --git a/drivers/raw/dpaa2_cmdif/rte_rawdev_dpaa2_cmdif_version.map b/drivers/raw/dpaa2_cmdif/rte_rawdev_dpaa2_cmdif_version.map index 9b9ab1a4c..0322b777c 100644 --- a/drivers/raw/dpaa2_cmdif/rte_rawdev_dpaa2_cmdif_version.map +++ b/drivers/raw/dpaa2_cmdif/rte_rawdev_dpaa2_cmdif_version.map @@ -1,4 +1,4 @@ -DPDK_18.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/raw/dpaa2_qdma/rte_rawdev_dpaa2_qdma_version.map b/drivers/raw/dpaa2_qdma/rte_rawdev_dpaa2_qdma_version.map index d16a136fc..a2420771f 100644 --- a/drivers/raw/dpaa2_qdma/rte_rawdev_dpaa2_qdma_version.map +++ b/drivers/raw/dpaa2_qdma/rte_rawdev_dpaa2_qdma_version.map @@ -1,4 +1,4 @@ -DPDK_19.05 { +DPDK_20.0 { global: rte_qdma_attr_get; @@ -9,12 +9,12 @@ DPDK_19.05 { rte_qdma_start; rte_qdma_stop; rte_qdma_vq_create; - rte_qdma_vq_destroy; rte_qdma_vq_dequeue; rte_qdma_vq_dequeue_multi; + rte_qdma_vq_destroy; rte_qdma_vq_enqueue; rte_qdma_vq_enqueue_multi; rte_qdma_vq_stats; - local: *; }; + diff --git a/drivers/raw/ifpga/rte_rawdev_ifpga_version.map b/drivers/raw/ifpga/rte_rawdev_ifpga_version.map index 9b9ab1a4c..0322b777c 100644 --- a/drivers/raw/ifpga/rte_rawdev_ifpga_version.map +++ b/drivers/raw/ifpga/rte_rawdev_ifpga_version.map @@ -1,4 +1,4 @@ -DPDK_18.05 { +DPDK_20.0 { local: *; }; diff --git a/drivers/raw/ioat/rte_rawdev_ioat_version.map b/drivers/raw/ioat/rte_rawdev_ioat_version.map index 9a61188cd..0322b777c 100644 --- a/drivers/raw/ioat/rte_rawdev_ioat_version.map +++ b/drivers/raw/ioat/rte_rawdev_ioat_version.map @@ -1,4 +1,4 @@ -DPDK_19.08 { +DPDK_20.0 { local: *; }; diff --git a/drivers/raw/ntb/rte_rawdev_ntb_version.map b/drivers/raw/ntb/rte_rawdev_ntb_version.map index 8861484fb..0322b777c 100644 --- a/drivers/raw/ntb/rte_rawdev_ntb_version.map +++ b/drivers/raw/ntb/rte_rawdev_ntb_version.map @@ -1,4 +1,4 @@ -DPDK_19.08 { +DPDK_20.0 { - local: *; + local: *; }; diff --git a/drivers/raw/octeontx2_dma/rte_rawdev_octeontx2_dma_version.map b/drivers/raw/octeontx2_dma/rte_rawdev_octeontx2_dma_version.map index 9a61188cd..0322b777c 100644 --- a/drivers/raw/octeontx2_dma/rte_rawdev_octeontx2_dma_version.map +++ b/drivers/raw/octeontx2_dma/rte_rawdev_octeontx2_dma_version.map @@ -1,4 +1,4 @@ -DPDK_19.08 { +DPDK_20.0 { local: *; }; diff --git a/drivers/raw/skeleton/rte_rawdev_skeleton_version.map b/drivers/raw/skeleton/rte_rawdev_skeleton_version.map index 179140fb8..0322b777c 100644 --- a/drivers/raw/skeleton/rte_rawdev_skeleton_version.map +++ b/drivers/raw/skeleton/rte_rawdev_skeleton_version.map @@ -1,4 +1,4 @@ -DPDK_18.02 { +DPDK_20.0 { local: *; }; diff --git a/lib/librte_acl/rte_acl_version.map b/lib/librte_acl/rte_acl_version.map index b09370a10..6a5d7034a 100644 --- a/lib/librte_acl/rte_acl_version.map +++ b/lib/librte_acl/rte_acl_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_acl_add_rules; @@ -14,6 +14,6 @@ DPDK_2.0 { rte_acl_reset; rte_acl_reset_rules; rte_acl_set_ctx_classify; - local: *; }; + diff --git a/lib/librte_bbdev/rte_bbdev_version.map b/lib/librte_bbdev/rte_bbdev_version.map index 3624eb1cb..7ca27ca67 100644 --- a/lib/librte_bbdev/rte_bbdev_version.map +++ b/lib/librte_bbdev/rte_bbdev_version.map @@ -36,6 +36,5 @@ EXPERIMENTAL { rte_bbdev_stats_get; rte_bbdev_stats_reset; rte_bbdev_stop; - local: *; }; diff --git a/lib/librte_bitratestats/rte_bitratestats_version.map b/lib/librte_bitratestats/rte_bitratestats_version.map index fe7454452..0261427b9 100644 --- a/lib/librte_bitratestats/rte_bitratestats_version.map +++ b/lib/librte_bitratestats/rte_bitratestats_version.map @@ -1,9 +1,9 @@ -DPDK_17.05 { +DPDK_20.0 { global: rte_stats_bitrate_calc; rte_stats_bitrate_create; rte_stats_bitrate_reg; - local: *; }; + diff --git a/lib/librte_bpf/rte_bpf_version.map b/lib/librte_bpf/rte_bpf_version.map index a203e088e..b183ba566 100644 --- a/lib/librte_bpf/rte_bpf_version.map +++ b/lib/librte_bpf/rte_bpf_version.map @@ -11,6 +11,5 @@ EXPERIMENTAL { rte_bpf_exec_burst; rte_bpf_get_jit; rte_bpf_load; - local: *; }; diff --git a/lib/librte_cfgfile/rte_cfgfile_version.map b/lib/librte_cfgfile/rte_cfgfile_version.map index a0a11cea8..255523103 100644 --- a/lib/librte_cfgfile/rte_cfgfile_version.map +++ b/lib/librte_cfgfile/rte_cfgfile_version.map @@ -1,40 +1,22 @@ -DPDK_2.0 { +DPDK_20.0 { global: + rte_cfgfile_add_entry; + rte_cfgfile_add_section; rte_cfgfile_close; + rte_cfgfile_create; rte_cfgfile_get_entry; rte_cfgfile_has_entry; rte_cfgfile_has_section; rte_cfgfile_load; + rte_cfgfile_load_with_params; rte_cfgfile_num_sections; + rte_cfgfile_save; rte_cfgfile_section_entries; + rte_cfgfile_section_entries_by_index; rte_cfgfile_section_num_entries; rte_cfgfile_sections; - + rte_cfgfile_set_entry; local: *; }; -DPDK_16.04 { - global: - - rte_cfgfile_section_entries_by_index; - -} DPDK_2.0; - -DPDK_17.05 { - global: - - rte_cfgfile_load_with_params; - -} DPDK_16.04; - -DPDK_17.11 { - global: - - rte_cfgfile_add_entry; - rte_cfgfile_add_section; - rte_cfgfile_create; - rte_cfgfile_save; - rte_cfgfile_set_entry; - -} DPDK_17.05; diff --git a/lib/librte_cmdline/rte_cmdline_version.map b/lib/librte_cmdline/rte_cmdline_version.map index 04bcb387f..29788e1ef 100644 --- a/lib/librte_cmdline/rte_cmdline_version.map +++ b/lib/librte_cmdline/rte_cmdline_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { global: cirbuf_add_buf_head; @@ -40,6 +40,7 @@ DPDK_2.0 { cmdline_parse_num; cmdline_parse_portlist; cmdline_parse_string; + cmdline_poll; cmdline_printf; cmdline_quit; cmdline_set_prompt; @@ -65,13 +66,6 @@ DPDK_2.0 { rdline_stop; vt100_init; vt100_parser; - local: *; }; -DPDK_2.1 { - global: - - cmdline_poll; - -} DPDK_2.0; diff --git a/lib/librte_compressdev/rte_compressdev_version.map b/lib/librte_compressdev/rte_compressdev_version.map index e2a108b65..6e3acd83e 100644 --- a/lib/librte_compressdev/rte_compressdev_version.map +++ b/lib/librte_compressdev/rte_compressdev_version.map @@ -1,6 +1,12 @@ EXPERIMENTAL { global: + rte_comp_get_feature_name; + rte_comp_op_alloc; + rte_comp_op_bulk_alloc; + rte_comp_op_bulk_free; + rte_comp_op_free; + rte_comp_op_pool_create; rte_compressdev_capability_get; rte_compressdev_close; rte_compressdev_configure; @@ -29,12 +35,5 @@ EXPERIMENTAL { rte_compressdev_stop; rte_compressdev_stream_create; rte_compressdev_stream_free; - rte_comp_get_feature_name; - rte_comp_op_alloc; - rte_comp_op_bulk_alloc; - rte_comp_op_bulk_free; - rte_comp_op_free; - rte_comp_op_pool_create; - local: *; }; diff --git a/lib/librte_cryptodev/rte_cryptodev_version.map b/lib/librte_cryptodev/rte_cryptodev_version.map index 3deb265ac..a95776567 100644 --- a/lib/librte_cryptodev/rte_cryptodev_version.map +++ b/lib/librte_cryptodev/rte_cryptodev_version.map @@ -1,96 +1,67 @@ -DPDK_16.04 { +DPDK_20.0 { global: - rte_cryptodevs; + rte_crypto_aead_algorithm_strings; + rte_crypto_aead_operation_strings; + rte_crypto_auth_algorithm_strings; + rte_crypto_auth_operation_strings; + rte_crypto_cipher_algorithm_strings; + rte_crypto_cipher_operation_strings; + rte_crypto_op_pool_create; + rte_cryptodev_allocate_driver; rte_cryptodev_callback_register; rte_cryptodev_callback_unregister; rte_cryptodev_close; - rte_cryptodev_count; rte_cryptodev_configure; + rte_cryptodev_count; + rte_cryptodev_device_count_by_driver; + rte_cryptodev_devices_get; + rte_cryptodev_driver_id_get; + rte_cryptodev_driver_name_get; + rte_cryptodev_get_aead_algo_enum; + rte_cryptodev_get_auth_algo_enum; + rte_cryptodev_get_cipher_algo_enum; rte_cryptodev_get_dev_id; rte_cryptodev_get_feature_name; + rte_cryptodev_get_sec_ctx; rte_cryptodev_info_get; + rte_cryptodev_name_get; rte_cryptodev_pmd_allocate; rte_cryptodev_pmd_callback_process; + rte_cryptodev_pmd_create; + rte_cryptodev_pmd_create_dev_name; + rte_cryptodev_pmd_destroy; + rte_cryptodev_pmd_get_dev; + rte_cryptodev_pmd_get_named_dev; + rte_cryptodev_pmd_is_valid_dev; + rte_cryptodev_pmd_parse_input_args; rte_cryptodev_pmd_release_device; - rte_cryptodev_sym_session_create; - rte_cryptodev_sym_session_free; + rte_cryptodev_queue_pair_count; + rte_cryptodev_queue_pair_setup; rte_cryptodev_socket_id; rte_cryptodev_start; rte_cryptodev_stats_get; rte_cryptodev_stats_reset; rte_cryptodev_stop; - rte_cryptodev_queue_pair_count; - rte_cryptodev_queue_pair_setup; - rte_crypto_op_pool_create; - - local: *; -}; - -DPDK_17.02 { - global: - - rte_cryptodev_devices_get; - rte_cryptodev_pmd_create_dev_name; - rte_cryptodev_pmd_get_dev; - rte_cryptodev_pmd_get_named_dev; - rte_cryptodev_pmd_is_valid_dev; + rte_cryptodev_sym_capability_check_aead; rte_cryptodev_sym_capability_check_auth; rte_cryptodev_sym_capability_check_cipher; rte_cryptodev_sym_capability_get; - rte_crypto_auth_algorithm_strings; - rte_crypto_auth_operation_strings; - rte_crypto_cipher_algorithm_strings; - rte_crypto_cipher_operation_strings; - -} DPDK_16.04; - -DPDK_17.05 { - global: - - rte_cryptodev_get_auth_algo_enum; - rte_cryptodev_get_cipher_algo_enum; - -} DPDK_17.02; - -DPDK_17.08 { - global: - - rte_cryptodev_allocate_driver; - rte_cryptodev_device_count_by_driver; - rte_cryptodev_driver_id_get; - rte_cryptodev_driver_name_get; - rte_cryptodev_get_aead_algo_enum; - rte_cryptodev_sym_capability_check_aead; - rte_cryptodev_sym_session_init; - rte_cryptodev_sym_session_clear; - rte_crypto_aead_algorithm_strings; - rte_crypto_aead_operation_strings; - -} DPDK_17.05; - -DPDK_17.11 { - global: - - rte_cryptodev_get_sec_ctx; - rte_cryptodev_name_get; - rte_cryptodev_pmd_create; - rte_cryptodev_pmd_destroy; - rte_cryptodev_pmd_parse_input_args; - -} DPDK_17.08; - -DPDK_18.05 { - global: - rte_cryptodev_sym_get_header_session_size; rte_cryptodev_sym_get_private_session_size; - -} DPDK_17.11; + rte_cryptodev_sym_session_clear; + rte_cryptodev_sym_session_create; + rte_cryptodev_sym_session_free; + rte_cryptodev_sym_session_init; + rte_cryptodevs; + local: *; +}; EXPERIMENTAL { global: + rte_crypto_asym_op_strings; + rte_crypto_asym_xform_strings; rte_cryptodev_asym_capability_get; rte_cryptodev_asym_get_header_session_size; rte_cryptodev_asym_get_private_session_size; @@ -105,6 +76,4 @@ EXPERIMENTAL { rte_cryptodev_sym_session_get_user_data; rte_cryptodev_sym_session_pool_create; rte_cryptodev_sym_session_set_user_data; - rte_crypto_asym_op_strings; - rte_crypto_asym_xform_strings; }; diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c index 21eb1fb0a..edc942317 100644 --- a/lib/librte_distributor/rte_distributor.c +++ b/lib/librte_distributor/rte_distributor.c @@ -78,7 +78,7 @@ rte_distributor_request_pkt_v1705(struct rte_distributor *d, */ *retptr64 |= RTE_DISTRIB_GET_BUF; } -BIND_DEFAULT_SYMBOL(rte_distributor_request_pkt, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_distributor_request_pkt, _v1705, 20.0); MAP_STATIC_SYMBOL(void rte_distributor_request_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **oldpkt, unsigned int count), @@ -119,7 +119,7 @@ rte_distributor_poll_pkt_v1705(struct rte_distributor *d, return count; } -BIND_DEFAULT_SYMBOL(rte_distributor_poll_pkt, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_distributor_poll_pkt, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_distributor_poll_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **pkts), rte_distributor_poll_pkt_v1705); @@ -153,7 +153,7 @@ rte_distributor_get_pkt_v1705(struct rte_distributor *d, } return count; } -BIND_DEFAULT_SYMBOL(rte_distributor_get_pkt, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_distributor_get_pkt, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_distributor_get_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **pkts, struct rte_mbuf **oldpkt, unsigned int return_count), @@ -187,7 +187,7 @@ rte_distributor_return_pkt_v1705(struct rte_distributor *d, return 0; } -BIND_DEFAULT_SYMBOL(rte_distributor_return_pkt, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_distributor_return_pkt, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_distributor_return_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **oldpkt, int num), rte_distributor_return_pkt_v1705); @@ -470,7 +470,7 @@ rte_distributor_process_v1705(struct rte_distributor *d, return num_mbufs; } -BIND_DEFAULT_SYMBOL(rte_distributor_process, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_distributor_process, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_distributor_process(struct rte_distributor *d, struct rte_mbuf **mbufs, unsigned int num_mbufs), rte_distributor_process_v1705); @@ -502,7 +502,7 @@ rte_distributor_returned_pkts_v1705(struct rte_distributor *d, return retval; } -BIND_DEFAULT_SYMBOL(rte_distributor_returned_pkts, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_distributor_returned_pkts, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_distributor_returned_pkts(struct rte_distributor *d, struct rte_mbuf **mbufs, unsigned int max_mbufs), rte_distributor_returned_pkts_v1705); @@ -556,7 +556,7 @@ rte_distributor_flush_v1705(struct rte_distributor *d) return flushed; } -BIND_DEFAULT_SYMBOL(rte_distributor_flush, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_distributor_flush, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_distributor_flush(struct rte_distributor *d), rte_distributor_flush_v1705); @@ -576,7 +576,7 @@ rte_distributor_clear_returns_v1705(struct rte_distributor *d) for (wkr = 0; wkr < d->num_workers; wkr++) d->bufs[wkr].retptr64[0] = 0; } -BIND_DEFAULT_SYMBOL(rte_distributor_clear_returns, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_distributor_clear_returns, _v1705, 20.0); MAP_STATIC_SYMBOL(void rte_distributor_clear_returns(struct rte_distributor *d), rte_distributor_clear_returns_v1705); @@ -656,7 +656,7 @@ rte_distributor_create_v1705(const char *name, return d; } -BIND_DEFAULT_SYMBOL(rte_distributor_create, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_distributor_create, _v1705, 20.0); MAP_STATIC_SYMBOL(struct rte_distributor *rte_distributor_create( const char *name, unsigned int socket_id, unsigned int num_workers, unsigned int alg_type), diff --git a/lib/librte_distributor/rte_distributor_v20.c b/lib/librte_distributor/rte_distributor_v20.c index cdc0969a8..14ee0360e 100644 --- a/lib/librte_distributor/rte_distributor_v20.c +++ b/lib/librte_distributor/rte_distributor_v20.c @@ -38,7 +38,6 @@ rte_distributor_request_pkt_v20(struct rte_distributor_v20 *d, rte_pause(); buf->bufptr64 = req; } -VERSION_SYMBOL(rte_distributor_request_pkt, _v20, 2.0); struct rte_mbuf * rte_distributor_poll_pkt_v20(struct rte_distributor_v20 *d, @@ -52,7 +51,6 @@ rte_distributor_poll_pkt_v20(struct rte_distributor_v20 *d, int64_t ret = buf->bufptr64 >> RTE_DISTRIB_FLAG_BITS; return (struct rte_mbuf *)((uintptr_t)ret); } -VERSION_SYMBOL(rte_distributor_poll_pkt, _v20, 2.0); struct rte_mbuf * rte_distributor_get_pkt_v20(struct rte_distributor_v20 *d, @@ -64,7 +62,6 @@ rte_distributor_get_pkt_v20(struct rte_distributor_v20 *d, rte_pause(); return ret; } -VERSION_SYMBOL(rte_distributor_get_pkt, _v20, 2.0); int rte_distributor_return_pkt_v20(struct rte_distributor_v20 *d, @@ -76,7 +73,6 @@ rte_distributor_return_pkt_v20(struct rte_distributor_v20 *d, buf->bufptr64 = req; return 0; } -VERSION_SYMBOL(rte_distributor_return_pkt, _v20, 2.0); /**** APIs called on distributor core ***/ @@ -293,7 +289,6 @@ rte_distributor_process_v20(struct rte_distributor_v20 *d, d->returns.count = ret_count; return num_mbufs; } -VERSION_SYMBOL(rte_distributor_process, _v20, 2.0); /* return to the caller, packets returned from workers */ int @@ -314,7 +309,6 @@ rte_distributor_returned_pkts_v20(struct rte_distributor_v20 *d, return retval; } -VERSION_SYMBOL(rte_distributor_returned_pkts, _v20, 2.0); /* return the number of packets in-flight in a distributor, i.e. packets * being worked on or queued up in a backlog. @@ -344,7 +338,6 @@ rte_distributor_flush_v20(struct rte_distributor_v20 *d) return flushed; } -VERSION_SYMBOL(rte_distributor_flush, _v20, 2.0); /* clears the internal returns array in the distributor */ void @@ -355,7 +348,6 @@ rte_distributor_clear_returns_v20(struct rte_distributor_v20 *d) memset(d->returns.mbufs, 0, sizeof(d->returns.mbufs)); #endif } -VERSION_SYMBOL(rte_distributor_clear_returns, _v20, 2.0); /* creates a distributor instance */ struct rte_distributor_v20 * @@ -399,4 +391,3 @@ rte_distributor_create_v20(const char *name, return d; } -VERSION_SYMBOL(rte_distributor_create, _v20, 2.0); diff --git a/lib/librte_distributor/rte_distributor_version.map b/lib/librte_distributor/rte_distributor_version.map index 3a285b394..1656d129a 100644 --- a/lib/librte_distributor/rte_distributor_version.map +++ b/lib/librte_distributor/rte_distributor_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_distributor_clear_returns; @@ -10,20 +10,6 @@ DPDK_2.0 { rte_distributor_request_pkt; rte_distributor_return_pkt; rte_distributor_returned_pkts; - local: *; }; -DPDK_17.05 { - global: - - rte_distributor_clear_returns; - rte_distributor_create; - rte_distributor_flush; - rte_distributor_get_pkt; - rte_distributor_poll_pkt; - rte_distributor_process; - rte_distributor_request_pkt; - rte_distributor_return_pkt; - rte_distributor_returned_pkts; -} DPDK_2.0; diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map index 7cbf82d37..343c771f7 100644 --- a/lib/librte_eal/rte_eal_version.map +++ b/lib/librte_eal/rte_eal_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { global: __rte_panic; @@ -7,46 +7,111 @@ DPDK_2.0 { lcore_config; per_lcore__lcore_id; per_lcore__rte_errno; + rte_bus_dump; + rte_bus_find; + rte_bus_find_by_device; + rte_bus_find_by_name; + rte_bus_get_iommu_class; + rte_bus_probe; + rte_bus_register; + rte_bus_scan; + rte_bus_unregister; rte_calloc; rte_calloc_socket; rte_cpu_check_supported; rte_cpu_get_flag_enabled; + rte_cpu_get_flag_name; + rte_cpu_is_supported; + rte_ctrl_thread_create; rte_cycles_vmware_tsc_map; rte_delay_us; + rte_delay_us_block; + rte_delay_us_callback_register; + rte_dev_is_probed; + rte_dev_probe; + rte_dev_remove; + rte_devargs_add; + rte_devargs_dump; + rte_devargs_insert; + rte_devargs_next; + rte_devargs_parse; + rte_devargs_parsef; + rte_devargs_remove; + rte_devargs_type_count; rte_dump_physmem_layout; rte_dump_registers; rte_dump_stack; rte_dump_tailq; rte_eal_alarm_cancel; rte_eal_alarm_set; + rte_eal_cleanup; + rte_eal_create_uio_dev; rte_eal_get_configuration; rte_eal_get_lcore_state; rte_eal_get_physmem_size; + rte_eal_get_runtime_dir; rte_eal_has_hugepages; + rte_eal_has_pci; + rte_eal_hotplug_add; + rte_eal_hotplug_remove; rte_eal_hpet_init; rte_eal_init; rte_eal_iopl_init; + rte_eal_iova_mode; rte_eal_lcore_role; + rte_eal_mbuf_user_pool_ops; rte_eal_mp_remote_launch; rte_eal_mp_wait_lcore; + rte_eal_primary_proc_alive; rte_eal_process_type; rte_eal_remote_launch; rte_eal_tailq_lookup; rte_eal_tailq_register; + rte_eal_using_phys_addrs; + rte_eal_vfio_intr_mode; rte_eal_wait_lcore; + rte_epoll_ctl; + rte_epoll_wait; rte_exit; rte_free; rte_get_hpet_cycles; rte_get_hpet_hz; rte_get_tsc_hz; rte_hexdump; + rte_hypervisor_get; + rte_hypervisor_get_name; + rte_intr_allow_others; rte_intr_callback_register; rte_intr_callback_unregister; + rte_intr_cap_multiple; rte_intr_disable; + rte_intr_dp_is_en; + rte_intr_efd_disable; + rte_intr_efd_enable; rte_intr_enable; + rte_intr_free_epoll_fd; + rte_intr_rx_ctl; + rte_intr_tls_epfd; + rte_keepalive_create; + rte_keepalive_dispatch_pings; + rte_keepalive_mark_alive; + rte_keepalive_mark_sleep; + rte_keepalive_register_core; + rte_keepalive_register_relay_callback; + rte_lcore_has_role; + rte_lcore_index; + rte_lcore_to_socket_id; rte_log; rte_log_cur_msg_loglevel; rte_log_cur_msg_logtype; + rte_log_dump; + rte_log_get_global_level; + rte_log_get_level; + rte_log_register; + rte_log_set_global_level; + rte_log_set_level; + rte_log_set_level_pattern; + rte_log_set_level_regexp; rte_logs; rte_malloc; rte_malloc_dump_stats; @@ -54,155 +119,38 @@ DPDK_2.0 { rte_malloc_set_limit; rte_malloc_socket; rte_malloc_validate; + rte_malloc_virt2iova; + rte_mcfg_mem_read_lock; + rte_mcfg_mem_read_unlock; + rte_mcfg_mem_write_lock; + rte_mcfg_mem_write_unlock; + rte_mcfg_mempool_read_lock; + rte_mcfg_mempool_read_unlock; + rte_mcfg_mempool_write_lock; + rte_mcfg_mempool_write_unlock; + rte_mcfg_tailq_read_lock; + rte_mcfg_tailq_read_unlock; + rte_mcfg_tailq_write_lock; + rte_mcfg_tailq_write_unlock; rte_mem_lock_page; + rte_mem_virt2iova; rte_mem_virt2phy; rte_memdump; rte_memory_get_nchannel; rte_memory_get_nrank; rte_memzone_dump; + rte_memzone_free; rte_memzone_lookup; rte_memzone_reserve; rte_memzone_reserve_aligned; rte_memzone_reserve_bounded; rte_memzone_walk; rte_openlog_stream; + rte_rand; rte_realloc; - rte_set_application_usage_hook; - rte_socket_id; - rte_strerror; - rte_strsplit; - rte_sys_gettid; - rte_thread_get_affinity; - rte_thread_set_affinity; - rte_vlog; - rte_zmalloc; - rte_zmalloc_socket; - - local: *; -}; - -DPDK_2.1 { - global: - - rte_epoll_ctl; - rte_epoll_wait; - rte_intr_allow_others; - rte_intr_dp_is_en; - rte_intr_efd_disable; - rte_intr_efd_enable; - rte_intr_rx_ctl; - rte_intr_tls_epfd; - rte_memzone_free; - -} DPDK_2.0; - -DPDK_2.2 { - global: - - rte_intr_cap_multiple; - rte_keepalive_create; - rte_keepalive_dispatch_pings; - rte_keepalive_mark_alive; - rte_keepalive_register_core; - -} DPDK_2.1; - -DPDK_16.04 { - global: - - rte_cpu_get_flag_name; - rte_eal_primary_proc_alive; - -} DPDK_2.2; - -DPDK_16.07 { - global: - - rte_keepalive_mark_sleep; - rte_keepalive_register_relay_callback; - rte_rtm_supported; - rte_thread_setname; - -} DPDK_16.04; - -DPDK_16.11 { - global: - - rte_delay_us_block; - rte_delay_us_callback_register; - -} DPDK_16.07; - -DPDK_17.02 { - global: - - rte_bus_dump; - rte_bus_probe; - rte_bus_register; - rte_bus_scan; - rte_bus_unregister; - -} DPDK_16.11; - -DPDK_17.05 { - global: - - rte_cpu_is_supported; - rte_intr_free_epoll_fd; - rte_log_dump; - rte_log_get_global_level; - rte_log_register; - rte_log_set_global_level; - rte_log_set_level; - rte_log_set_level_regexp; - -} DPDK_17.02; - -DPDK_17.08 { - global: - - rte_bus_find; - rte_bus_find_by_device; - rte_bus_find_by_name; - rte_log_get_level; - -} DPDK_17.05; - -DPDK_17.11 { - global: - - rte_eal_create_uio_dev; - rte_bus_get_iommu_class; - rte_eal_has_pci; - rte_eal_iova_mode; - rte_eal_using_phys_addrs; - rte_eal_vfio_intr_mode; - rte_lcore_has_role; - rte_malloc_virt2iova; - rte_mem_virt2iova; - rte_vfio_enable; - rte_vfio_is_enabled; - rte_vfio_noiommu_is_enabled; - rte_vfio_release_device; - rte_vfio_setup_device; - -} DPDK_17.08; - -DPDK_18.02 { - global: - - rte_hypervisor_get; - rte_hypervisor_get_name; - rte_vfio_clear_group; rte_reciprocal_value; rte_reciprocal_value_u64; - -} DPDK_17.11; - -DPDK_18.05 { - global: - - rte_log_set_level_pattern; + rte_rtm_supported; rte_service_attr_get; rte_service_attr_reset_all; rte_service_component_register; @@ -215,6 +163,8 @@ DPDK_18.05 { rte_service_get_count; rte_service_get_name; rte_service_lcore_add; + rte_service_lcore_attr_get; + rte_service_lcore_attr_reset_all; rte_service_lcore_count; rte_service_lcore_count_services; rte_service_lcore_del; @@ -224,6 +174,7 @@ DPDK_18.05 { rte_service_lcore_stop; rte_service_map_lcore_get; rte_service_map_lcore_set; + rte_service_may_be_active; rte_service_probe_capability; rte_service_run_iter_on_app_lcore; rte_service_runstate_get; @@ -231,17 +182,23 @@ DPDK_18.05 { rte_service_set_runstate_mapped_check; rte_service_set_stats_enable; rte_service_start_with_defaults; - -} DPDK_18.02; - -DPDK_18.08 { - global: - - rte_eal_mbuf_user_pool_ops; + rte_set_application_usage_hook; + rte_socket_count; + rte_socket_id; + rte_socket_id_by_idx; + rte_srand; + rte_strerror; + rte_strscpy; + rte_strsplit; + rte_sys_gettid; + rte_thread_get_affinity; + rte_thread_set_affinity; + rte_thread_setname; rte_uuid_compare; rte_uuid_is_null; rte_uuid_parse; rte_uuid_unparse; + rte_vfio_clear_group; rte_vfio_container_create; rte_vfio_container_destroy; rte_vfio_container_dma_map; @@ -250,86 +207,49 @@ DPDK_18.08 { rte_vfio_container_group_unbind; rte_vfio_dma_map; rte_vfio_dma_unmap; + rte_vfio_enable; rte_vfio_get_container_fd; rte_vfio_get_group_fd; rte_vfio_get_group_num; - -} DPDK_18.05; - -DPDK_18.11 { - global: - - rte_dev_probe; - rte_dev_remove; - rte_eal_get_runtime_dir; - rte_eal_hotplug_add; - rte_eal_hotplug_remove; - rte_strscpy; - -} DPDK_18.08; - -DPDK_19.05 { - global: - - rte_ctrl_thread_create; - rte_dev_is_probed; - rte_devargs_add; - rte_devargs_dump; - rte_devargs_insert; - rte_devargs_next; - rte_devargs_parse; - rte_devargs_parsef; - rte_devargs_remove; - rte_devargs_type_count; - rte_eal_cleanup; - rte_socket_count; - rte_socket_id_by_idx; - -} DPDK_18.11; - -DPDK_19.08 { - global: - - rte_lcore_index; - rte_lcore_to_socket_id; - rte_mcfg_mem_read_lock; - rte_mcfg_mem_read_unlock; - rte_mcfg_mem_write_lock; - rte_mcfg_mem_write_unlock; - rte_mcfg_mempool_read_lock; - rte_mcfg_mempool_read_unlock; - rte_mcfg_mempool_write_lock; - rte_mcfg_mempool_write_unlock; - rte_mcfg_tailq_read_lock; - rte_mcfg_tailq_read_unlock; - rte_mcfg_tailq_write_lock; - rte_mcfg_tailq_write_unlock; - rte_rand; - rte_service_lcore_attr_get; - rte_service_lcore_attr_reset_all; - rte_service_may_be_active; - rte_srand; - -} DPDK_19.05; + rte_vfio_is_enabled; + rte_vfio_noiommu_is_enabled; + rte_vfio_release_device; + rte_vfio_setup_device; + rte_vlog; + rte_zmalloc; + rte_zmalloc_socket; + local: *; +}; EXPERIMENTAL { global: - # added in 18.02 - rte_mp_action_register; - rte_mp_action_unregister; - rte_mp_reply; - rte_mp_sendmsg; - - # added in 18.05 + rte_class_find; + rte_class_find_by_name; + rte_class_register; + rte_class_unregister; + rte_delay_us_sleep; + rte_dev_dma_map; + rte_dev_dma_unmap; + rte_dev_event_callback_process; rte_dev_event_callback_register; rte_dev_event_callback_unregister; rte_dev_event_monitor_start; rte_dev_event_monitor_stop; + rte_dev_hotplug_handle_disable; + rte_dev_hotplug_handle_enable; + rte_dev_iterator_init; + rte_dev_iterator_next; + rte_extmem_attach; + rte_extmem_detach; + rte_extmem_register; + rte_extmem_unregister; rte_fbarray_attach; rte_fbarray_destroy; rte_fbarray_detach; rte_fbarray_dump_metadata; + rte_fbarray_find_biggest_free; + rte_fbarray_find_biggest_used; rte_fbarray_find_contig_free; rte_fbarray_find_contig_used; rte_fbarray_find_idx; @@ -337,49 +257,25 @@ EXPERIMENTAL { rte_fbarray_find_next_n_free; rte_fbarray_find_next_n_used; rte_fbarray_find_next_used; + rte_fbarray_find_prev_free; + rte_fbarray_find_prev_n_free; + rte_fbarray_find_prev_n_used; + rte_fbarray_find_prev_used; + rte_fbarray_find_rev_biggest_free; + rte_fbarray_find_rev_biggest_used; + rte_fbarray_find_rev_contig_free; + rte_fbarray_find_rev_contig_used; rte_fbarray_get; rte_fbarray_init; rte_fbarray_is_used; rte_fbarray_set_free; rte_fbarray_set_used; + rte_intr_ack; + rte_intr_callback_unregister_pending; + rte_lcore_cpuset; + rte_lcore_to_cpu_id; rte_log_register_type_and_pick_level; rte_malloc_dump_heaps; - rte_mem_alloc_validator_register; - rte_mem_alloc_validator_unregister; - rte_mem_check_dma_mask; - rte_mem_event_callback_register; - rte_mem_event_callback_unregister; - rte_mem_iova2virt; - rte_mem_virt2memseg; - rte_mem_virt2memseg_list; - rte_memseg_contig_walk; - rte_memseg_list_walk; - rte_memseg_walk; - rte_mp_request_async; - rte_mp_request_sync; - - # added in 18.08 - rte_class_find; - rte_class_find_by_name; - rte_class_register; - rte_class_unregister; - rte_dev_iterator_init; - rte_dev_iterator_next; - rte_fbarray_find_prev_free; - rte_fbarray_find_prev_n_free; - rte_fbarray_find_prev_n_used; - rte_fbarray_find_prev_used; - rte_fbarray_find_rev_contig_free; - rte_fbarray_find_rev_contig_used; - rte_memseg_contig_walk_thread_unsafe; - rte_memseg_list_walk_thread_unsafe; - rte_memseg_walk_thread_unsafe; - - # added in 18.11 - rte_delay_us_sleep; - rte_dev_event_callback_process; - rte_dev_hotplug_handle_disable; - rte_dev_hotplug_handle_enable; rte_malloc_heap_create; rte_malloc_heap_destroy; rte_malloc_heap_get_socket; @@ -388,35 +284,35 @@ EXPERIMENTAL { rte_malloc_heap_memory_detach; rte_malloc_heap_memory_remove; rte_malloc_heap_socket_is_external; + rte_mcfg_timer_lock; + rte_mcfg_timer_unlock; + rte_mem_alloc_validator_register; + rte_mem_alloc_validator_unregister; + rte_mem_check_dma_mask; rte_mem_check_dma_mask_thread_unsafe; + rte_mem_event_callback_register; + rte_mem_event_callback_unregister; + rte_mem_iova2virt; rte_mem_set_dma_mask; + rte_mem_virt2memseg; + rte_mem_virt2memseg_list; + rte_memseg_contig_walk; + rte_memseg_contig_walk_thread_unsafe; rte_memseg_get_fd; rte_memseg_get_fd_offset; rte_memseg_get_fd_offset_thread_unsafe; rte_memseg_get_fd_thread_unsafe; + rte_memseg_list_walk; + rte_memseg_list_walk_thread_unsafe; + rte_memseg_walk; + rte_memseg_walk_thread_unsafe; + rte_mp_action_register; + rte_mp_action_unregister; + rte_mp_reply; + rte_mp_request_async; + rte_mp_request_sync; + rte_mp_sendmsg; rte_option_register; - - # added in 19.02 - rte_extmem_attach; - rte_extmem_detach; - rte_extmem_register; - rte_extmem_unregister; - - # added in 19.05 - rte_dev_dma_map; - rte_dev_dma_unmap; - rte_fbarray_find_biggest_free; - rte_fbarray_find_biggest_used; - rte_fbarray_find_rev_biggest_free; - rte_fbarray_find_rev_biggest_used; - rte_intr_callback_unregister_pending; - rte_realloc_socket; - - # added in 19.08 - rte_intr_ack; - rte_lcore_cpuset; - rte_lcore_to_cpu_id; - rte_mcfg_timer_lock; - rte_mcfg_timer_unlock; rte_rand_max; + rte_realloc_socket; }; diff --git a/lib/librte_efd/rte_efd_version.map b/lib/librte_efd/rte_efd_version.map index ae60a6417..d061f8805 100644 --- a/lib/librte_efd/rte_efd_version.map +++ b/lib/librte_efd/rte_efd_version.map @@ -1,4 +1,4 @@ -DPDK_17.02 { +DPDK_20.0 { global: rte_efd_create; @@ -8,6 +8,6 @@ DPDK_17.02 { rte_efd_lookup; rte_efd_lookup_bulk; rte_efd_update; - local: *; }; + diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map index 6df42a47b..9998ab6ca 100644 --- a/lib/librte_ethdev/rte_ethdev_version.map +++ b/lib/librte_ethdev/rte_ethdev_version.map @@ -1,35 +1,53 @@ -DPDK_2.2 { +DPDK_20.0 { global: + _rte_eth_dev_callback_process; + _rte_eth_dev_reset; + rte_eth_add_first_rx_callback; rte_eth_add_rx_callback; rte_eth_add_tx_callback; rte_eth_allmulticast_disable; rte_eth_allmulticast_enable; rte_eth_allmulticast_get; + rte_eth_dev_adjust_nb_rx_tx_desc; rte_eth_dev_allocate; rte_eth_dev_allocated; + rte_eth_dev_attach_secondary; rte_eth_dev_callback_register; rte_eth_dev_callback_unregister; rte_eth_dev_close; rte_eth_dev_configure; rte_eth_dev_count; + rte_eth_dev_count_avail; + rte_eth_dev_count_total; rte_eth_dev_default_mac_addr_set; + rte_eth_dev_filter_ctrl; rte_eth_dev_filter_supported; rte_eth_dev_flow_ctrl_get; rte_eth_dev_flow_ctrl_set; + rte_eth_dev_fw_version_get; rte_eth_dev_get_dcb_info; rte_eth_dev_get_eeprom; rte_eth_dev_get_eeprom_length; rte_eth_dev_get_mtu; + rte_eth_dev_get_name_by_port; + rte_eth_dev_get_port_by_name; rte_eth_dev_get_reg_info; + rte_eth_dev_get_sec_ctx; + rte_eth_dev_get_supported_ptypes; rte_eth_dev_get_vlan_offload; - rte_eth_devices; rte_eth_dev_info_get; rte_eth_dev_is_valid_port; + rte_eth_dev_l2_tunnel_eth_type_conf; + rte_eth_dev_l2_tunnel_offload_set; + rte_eth_dev_logtype; rte_eth_dev_mac_addr_add; rte_eth_dev_mac_addr_remove; + rte_eth_dev_pool_ops_supported; rte_eth_dev_priority_flow_ctrl_set; + rte_eth_dev_probing_finish; rte_eth_dev_release_port; + rte_eth_dev_reset; rte_eth_dev_rss_hash_conf_get; rte_eth_dev_rss_hash_update; rte_eth_dev_rss_reta_query; @@ -38,6 +56,7 @@ DPDK_2.2 { rte_eth_dev_rx_intr_ctl_q; rte_eth_dev_rx_intr_disable; rte_eth_dev_rx_intr_enable; + rte_eth_dev_rx_offload_name; rte_eth_dev_rx_queue_start; rte_eth_dev_rx_queue_stop; rte_eth_dev_set_eeprom; @@ -47,18 +66,28 @@ DPDK_2.2 { rte_eth_dev_set_mtu; rte_eth_dev_set_rx_queue_stats_mapping; rte_eth_dev_set_tx_queue_stats_mapping; + rte_eth_dev_set_vlan_ether_type; rte_eth_dev_set_vlan_offload; rte_eth_dev_set_vlan_pvid; rte_eth_dev_set_vlan_strip_on_queue; rte_eth_dev_socket_id; rte_eth_dev_start; rte_eth_dev_stop; + rte_eth_dev_tx_offload_name; rte_eth_dev_tx_queue_start; rte_eth_dev_tx_queue_stop; rte_eth_dev_uc_all_hash_table_set; rte_eth_dev_uc_hash_table_set; + rte_eth_dev_udp_tunnel_port_add; + rte_eth_dev_udp_tunnel_port_delete; rte_eth_dev_vlan_filter; + rte_eth_devices; rte_eth_dma_zone_reserve; + rte_eth_find_next; + rte_eth_find_next_owned_by; + rte_eth_iterator_cleanup; + rte_eth_iterator_init; + rte_eth_iterator_next; rte_eth_led_off; rte_eth_led_on; rte_eth_link; @@ -75,6 +104,7 @@ DPDK_2.2 { rte_eth_rx_queue_info_get; rte_eth_rx_queue_setup; rte_eth_set_queue_rate_limit; + rte_eth_speed_bitflag; rte_eth_stats; rte_eth_stats_get; rte_eth_stats_reset; @@ -85,66 +115,27 @@ DPDK_2.2 { rte_eth_timesync_read_time; rte_eth_timesync_read_tx_timestamp; rte_eth_timesync_write_time; - rte_eth_tx_queue_info_get; - rte_eth_tx_queue_setup; - rte_eth_xstats_get; - rte_eth_xstats_reset; - - local: *; -}; - -DPDK_16.04 { - global: - - rte_eth_dev_get_supported_ptypes; - rte_eth_dev_l2_tunnel_eth_type_conf; - rte_eth_dev_l2_tunnel_offload_set; - rte_eth_dev_set_vlan_ether_type; - rte_eth_dev_udp_tunnel_port_add; - rte_eth_dev_udp_tunnel_port_delete; - rte_eth_speed_bitflag; rte_eth_tx_buffer_count_callback; rte_eth_tx_buffer_drop_callback; rte_eth_tx_buffer_init; rte_eth_tx_buffer_set_err_callback; - -} DPDK_2.2; - -DPDK_16.07 { - global: - - rte_eth_add_first_rx_callback; - rte_eth_dev_get_name_by_port; - rte_eth_dev_get_port_by_name; - rte_eth_xstats_get_names; - -} DPDK_16.04; - -DPDK_17.02 { - global: - - _rte_eth_dev_reset; - rte_eth_dev_fw_version_get; - -} DPDK_16.07; - -DPDK_17.05 { - global: - - rte_eth_dev_attach_secondary; - rte_eth_find_next; rte_eth_tx_done_cleanup; + rte_eth_tx_queue_info_get; + rte_eth_tx_queue_setup; + rte_eth_xstats_get; rte_eth_xstats_get_by_id; rte_eth_xstats_get_id_by_name; + rte_eth_xstats_get_names; rte_eth_xstats_get_names_by_id; - -} DPDK_17.02; - -DPDK_17.08 { - global: - - _rte_eth_dev_callback_process; - rte_eth_dev_adjust_nb_rx_tx_desc; + rte_eth_xstats_reset; + rte_flow_copy; + rte_flow_create; + rte_flow_destroy; + rte_flow_error_set; + rte_flow_flush; + rte_flow_isolate; + rte_flow_query; + rte_flow_validate; rte_tm_capabilities_get; rte_tm_get_number_of_leaf_nodes; rte_tm_hierarchy_commit; @@ -175,71 +166,31 @@ DPDK_17.08 { rte_tm_shared_wred_context_delete; rte_tm_wred_profile_add; rte_tm_wred_profile_delete; - -} DPDK_17.05; - -DPDK_17.11 { - global: - - rte_eth_dev_get_sec_ctx; - rte_eth_dev_pool_ops_supported; - rte_eth_dev_reset; - -} DPDK_17.08; - -DPDK_18.02 { - global: - - rte_eth_dev_filter_ctrl; - -} DPDK_17.11; - -DPDK_18.05 { - global: - - rte_eth_dev_count_avail; - rte_eth_dev_probing_finish; - rte_eth_find_next_owned_by; - rte_flow_copy; - rte_flow_create; - rte_flow_destroy; - rte_flow_error_set; - rte_flow_flush; - rte_flow_isolate; - rte_flow_query; - rte_flow_validate; - -} DPDK_18.02; - -DPDK_18.08 { - global: - - rte_eth_dev_logtype; - -} DPDK_18.05; - -DPDK_18.11 { - global: - - rte_eth_dev_rx_offload_name; - rte_eth_dev_tx_offload_name; - rte_eth_iterator_cleanup; - rte_eth_iterator_init; - rte_eth_iterator_next; - -} DPDK_18.08; - -DPDK_19.05 { - global: - - rte_eth_dev_count_total; - -} DPDK_18.11; + local: *; +}; EXPERIMENTAL { global: - # added in 17.11 + rte_eth_dev_create; + rte_eth_dev_destroy; + rte_eth_dev_get_module_eeprom; + rte_eth_dev_get_module_info; + rte_eth_dev_is_removed; + rte_eth_dev_owner_delete; + rte_eth_dev_owner_get; + rte_eth_dev_owner_new; + rte_eth_dev_owner_set; + rte_eth_dev_owner_unset; + rte_eth_dev_rx_intr_ctl_q_get_fd; + rte_eth_devargs_parse; + rte_eth_find_next_of; + rte_eth_find_next_sibling; + rte_eth_read_clock; + rte_eth_switch_domain_alloc; + rte_eth_switch_domain_free; + rte_flow_conv; + rte_flow_expand_rss; rte_mtr_capabilities_get; rte_mtr_create; rte_mtr_destroy; @@ -252,35 +203,4 @@ EXPERIMENTAL { rte_mtr_policer_actions_update; rte_mtr_stats_read; rte_mtr_stats_update; - - # added in 18.02 - rte_eth_dev_is_removed; - rte_eth_dev_owner_delete; - rte_eth_dev_owner_get; - rte_eth_dev_owner_new; - rte_eth_dev_owner_set; - rte_eth_dev_owner_unset; - - # added in 18.05 - rte_eth_dev_create; - rte_eth_dev_destroy; - rte_eth_dev_get_module_eeprom; - rte_eth_dev_get_module_info; - rte_eth_devargs_parse; - rte_eth_switch_domain_alloc; - rte_eth_switch_domain_free; - - # added in 18.08 - rte_flow_expand_rss; - - # added in 18.11 - rte_eth_dev_rx_intr_ctl_q_get_fd; - rte_flow_conv; - - # added in 19.05 - rte_eth_find_next_of; - rte_eth_find_next_sibling; - - # added in 19.08 - rte_eth_read_clock; }; diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map index 76b3021d3..d354c1e49 100644 --- a/lib/librte_eventdev/rte_eventdev_version.map +++ b/lib/librte_eventdev/rte_eventdev_version.map @@ -1,61 +1,38 @@ -DPDK_17.05 { +DPDK_20.0 { global: - rte_eventdevs; - + rte_event_crypto_adapter_caps_get; + rte_event_crypto_adapter_create; + rte_event_crypto_adapter_create_ext; + rte_event_crypto_adapter_event_port_get; + rte_event_crypto_adapter_free; + rte_event_crypto_adapter_queue_pair_add; + rte_event_crypto_adapter_queue_pair_del; + rte_event_crypto_adapter_service_id_get; + rte_event_crypto_adapter_start; + rte_event_crypto_adapter_stats_get; + rte_event_crypto_adapter_stats_reset; + rte_event_crypto_adapter_stop; + rte_event_dequeue_timeout_ticks; + rte_event_dev_attr_get; + rte_event_dev_close; + rte_event_dev_configure; rte_event_dev_count; + rte_event_dev_dump; rte_event_dev_get_dev_id; - rte_event_dev_socket_id; rte_event_dev_info_get; - rte_event_dev_configure; + rte_event_dev_selftest; + rte_event_dev_service_id_get; + rte_event_dev_socket_id; rte_event_dev_start; rte_event_dev_stop; - rte_event_dev_close; - rte_event_dev_dump; + rte_event_dev_stop_flush_callback_register; rte_event_dev_xstats_by_name_get; rte_event_dev_xstats_get; rte_event_dev_xstats_names_get; rte_event_dev_xstats_reset; - - rte_event_port_default_conf_get; - rte_event_port_setup; - rte_event_port_link; - rte_event_port_unlink; - rte_event_port_links_get; - - rte_event_queue_default_conf_get; - rte_event_queue_setup; - - rte_event_dequeue_timeout_ticks; - - rte_event_pmd_allocate; - rte_event_pmd_release; - rte_event_pmd_vdev_init; - rte_event_pmd_vdev_uninit; - rte_event_pmd_pci_probe; - rte_event_pmd_pci_remove; - - local: *; -}; - -DPDK_17.08 { - global: - - rte_event_ring_create; - rte_event_ring_free; - rte_event_ring_init; - rte_event_ring_lookup; -} DPDK_17.05; - -DPDK_17.11 { - global: - - rte_event_dev_attr_get; - rte_event_dev_service_id_get; - rte_event_port_attr_get; - rte_event_queue_attr_get; - rte_event_eth_rx_adapter_caps_get; + rte_event_eth_rx_adapter_cb_register; rte_event_eth_rx_adapter_create; rte_event_eth_rx_adapter_create_ext; rte_event_eth_rx_adapter_free; @@ -63,38 +40,9 @@ DPDK_17.11 { rte_event_eth_rx_adapter_queue_del; rte_event_eth_rx_adapter_service_id_get; rte_event_eth_rx_adapter_start; + rte_event_eth_rx_adapter_stats_get; rte_event_eth_rx_adapter_stats_reset; rte_event_eth_rx_adapter_stop; -} DPDK_17.08; - -DPDK_18.02 { - global: - - rte_event_dev_selftest; -} DPDK_17.11; - -DPDK_18.05 { - global: - - rte_event_dev_stop_flush_callback_register; -} DPDK_18.02; - -DPDK_19.05 { - global: - - rte_event_crypto_adapter_caps_get; - rte_event_crypto_adapter_create; - rte_event_crypto_adapter_create_ext; - rte_event_crypto_adapter_event_port_get; - rte_event_crypto_adapter_free; - rte_event_crypto_adapter_queue_pair_add; - rte_event_crypto_adapter_queue_pair_del; - rte_event_crypto_adapter_service_id_get; - rte_event_crypto_adapter_start; - rte_event_crypto_adapter_stats_get; - rte_event_crypto_adapter_stats_reset; - rte_event_crypto_adapter_stop; - rte_event_port_unlinks_in_progress; rte_event_eth_tx_adapter_caps_get; rte_event_eth_tx_adapter_create; rte_event_eth_tx_adapter_create_ext; @@ -107,6 +55,26 @@ DPDK_19.05 { rte_event_eth_tx_adapter_stats_get; rte_event_eth_tx_adapter_stats_reset; rte_event_eth_tx_adapter_stop; + rte_event_pmd_allocate; + rte_event_pmd_pci_probe; + rte_event_pmd_pci_remove; + rte_event_pmd_release; + rte_event_pmd_vdev_init; + rte_event_pmd_vdev_uninit; + rte_event_port_attr_get; + rte_event_port_default_conf_get; + rte_event_port_link; + rte_event_port_links_get; + rte_event_port_setup; + rte_event_port_unlink; + rte_event_port_unlinks_in_progress; + rte_event_queue_attr_get; + rte_event_queue_default_conf_get; + rte_event_queue_setup; + rte_event_ring_create; + rte_event_ring_free; + rte_event_ring_init; + rte_event_ring_lookup; rte_event_timer_adapter_caps_get; rte_event_timer_adapter_create; rte_event_timer_adapter_create_ext; @@ -121,11 +89,7 @@ DPDK_19.05 { rte_event_timer_arm_burst; rte_event_timer_arm_tmo_tick_burst; rte_event_timer_cancel_burst; -} DPDK_18.05; - -DPDK_19.08 { - global: + rte_eventdevs; + local: *; +}; - rte_event_eth_rx_adapter_cb_register; - rte_event_eth_rx_adapter_stats_get; -} DPDK_19.05; diff --git a/lib/librte_flow_classify/rte_flow_classify_version.map b/lib/librte_flow_classify/rte_flow_classify_version.map index 49bc25c6a..9bbdc8b6e 100644 --- a/lib/librte_flow_classify/rte_flow_classify_version.map +++ b/lib/librte_flow_classify/rte_flow_classify_version.map @@ -8,6 +8,5 @@ EXPERIMENTAL { rte_flow_classify_table_entry_add; rte_flow_classify_table_entry_delete; rte_flow_classify_validate; - local: *; }; diff --git a/lib/librte_gro/rte_gro_version.map b/lib/librte_gro/rte_gro_version.map index 1606b6dc7..a10aa0768 100644 --- a/lib/librte_gro/rte_gro_version.map +++ b/lib/librte_gro/rte_gro_version.map @@ -1,4 +1,4 @@ -DPDK_17.08 { +DPDK_20.0 { global: rte_gro_ctx_create; @@ -7,6 +7,6 @@ DPDK_17.08 { rte_gro_reassemble; rte_gro_reassemble_burst; rte_gro_timeout_flush; - local: *; }; + diff --git a/lib/librte_gso/rte_gso_version.map b/lib/librte_gso/rte_gso_version.map index e1fd453ed..56f2223f0 100644 --- a/lib/librte_gso/rte_gso_version.map +++ b/lib/librte_gso/rte_gso_version.map @@ -1,7 +1,7 @@ -DPDK_17.11 { +DPDK_20.0 { global: rte_gso_segment; - local: *; }; + diff --git a/lib/librte_hash/rte_hash_version.map b/lib/librte_hash/rte_hash_version.map index 734ae28b0..682188284 100644 --- a/lib/librte_hash/rte_hash_version.map +++ b/lib/librte_hash/rte_hash_version.map @@ -1,62 +1,35 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_fbk_hash_create; rte_fbk_hash_find_existing; rte_fbk_hash_free; rte_hash_add_key; + rte_hash_add_key_data; rte_hash_add_key_with_hash; + rte_hash_add_key_with_hash_data; + rte_hash_count; rte_hash_create; rte_hash_del_key; rte_hash_del_key_with_hash; rte_hash_find_existing; rte_hash_free; + rte_hash_get_key_with_position; rte_hash_hash; + rte_hash_iterate; rte_hash_lookup; rte_hash_lookup_bulk; - rte_hash_lookup_with_hash; - - local: *; -}; - -DPDK_2.1 { - global: - - rte_hash_add_key_data; - rte_hash_add_key_with_hash_data; - rte_hash_iterate; rte_hash_lookup_bulk_data; rte_hash_lookup_data; + rte_hash_lookup_with_hash; rte_hash_lookup_with_hash_data; rte_hash_reset; - -} DPDK_2.0; - -DPDK_2.2 { - global: - rte_hash_set_cmp_func; - -} DPDK_2.1; - -DPDK_16.07 { - global: - - rte_hash_get_key_with_position; - -} DPDK_2.2; - - -DPDK_18.08 { - global: - - rte_hash_count; - -} DPDK_16.07; + local: *; +}; EXPERIMENTAL { global: rte_hash_free_key_with_position; - }; diff --git a/lib/librte_ip_frag/rte_ip_frag_version.map b/lib/librte_ip_frag/rte_ip_frag_version.map index a193007c6..fe3ac7b8a 100644 --- a/lib/librte_ip_frag/rte_ip_frag_version.map +++ b/lib/librte_ip_frag/rte_ip_frag_version.map @@ -1,24 +1,17 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_ip_frag_free_death_row; rte_ip_frag_table_create; + rte_ip_frag_table_destroy; rte_ip_frag_table_statistics_dump; rte_ipv4_frag_reassemble_packet; rte_ipv4_fragment_packet; rte_ipv6_frag_reassemble_packet; rte_ipv6_fragment_packet; - local: *; }; -DPDK_17.08 { - global: - - rte_ip_frag_table_destroy; - -} DPDK_2.0; - EXPERIMENTAL { global: diff --git a/lib/librte_ipsec/rte_ipsec_version.map b/lib/librte_ipsec/rte_ipsec_version.map index ee9f1961b..caf763ab9 100644 --- a/lib/librte_ipsec/rte_ipsec_version.map +++ b/lib/librte_ipsec/rte_ipsec_version.map @@ -10,6 +10,5 @@ EXPERIMENTAL { rte_ipsec_sa_type; rte_ipsec_ses_from_crypto; rte_ipsec_session_prepare; - local: *; }; diff --git a/lib/librte_jobstats/rte_jobstats_version.map b/lib/librte_jobstats/rte_jobstats_version.map index f89441438..1ee93ffef 100644 --- a/lib/librte_jobstats/rte_jobstats_version.map +++ b/lib/librte_jobstats/rte_jobstats_version.map @@ -1,6 +1,7 @@ -DPDK_2.0 { +DPDK_20.0 { global: + rte_jobstats_abort; rte_jobstats_context_finish; rte_jobstats_context_init; rte_jobstats_context_reset; @@ -14,13 +15,6 @@ DPDK_2.0 { rte_jobstats_set_target; rte_jobstats_set_update_period_function; rte_jobstats_start; - local: *; }; -DPDK_16.04 { - global: - - rte_jobstats_abort; - -} DPDK_2.0; diff --git a/lib/librte_kni/rte_kni_version.map b/lib/librte_kni/rte_kni_version.map index c877dc6aa..1de824375 100644 --- a/lib/librte_kni/rte_kni_version.map +++ b/lib/librte_kni/rte_kni_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_kni_alloc; @@ -12,7 +12,6 @@ DPDK_2.0 { rte_kni_rx_burst; rte_kni_tx_burst; rte_kni_unregister_handlers; - local: *; }; diff --git a/lib/librte_kvargs/rte_kvargs_version.map b/lib/librte_kvargs/rte_kvargs_version.map index 8f4b4e3f8..ea1db117e 100644 --- a/lib/librte_kvargs/rte_kvargs_version.map +++ b/lib/librte_kvargs/rte_kvargs_version.map @@ -1,11 +1,10 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_kvargs_count; rte_kvargs_free; rte_kvargs_parse; rte_kvargs_process; - local: *; }; @@ -14,5 +13,4 @@ EXPERIMENTAL { rte_kvargs_parse_delim; rte_kvargs_strcmp; - -} DPDK_2.0; +}; diff --git a/lib/librte_latencystats/rte_latencystats_version.map b/lib/librte_latencystats/rte_latencystats_version.map index ac8403e82..a2d6d6722 100644 --- a/lib/librte_latencystats/rte_latencystats_version.map +++ b/lib/librte_latencystats/rte_latencystats_version.map @@ -1,4 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { global: rte_latencystats_get; @@ -6,6 +6,6 @@ DPDK_17.05 { rte_latencystats_init; rte_latencystats_uninit; rte_latencystats_update; - local: *; }; + diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c index 3a929a1b1..ce4681b79 100644 --- a/lib/librte_lpm/rte_lpm.c +++ b/lib/librte_lpm/rte_lpm.c @@ -113,7 +113,6 @@ rte_lpm_find_existing_v20(const char *name) return l; } -VERSION_SYMBOL(rte_lpm_find_existing, _v20, 2.0); struct rte_lpm * rte_lpm_find_existing_v1604(const char *name) @@ -139,7 +138,7 @@ rte_lpm_find_existing_v1604(const char *name) return l; } -BIND_DEFAULT_SYMBOL(rte_lpm_find_existing, _v1604, 16.04); +BIND_DEFAULT_SYMBOL(rte_lpm_find_existing, _v1604, 20.0); MAP_STATIC_SYMBOL(struct rte_lpm *rte_lpm_find_existing(const char *name), rte_lpm_find_existing_v1604); @@ -217,7 +216,6 @@ rte_lpm_create_v20(const char *name, int socket_id, int max_rules, return lpm; } -VERSION_SYMBOL(rte_lpm_create, _v20, 2.0); struct rte_lpm * rte_lpm_create_v1604(const char *name, int socket_id, @@ -320,7 +318,7 @@ rte_lpm_create_v1604(const char *name, int socket_id, return lpm; } -BIND_DEFAULT_SYMBOL(rte_lpm_create, _v1604, 16.04); +BIND_DEFAULT_SYMBOL(rte_lpm_create, _v1604, 20.0); MAP_STATIC_SYMBOL( struct rte_lpm *rte_lpm_create(const char *name, int socket_id, const struct rte_lpm_config *config), rte_lpm_create_v1604); @@ -355,7 +353,6 @@ rte_lpm_free_v20(struct rte_lpm_v20 *lpm) rte_free(lpm); rte_free(te); } -VERSION_SYMBOL(rte_lpm_free, _v20, 2.0); void rte_lpm_free_v1604(struct rte_lpm *lpm) @@ -386,7 +383,7 @@ rte_lpm_free_v1604(struct rte_lpm *lpm) rte_free(lpm); rte_free(te); } -BIND_DEFAULT_SYMBOL(rte_lpm_free, _v1604, 16.04); +BIND_DEFAULT_SYMBOL(rte_lpm_free, _v1604, 20.0); MAP_STATIC_SYMBOL(void rte_lpm_free(struct rte_lpm *lpm), rte_lpm_free_v1604); @@ -1215,7 +1212,6 @@ rte_lpm_add_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth, return 0; } -VERSION_SYMBOL(rte_lpm_add, _v20, 2.0); int rte_lpm_add_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, @@ -1256,7 +1252,7 @@ rte_lpm_add_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, return 0; } -BIND_DEFAULT_SYMBOL(rte_lpm_add, _v1604, 16.04); +BIND_DEFAULT_SYMBOL(rte_lpm_add, _v1604, 20.0); MAP_STATIC_SYMBOL(int rte_lpm_add(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, uint32_t next_hop), rte_lpm_add_v1604); @@ -1288,7 +1284,6 @@ uint8_t *next_hop) /* If rule is not found return 0. */ return 0; } -VERSION_SYMBOL(rte_lpm_is_rule_present, _v20, 2.0); int rte_lpm_is_rule_present_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, @@ -1315,7 +1310,7 @@ uint32_t *next_hop) /* If rule is not found return 0. */ return 0; } -BIND_DEFAULT_SYMBOL(rte_lpm_is_rule_present, _v1604, 16.04); +BIND_DEFAULT_SYMBOL(rte_lpm_is_rule_present, _v1604, 20.0); MAP_STATIC_SYMBOL(int rte_lpm_is_rule_present(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, uint32_t *next_hop), rte_lpm_is_rule_present_v1604); @@ -1895,7 +1890,6 @@ rte_lpm_delete_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth) sub_rule_depth); } } -VERSION_SYMBOL(rte_lpm_delete, _v20, 2.0); int rte_lpm_delete_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth) @@ -1949,7 +1943,7 @@ rte_lpm_delete_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth) sub_rule_depth); } } -BIND_DEFAULT_SYMBOL(rte_lpm_delete, _v1604, 16.04); +BIND_DEFAULT_SYMBOL(rte_lpm_delete, _v1604, 20.0); MAP_STATIC_SYMBOL(int rte_lpm_delete(struct rte_lpm *lpm, uint32_t ip, uint8_t depth), rte_lpm_delete_v1604); @@ -1971,7 +1965,6 @@ rte_lpm_delete_all_v20(struct rte_lpm_v20 *lpm) /* Delete all rules form the rules table. */ memset(lpm->rules_tbl, 0, sizeof(lpm->rules_tbl[0]) * lpm->max_rules); } -VERSION_SYMBOL(rte_lpm_delete_all, _v20, 2.0); void rte_lpm_delete_all_v1604(struct rte_lpm *lpm) @@ -1989,6 +1982,6 @@ rte_lpm_delete_all_v1604(struct rte_lpm *lpm) /* Delete all rules form the rules table. */ memset(lpm->rules_tbl, 0, sizeof(lpm->rules_tbl[0]) * lpm->max_rules); } -BIND_DEFAULT_SYMBOL(rte_lpm_delete_all, _v1604, 16.04); +BIND_DEFAULT_SYMBOL(rte_lpm_delete_all, _v1604, 20.0); MAP_STATIC_SYMBOL(void rte_lpm_delete_all(struct rte_lpm *lpm), rte_lpm_delete_all_v1604); diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c index 9b8aeb972..44828f72c 100644 --- a/lib/librte_lpm/rte_lpm6.c +++ b/lib/librte_lpm/rte_lpm6.c @@ -817,7 +817,6 @@ rte_lpm6_add_v20(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, { return rte_lpm6_add_v1705(lpm, ip, depth, next_hop); } -VERSION_SYMBOL(rte_lpm6_add, _v20, 2.0); /* @@ -913,7 +912,7 @@ rte_lpm6_add_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, return status; } -BIND_DEFAULT_SYMBOL(rte_lpm6_add, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_lpm6_add, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_lpm6_add(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, uint32_t next_hop), rte_lpm6_add_v1705); @@ -970,7 +969,6 @@ rte_lpm6_lookup_v20(const struct rte_lpm6 *lpm, uint8_t *ip, uint8_t *next_hop) return status; } -VERSION_SYMBOL(rte_lpm6_lookup, _v20, 2.0); int rte_lpm6_lookup_v1705(const struct rte_lpm6 *lpm, uint8_t *ip, @@ -1000,7 +998,7 @@ rte_lpm6_lookup_v1705(const struct rte_lpm6 *lpm, uint8_t *ip, return status; } -BIND_DEFAULT_SYMBOL(rte_lpm6_lookup, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_lpm6_lookup, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_lpm6_lookup(const struct rte_lpm6 *lpm, uint8_t *ip, uint32_t *next_hop), rte_lpm6_lookup_v1705); @@ -1046,7 +1044,6 @@ rte_lpm6_lookup_bulk_func_v20(const struct rte_lpm6 *lpm, return 0; } -VERSION_SYMBOL(rte_lpm6_lookup_bulk_func, _v20, 2.0); int rte_lpm6_lookup_bulk_func_v1705(const struct rte_lpm6 *lpm, @@ -1089,7 +1086,7 @@ rte_lpm6_lookup_bulk_func_v1705(const struct rte_lpm6 *lpm, return 0; } -BIND_DEFAULT_SYMBOL(rte_lpm6_lookup_bulk_func, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_lpm6_lookup_bulk_func, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_lpm6_lookup_bulk_func(const struct rte_lpm6 *lpm, uint8_t ips[][RTE_LPM6_IPV6_ADDR_SIZE], int32_t *next_hops, unsigned int n), @@ -1116,7 +1113,6 @@ rte_lpm6_is_rule_present_v20(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, return status; } -VERSION_SYMBOL(rte_lpm6_is_rule_present, _v20, 2.0); int rte_lpm6_is_rule_present_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, @@ -1135,7 +1131,7 @@ rte_lpm6_is_rule_present_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, return rule_find(lpm, masked_ip, depth, next_hop); } -BIND_DEFAULT_SYMBOL(rte_lpm6_is_rule_present, _v1705, 17.05); +BIND_DEFAULT_SYMBOL(rte_lpm6_is_rule_present, _v1705, 20.0); MAP_STATIC_SYMBOL(int rte_lpm6_is_rule_present(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, uint32_t *next_hop), rte_lpm6_is_rule_present_v1705); diff --git a/lib/librte_lpm/rte_lpm_version.map b/lib/librte_lpm/rte_lpm_version.map index 90beac853..e57e6e7c3 100644 --- a/lib/librte_lpm/rte_lpm_version.map +++ b/lib/librte_lpm/rte_lpm_version.map @@ -1,13 +1,6 @@ -DPDK_2.0 { +DPDK_20.0 { global: - rte_lpm_add; - rte_lpm_create; - rte_lpm_delete; - rte_lpm_delete_all; - rte_lpm_find_existing; - rte_lpm_free; - rte_lpm_is_rule_present; rte_lpm6_add; rte_lpm6_create; rte_lpm6_delete; @@ -18,29 +11,13 @@ DPDK_2.0 { rte_lpm6_is_rule_present; rte_lpm6_lookup; rte_lpm6_lookup_bulk_func; - - local: *; -}; - -DPDK_16.04 { - global: - rte_lpm_add; - rte_lpm_find_existing; rte_lpm_create; - rte_lpm_free; - rte_lpm_is_rule_present; rte_lpm_delete; rte_lpm_delete_all; + rte_lpm_find_existing; + rte_lpm_free; + rte_lpm_is_rule_present; + local: *; +}; -} DPDK_2.0; - -DPDK_17.05 { - global: - - rte_lpm6_add; - rte_lpm6_is_rule_present; - rte_lpm6_lookup; - rte_lpm6_lookup_bulk_func; - -} DPDK_16.04; diff --git a/lib/librte_mbuf/rte_mbuf_version.map b/lib/librte_mbuf/rte_mbuf_version.map index 2662a37bf..998d3a141 100644 --- a/lib/librte_mbuf/rte_mbuf_version.map +++ b/lib/librte_mbuf/rte_mbuf_version.map @@ -1,24 +1,4 @@ -DPDK_2.0 { - global: - - rte_get_rx_ol_flag_name; - rte_get_tx_ol_flag_name; - rte_mbuf_sanity_check; - rte_pktmbuf_dump; - rte_pktmbuf_init; - rte_pktmbuf_pool_init; - - local: *; -}; - -DPDK_2.1 { - global: - - rte_pktmbuf_pool_create; - -} DPDK_2.0; - -DPDK_16.11 { +DPDK_20.0 { global: __rte_pktmbuf_read; @@ -31,23 +11,25 @@ DPDK_16.11 { rte_get_ptype_name; rte_get_ptype_tunnel_name; rte_get_rx_ol_flag_list; + rte_get_rx_ol_flag_name; rte_get_tx_ol_flag_list; - -} DPDK_2.1; - -DPDK_18.08 { - global: - + rte_get_tx_ol_flag_name; rte_mbuf_best_mempool_ops; rte_mbuf_platform_mempool_ops; + rte_mbuf_sanity_check; rte_mbuf_set_platform_mempool_ops; rte_mbuf_set_user_mempool_ops; rte_mbuf_user_mempool_ops; + rte_pktmbuf_dump; + rte_pktmbuf_init; + rte_pktmbuf_pool_create; rte_pktmbuf_pool_create_by_ops; -} DPDK_16.11; + rte_pktmbuf_pool_init; + local: *; +}; EXPERIMENTAL { global: rte_mbuf_check; -} DPDK_18.08; +}; diff --git a/lib/librte_member/rte_member_version.map b/lib/librte_member/rte_member_version.map index 019e4cd96..e21bf8510 100644 --- a/lib/librte_member/rte_member_version.map +++ b/lib/librte_member/rte_member_version.map @@ -1,4 +1,4 @@ -DPDK_17.11 { +DPDK_20.0 { global: rte_member_add; @@ -11,6 +11,6 @@ DPDK_17.11 { rte_member_lookup_multi; rte_member_lookup_multi_bulk; rte_member_reset; - local: *; }; + diff --git a/lib/librte_mempool/rte_mempool_version.map b/lib/librte_mempool/rte_mempool_version.map index 17cbca460..27ab9183d 100644 --- a/lib/librte_mempool/rte_mempool_version.map +++ b/lib/librte_mempool/rte_mempool_version.map @@ -1,57 +1,38 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_mempool_audit; - rte_mempool_calc_obj_size; - rte_mempool_create; - rte_mempool_dump; - rte_mempool_list_dump; - rte_mempool_lookup; - rte_mempool_walk; - - local: *; -}; - -DPDK_16.07 { - global: - rte_mempool_avail_count; rte_mempool_cache_create; rte_mempool_cache_flush; rte_mempool_cache_free; + rte_mempool_calc_obj_size; rte_mempool_check_cookies; + rte_mempool_contig_blocks_check_cookies; + rte_mempool_create; rte_mempool_create_empty; rte_mempool_default_cache; + rte_mempool_dump; rte_mempool_free; rte_mempool_generic_get; rte_mempool_generic_put; rte_mempool_in_use_count; + rte_mempool_list_dump; + rte_mempool_lookup; rte_mempool_mem_iter; rte_mempool_obj_iter; + rte_mempool_op_calc_mem_size_default; + rte_mempool_op_populate_default; rte_mempool_ops_table; rte_mempool_populate_anon; rte_mempool_populate_default; + rte_mempool_populate_iova; rte_mempool_populate_virt; rte_mempool_register_ops; rte_mempool_set_ops_byname; - -} DPDK_2.0; - -DPDK_17.11 { - global: - - rte_mempool_populate_iova; - -} DPDK_16.07; - -DPDK_18.05 { - global: - - rte_mempool_contig_blocks_check_cookies; - rte_mempool_op_calc_mem_size_default; - rte_mempool_op_populate_default; - -} DPDK_17.11; + rte_mempool_walk; + local: *; +}; EXPERIMENTAL { global: diff --git a/lib/librte_meter/rte_meter_version.map b/lib/librte_meter/rte_meter_version.map index 4b460d580..633326a62 100644 --- a/lib/librte_meter/rte_meter_version.map +++ b/lib/librte_meter/rte_meter_version.map @@ -1,21 +1,15 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_meter_srtcm_color_aware_check; rte_meter_srtcm_color_blind_check; rte_meter_srtcm_config; + rte_meter_srtcm_profile_config; rte_meter_trtcm_color_aware_check; rte_meter_trtcm_color_blind_check; rte_meter_trtcm_config; - - local: *; -}; - -DPDK_18.08 { - global: - - rte_meter_srtcm_profile_config; rte_meter_trtcm_profile_config; + local: *; }; EXPERIMENTAL { diff --git a/lib/librte_metrics/rte_metrics_version.map b/lib/librte_metrics/rte_metrics_version.map index 6ac99a44a..7c77cc14d 100644 --- a/lib/librte_metrics/rte_metrics_version.map +++ b/lib/librte_metrics/rte_metrics_version.map @@ -1,4 +1,4 @@ -DPDK_17.05 { +DPDK_20.0 { global: rte_metrics_get_names; @@ -8,7 +8,6 @@ DPDK_17.05 { rte_metrics_reg_names; rte_metrics_update_value; rte_metrics_update_values; - local: *; }; diff --git a/lib/librte_net/rte_net_version.map b/lib/librte_net/rte_net_version.map index fffc4a372..f5cccd646 100644 --- a/lib/librte_net/rte_net_version.map +++ b/lib/librte_net/rte_net_version.map @@ -1,30 +1,18 @@ -DPDK_16.11 { - global: - rte_net_get_ptype; - - local: *; -}; - -DPDK_17.05 { - global: - - rte_net_crc_calc; - rte_net_crc_set_alg; - -} DPDK_16.11; - -DPDK_19.08 { +DPDK_20.0 { global: rte_eth_random_addr; rte_ether_format_addr; - -} DPDK_17.05; + rte_net_crc_calc; + rte_net_crc_set_alg; + rte_net_get_ptype; + local: *; +}; EXPERIMENTAL { global: + rte_ether_unformat_addr; rte_net_make_rarp_packet; rte_net_skip_ip6_ext; - rte_ether_unformat_addr; }; diff --git a/lib/librte_pci/rte_pci_version.map b/lib/librte_pci/rte_pci_version.map index c0280277b..6fc4a9d7e 100644 --- a/lib/librte_pci/rte_pci_version.map +++ b/lib/librte_pci/rte_pci_version.map @@ -1,4 +1,4 @@ -DPDK_17.11 { +DPDK_20.0 { global: eal_parse_pci_BDF; @@ -9,6 +9,6 @@ DPDK_17.11 { rte_pci_addr_cmp; rte_pci_addr_parse; rte_pci_device_name; - local: *; }; + diff --git a/lib/librte_pdump/rte_pdump_version.map b/lib/librte_pdump/rte_pdump_version.map index 3e744f301..aaa8db524 100644 --- a/lib/librte_pdump/rte_pdump_version.map +++ b/lib/librte_pdump/rte_pdump_version.map @@ -1,4 +1,4 @@ -DPDK_16.07 { +DPDK_20.0 { global: rte_pdump_disable; @@ -7,6 +7,6 @@ DPDK_16.07 { rte_pdump_enable_by_deviceid; rte_pdump_init; rte_pdump_uninit; - local: *; }; + diff --git a/lib/librte_pipeline/rte_pipeline_version.map b/lib/librte_pipeline/rte_pipeline_version.map index 420f065d6..b5fb09853 100644 --- a/lib/librte_pipeline/rte_pipeline_version.map +++ b/lib/librte_pipeline/rte_pipeline_version.map @@ -1,6 +1,8 @@ -DPDK_2.0 { +DPDK_20.0 { global: + rte_pipeline_ah_packet_drop; + rte_pipeline_ah_packet_hijack; rte_pipeline_check; rte_pipeline_create; rte_pipeline_flush; @@ -9,43 +11,22 @@ DPDK_2.0 { rte_pipeline_port_in_create; rte_pipeline_port_in_disable; rte_pipeline_port_in_enable; + rte_pipeline_port_in_stats_read; rte_pipeline_port_out_create; rte_pipeline_port_out_packet_insert; + rte_pipeline_port_out_stats_read; rte_pipeline_run; rte_pipeline_table_create; rte_pipeline_table_default_entry_add; rte_pipeline_table_default_entry_delete; rte_pipeline_table_entry_add; + rte_pipeline_table_entry_add_bulk; rte_pipeline_table_entry_delete; - + rte_pipeline_table_entry_delete_bulk; + rte_pipeline_table_stats_read; local: *; }; -DPDK_2.1 { - global: - - rte_pipeline_port_in_stats_read; - rte_pipeline_port_out_stats_read; - rte_pipeline_table_stats_read; - -} DPDK_2.0; - -DPDK_2.2 { - global: - - rte_pipeline_table_entry_add_bulk; - rte_pipeline_table_entry_delete_bulk; - -} DPDK_2.1; - -DPDK_16.04 { - global: - - rte_pipeline_ah_packet_hijack; - rte_pipeline_ah_packet_drop; - -} DPDK_2.2; - EXPERIMENTAL { global: @@ -59,6 +40,7 @@ EXPERIMENTAL { rte_port_in_action_profile_freeze; rte_table_action_apply; rte_table_action_create; + rte_table_action_crypto_sym_session_get; rte_table_action_dscp_table_update; rte_table_action_free; rte_table_action_meter_profile_add; @@ -68,9 +50,8 @@ EXPERIMENTAL { rte_table_action_profile_create; rte_table_action_profile_free; rte_table_action_profile_freeze; - rte_table_action_table_params_get; rte_table_action_stats_read; + rte_table_action_table_params_get; rte_table_action_time_read; rte_table_action_ttl_read; - rte_table_action_crypto_sym_session_get; }; diff --git a/lib/librte_port/rte_port_version.map b/lib/librte_port/rte_port_version.map index 609bcec3f..2037c3ed0 100644 --- a/lib/librte_port/rte_port_version.map +++ b/lib/librte_port/rte_port_version.map @@ -1,62 +1,32 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_port_ethdev_reader_ops; + rte_port_ethdev_writer_nodrop_ops; rte_port_ethdev_writer_ops; + rte_port_fd_reader_ops; + rte_port_fd_writer_nodrop_ops; + rte_port_fd_writer_ops; + rte_port_kni_reader_ops; + rte_port_kni_writer_nodrop_ops; + rte_port_kni_writer_ops; + rte_port_ring_multi_reader_ops; + rte_port_ring_multi_writer_nodrop_ops; + rte_port_ring_multi_writer_ops; rte_port_ring_reader_ipv4_frag_ops; + rte_port_ring_reader_ipv6_frag_ops; rte_port_ring_reader_ops; rte_port_ring_writer_ipv4_ras_ops; + rte_port_ring_writer_ipv6_ras_ops; + rte_port_ring_writer_nodrop_ops; rte_port_ring_writer_ops; rte_port_sched_reader_ops; rte_port_sched_writer_ops; rte_port_sink_ops; rte_port_source_ops; - - local: *; -}; - -DPDK_2.1 { - global: - - rte_port_ethdev_writer_nodrop_ops; - rte_port_ring_reader_ipv6_frag_ops; - rte_port_ring_writer_ipv6_ras_ops; - rte_port_ring_writer_nodrop_ops; - -} DPDK_2.0; - -DPDK_2.2 { - global: - - rte_port_ring_multi_reader_ops; - rte_port_ring_multi_writer_ops; - rte_port_ring_multi_writer_nodrop_ops; - -} DPDK_2.1; - -DPDK_16.07 { - global: - - rte_port_kni_reader_ops; - rte_port_kni_writer_ops; - rte_port_kni_writer_nodrop_ops; - -} DPDK_2.2; - -DPDK_16.11 { - global: - - rte_port_fd_reader_ops; - rte_port_fd_writer_ops; - rte_port_fd_writer_nodrop_ops; - -} DPDK_16.07; - -DPDK_18.11 { - global: - rte_port_sym_crypto_reader_ops; - rte_port_sym_crypto_writer_ops; rte_port_sym_crypto_writer_nodrop_ops; + rte_port_sym_crypto_writer_ops; + local: *; +}; -} DPDK_16.11; diff --git a/lib/librte_power/rte_power_version.map b/lib/librte_power/rte_power_version.map index 042917360..18e77802b 100644 --- a/lib/librte_power/rte_power_version.map +++ b/lib/librte_power/rte_power_version.map @@ -1,39 +1,26 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_power_exit; + rte_power_freq_disable_turbo; rte_power_freq_down; + rte_power_freq_enable_turbo; rte_power_freq_max; rte_power_freq_min; rte_power_freq_up; rte_power_freqs; + rte_power_get_capabilities; rte_power_get_env; rte_power_get_freq; + rte_power_guest_channel_send_msg; rte_power_init; rte_power_set_env; rte_power_set_freq; + rte_power_turbo_status; rte_power_unset_env; - local: *; }; -DPDK_17.11 { - global: - - rte_power_guest_channel_send_msg; - rte_power_freq_disable_turbo; - rte_power_freq_enable_turbo; - rte_power_turbo_status; - -} DPDK_2.0; - -DPDK_18.08 { - global: - - rte_power_get_capabilities; - -} DPDK_17.11; - EXPERIMENTAL { global: diff --git a/lib/librte_rawdev/rte_rawdev_version.map b/lib/librte_rawdev/rte_rawdev_version.map index b61dbff11..fe9de5dfe 100644 --- a/lib/librte_rawdev/rte_rawdev_version.map +++ b/lib/librte_rawdev/rte_rawdev_version.map @@ -1,4 +1,4 @@ -DPDK_18.08 { +DPDK_20.0 { global: rte_rawdev_close; @@ -17,8 +17,8 @@ DPDK_18.08 { rte_rawdev_pmd_release; rte_rawdev_queue_conf_get; rte_rawdev_queue_count; - rte_rawdev_queue_setup; rte_rawdev_queue_release; + rte_rawdev_queue_setup; rte_rawdev_reset; rte_rawdev_selftest; rte_rawdev_set_attr; @@ -30,6 +30,6 @@ DPDK_18.08 { rte_rawdev_xstats_names_get; rte_rawdev_xstats_reset; rte_rawdevs; - local: *; }; + diff --git a/lib/librte_rcu/rte_rcu_version.map b/lib/librte_rcu/rte_rcu_version.map index f8b9ef2ab..cd5aedaa9 100644 --- a/lib/librte_rcu/rte_rcu_version.map +++ b/lib/librte_rcu/rte_rcu_version.map @@ -8,6 +8,5 @@ EXPERIMENTAL { rte_rcu_qsbr_synchronize; rte_rcu_qsbr_thread_register; rte_rcu_qsbr_thread_unregister; - local: *; }; diff --git a/lib/librte_reorder/rte_reorder_version.map b/lib/librte_reorder/rte_reorder_version.map index 0a8a54de8..d7a2afd18 100644 --- a/lib/librte_reorder/rte_reorder_version.map +++ b/lib/librte_reorder/rte_reorder_version.map @@ -1,13 +1,13 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_reorder_create; - rte_reorder_init; + rte_reorder_drain; rte_reorder_find_existing; - rte_reorder_reset; rte_reorder_free; + rte_reorder_init; rte_reorder_insert; - rte_reorder_drain; - + rte_reorder_reset; local: *; }; + diff --git a/lib/librte_ring/rte_ring_version.map b/lib/librte_ring/rte_ring_version.map index 510c1386e..38a095619 100644 --- a/lib/librte_ring/rte_ring_version.map +++ b/lib/librte_ring/rte_ring_version.map @@ -1,26 +1,18 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_ring_create; rte_ring_dump; + rte_ring_free; rte_ring_get_memsize; rte_ring_init; rte_ring_list_dump; rte_ring_lookup; - local: *; }; -DPDK_2.2 { - global: - - rte_ring_free; - -} DPDK_2.0; - EXPERIMENTAL { global: rte_ring_reset; - }; diff --git a/lib/librte_sched/rte_sched_version.map b/lib/librte_sched/rte_sched_version.map index 729588794..7f3fe2d9a 100644 --- a/lib/librte_sched/rte_sched_version.map +++ b/lib/librte_sched/rte_sched_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_approx; @@ -14,22 +14,15 @@ DPDK_2.0 { rte_sched_port_enqueue; rte_sched_port_free; rte_sched_port_get_memory_footprint; + rte_sched_port_pkt_read_color; + rte_sched_port_pkt_read_tree_path; + rte_sched_port_pkt_write; rte_sched_queue_read_stats; rte_sched_subport_config; rte_sched_subport_read_stats; - local: *; }; -DPDK_2.1 { - global: - - rte_sched_port_pkt_write; - rte_sched_port_pkt_read_tree_path; - rte_sched_port_pkt_read_color; - -} DPDK_2.0; - EXPERIMENTAL { global: diff --git a/lib/librte_security/rte_security_version.map b/lib/librte_security/rte_security_version.map index 53267bf3c..5e21cbfe2 100644 --- a/lib/librte_security/rte_security_version.map +++ b/lib/librte_security/rte_security_version.map @@ -1,4 +1,4 @@ -DPDK_18.11 { +DPDK_20.0 { global: rte_security_attach_session; @@ -8,7 +8,6 @@ DPDK_18.11 { rte_security_session_destroy; rte_security_session_get_size; rte_security_set_pkt_metadata; - local: *; }; diff --git a/lib/librte_stack/rte_stack_version.map b/lib/librte_stack/rte_stack_version.map index 6662679c3..b646cf7d2 100644 --- a/lib/librte_stack/rte_stack_version.map +++ b/lib/librte_stack/rte_stack_version.map @@ -4,6 +4,5 @@ EXPERIMENTAL { rte_stack_create; rte_stack_free; rte_stack_lookup; - local: *; }; diff --git a/lib/librte_table/rte_table_version.map b/lib/librte_table/rte_table_version.map index 6237252be..5f2cdd13d 100644 --- a/lib/librte_table/rte_table_version.map +++ b/lib/librte_table/rte_table_version.map @@ -1,4 +1,4 @@ -DPDK_17.11 { +DPDK_20.0 { global: rte_table_acl_ops; @@ -15,6 +15,6 @@ DPDK_17.11 { rte_table_lpm_ipv6_ops; rte_table_lpm_ops; rte_table_stub_ops; - local: *; }; + diff --git a/lib/librte_telemetry/rte_telemetry_version.map b/lib/librte_telemetry/rte_telemetry_version.map index fa62d7718..cbbf41075 100644 --- a/lib/librte_telemetry/rte_telemetry_version.map +++ b/lib/librte_telemetry/rte_telemetry_version.map @@ -5,6 +5,5 @@ EXPERIMENTAL { rte_telemetry_init; rte_telemetry_parse; rte_telemetry_selftest; - local: *; }; diff --git a/lib/librte_timer/rte_timer.c b/lib/librte_timer/rte_timer.c index bdcf05d06..34c864b60 100644 --- a/lib/librte_timer/rte_timer.c +++ b/lib/librte_timer/rte_timer.c @@ -145,7 +145,6 @@ rte_timer_subsystem_init_v20(void) priv_timer[lcore_id].prev_lcore = lcore_id; } } -VERSION_SYMBOL(rte_timer_subsystem_init, _v20, 2.0); /* Init the timer library. Allocate an array of timer data structs in shared * memory, and allocate the zeroth entry for use with original timer @@ -211,7 +210,7 @@ rte_timer_subsystem_init_v1905(void) } MAP_STATIC_SYMBOL(int rte_timer_subsystem_init(void), rte_timer_subsystem_init_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_subsystem_init, _v1905, 19.05); +BIND_DEFAULT_SYMBOL(rte_timer_subsystem_init, _v1905, 20.0); void rte_timer_subsystem_finalize(void) @@ -572,7 +571,6 @@ rte_timer_reset_v20(struct rte_timer *tim, uint64_t ticks, return __rte_timer_reset(tim, cur_time + ticks, period, tim_lcore, fct, arg, 0, &default_timer_data); } -VERSION_SYMBOL(rte_timer_reset, _v20, 2.0); int rte_timer_reset_v1905(struct rte_timer *tim, uint64_t ticks, @@ -587,7 +585,7 @@ MAP_STATIC_SYMBOL(int rte_timer_reset(struct rte_timer *tim, uint64_t ticks, unsigned int tim_lcore, rte_timer_cb_t fct, void *arg), rte_timer_reset_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_reset, _v1905, 19.05); +BIND_DEFAULT_SYMBOL(rte_timer_reset, _v1905, 20.0); int rte_timer_alt_reset(uint32_t timer_data_id, struct rte_timer *tim, @@ -662,7 +660,6 @@ rte_timer_stop_v20(struct rte_timer *tim) { return __rte_timer_stop(tim, 0, &default_timer_data); } -VERSION_SYMBOL(rte_timer_stop, _v20, 2.0); int rte_timer_stop_v1905(struct rte_timer *tim) @@ -671,7 +668,7 @@ rte_timer_stop_v1905(struct rte_timer *tim) } MAP_STATIC_SYMBOL(int rte_timer_stop(struct rte_timer *tim), rte_timer_stop_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_stop, _v1905, 19.05); +BIND_DEFAULT_SYMBOL(rte_timer_stop, _v1905, 20.0); int rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim) @@ -822,7 +819,6 @@ rte_timer_manage_v20(void) { __rte_timer_manage(&default_timer_data); } -VERSION_SYMBOL(rte_timer_manage, _v20, 2.0); int rte_timer_manage_v1905(void) @@ -836,7 +832,7 @@ rte_timer_manage_v1905(void) return 0; } MAP_STATIC_SYMBOL(int rte_timer_manage(void), rte_timer_manage_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_manage, _v1905, 19.05); +BIND_DEFAULT_SYMBOL(rte_timer_manage, _v1905, 20.0); int rte_timer_alt_manage(uint32_t timer_data_id, @@ -1079,7 +1075,6 @@ rte_timer_dump_stats_v20(FILE *f) { __rte_timer_dump_stats(&default_timer_data, f); } -VERSION_SYMBOL(rte_timer_dump_stats, _v20, 2.0); int rte_timer_dump_stats_v1905(FILE *f) @@ -1088,7 +1083,7 @@ rte_timer_dump_stats_v1905(FILE *f) } MAP_STATIC_SYMBOL(int rte_timer_dump_stats(FILE *f), rte_timer_dump_stats_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_dump_stats, _v1905, 19.05); +BIND_DEFAULT_SYMBOL(rte_timer_dump_stats, _v1905, 20.0); int rte_timer_alt_dump_stats(uint32_t timer_data_id __rte_unused, FILE *f) diff --git a/lib/librte_timer/rte_timer_version.map b/lib/librte_timer/rte_timer_version.map index 72f75c818..1303571fe 100644 --- a/lib/librte_timer/rte_timer_version.map +++ b/lib/librte_timer/rte_timer_version.map @@ -1,4 +1,4 @@ -DPDK_2.0 { +DPDK_20.0 { global: rte_timer_dump_stats; @@ -10,20 +10,9 @@ DPDK_2.0 { rte_timer_stop; rte_timer_stop_sync; rte_timer_subsystem_init; - local: *; }; -DPDK_19.05 { - global: - - rte_timer_dump_stats; - rte_timer_manage; - rte_timer_reset; - rte_timer_stop; - rte_timer_subsystem_init; -} DPDK_2.0; - EXPERIMENTAL { global: diff --git a/lib/librte_vhost/rte_vhost_version.map b/lib/librte_vhost/rte_vhost_version.map index 5f1d4a75c..7d6178a26 100644 --- a/lib/librte_vhost/rte_vhost_version.map +++ b/lib/librte_vhost/rte_vhost_version.map @@ -1,90 +1,59 @@ -DPDK_2.0 { +DPDK_20.0 { global: + rte_vhost_avail_entries; rte_vhost_dequeue_burst; rte_vhost_driver_callback_register; - rte_vhost_driver_register; - rte_vhost_enable_guest_notification; - rte_vhost_enqueue_burst; - - local: *; -}; - -DPDK_2.1 { - global: - - rte_vhost_driver_unregister; - -} DPDK_2.0; - -DPDK_16.07 { - global: - - rte_vhost_avail_entries; - rte_vhost_get_ifname; - rte_vhost_get_numa_node; - rte_vhost_get_queue_num; - -} DPDK_2.1; - -DPDK_17.05 { - global: - rte_vhost_driver_disable_features; rte_vhost_driver_enable_features; rte_vhost_driver_get_features; + rte_vhost_driver_register; rte_vhost_driver_set_features; rte_vhost_driver_start; + rte_vhost_driver_unregister; + rte_vhost_enable_guest_notification; + rte_vhost_enqueue_burst; + rte_vhost_get_ifname; rte_vhost_get_mem_table; rte_vhost_get_mtu; rte_vhost_get_negotiated_features; + rte_vhost_get_numa_node; + rte_vhost_get_queue_num; rte_vhost_get_vhost_vring; rte_vhost_get_vring_num; rte_vhost_gpa_to_vva; rte_vhost_log_used_vring; rte_vhost_log_write; - -} DPDK_16.07; - -DPDK_17.08 { - global: - rte_vhost_rx_queue_count; - -} DPDK_17.05; - -DPDK_18.02 { - global: - rte_vhost_vring_call; - -} DPDK_17.08; + local: *; +}; EXPERIMENTAL { global: - rte_vdpa_register_device; - rte_vdpa_unregister_device; rte_vdpa_find_device_id; rte_vdpa_get_device; rte_vdpa_get_device_num; + rte_vdpa_register_device; + rte_vdpa_relay_vring_used; + rte_vdpa_unregister_device; + rte_vhost_crypto_create; + rte_vhost_crypto_fetch_requests; + rte_vhost_crypto_finalize_requests; + rte_vhost_crypto_free; + rte_vhost_crypto_set_zero_copy; rte_vhost_driver_attach_vdpa_device; rte_vhost_driver_detach_vdpa_device; - rte_vhost_driver_get_vdpa_device_id; - rte_vhost_get_vdpa_device_id; rte_vhost_driver_get_protocol_features; rte_vhost_driver_get_queue_num; + rte_vhost_driver_get_vdpa_device_id; + rte_vhost_driver_set_protocol_features; + rte_vhost_extern_callback_register; rte_vhost_get_log_base; + rte_vhost_get_vdpa_device_id; rte_vhost_get_vring_base; + rte_vhost_host_notifier_ctrl; rte_vhost_set_vring_base; - rte_vhost_crypto_create; - rte_vhost_crypto_free; - rte_vhost_crypto_fetch_requests; - rte_vhost_crypto_finalize_requests; - rte_vhost_crypto_set_zero_copy; rte_vhost_va_from_guest_pa; - rte_vhost_host_notifier_ctrl; - rte_vdpa_relay_vring_used; - rte_vhost_extern_callback_register; - rte_vhost_driver_set_protocol_features; }; From patchwork Mon Sep 30 09:21:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Baran X-Patchwork-Id: 60153 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8E2D97CCA; Mon, 30 Sep 2019 11:22:51 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id C0A773977 for ; Mon, 30 Sep 2019 11:22:47 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Sep 2019 02:22:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,565,1559545200"; d="scan'208";a="204792655" Received: from baranmx-mobl.ger.corp.intel.com ([10.103.104.83]) by fmsmga001.fm.intel.com with ESMTP; 30 Sep 2019 02:22:45 -0700 From: Marcin Baran To: dev@dpdk.org, bruce.richardson@intel.com, ray.kinsella@intel.com Cc: Marcin Baran Date: Mon, 30 Sep 2019 11:21:36 +0200 Message-Id: <20190930092139.2440-5-marcinx.baran@intel.com> X-Mailer: git-send-email 2.22.0.windows.1 In-Reply-To: <20190930092139.2440-1-marcinx.baran@intel.com> References: <20190930092139.2440-1-marcinx.baran@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 5/8] lib: remove dead code from timer X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" After updating ABI policy old and unused code needs to be removed and all libraries symbols version should be set to v20. Signed-off-by: Marcin Baran --- lib/librte_timer/rte_timer.c | 85 +++--------------------------------- lib/librte_timer/rte_timer.h | 15 ------- 2 files changed, 5 insertions(+), 95 deletions(-) diff --git a/lib/librte_timer/rte_timer.c b/lib/librte_timer/rte_timer.c index 34c864b60..de6959b80 100644 --- a/lib/librte_timer/rte_timer.c +++ b/lib/librte_timer/rte_timer.c @@ -68,9 +68,6 @@ static struct rte_timer_data *rte_timer_data_arr; static const uint32_t default_data_id; static uint32_t rte_timer_subsystem_initialized; -/* For maintaining older interfaces for a period */ -static struct rte_timer_data default_timer_data; - /* when debug is enabled, store some statistics */ #ifdef RTE_LIBRTE_TIMER_DEBUG #define __TIMER_STAT_ADD(priv_timer, name, n) do { \ @@ -131,21 +128,6 @@ rte_timer_data_dealloc(uint32_t id) return 0; } -void -rte_timer_subsystem_init_v20(void) -{ - unsigned lcore_id; - struct priv_timer *priv_timer = default_timer_data.priv_timer; - - /* since priv_timer is static, it's zeroed by default, so only init some - * fields. - */ - for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id ++) { - rte_spinlock_init(&priv_timer[lcore_id].list_lock); - priv_timer[lcore_id].prev_lcore = lcore_id; - } -} - /* Init the timer library. Allocate an array of timer data structs in shared * memory, and allocate the zeroth entry for use with original timer * APIs. Since the intersection of the sets of lcore ids in primary and @@ -153,7 +135,7 @@ rte_timer_subsystem_init_v20(void) * multiple processes. */ int -rte_timer_subsystem_init_v1905(void) +rte_timer_subsystem_init(void) { const struct rte_memzone *mz; struct rte_timer_data *data; @@ -208,9 +190,6 @@ rte_timer_subsystem_init_v1905(void) return 0; } -MAP_STATIC_SYMBOL(int rte_timer_subsystem_init(void), - rte_timer_subsystem_init_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_subsystem_init, _v1905, 20.0); void rte_timer_subsystem_finalize(void) @@ -551,41 +530,13 @@ __rte_timer_reset(struct rte_timer *tim, uint64_t expire, /* Reset and start the timer associated with the timer handle tim */ int -rte_timer_reset_v20(struct rte_timer *tim, uint64_t ticks, - enum rte_timer_type type, unsigned int tim_lcore, - rte_timer_cb_t fct, void *arg) -{ - uint64_t cur_time = rte_get_timer_cycles(); - uint64_t period; - - if (unlikely((tim_lcore != (unsigned)LCORE_ID_ANY) && - !(rte_lcore_is_enabled(tim_lcore) || - rte_lcore_has_role(tim_lcore, ROLE_SERVICE)))) - return -1; - - if (type == PERIODICAL) - period = ticks; - else - period = 0; - - return __rte_timer_reset(tim, cur_time + ticks, period, tim_lcore, - fct, arg, 0, &default_timer_data); -} - -int -rte_timer_reset_v1905(struct rte_timer *tim, uint64_t ticks, +rte_timer_reset(struct rte_timer *tim, uint64_t ticks, enum rte_timer_type type, unsigned int tim_lcore, rte_timer_cb_t fct, void *arg) { return rte_timer_alt_reset(default_data_id, tim, ticks, type, tim_lcore, fct, arg); } -MAP_STATIC_SYMBOL(int rte_timer_reset(struct rte_timer *tim, uint64_t ticks, - enum rte_timer_type type, - unsigned int tim_lcore, - rte_timer_cb_t fct, void *arg), - rte_timer_reset_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_reset, _v1905, 20.0); int rte_timer_alt_reset(uint32_t timer_data_id, struct rte_timer *tim, @@ -656,19 +607,10 @@ __rte_timer_stop(struct rte_timer *tim, int local_is_locked, /* Stop the timer associated with the timer handle tim */ int -rte_timer_stop_v20(struct rte_timer *tim) -{ - return __rte_timer_stop(tim, 0, &default_timer_data); -} - -int -rte_timer_stop_v1905(struct rte_timer *tim) +rte_timer_stop(struct rte_timer *tim) { return rte_timer_alt_stop(default_data_id, tim); } -MAP_STATIC_SYMBOL(int rte_timer_stop(struct rte_timer *tim), - rte_timer_stop_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_stop, _v1905, 20.0); int rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim) @@ -814,14 +756,8 @@ __rte_timer_manage(struct rte_timer_data *timer_data) priv_timer[lcore_id].running_tim = NULL; } -void -rte_timer_manage_v20(void) -{ - __rte_timer_manage(&default_timer_data); -} - int -rte_timer_manage_v1905(void) +rte_timer_manage(void) { struct rte_timer_data *timer_data; @@ -831,8 +767,6 @@ rte_timer_manage_v1905(void) return 0; } -MAP_STATIC_SYMBOL(int rte_timer_manage(void), rte_timer_manage_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_manage, _v1905, 20.0); int rte_timer_alt_manage(uint32_t timer_data_id, @@ -1070,20 +1004,11 @@ __rte_timer_dump_stats(struct rte_timer_data *timer_data __rte_unused, FILE *f) #endif } -void -rte_timer_dump_stats_v20(FILE *f) -{ - __rte_timer_dump_stats(&default_timer_data, f); -} - int -rte_timer_dump_stats_v1905(FILE *f) +rte_timer_dump_stats(FILE *f) { return rte_timer_alt_dump_stats(default_data_id, f); } -MAP_STATIC_SYMBOL(int rte_timer_dump_stats(FILE *f), - rte_timer_dump_stats_v1905); -BIND_DEFAULT_SYMBOL(rte_timer_dump_stats, _v1905, 20.0); int rte_timer_alt_dump_stats(uint32_t timer_data_id __rte_unused, FILE *f) diff --git a/lib/librte_timer/rte_timer.h b/lib/librte_timer/rte_timer.h index 05d287d8f..9dc5fc309 100644 --- a/lib/librte_timer/rte_timer.h +++ b/lib/librte_timer/rte_timer.h @@ -181,8 +181,6 @@ int rte_timer_data_dealloc(uint32_t id); * subsystem */ int rte_timer_subsystem_init(void); -int rte_timer_subsystem_init_v1905(void); -void rte_timer_subsystem_init_v20(void); /** * @warning @@ -250,13 +248,6 @@ void rte_timer_init(struct rte_timer *tim); int rte_timer_reset(struct rte_timer *tim, uint64_t ticks, enum rte_timer_type type, unsigned tim_lcore, rte_timer_cb_t fct, void *arg); -int rte_timer_reset_v1905(struct rte_timer *tim, uint64_t ticks, - enum rte_timer_type type, unsigned int tim_lcore, - rte_timer_cb_t fct, void *arg); -int rte_timer_reset_v20(struct rte_timer *tim, uint64_t ticks, - enum rte_timer_type type, unsigned int tim_lcore, - rte_timer_cb_t fct, void *arg); - /** * Loop until rte_timer_reset() succeeds. @@ -313,8 +304,6 @@ rte_timer_reset_sync(struct rte_timer *tim, uint64_t ticks, * - (-1): The timer is in the RUNNING or CONFIG state. */ int rte_timer_stop(struct rte_timer *tim); -int rte_timer_stop_v1905(struct rte_timer *tim); -int rte_timer_stop_v20(struct rte_timer *tim); /** * Loop until rte_timer_stop() succeeds. @@ -358,8 +347,6 @@ int rte_timer_pending(struct rte_timer *tim); * - -EINVAL: timer subsystem not yet initialized */ int rte_timer_manage(void); -int rte_timer_manage_v1905(void); -void rte_timer_manage_v20(void); /** * Dump statistics about timers. @@ -371,8 +358,6 @@ void rte_timer_manage_v20(void); * - -EINVAL: timer subsystem not yet initialized */ int rte_timer_dump_stats(FILE *f); -int rte_timer_dump_stats_v1905(FILE *f); -void rte_timer_dump_stats_v20(FILE *f); /** * @warning From patchwork Mon Sep 30 09:21:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Baran X-Patchwork-Id: 60154 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2B5521B203; Mon, 30 Sep 2019 11:22:54 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 8102F5B3E for ; Mon, 30 Sep 2019 11:22:51 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Sep 2019 02:22:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,565,1559545200"; d="scan'208";a="204792661" Received: from baranmx-mobl.ger.corp.intel.com ([10.103.104.83]) by fmsmga001.fm.intel.com with ESMTP; 30 Sep 2019 02:22:48 -0700 From: Marcin Baran To: dev@dpdk.org, bruce.richardson@intel.com, ray.kinsella@intel.com Cc: Marcin Baran Date: Mon, 30 Sep 2019 11:21:37 +0200 Message-Id: <20190930092139.2440-6-marcinx.baran@intel.com> X-Mailer: git-send-email 2.22.0.windows.1 In-Reply-To: <20190930092139.2440-1-marcinx.baran@intel.com> References: <20190930092139.2440-1-marcinx.baran@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 6/8] lib: remove dead code from lpm X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" After updating ABI policy old and unused code needs to be removed and all libraries symbols version should be set to v20. Signed-off-by: Marcin Baran --- lib/librte_lpm/rte_lpm.c | 995 ++------------------------------------ lib/librte_lpm/rte_lpm.h | 88 ---- lib/librte_lpm/rte_lpm6.c | 128 +---- lib/librte_lpm/rte_lpm6.h | 25 - 4 files changed, 51 insertions(+), 1185 deletions(-) diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c index ce4681b79..268756419 100644 --- a/lib/librte_lpm/rte_lpm.c +++ b/lib/librte_lpm/rte_lpm.c @@ -89,33 +89,8 @@ depth_to_range(uint8_t depth) /* * Find an existing lpm table and return a pointer to it. */ -struct rte_lpm_v20 * -rte_lpm_find_existing_v20(const char *name) -{ - struct rte_lpm_v20 *l = NULL; - struct rte_tailq_entry *te; - struct rte_lpm_list *lpm_list; - - lpm_list = RTE_TAILQ_CAST(rte_lpm_tailq.head, rte_lpm_list); - - rte_mcfg_tailq_read_lock(); - TAILQ_FOREACH(te, lpm_list, next) { - l = te->data; - if (strncmp(name, l->name, RTE_LPM_NAMESIZE) == 0) - break; - } - rte_mcfg_tailq_read_unlock(); - - if (te == NULL) { - rte_errno = ENOENT; - return NULL; - } - - return l; -} - struct rte_lpm * -rte_lpm_find_existing_v1604(const char *name) +rte_lpm_find_existing(const char *name) { struct rte_lpm *l = NULL; struct rte_tailq_entry *te; @@ -138,87 +113,12 @@ rte_lpm_find_existing_v1604(const char *name) return l; } -BIND_DEFAULT_SYMBOL(rte_lpm_find_existing, _v1604, 20.0); -MAP_STATIC_SYMBOL(struct rte_lpm *rte_lpm_find_existing(const char *name), - rte_lpm_find_existing_v1604); /* * Allocates memory for LPM object */ -struct rte_lpm_v20 * -rte_lpm_create_v20(const char *name, int socket_id, int max_rules, - __rte_unused int flags) -{ - char mem_name[RTE_LPM_NAMESIZE]; - struct rte_lpm_v20 *lpm = NULL; - struct rte_tailq_entry *te; - uint32_t mem_size; - struct rte_lpm_list *lpm_list; - - lpm_list = RTE_TAILQ_CAST(rte_lpm_tailq.head, rte_lpm_list); - - RTE_BUILD_BUG_ON(sizeof(struct rte_lpm_tbl_entry_v20) != 2); - - /* Check user arguments. */ - if ((name == NULL) || (socket_id < -1) || (max_rules == 0)) { - rte_errno = EINVAL; - return NULL; - } - - snprintf(mem_name, sizeof(mem_name), "LPM_%s", name); - - /* Determine the amount of memory to allocate. */ - mem_size = sizeof(*lpm) + (sizeof(lpm->rules_tbl[0]) * max_rules); - - rte_mcfg_tailq_write_lock(); - - /* guarantee there's no existing */ - TAILQ_FOREACH(te, lpm_list, next) { - lpm = te->data; - if (strncmp(name, lpm->name, RTE_LPM_NAMESIZE) == 0) - break; - } - - if (te != NULL) { - lpm = NULL; - rte_errno = EEXIST; - goto exit; - } - - /* allocate tailq entry */ - te = rte_zmalloc("LPM_TAILQ_ENTRY", sizeof(*te), 0); - if (te == NULL) { - RTE_LOG(ERR, LPM, "Failed to allocate tailq entry\n"); - rte_errno = ENOMEM; - goto exit; - } - - /* Allocate memory to store the LPM data structures. */ - lpm = rte_zmalloc_socket(mem_name, mem_size, - RTE_CACHE_LINE_SIZE, socket_id); - if (lpm == NULL) { - RTE_LOG(ERR, LPM, "LPM memory allocation failed\n"); - rte_free(te); - rte_errno = ENOMEM; - goto exit; - } - - /* Save user arguments. */ - lpm->max_rules = max_rules; - strlcpy(lpm->name, name, sizeof(lpm->name)); - - te->data = lpm; - - TAILQ_INSERT_TAIL(lpm_list, te, next); - -exit: - rte_mcfg_tailq_write_unlock(); - - return lpm; -} - struct rte_lpm * -rte_lpm_create_v1604(const char *name, int socket_id, +rte_lpm_create(const char *name, int socket_id, const struct rte_lpm_config *config) { char mem_name[RTE_LPM_NAMESIZE]; @@ -318,44 +218,12 @@ rte_lpm_create_v1604(const char *name, int socket_id, return lpm; } -BIND_DEFAULT_SYMBOL(rte_lpm_create, _v1604, 20.0); -MAP_STATIC_SYMBOL( - struct rte_lpm *rte_lpm_create(const char *name, int socket_id, - const struct rte_lpm_config *config), rte_lpm_create_v1604); /* * Deallocates memory for given LPM table. */ void -rte_lpm_free_v20(struct rte_lpm_v20 *lpm) -{ - struct rte_lpm_list *lpm_list; - struct rte_tailq_entry *te; - - /* Check user arguments. */ - if (lpm == NULL) - return; - - lpm_list = RTE_TAILQ_CAST(rte_lpm_tailq.head, rte_lpm_list); - - rte_mcfg_tailq_write_lock(); - - /* find our tailq entry */ - TAILQ_FOREACH(te, lpm_list, next) { - if (te->data == (void *) lpm) - break; - } - if (te != NULL) - TAILQ_REMOVE(lpm_list, te, next); - - rte_mcfg_tailq_write_unlock(); - - rte_free(lpm); - rte_free(te); -} - -void -rte_lpm_free_v1604(struct rte_lpm *lpm) +rte_lpm_free(struct rte_lpm *lpm) { struct rte_lpm_list *lpm_list; struct rte_tailq_entry *te; @@ -383,9 +251,6 @@ rte_lpm_free_v1604(struct rte_lpm *lpm) rte_free(lpm); rte_free(te); } -BIND_DEFAULT_SYMBOL(rte_lpm_free, _v1604, 20.0); -MAP_STATIC_SYMBOL(void rte_lpm_free(struct rte_lpm *lpm), - rte_lpm_free_v1604); /* * Adds a rule to the rule table. @@ -398,79 +263,7 @@ MAP_STATIC_SYMBOL(void rte_lpm_free(struct rte_lpm *lpm), * NOTE: Valid range for depth parameter is 1 .. 32 inclusive. */ static int32_t -rule_add_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked, uint8_t depth, - uint8_t next_hop) -{ - uint32_t rule_gindex, rule_index, last_rule; - int i; - - VERIFY_DEPTH(depth); - - /* Scan through rule group to see if rule already exists. */ - if (lpm->rule_info[depth - 1].used_rules > 0) { - - /* rule_gindex stands for rule group index. */ - rule_gindex = lpm->rule_info[depth - 1].first_rule; - /* Initialise rule_index to point to start of rule group. */ - rule_index = rule_gindex; - /* Last rule = Last used rule in this rule group. */ - last_rule = rule_gindex + lpm->rule_info[depth - 1].used_rules; - - for (; rule_index < last_rule; rule_index++) { - - /* If rule already exists update its next_hop and return. */ - if (lpm->rules_tbl[rule_index].ip == ip_masked) { - lpm->rules_tbl[rule_index].next_hop = next_hop; - - return rule_index; - } - } - - if (rule_index == lpm->max_rules) - return -ENOSPC; - } else { - /* Calculate the position in which the rule will be stored. */ - rule_index = 0; - - for (i = depth - 1; i > 0; i--) { - if (lpm->rule_info[i - 1].used_rules > 0) { - rule_index = lpm->rule_info[i - 1].first_rule - + lpm->rule_info[i - 1].used_rules; - break; - } - } - if (rule_index == lpm->max_rules) - return -ENOSPC; - - lpm->rule_info[depth - 1].first_rule = rule_index; - } - - /* Make room for the new rule in the array. */ - for (i = RTE_LPM_MAX_DEPTH; i > depth; i--) { - if (lpm->rule_info[i - 1].first_rule - + lpm->rule_info[i - 1].used_rules == lpm->max_rules) - return -ENOSPC; - - if (lpm->rule_info[i - 1].used_rules > 0) { - lpm->rules_tbl[lpm->rule_info[i - 1].first_rule - + lpm->rule_info[i - 1].used_rules] - = lpm->rules_tbl[lpm->rule_info[i - 1].first_rule]; - lpm->rule_info[i - 1].first_rule++; - } - } - - /* Add the new rule. */ - lpm->rules_tbl[rule_index].ip = ip_masked; - lpm->rules_tbl[rule_index].next_hop = next_hop; - - /* Increment the used rules counter for this rule group. */ - lpm->rule_info[depth - 1].used_rules++; - - return rule_index; -} - -static int32_t -rule_add_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, +rule_add(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, uint32_t next_hop) { uint32_t rule_gindex, rule_index, last_rule; @@ -546,30 +339,7 @@ rule_add_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, * NOTE: Valid range for depth parameter is 1 .. 32 inclusive. */ static void -rule_delete_v20(struct rte_lpm_v20 *lpm, int32_t rule_index, uint8_t depth) -{ - int i; - - VERIFY_DEPTH(depth); - - lpm->rules_tbl[rule_index] = - lpm->rules_tbl[lpm->rule_info[depth - 1].first_rule - + lpm->rule_info[depth - 1].used_rules - 1]; - - for (i = depth; i < RTE_LPM_MAX_DEPTH; i++) { - if (lpm->rule_info[i].used_rules > 0) { - lpm->rules_tbl[lpm->rule_info[i].first_rule - 1] = - lpm->rules_tbl[lpm->rule_info[i].first_rule - + lpm->rule_info[i].used_rules - 1]; - lpm->rule_info[i].first_rule--; - } - } - - lpm->rule_info[depth - 1].used_rules--; -} - -static void -rule_delete_v1604(struct rte_lpm *lpm, int32_t rule_index, uint8_t depth) +rule_delete(struct rte_lpm *lpm, int32_t rule_index, uint8_t depth) { int i; @@ -596,28 +366,7 @@ rule_delete_v1604(struct rte_lpm *lpm, int32_t rule_index, uint8_t depth) * NOTE: Valid range for depth parameter is 1 .. 32 inclusive. */ static int32_t -rule_find_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked, uint8_t depth) -{ - uint32_t rule_gindex, last_rule, rule_index; - - VERIFY_DEPTH(depth); - - rule_gindex = lpm->rule_info[depth - 1].first_rule; - last_rule = rule_gindex + lpm->rule_info[depth - 1].used_rules; - - /* Scan used rules at given depth to find rule. */ - for (rule_index = rule_gindex; rule_index < last_rule; rule_index++) { - /* If rule is found return the rule index. */ - if (lpm->rules_tbl[rule_index].ip == ip_masked) - return rule_index; - } - - /* If rule is not found return -EINVAL. */ - return -EINVAL; -} - -static int32_t -rule_find_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth) +rule_find(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth) { uint32_t rule_gindex, last_rule, rule_index; @@ -641,42 +390,7 @@ rule_find_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth) * Find, clean and allocate a tbl8. */ static int32_t -tbl8_alloc_v20(struct rte_lpm_tbl_entry_v20 *tbl8) -{ - uint32_t group_idx; /* tbl8 group index. */ - struct rte_lpm_tbl_entry_v20 *tbl8_entry; - - /* Scan through tbl8 to find a free (i.e. INVALID) tbl8 group. */ - for (group_idx = 0; group_idx < RTE_LPM_TBL8_NUM_GROUPS; - group_idx++) { - tbl8_entry = &tbl8[group_idx * RTE_LPM_TBL8_GROUP_NUM_ENTRIES]; - /* If a free tbl8 group is found clean it and set as VALID. */ - if (!tbl8_entry->valid_group) { - struct rte_lpm_tbl_entry_v20 new_tbl8_entry = { - .valid = INVALID, - .depth = 0, - .valid_group = VALID, - }; - new_tbl8_entry.next_hop = 0; - - memset(&tbl8_entry[0], 0, - RTE_LPM_TBL8_GROUP_NUM_ENTRIES * - sizeof(tbl8_entry[0])); - - __atomic_store(tbl8_entry, &new_tbl8_entry, - __ATOMIC_RELAXED); - - /* Return group index for allocated tbl8 group. */ - return group_idx; - } - } - - /* If there are no tbl8 groups free then return error. */ - return -ENOSPC; -} - -static int32_t -tbl8_alloc_v1604(struct rte_lpm_tbl_entry *tbl8, uint32_t number_tbl8s) +tbl8_alloc(struct rte_lpm_tbl_entry *tbl8, uint32_t number_tbl8s) { uint32_t group_idx; /* tbl8 group index. */ struct rte_lpm_tbl_entry *tbl8_entry; @@ -710,104 +424,18 @@ tbl8_alloc_v1604(struct rte_lpm_tbl_entry *tbl8, uint32_t number_tbl8s) } static void -tbl8_free_v20(struct rte_lpm_tbl_entry_v20 *tbl8, uint32_t tbl8_group_start) +tbl8_free(struct rte_lpm_tbl_entry *tbl8, uint32_t tbl8_group_start) { /* Set tbl8 group invalid*/ - struct rte_lpm_tbl_entry_v20 zero_tbl8_entry = { - .valid = INVALID, - .depth = 0, - .valid_group = INVALID, - }; - zero_tbl8_entry.next_hop = 0; + struct rte_lpm_tbl_entry zero_tbl8_entry = {0}; __atomic_store(&tbl8[tbl8_group_start], &zero_tbl8_entry, __ATOMIC_RELAXED); } -static void -tbl8_free_v1604(struct rte_lpm_tbl_entry *tbl8, uint32_t tbl8_group_start) -{ - /* Set tbl8 group invalid*/ - struct rte_lpm_tbl_entry zero_tbl8_entry = {0}; - - __atomic_store(&tbl8[tbl8_group_start], &zero_tbl8_entry, - __ATOMIC_RELAXED); -} - -static __rte_noinline int32_t -add_depth_small_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth, - uint8_t next_hop) -{ - uint32_t tbl24_index, tbl24_range, tbl8_index, tbl8_group_end, i, j; - - /* Calculate the index into Table24. */ - tbl24_index = ip >> 8; - tbl24_range = depth_to_range(depth); - - for (i = tbl24_index; i < (tbl24_index + tbl24_range); i++) { - /* - * For invalid OR valid and non-extended tbl 24 entries set - * entry. - */ - if (!lpm->tbl24[i].valid || (lpm->tbl24[i].valid_group == 0 && - lpm->tbl24[i].depth <= depth)) { - - struct rte_lpm_tbl_entry_v20 new_tbl24_entry = { - .valid = VALID, - .valid_group = 0, - .depth = depth, - }; - new_tbl24_entry.next_hop = next_hop; - - /* Setting tbl24 entry in one go to avoid race - * conditions - */ - __atomic_store(&lpm->tbl24[i], &new_tbl24_entry, - __ATOMIC_RELEASE); - - continue; - } - - if (lpm->tbl24[i].valid_group == 1) { - /* If tbl24 entry is valid and extended calculate the - * index into tbl8. - */ - tbl8_index = lpm->tbl24[i].group_idx * - RTE_LPM_TBL8_GROUP_NUM_ENTRIES; - tbl8_group_end = tbl8_index + - RTE_LPM_TBL8_GROUP_NUM_ENTRIES; - - for (j = tbl8_index; j < tbl8_group_end; j++) { - if (!lpm->tbl8[j].valid || - lpm->tbl8[j].depth <= depth) { - struct rte_lpm_tbl_entry_v20 - new_tbl8_entry = { - .valid = VALID, - .valid_group = VALID, - .depth = depth, - }; - new_tbl8_entry.next_hop = next_hop; - - /* - * Setting tbl8 entry in one go to avoid - * race conditions - */ - __atomic_store(&lpm->tbl8[j], - &new_tbl8_entry, - __ATOMIC_RELAXED); - - continue; - } - } - } - } - - return 0; -} - -static __rte_noinline int32_t -add_depth_small_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, - uint32_t next_hop) +static __rte_noinline int32_t +add_depth_small(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, + uint32_t next_hop) { #define group_idx next_hop uint32_t tbl24_index, tbl24_range, tbl8_index, tbl8_group_end, i, j; @@ -878,150 +506,7 @@ add_depth_small_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, } static __rte_noinline int32_t -add_depth_big_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked, uint8_t depth, - uint8_t next_hop) -{ - uint32_t tbl24_index; - int32_t tbl8_group_index, tbl8_group_start, tbl8_group_end, tbl8_index, - tbl8_range, i; - - tbl24_index = (ip_masked >> 8); - tbl8_range = depth_to_range(depth); - - if (!lpm->tbl24[tbl24_index].valid) { - /* Search for a free tbl8 group. */ - tbl8_group_index = tbl8_alloc_v20(lpm->tbl8); - - /* Check tbl8 allocation was successful. */ - if (tbl8_group_index < 0) { - return tbl8_group_index; - } - - /* Find index into tbl8 and range. */ - tbl8_index = (tbl8_group_index * - RTE_LPM_TBL8_GROUP_NUM_ENTRIES) + - (ip_masked & 0xFF); - - /* Set tbl8 entry. */ - for (i = tbl8_index; i < (tbl8_index + tbl8_range); i++) { - struct rte_lpm_tbl_entry_v20 new_tbl8_entry = { - .valid = VALID, - .depth = depth, - .valid_group = lpm->tbl8[i].valid_group, - }; - new_tbl8_entry.next_hop = next_hop; - __atomic_store(&lpm->tbl8[i], &new_tbl8_entry, - __ATOMIC_RELAXED); - } - - /* - * Update tbl24 entry to point to new tbl8 entry. Note: The - * ext_flag and tbl8_index need to be updated simultaneously, - * so assign whole structure in one go - */ - - struct rte_lpm_tbl_entry_v20 new_tbl24_entry = { - .group_idx = (uint8_t)tbl8_group_index, - .valid = VALID, - .valid_group = 1, - .depth = 0, - }; - - __atomic_store(&lpm->tbl24[tbl24_index], &new_tbl24_entry, - __ATOMIC_RELEASE); - - } /* If valid entry but not extended calculate the index into Table8. */ - else if (lpm->tbl24[tbl24_index].valid_group == 0) { - /* Search for free tbl8 group. */ - tbl8_group_index = tbl8_alloc_v20(lpm->tbl8); - - if (tbl8_group_index < 0) { - return tbl8_group_index; - } - - tbl8_group_start = tbl8_group_index * - RTE_LPM_TBL8_GROUP_NUM_ENTRIES; - tbl8_group_end = tbl8_group_start + - RTE_LPM_TBL8_GROUP_NUM_ENTRIES; - - /* Populate new tbl8 with tbl24 value. */ - for (i = tbl8_group_start; i < tbl8_group_end; i++) { - struct rte_lpm_tbl_entry_v20 new_tbl8_entry = { - .valid = VALID, - .depth = lpm->tbl24[tbl24_index].depth, - .valid_group = lpm->tbl8[i].valid_group, - }; - new_tbl8_entry.next_hop = - lpm->tbl24[tbl24_index].next_hop; - __atomic_store(&lpm->tbl8[i], &new_tbl8_entry, - __ATOMIC_RELAXED); - } - - tbl8_index = tbl8_group_start + (ip_masked & 0xFF); - - /* Insert new rule into the tbl8 entry. */ - for (i = tbl8_index; i < tbl8_index + tbl8_range; i++) { - struct rte_lpm_tbl_entry_v20 new_tbl8_entry = { - .valid = VALID, - .depth = depth, - .valid_group = lpm->tbl8[i].valid_group, - }; - new_tbl8_entry.next_hop = next_hop; - __atomic_store(&lpm->tbl8[i], &new_tbl8_entry, - __ATOMIC_RELAXED); - } - - /* - * Update tbl24 entry to point to new tbl8 entry. Note: The - * ext_flag and tbl8_index need to be updated simultaneously, - * so assign whole structure in one go. - */ - - struct rte_lpm_tbl_entry_v20 new_tbl24_entry = { - .group_idx = (uint8_t)tbl8_group_index, - .valid = VALID, - .valid_group = 1, - .depth = 0, - }; - - __atomic_store(&lpm->tbl24[tbl24_index], &new_tbl24_entry, - __ATOMIC_RELEASE); - - } else { /* - * If it is valid, extended entry calculate the index into tbl8. - */ - tbl8_group_index = lpm->tbl24[tbl24_index].group_idx; - tbl8_group_start = tbl8_group_index * - RTE_LPM_TBL8_GROUP_NUM_ENTRIES; - tbl8_index = tbl8_group_start + (ip_masked & 0xFF); - - for (i = tbl8_index; i < (tbl8_index + tbl8_range); i++) { - - if (!lpm->tbl8[i].valid || - lpm->tbl8[i].depth <= depth) { - struct rte_lpm_tbl_entry_v20 new_tbl8_entry = { - .valid = VALID, - .depth = depth, - .valid_group = lpm->tbl8[i].valid_group, - }; - new_tbl8_entry.next_hop = next_hop; - /* - * Setting tbl8 entry in one go to avoid race - * condition - */ - __atomic_store(&lpm->tbl8[i], &new_tbl8_entry, - __ATOMIC_RELAXED); - - continue; - } - } - } - - return 0; -} - -static __rte_noinline int32_t -add_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, +add_depth_big(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, uint32_t next_hop) { #define group_idx next_hop @@ -1034,7 +519,7 @@ add_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, if (!lpm->tbl24[tbl24_index].valid) { /* Search for a free tbl8 group. */ - tbl8_group_index = tbl8_alloc_v1604(lpm->tbl8, lpm->number_tbl8s); + tbl8_group_index = tbl8_alloc(lpm->tbl8, lpm->number_tbl8s); /* Check tbl8 allocation was successful. */ if (tbl8_group_index < 0) { @@ -1080,7 +565,7 @@ add_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, } /* If valid entry but not extended calculate the index into Table8. */ else if (lpm->tbl24[tbl24_index].valid_group == 0) { /* Search for free tbl8 group. */ - tbl8_group_index = tbl8_alloc_v1604(lpm->tbl8, lpm->number_tbl8s); + tbl8_group_index = tbl8_alloc(lpm->tbl8, lpm->number_tbl8s); if (tbl8_group_index < 0) { return tbl8_group_index; @@ -1174,47 +659,7 @@ add_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, * Add a route */ int -rte_lpm_add_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth, - uint8_t next_hop) -{ - int32_t rule_index, status = 0; - uint32_t ip_masked; - - /* Check user arguments. */ - if ((lpm == NULL) || (depth < 1) || (depth > RTE_LPM_MAX_DEPTH)) - return -EINVAL; - - ip_masked = ip & depth_to_mask(depth); - - /* Add the rule to the rule table. */ - rule_index = rule_add_v20(lpm, ip_masked, depth, next_hop); - - /* If the is no space available for new rule return error. */ - if (rule_index < 0) { - return rule_index; - } - - if (depth <= MAX_DEPTH_TBL24) { - status = add_depth_small_v20(lpm, ip_masked, depth, next_hop); - } else { /* If depth > RTE_LPM_MAX_DEPTH_TBL24 */ - status = add_depth_big_v20(lpm, ip_masked, depth, next_hop); - - /* - * If add fails due to exhaustion of tbl8 extensions delete - * rule that was added to rule table. - */ - if (status < 0) { - rule_delete_v20(lpm, rule_index, depth); - - return status; - } - } - - return 0; -} - -int -rte_lpm_add_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, +rte_lpm_add(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, uint32_t next_hop) { int32_t rule_index, status = 0; @@ -1227,7 +672,7 @@ rte_lpm_add_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, ip_masked = ip & depth_to_mask(depth); /* Add the rule to the rule table. */ - rule_index = rule_add_v1604(lpm, ip_masked, depth, next_hop); + rule_index = rule_add(lpm, ip_masked, depth, next_hop); /* If the is no space available for new rule return error. */ if (rule_index < 0) { @@ -1235,16 +680,16 @@ rte_lpm_add_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, } if (depth <= MAX_DEPTH_TBL24) { - status = add_depth_small_v1604(lpm, ip_masked, depth, next_hop); + status = add_depth_small(lpm, ip_masked, depth, next_hop); } else { /* If depth > RTE_LPM_MAX_DEPTH_TBL24 */ - status = add_depth_big_v1604(lpm, ip_masked, depth, next_hop); + status = add_depth_big(lpm, ip_masked, depth, next_hop); /* * If add fails due to exhaustion of tbl8 extensions delete * rule that was added to rule table. */ if (status < 0) { - rule_delete_v1604(lpm, rule_index, depth); + rule_delete(lpm, rule_index, depth); return status; } @@ -1252,41 +697,12 @@ rte_lpm_add_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, return 0; } -BIND_DEFAULT_SYMBOL(rte_lpm_add, _v1604, 20.0); -MAP_STATIC_SYMBOL(int rte_lpm_add(struct rte_lpm *lpm, uint32_t ip, - uint8_t depth, uint32_t next_hop), rte_lpm_add_v1604); /* * Look for a rule in the high-level rules table */ int -rte_lpm_is_rule_present_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth, -uint8_t *next_hop) -{ - uint32_t ip_masked; - int32_t rule_index; - - /* Check user arguments. */ - if ((lpm == NULL) || - (next_hop == NULL) || - (depth < 1) || (depth > RTE_LPM_MAX_DEPTH)) - return -EINVAL; - - /* Look for the rule using rule_find. */ - ip_masked = ip & depth_to_mask(depth); - rule_index = rule_find_v20(lpm, ip_masked, depth); - - if (rule_index >= 0) { - *next_hop = lpm->rules_tbl[rule_index].next_hop; - return 1; - } - - /* If rule is not found return 0. */ - return 0; -} - -int -rte_lpm_is_rule_present_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, +rte_lpm_is_rule_present(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, uint32_t *next_hop) { uint32_t ip_masked; @@ -1300,7 +716,7 @@ uint32_t *next_hop) /* Look for the rule using rule_find. */ ip_masked = ip & depth_to_mask(depth); - rule_index = rule_find_v1604(lpm, ip_masked, depth); + rule_index = rule_find(lpm, ip_masked, depth); if (rule_index >= 0) { *next_hop = lpm->rules_tbl[rule_index].next_hop; @@ -1310,12 +726,9 @@ uint32_t *next_hop) /* If rule is not found return 0. */ return 0; } -BIND_DEFAULT_SYMBOL(rte_lpm_is_rule_present, _v1604, 20.0); -MAP_STATIC_SYMBOL(int rte_lpm_is_rule_present(struct rte_lpm *lpm, uint32_t ip, - uint8_t depth, uint32_t *next_hop), rte_lpm_is_rule_present_v1604); static int32_t -find_previous_rule_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth, +find_previous_rule(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, uint8_t *sub_rule_depth) { int32_t rule_index; @@ -1325,7 +738,7 @@ find_previous_rule_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth, for (prev_depth = (uint8_t)(depth - 1); prev_depth > 0; prev_depth--) { ip_masked = ip & depth_to_mask(prev_depth); - rule_index = rule_find_v20(lpm, ip_masked, prev_depth); + rule_index = rule_find(lpm, ip_masked, prev_depth); if (rule_index >= 0) { *sub_rule_depth = prev_depth; @@ -1337,133 +750,7 @@ find_previous_rule_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth, } static int32_t -find_previous_rule_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, - uint8_t *sub_rule_depth) -{ - int32_t rule_index; - uint32_t ip_masked; - uint8_t prev_depth; - - for (prev_depth = (uint8_t)(depth - 1); prev_depth > 0; prev_depth--) { - ip_masked = ip & depth_to_mask(prev_depth); - - rule_index = rule_find_v1604(lpm, ip_masked, prev_depth); - - if (rule_index >= 0) { - *sub_rule_depth = prev_depth; - return rule_index; - } - } - - return -1; -} - -static int32_t -delete_depth_small_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked, - uint8_t depth, int32_t sub_rule_index, uint8_t sub_rule_depth) -{ - uint32_t tbl24_range, tbl24_index, tbl8_group_index, tbl8_index, i, j; - - /* Calculate the range and index into Table24. */ - tbl24_range = depth_to_range(depth); - tbl24_index = (ip_masked >> 8); - - /* - * Firstly check the sub_rule_index. A -1 indicates no replacement rule - * and a positive number indicates a sub_rule_index. - */ - if (sub_rule_index < 0) { - /* - * If no replacement rule exists then invalidate entries - * associated with this rule. - */ - for (i = tbl24_index; i < (tbl24_index + tbl24_range); i++) { - - if (lpm->tbl24[i].valid_group == 0 && - lpm->tbl24[i].depth <= depth) { - struct rte_lpm_tbl_entry_v20 - zero_tbl24_entry = { - .valid = INVALID, - .depth = 0, - .valid_group = 0, - }; - zero_tbl24_entry.next_hop = 0; - __atomic_store(&lpm->tbl24[i], - &zero_tbl24_entry, __ATOMIC_RELEASE); - } else if (lpm->tbl24[i].valid_group == 1) { - /* - * If TBL24 entry is extended, then there has - * to be a rule with depth >= 25 in the - * associated TBL8 group. - */ - - tbl8_group_index = lpm->tbl24[i].group_idx; - tbl8_index = tbl8_group_index * - RTE_LPM_TBL8_GROUP_NUM_ENTRIES; - - for (j = tbl8_index; j < (tbl8_index + - RTE_LPM_TBL8_GROUP_NUM_ENTRIES); j++) { - - if (lpm->tbl8[j].depth <= depth) - lpm->tbl8[j].valid = INVALID; - } - } - } - } else { - /* - * If a replacement rule exists then modify entries - * associated with this rule. - */ - - struct rte_lpm_tbl_entry_v20 new_tbl24_entry = { - .next_hop = lpm->rules_tbl[sub_rule_index].next_hop, - .valid = VALID, - .valid_group = 0, - .depth = sub_rule_depth, - }; - - struct rte_lpm_tbl_entry_v20 new_tbl8_entry = { - .valid = VALID, - .valid_group = VALID, - .depth = sub_rule_depth, - }; - new_tbl8_entry.next_hop = - lpm->rules_tbl[sub_rule_index].next_hop; - - for (i = tbl24_index; i < (tbl24_index + tbl24_range); i++) { - - if (lpm->tbl24[i].valid_group == 0 && - lpm->tbl24[i].depth <= depth) { - __atomic_store(&lpm->tbl24[i], &new_tbl24_entry, - __ATOMIC_RELEASE); - } else if (lpm->tbl24[i].valid_group == 1) { - /* - * If TBL24 entry is extended, then there has - * to be a rule with depth >= 25 in the - * associated TBL8 group. - */ - - tbl8_group_index = lpm->tbl24[i].group_idx; - tbl8_index = tbl8_group_index * - RTE_LPM_TBL8_GROUP_NUM_ENTRIES; - - for (j = tbl8_index; j < (tbl8_index + - RTE_LPM_TBL8_GROUP_NUM_ENTRIES); j++) { - - if (lpm->tbl8[j].depth <= depth) - __atomic_store(&lpm->tbl8[j], - &new_tbl8_entry, - __ATOMIC_RELAXED); - } - } - } - } - - return 0; -} - -static int32_t -delete_depth_small_v1604(struct rte_lpm *lpm, uint32_t ip_masked, +delete_depth_small(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, int32_t sub_rule_index, uint8_t sub_rule_depth) { #define group_idx next_hop @@ -1570,54 +857,7 @@ delete_depth_small_v1604(struct rte_lpm *lpm, uint32_t ip_masked, * thus can be recycled */ static int32_t -tbl8_recycle_check_v20(struct rte_lpm_tbl_entry_v20 *tbl8, - uint32_t tbl8_group_start) -{ - uint32_t tbl8_group_end, i; - tbl8_group_end = tbl8_group_start + RTE_LPM_TBL8_GROUP_NUM_ENTRIES; - - /* - * Check the first entry of the given tbl8. If it is invalid we know - * this tbl8 does not contain any rule with a depth < RTE_LPM_MAX_DEPTH - * (As they would affect all entries in a tbl8) and thus this table - * can not be recycled. - */ - if (tbl8[tbl8_group_start].valid) { - /* - * If first entry is valid check if the depth is less than 24 - * and if so check the rest of the entries to verify that they - * are all of this depth. - */ - if (tbl8[tbl8_group_start].depth <= MAX_DEPTH_TBL24) { - for (i = (tbl8_group_start + 1); i < tbl8_group_end; - i++) { - - if (tbl8[i].depth != - tbl8[tbl8_group_start].depth) { - - return -EEXIST; - } - } - /* If all entries are the same return the tb8 index */ - return tbl8_group_start; - } - - return -EEXIST; - } - /* - * If the first entry is invalid check if the rest of the entries in - * the tbl8 are invalid. - */ - for (i = (tbl8_group_start + 1); i < tbl8_group_end; i++) { - if (tbl8[i].valid) - return -EEXIST; - } - /* If no valid entries are found then return -EINVAL. */ - return -EINVAL; -} - -static int32_t -tbl8_recycle_check_v1604(struct rte_lpm_tbl_entry *tbl8, +tbl8_recycle_check(struct rte_lpm_tbl_entry *tbl8, uint32_t tbl8_group_start) { uint32_t tbl8_group_end, i; @@ -1664,93 +904,7 @@ tbl8_recycle_check_v1604(struct rte_lpm_tbl_entry *tbl8, } static int32_t -delete_depth_big_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked, - uint8_t depth, int32_t sub_rule_index, uint8_t sub_rule_depth) -{ - uint32_t tbl24_index, tbl8_group_index, tbl8_group_start, tbl8_index, - tbl8_range, i; - int32_t tbl8_recycle_index; - - /* - * Calculate the index into tbl24 and range. Note: All depths larger - * than MAX_DEPTH_TBL24 are associated with only one tbl24 entry. - */ - tbl24_index = ip_masked >> 8; - - /* Calculate the index into tbl8 and range. */ - tbl8_group_index = lpm->tbl24[tbl24_index].group_idx; - tbl8_group_start = tbl8_group_index * RTE_LPM_TBL8_GROUP_NUM_ENTRIES; - tbl8_index = tbl8_group_start + (ip_masked & 0xFF); - tbl8_range = depth_to_range(depth); - - if (sub_rule_index < 0) { - /* - * Loop through the range of entries on tbl8 for which the - * rule_to_delete must be removed or modified. - */ - for (i = tbl8_index; i < (tbl8_index + tbl8_range); i++) { - if (lpm->tbl8[i].depth <= depth) - lpm->tbl8[i].valid = INVALID; - } - } else { - /* Set new tbl8 entry. */ - struct rte_lpm_tbl_entry_v20 new_tbl8_entry = { - .valid = VALID, - .depth = sub_rule_depth, - .valid_group = lpm->tbl8[tbl8_group_start].valid_group, - }; - - new_tbl8_entry.next_hop = - lpm->rules_tbl[sub_rule_index].next_hop; - /* - * Loop through the range of entries on tbl8 for which the - * rule_to_delete must be modified. - */ - for (i = tbl8_index; i < (tbl8_index + tbl8_range); i++) { - if (lpm->tbl8[i].depth <= depth) - __atomic_store(&lpm->tbl8[i], &new_tbl8_entry, - __ATOMIC_RELAXED); - } - } - - /* - * Check if there are any valid entries in this tbl8 group. If all - * tbl8 entries are invalid we can free the tbl8 and invalidate the - * associated tbl24 entry. - */ - - tbl8_recycle_index = tbl8_recycle_check_v20(lpm->tbl8, tbl8_group_start); - - if (tbl8_recycle_index == -EINVAL) { - /* Set tbl24 before freeing tbl8 to avoid race condition. - * Prevent the free of the tbl8 group from hoisting. - */ - lpm->tbl24[tbl24_index].valid = 0; - __atomic_thread_fence(__ATOMIC_RELEASE); - tbl8_free_v20(lpm->tbl8, tbl8_group_start); - } else if (tbl8_recycle_index > -1) { - /* Update tbl24 entry. */ - struct rte_lpm_tbl_entry_v20 new_tbl24_entry = { - .next_hop = lpm->tbl8[tbl8_recycle_index].next_hop, - .valid = VALID, - .valid_group = 0, - .depth = lpm->tbl8[tbl8_recycle_index].depth, - }; - - /* Set tbl24 before freeing tbl8 to avoid race condition. - * Prevent the free of the tbl8 group from hoisting. - */ - __atomic_store(&lpm->tbl24[tbl24_index], &new_tbl24_entry, - __ATOMIC_RELAXED); - __atomic_thread_fence(__ATOMIC_RELEASE); - tbl8_free_v20(lpm->tbl8, tbl8_group_start); - } - - return 0; -} - -static int32_t -delete_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, +delete_depth_big(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, int32_t sub_rule_index, uint8_t sub_rule_depth) { #define group_idx next_hop @@ -1805,7 +959,7 @@ delete_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, * associated tbl24 entry. */ - tbl8_recycle_index = tbl8_recycle_check_v1604(lpm->tbl8, tbl8_group_start); + tbl8_recycle_index = tbl8_recycle_check(lpm->tbl8, tbl8_group_start); if (tbl8_recycle_index == -EINVAL) { /* Set tbl24 before freeing tbl8 to avoid race condition. @@ -1813,7 +967,7 @@ delete_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, */ lpm->tbl24[tbl24_index].valid = 0; __atomic_thread_fence(__ATOMIC_RELEASE); - tbl8_free_v1604(lpm->tbl8, tbl8_group_start); + tbl8_free(lpm->tbl8, tbl8_group_start); } else if (tbl8_recycle_index > -1) { /* Update tbl24 entry. */ struct rte_lpm_tbl_entry new_tbl24_entry = { @@ -1829,7 +983,7 @@ delete_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, __atomic_store(&lpm->tbl24[tbl24_index], &new_tbl24_entry, __ATOMIC_RELAXED); __atomic_thread_fence(__ATOMIC_RELEASE); - tbl8_free_v1604(lpm->tbl8, tbl8_group_start); + tbl8_free(lpm->tbl8, tbl8_group_start); } #undef group_idx return 0; @@ -1839,60 +993,7 @@ delete_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, * Deletes a rule */ int -rte_lpm_delete_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth) -{ - int32_t rule_to_delete_index, sub_rule_index; - uint32_t ip_masked; - uint8_t sub_rule_depth; - /* - * Check input arguments. Note: IP must be a positive integer of 32 - * bits in length therefore it need not be checked. - */ - if ((lpm == NULL) || (depth < 1) || (depth > RTE_LPM_MAX_DEPTH)) { - return -EINVAL; - } - - ip_masked = ip & depth_to_mask(depth); - - /* - * Find the index of the input rule, that needs to be deleted, in the - * rule table. - */ - rule_to_delete_index = rule_find_v20(lpm, ip_masked, depth); - - /* - * Check if rule_to_delete_index was found. If no rule was found the - * function rule_find returns -EINVAL. - */ - if (rule_to_delete_index < 0) - return -EINVAL; - - /* Delete the rule from the rule table. */ - rule_delete_v20(lpm, rule_to_delete_index, depth); - - /* - * Find rule to replace the rule_to_delete. If there is no rule to - * replace the rule_to_delete we return -1 and invalidate the table - * entries associated with this rule. - */ - sub_rule_depth = 0; - sub_rule_index = find_previous_rule_v20(lpm, ip, depth, &sub_rule_depth); - - /* - * If the input depth value is less than 25 use function - * delete_depth_small otherwise use delete_depth_big. - */ - if (depth <= MAX_DEPTH_TBL24) { - return delete_depth_small_v20(lpm, ip_masked, depth, - sub_rule_index, sub_rule_depth); - } else { /* If depth > MAX_DEPTH_TBL24 */ - return delete_depth_big_v20(lpm, ip_masked, depth, sub_rule_index, - sub_rule_depth); - } -} - -int -rte_lpm_delete_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth) +rte_lpm_delete(struct rte_lpm *lpm, uint32_t ip, uint8_t depth) { int32_t rule_to_delete_index, sub_rule_index; uint32_t ip_masked; @@ -1911,7 +1012,7 @@ rte_lpm_delete_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth) * Find the index of the input rule, that needs to be deleted, in the * rule table. */ - rule_to_delete_index = rule_find_v1604(lpm, ip_masked, depth); + rule_to_delete_index = rule_find(lpm, ip_masked, depth); /* * Check if rule_to_delete_index was found. If no rule was found the @@ -1921,7 +1022,7 @@ rte_lpm_delete_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth) return -EINVAL; /* Delete the rule from the rule table. */ - rule_delete_v1604(lpm, rule_to_delete_index, depth); + rule_delete(lpm, rule_to_delete_index, depth); /* * Find rule to replace the rule_to_delete. If there is no rule to @@ -1929,45 +1030,26 @@ rte_lpm_delete_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth) * entries associated with this rule. */ sub_rule_depth = 0; - sub_rule_index = find_previous_rule_v1604(lpm, ip, depth, &sub_rule_depth); + sub_rule_index = find_previous_rule(lpm, ip, depth, &sub_rule_depth); /* * If the input depth value is less than 25 use function * delete_depth_small otherwise use delete_depth_big. */ if (depth <= MAX_DEPTH_TBL24) { - return delete_depth_small_v1604(lpm, ip_masked, depth, + return delete_depth_small(lpm, ip_masked, depth, sub_rule_index, sub_rule_depth); } else { /* If depth > MAX_DEPTH_TBL24 */ - return delete_depth_big_v1604(lpm, ip_masked, depth, sub_rule_index, + return delete_depth_big(lpm, ip_masked, depth, sub_rule_index, sub_rule_depth); } } -BIND_DEFAULT_SYMBOL(rte_lpm_delete, _v1604, 20.0); -MAP_STATIC_SYMBOL(int rte_lpm_delete(struct rte_lpm *lpm, uint32_t ip, - uint8_t depth), rte_lpm_delete_v1604); /* * Delete all rules from the LPM table. */ void -rte_lpm_delete_all_v20(struct rte_lpm_v20 *lpm) -{ - /* Zero rule information. */ - memset(lpm->rule_info, 0, sizeof(lpm->rule_info)); - - /* Zero tbl24. */ - memset(lpm->tbl24, 0, sizeof(lpm->tbl24)); - - /* Zero tbl8. */ - memset(lpm->tbl8, 0, sizeof(lpm->tbl8)); - - /* Delete all rules form the rules table. */ - memset(lpm->rules_tbl, 0, sizeof(lpm->rules_tbl[0]) * lpm->max_rules); -} - -void -rte_lpm_delete_all_v1604(struct rte_lpm *lpm) +rte_lpm_delete_all(struct rte_lpm *lpm) { /* Zero rule information. */ memset(lpm->rule_info, 0, sizeof(lpm->rule_info)); @@ -1982,6 +1064,3 @@ rte_lpm_delete_all_v1604(struct rte_lpm *lpm) /* Delete all rules form the rules table. */ memset(lpm->rules_tbl, 0, sizeof(lpm->rules_tbl[0]) * lpm->max_rules); } -BIND_DEFAULT_SYMBOL(rte_lpm_delete_all, _v1604, 20.0); -MAP_STATIC_SYMBOL(void rte_lpm_delete_all(struct rte_lpm *lpm), - rte_lpm_delete_all_v1604); diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h index 906ec4483..ca9627a14 100644 --- a/lib/librte_lpm/rte_lpm.h +++ b/lib/librte_lpm/rte_lpm.h @@ -65,31 +65,6 @@ extern "C" { #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN /** @internal Tbl24 entry structure. */ -__extension__ -struct rte_lpm_tbl_entry_v20 { - /** - * Stores Next hop (tbl8 or tbl24 when valid_group is not set) or - * a group index pointing to a tbl8 structure (tbl24 only, when - * valid_group is set) - */ - RTE_STD_C11 - union { - uint8_t next_hop; - uint8_t group_idx; - }; - /* Using single uint8_t to store 3 values. */ - uint8_t valid :1; /**< Validation flag. */ - /** - * For tbl24: - * - valid_group == 0: entry stores a next hop - * - valid_group == 1: entry stores a group_index pointing to a tbl8 - * For tbl8: - * - valid_group indicates whether the current tbl8 is in use or not - */ - uint8_t valid_group :1; - uint8_t depth :6; /**< Rule depth. */ -} __rte_aligned(sizeof(uint16_t)); - __extension__ struct rte_lpm_tbl_entry { /** @@ -112,16 +87,6 @@ struct rte_lpm_tbl_entry { }; #else -__extension__ -struct rte_lpm_tbl_entry_v20 { - uint8_t depth :6; - uint8_t valid_group :1; - uint8_t valid :1; - union { - uint8_t group_idx; - uint8_t next_hop; - }; -} __rte_aligned(sizeof(uint16_t)); __extension__ struct rte_lpm_tbl_entry { @@ -142,11 +107,6 @@ struct rte_lpm_config { }; /** @internal Rule structure. */ -struct rte_lpm_rule_v20 { - uint32_t ip; /**< Rule IP address. */ - uint8_t next_hop; /**< Rule next hop. */ -}; - struct rte_lpm_rule { uint32_t ip; /**< Rule IP address. */ uint32_t next_hop; /**< Rule next hop. */ @@ -159,21 +119,6 @@ struct rte_lpm_rule_info { }; /** @internal LPM structure. */ -struct rte_lpm_v20 { - /* LPM metadata. */ - char name[RTE_LPM_NAMESIZE]; /**< Name of the lpm. */ - uint32_t max_rules; /**< Max. balanced rules per lpm. */ - struct rte_lpm_rule_info rule_info[RTE_LPM_MAX_DEPTH]; /**< Rule info table. */ - - /* LPM Tables. */ - struct rte_lpm_tbl_entry_v20 tbl24[RTE_LPM_TBL24_NUM_ENTRIES] - __rte_cache_aligned; /**< LPM tbl24 table. */ - struct rte_lpm_tbl_entry_v20 tbl8[RTE_LPM_TBL8_NUM_ENTRIES] - __rte_cache_aligned; /**< LPM tbl8 table. */ - struct rte_lpm_rule_v20 rules_tbl[] - __rte_cache_aligned; /**< LPM rules. */ -}; - struct rte_lpm { /* LPM metadata. */ char name[RTE_LPM_NAMESIZE]; /**< Name of the lpm. */ @@ -210,11 +155,6 @@ struct rte_lpm { struct rte_lpm * rte_lpm_create(const char *name, int socket_id, const struct rte_lpm_config *config); -struct rte_lpm_v20 * -rte_lpm_create_v20(const char *name, int socket_id, int max_rules, int flags); -struct rte_lpm * -rte_lpm_create_v1604(const char *name, int socket_id, - const struct rte_lpm_config *config); /** * Find an existing LPM object and return a pointer to it. @@ -228,10 +168,6 @@ rte_lpm_create_v1604(const char *name, int socket_id, */ struct rte_lpm * rte_lpm_find_existing(const char *name); -struct rte_lpm_v20 * -rte_lpm_find_existing_v20(const char *name); -struct rte_lpm * -rte_lpm_find_existing_v1604(const char *name); /** * Free an LPM object. @@ -243,10 +179,6 @@ rte_lpm_find_existing_v1604(const char *name); */ void rte_lpm_free(struct rte_lpm *lpm); -void -rte_lpm_free_v20(struct rte_lpm_v20 *lpm); -void -rte_lpm_free_v1604(struct rte_lpm *lpm); /** * Add a rule to the LPM table. @@ -264,12 +196,6 @@ rte_lpm_free_v1604(struct rte_lpm *lpm); */ int rte_lpm_add(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, uint32_t next_hop); -int -rte_lpm_add_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth, - uint8_t next_hop); -int -rte_lpm_add_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, - uint32_t next_hop); /** * Check if a rule is present in the LPM table, @@ -289,12 +215,6 @@ rte_lpm_add_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, int rte_lpm_is_rule_present(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, uint32_t *next_hop); -int -rte_lpm_is_rule_present_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth, -uint8_t *next_hop); -int -rte_lpm_is_rule_present_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth, -uint32_t *next_hop); /** * Delete a rule from the LPM table. @@ -310,10 +230,6 @@ uint32_t *next_hop); */ int rte_lpm_delete(struct rte_lpm *lpm, uint32_t ip, uint8_t depth); -int -rte_lpm_delete_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth); -int -rte_lpm_delete_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth); /** * Delete all rules from the LPM table. @@ -323,10 +239,6 @@ rte_lpm_delete_v1604(struct rte_lpm *lpm, uint32_t ip, uint8_t depth); */ void rte_lpm_delete_all(struct rte_lpm *lpm); -void -rte_lpm_delete_all_v20(struct rte_lpm_v20 *lpm); -void -rte_lpm_delete_all_v1604(struct rte_lpm *lpm); /** * Lookup an IP into the LPM table. diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c index 44828f72c..b981e4071 100644 --- a/lib/librte_lpm/rte_lpm6.c +++ b/lib/librte_lpm/rte_lpm6.c @@ -808,17 +808,6 @@ add_step(struct rte_lpm6 *lpm, struct rte_lpm6_tbl_entry *tbl, return 1; } -/* - * Add a route - */ -int -rte_lpm6_add_v20(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, - uint8_t next_hop) -{ - return rte_lpm6_add_v1705(lpm, ip, depth, next_hop); -} - - /* * Simulate adding a route to LPM * @@ -840,7 +829,7 @@ simulate_add(struct rte_lpm6 *lpm, const uint8_t *masked_ip, uint8_t depth) /* Inspect the first three bytes through tbl24 on the first step. */ ret = simulate_add_step(lpm, lpm->tbl24, &tbl_next, masked_ip, - ADD_FIRST_BYTE, 1, depth, &need_tbl_nb); + ADD_FIRST_BYTE, 1, depth, &need_tbl_nb); total_need_tbl_nb = need_tbl_nb; /* * Inspect one by one the rest of the bytes until @@ -849,7 +838,7 @@ simulate_add(struct rte_lpm6 *lpm, const uint8_t *masked_ip, uint8_t depth) for (i = ADD_FIRST_BYTE; i < RTE_LPM6_IPV6_ADDR_SIZE && ret == 1; i++) { tbl = tbl_next; ret = simulate_add_step(lpm, tbl, &tbl_next, masked_ip, 1, - (uint8_t)(i+1), depth, &need_tbl_nb); + (uint8_t)(i + 1), depth, &need_tbl_nb); total_need_tbl_nb += need_tbl_nb; } @@ -860,9 +849,12 @@ simulate_add(struct rte_lpm6 *lpm, const uint8_t *masked_ip, uint8_t depth) return 0; } +/* + * Add a route + */ int -rte_lpm6_add_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, - uint32_t next_hop) +rte_lpm6_add(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, + uint32_t next_hop) { struct rte_lpm6_tbl_entry *tbl; struct rte_lpm6_tbl_entry *tbl_next = NULL; @@ -894,8 +886,8 @@ rte_lpm6_add_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, /* Inspect the first three bytes through tbl24 on the first step. */ tbl = lpm->tbl24; status = add_step(lpm, tbl, TBL24_IND, &tbl_next, &tbl_next_num, - masked_ip, ADD_FIRST_BYTE, 1, depth, next_hop, - is_new_rule); + masked_ip, ADD_FIRST_BYTE, 1, depth, next_hop, + is_new_rule); assert(status >= 0); /* @@ -905,17 +897,13 @@ rte_lpm6_add_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, for (i = ADD_FIRST_BYTE; i < RTE_LPM6_IPV6_ADDR_SIZE && status == 1; i++) { tbl = tbl_next; status = add_step(lpm, tbl, tbl_next_num, &tbl_next, - &tbl_next_num, masked_ip, 1, (uint8_t)(i+1), - depth, next_hop, is_new_rule); + &tbl_next_num, masked_ip, 1, (uint8_t)(i + 1), + depth, next_hop, is_new_rule); assert(status >= 0); } return status; } -BIND_DEFAULT_SYMBOL(rte_lpm6_add, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_lpm6_add(struct rte_lpm6 *lpm, uint8_t *ip, - uint8_t depth, uint32_t next_hop), - rte_lpm6_add_v1705); /* * Takes a pointer to a table entry and inspect one level. @@ -954,24 +942,7 @@ lookup_step(const struct rte_lpm6 *lpm, const struct rte_lpm6_tbl_entry *tbl, * Looks up an IP */ int -rte_lpm6_lookup_v20(const struct rte_lpm6 *lpm, uint8_t *ip, uint8_t *next_hop) -{ - uint32_t next_hop32 = 0; - int32_t status; - - /* DEBUG: Check user input arguments. */ - if (next_hop == NULL) - return -EINVAL; - - status = rte_lpm6_lookup_v1705(lpm, ip, &next_hop32); - if (status == 0) - *next_hop = (uint8_t)next_hop32; - - return status; -} - -int -rte_lpm6_lookup_v1705(const struct rte_lpm6 *lpm, uint8_t *ip, +rte_lpm6_lookup(const struct rte_lpm6 *lpm, uint8_t *ip, uint32_t *next_hop) { const struct rte_lpm6_tbl_entry *tbl; @@ -998,55 +969,12 @@ rte_lpm6_lookup_v1705(const struct rte_lpm6 *lpm, uint8_t *ip, return status; } -BIND_DEFAULT_SYMBOL(rte_lpm6_lookup, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_lpm6_lookup(const struct rte_lpm6 *lpm, uint8_t *ip, - uint32_t *next_hop), rte_lpm6_lookup_v1705); /* * Looks up a group of IP addresses */ int -rte_lpm6_lookup_bulk_func_v20(const struct rte_lpm6 *lpm, - uint8_t ips[][RTE_LPM6_IPV6_ADDR_SIZE], - int16_t * next_hops, unsigned n) -{ - unsigned i; - const struct rte_lpm6_tbl_entry *tbl; - const struct rte_lpm6_tbl_entry *tbl_next = NULL; - uint32_t tbl24_index, next_hop; - uint8_t first_byte; - int status; - - /* DEBUG: Check user input arguments. */ - if ((lpm == NULL) || (ips == NULL) || (next_hops == NULL)) - return -EINVAL; - - for (i = 0; i < n; i++) { - first_byte = LOOKUP_FIRST_BYTE; - tbl24_index = (ips[i][0] << BYTES2_SIZE) | - (ips[i][1] << BYTE_SIZE) | ips[i][2]; - - /* Calculate pointer to the first entry to be inspected */ - tbl = &lpm->tbl24[tbl24_index]; - - do { - /* Continue inspecting following levels until success or failure */ - status = lookup_step(lpm, tbl, &tbl_next, ips[i], first_byte++, - &next_hop); - tbl = tbl_next; - } while (status == 1); - - if (status < 0) - next_hops[i] = -1; - else - next_hops[i] = (int16_t)next_hop; - } - - return 0; -} - -int -rte_lpm6_lookup_bulk_func_v1705(const struct rte_lpm6 *lpm, +rte_lpm6_lookup_bulk_func(const struct rte_lpm6 *lpm, uint8_t ips[][RTE_LPM6_IPV6_ADDR_SIZE], int32_t *next_hops, unsigned int n) { @@ -1086,36 +1014,12 @@ rte_lpm6_lookup_bulk_func_v1705(const struct rte_lpm6 *lpm, return 0; } -BIND_DEFAULT_SYMBOL(rte_lpm6_lookup_bulk_func, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_lpm6_lookup_bulk_func(const struct rte_lpm6 *lpm, - uint8_t ips[][RTE_LPM6_IPV6_ADDR_SIZE], - int32_t *next_hops, unsigned int n), - rte_lpm6_lookup_bulk_func_v1705); /* * Look for a rule in the high-level rules table */ int -rte_lpm6_is_rule_present_v20(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, - uint8_t *next_hop) -{ - uint32_t next_hop32 = 0; - int32_t status; - - /* DEBUG: Check user input arguments. */ - if (next_hop == NULL) - return -EINVAL; - - status = rte_lpm6_is_rule_present_v1705(lpm, ip, depth, &next_hop32); - if (status > 0) - *next_hop = (uint8_t)next_hop32; - - return status; - -} - -int -rte_lpm6_is_rule_present_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, +rte_lpm6_is_rule_present(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, uint32_t *next_hop) { uint8_t masked_ip[RTE_LPM6_IPV6_ADDR_SIZE]; @@ -1131,10 +1035,6 @@ rte_lpm6_is_rule_present_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, return rule_find(lpm, masked_ip, depth, next_hop); } -BIND_DEFAULT_SYMBOL(rte_lpm6_is_rule_present, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_lpm6_is_rule_present(struct rte_lpm6 *lpm, - uint8_t *ip, uint8_t depth, uint32_t *next_hop), - rte_lpm6_is_rule_present_v1705); /* * Delete a rule from the rule table. diff --git a/lib/librte_lpm/rte_lpm6.h b/lib/librte_lpm/rte_lpm6.h index 5d59ccb1f..37dfb2024 100644 --- a/lib/librte_lpm/rte_lpm6.h +++ b/lib/librte_lpm/rte_lpm6.h @@ -96,12 +96,6 @@ rte_lpm6_free(struct rte_lpm6 *lpm); int rte_lpm6_add(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, uint32_t next_hop); -int -rte_lpm6_add_v20(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, - uint8_t next_hop); -int -rte_lpm6_add_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, - uint32_t next_hop); /** * Check if a rule is present in the LPM table, @@ -121,12 +115,6 @@ rte_lpm6_add_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, int rte_lpm6_is_rule_present(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, uint32_t *next_hop); -int -rte_lpm6_is_rule_present_v20(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, - uint8_t *next_hop); -int -rte_lpm6_is_rule_present_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, - uint32_t *next_hop); /** * Delete a rule from the LPM table. @@ -184,11 +172,6 @@ rte_lpm6_delete_all(struct rte_lpm6 *lpm); */ int rte_lpm6_lookup(const struct rte_lpm6 *lpm, uint8_t *ip, uint32_t *next_hop); -int -rte_lpm6_lookup_v20(const struct rte_lpm6 *lpm, uint8_t *ip, uint8_t *next_hop); -int -rte_lpm6_lookup_v1705(const struct rte_lpm6 *lpm, uint8_t *ip, - uint32_t *next_hop); /** * Lookup multiple IP addresses in an LPM table. @@ -210,14 +193,6 @@ int rte_lpm6_lookup_bulk_func(const struct rte_lpm6 *lpm, uint8_t ips[][RTE_LPM6_IPV6_ADDR_SIZE], int32_t *next_hops, unsigned int n); -int -rte_lpm6_lookup_bulk_func_v20(const struct rte_lpm6 *lpm, - uint8_t ips[][RTE_LPM6_IPV6_ADDR_SIZE], - int16_t *next_hops, unsigned int n); -int -rte_lpm6_lookup_bulk_func_v1705(const struct rte_lpm6 *lpm, - uint8_t ips[][RTE_LPM6_IPV6_ADDR_SIZE], - int32_t *next_hops, unsigned int n); #ifdef __cplusplus } From patchwork Mon Sep 30 09:21:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Baran X-Patchwork-Id: 60155 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C2C3E1B9B5; Mon, 30 Sep 2019 11:23:01 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 178DA1B9A9 for ; Mon, 30 Sep 2019 11:22:59 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Sep 2019 02:22:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,565,1559545200"; d="scan'208";a="204792678" Received: from baranmx-mobl.ger.corp.intel.com ([10.103.104.83]) by fmsmga001.fm.intel.com with ESMTP; 30 Sep 2019 02:22:57 -0700 From: Marcin Baran To: dev@dpdk.org, bruce.richardson@intel.com, ray.kinsella@intel.com Cc: Marcin Baran Date: Mon, 30 Sep 2019 11:21:38 +0200 Message-Id: <20190930092139.2440-7-marcinx.baran@intel.com> X-Mailer: git-send-email 2.22.0.windows.1 In-Reply-To: <20190930092139.2440-1-marcinx.baran@intel.com> References: <20190930092139.2440-1-marcinx.baran@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 7/8] lib: remove dead code from distributor X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" After updating ABI policy old and unused code needs to be removed and all libraries symbols version should be set to v20. Signed-off-by: Marcin Baran --- lib/librte_distributor/rte_distributor.c | 56 +++-------------- .../rte_distributor_v1705.h | 61 ------------------- 2 files changed, 9 insertions(+), 108 deletions(-) delete mode 100644 lib/librte_distributor/rte_distributor_v1705.h diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c index edc942317..ca3f21b83 100644 --- a/lib/librte_distributor/rte_distributor.c +++ b/lib/librte_distributor/rte_distributor.c @@ -19,7 +19,6 @@ #include "rte_distributor_private.h" #include "rte_distributor.h" #include "rte_distributor_v20.h" -#include "rte_distributor_v1705.h" TAILQ_HEAD(rte_dist_burst_list, rte_distributor); @@ -33,7 +32,7 @@ EAL_REGISTER_TAILQ(rte_dist_burst_tailq) /**** Burst Packet APIs called by workers ****/ void -rte_distributor_request_pkt_v1705(struct rte_distributor *d, +rte_distributor_request_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **oldpkt, unsigned int count) { @@ -78,14 +77,9 @@ rte_distributor_request_pkt_v1705(struct rte_distributor *d, */ *retptr64 |= RTE_DISTRIB_GET_BUF; } -BIND_DEFAULT_SYMBOL(rte_distributor_request_pkt, _v1705, 20.0); -MAP_STATIC_SYMBOL(void rte_distributor_request_pkt(struct rte_distributor *d, - unsigned int worker_id, struct rte_mbuf **oldpkt, - unsigned int count), - rte_distributor_request_pkt_v1705); int -rte_distributor_poll_pkt_v1705(struct rte_distributor *d, +rte_distributor_poll_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **pkts) { struct rte_distributor_buffer *buf = &d->bufs[worker_id]; @@ -119,13 +113,9 @@ rte_distributor_poll_pkt_v1705(struct rte_distributor *d, return count; } -BIND_DEFAULT_SYMBOL(rte_distributor_poll_pkt, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_distributor_poll_pkt(struct rte_distributor *d, - unsigned int worker_id, struct rte_mbuf **pkts), - rte_distributor_poll_pkt_v1705); int -rte_distributor_get_pkt_v1705(struct rte_distributor *d, +rte_distributor_get_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **pkts, struct rte_mbuf **oldpkt, unsigned int return_count) { @@ -153,14 +143,9 @@ rte_distributor_get_pkt_v1705(struct rte_distributor *d, } return count; } -BIND_DEFAULT_SYMBOL(rte_distributor_get_pkt, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_distributor_get_pkt(struct rte_distributor *d, - unsigned int worker_id, struct rte_mbuf **pkts, - struct rte_mbuf **oldpkt, unsigned int return_count), - rte_distributor_get_pkt_v1705); int -rte_distributor_return_pkt_v1705(struct rte_distributor *d, +rte_distributor_return_pkt(struct rte_distributor *d, unsigned int worker_id, struct rte_mbuf **oldpkt, int num) { struct rte_distributor_buffer *buf = &d->bufs[worker_id]; @@ -187,10 +172,6 @@ rte_distributor_return_pkt_v1705(struct rte_distributor *d, return 0; } -BIND_DEFAULT_SYMBOL(rte_distributor_return_pkt, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_distributor_return_pkt(struct rte_distributor *d, - unsigned int worker_id, struct rte_mbuf **oldpkt, int num), - rte_distributor_return_pkt_v1705); /**** APIs called on distributor core ***/ @@ -336,7 +317,7 @@ release(struct rte_distributor *d, unsigned int wkr) /* process a set of packets to distribute them to workers */ int -rte_distributor_process_v1705(struct rte_distributor *d, +rte_distributor_process(struct rte_distributor *d, struct rte_mbuf **mbufs, unsigned int num_mbufs) { unsigned int next_idx = 0; @@ -470,14 +451,10 @@ rte_distributor_process_v1705(struct rte_distributor *d, return num_mbufs; } -BIND_DEFAULT_SYMBOL(rte_distributor_process, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_distributor_process(struct rte_distributor *d, - struct rte_mbuf **mbufs, unsigned int num_mbufs), - rte_distributor_process_v1705); /* return to the caller, packets returned from workers */ int -rte_distributor_returned_pkts_v1705(struct rte_distributor *d, +rte_distributor_returned_pkts(struct rte_distributor *d, struct rte_mbuf **mbufs, unsigned int max_mbufs) { struct rte_distributor_returned_pkts *returns = &d->returns; @@ -502,10 +479,6 @@ rte_distributor_returned_pkts_v1705(struct rte_distributor *d, return retval; } -BIND_DEFAULT_SYMBOL(rte_distributor_returned_pkts, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_distributor_returned_pkts(struct rte_distributor *d, - struct rte_mbuf **mbufs, unsigned int max_mbufs), - rte_distributor_returned_pkts_v1705); /* * Return the number of packets in-flight in a distributor, i.e. packets @@ -527,7 +500,7 @@ total_outstanding(const struct rte_distributor *d) * queued up. */ int -rte_distributor_flush_v1705(struct rte_distributor *d) +rte_distributor_flush(struct rte_distributor *d) { unsigned int flushed; unsigned int wkr; @@ -556,13 +529,10 @@ rte_distributor_flush_v1705(struct rte_distributor *d) return flushed; } -BIND_DEFAULT_SYMBOL(rte_distributor_flush, _v1705, 20.0); -MAP_STATIC_SYMBOL(int rte_distributor_flush(struct rte_distributor *d), - rte_distributor_flush_v1705); /* clears the internal returns array in the distributor */ void -rte_distributor_clear_returns_v1705(struct rte_distributor *d) +rte_distributor_clear_returns(struct rte_distributor *d) { unsigned int wkr; @@ -576,13 +546,10 @@ rte_distributor_clear_returns_v1705(struct rte_distributor *d) for (wkr = 0; wkr < d->num_workers; wkr++) d->bufs[wkr].retptr64[0] = 0; } -BIND_DEFAULT_SYMBOL(rte_distributor_clear_returns, _v1705, 20.0); -MAP_STATIC_SYMBOL(void rte_distributor_clear_returns(struct rte_distributor *d), - rte_distributor_clear_returns_v1705); /* creates a distributor instance */ struct rte_distributor * -rte_distributor_create_v1705(const char *name, +rte_distributor_create(const char *name, unsigned int socket_id, unsigned int num_workers, unsigned int alg_type) @@ -656,8 +623,3 @@ rte_distributor_create_v1705(const char *name, return d; } -BIND_DEFAULT_SYMBOL(rte_distributor_create, _v1705, 20.0); -MAP_STATIC_SYMBOL(struct rte_distributor *rte_distributor_create( - const char *name, unsigned int socket_id, - unsigned int num_workers, unsigned int alg_type), - rte_distributor_create_v1705); diff --git a/lib/librte_distributor/rte_distributor_v1705.h b/lib/librte_distributor/rte_distributor_v1705.h deleted file mode 100644 index df4d9e815..000000000 --- a/lib/librte_distributor/rte_distributor_v1705.h +++ /dev/null @@ -1,61 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2017 Intel Corporation - */ - -#ifndef _RTE_DISTRIB_V1705_H_ -#define _RTE_DISTRIB_V1705_H_ - -/** - * @file - * RTE distributor - * - * The distributor is a component which is designed to pass packets - * one-at-a-time to workers, with dynamic load balancing. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -struct rte_distributor * -rte_distributor_create_v1705(const char *name, unsigned int socket_id, - unsigned int num_workers, - unsigned int alg_type); - -int -rte_distributor_process_v1705(struct rte_distributor *d, - struct rte_mbuf **mbufs, unsigned int num_mbufs); - -int -rte_distributor_returned_pkts_v1705(struct rte_distributor *d, - struct rte_mbuf **mbufs, unsigned int max_mbufs); - -int -rte_distributor_flush_v1705(struct rte_distributor *d); - -void -rte_distributor_clear_returns_v1705(struct rte_distributor *d); - -int -rte_distributor_get_pkt_v1705(struct rte_distributor *d, - unsigned int worker_id, struct rte_mbuf **pkts, - struct rte_mbuf **oldpkt, unsigned int retcount); - -int -rte_distributor_return_pkt_v1705(struct rte_distributor *d, - unsigned int worker_id, struct rte_mbuf **oldpkt, int num); - -void -rte_distributor_request_pkt_v1705(struct rte_distributor *d, - unsigned int worker_id, struct rte_mbuf **oldpkt, - unsigned int count); - -int -rte_distributor_poll_pkt_v1705(struct rte_distributor *d, - unsigned int worker_id, struct rte_mbuf **mbufs); - -#ifdef __cplusplus -} -#endif - -#endif From patchwork Mon Sep 30 09:21:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Baran X-Patchwork-Id: 60156 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D65BB4C9D; Mon, 30 Sep 2019 11:23:04 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id AF9401BE0C for ; Mon, 30 Sep 2019 11:23:02 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Sep 2019 02:23:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,565,1559545200"; d="scan'208";a="204792705" Received: from baranmx-mobl.ger.corp.intel.com ([10.103.104.83]) by fmsmga001.fm.intel.com with ESMTP; 30 Sep 2019 02:23:00 -0700 From: Marcin Baran To: dev@dpdk.org, bruce.richardson@intel.com, ray.kinsella@intel.com Cc: Marcin Baran Date: Mon, 30 Sep 2019 11:21:39 +0200 Message-Id: <20190930092139.2440-8-marcinx.baran@intel.com> X-Mailer: git-send-email 2.22.0.windows.1 In-Reply-To: <20190930092139.2440-1-marcinx.baran@intel.com> References: <20190930092139.2440-1-marcinx.baran@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 8/8] lib: change function suffix in distributor X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The functions and structures version 2.0 is still in use in librte_distributor for single packet mode but the version suffix "_v20" needs to be changed to "_single" in order to avoid confusion. Signed-off-by: Marcin Baran --- lib/librte_distributor/Makefile | 2 +- lib/librte_distributor/meson.build | 2 +- lib/librte_distributor/rte_distributor.c | 24 +++++----- .../rte_distributor_private.h | 10 ++-- ...ributor_v20.c => rte_distributor_single.c} | 48 +++++++++---------- ...ributor_v20.h => rte_distributor_single.h} | 26 +++++----- 6 files changed, 57 insertions(+), 55 deletions(-) rename lib/librte_distributor/{rte_distributor_v20.c => rte_distributor_single.c} (87%) rename lib/librte_distributor/{rte_distributor_v20.h => rte_distributor_single.h} (89%) diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile index 0ef80dcff..d9d008916 100644 --- a/lib/librte_distributor/Makefile +++ b/lib/librte_distributor/Makefile @@ -15,7 +15,7 @@ EXPORT_MAP := rte_distributor_version.map LIBABIVER := 1 # all source are stored in SRCS-y -SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor_v20.c +SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor_single.c SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor.c ifeq ($(CONFIG_RTE_ARCH_X86),y) SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor_match_sse.c diff --git a/lib/librte_distributor/meson.build b/lib/librte_distributor/meson.build index dba7e3b2a..bd12ddb2f 100644 --- a/lib/librte_distributor/meson.build +++ b/lib/librte_distributor/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -sources = files('rte_distributor.c', 'rte_distributor_v20.c') +sources = files('rte_distributor.c', 'rte_distributor_single.c') if arch_subdir == 'x86' sources += files('rte_distributor_match_sse.c') else diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c index ca3f21b83..b4fc0bfea 100644 --- a/lib/librte_distributor/rte_distributor.c +++ b/lib/librte_distributor/rte_distributor.c @@ -18,7 +18,7 @@ #include "rte_distributor_private.h" #include "rte_distributor.h" -#include "rte_distributor_v20.h" +#include "rte_distributor_single.h" TAILQ_HEAD(rte_dist_burst_list, rte_distributor); @@ -42,7 +42,7 @@ rte_distributor_request_pkt(struct rte_distributor *d, volatile int64_t *retptr64; if (unlikely(d->alg_type == RTE_DIST_ALG_SINGLE)) { - rte_distributor_request_pkt_v20(d->d_v20, + rte_distributor_request_pkt_single(d->d_single, worker_id, oldpkt[0]); return; } @@ -88,7 +88,8 @@ rte_distributor_poll_pkt(struct rte_distributor *d, unsigned int i; if (unlikely(d->alg_type == RTE_DIST_ALG_SINGLE)) { - pkts[0] = rte_distributor_poll_pkt_v20(d->d_v20, worker_id); + pkts[0] = rte_distributor_poll_pkt_single(d->d_single, + worker_id); return (pkts[0]) ? 1 : 0; } @@ -123,7 +124,7 @@ rte_distributor_get_pkt(struct rte_distributor *d, if (unlikely(d->alg_type == RTE_DIST_ALG_SINGLE)) { if (return_count <= 1) { - pkts[0] = rte_distributor_get_pkt_v20(d->d_v20, + pkts[0] = rte_distributor_get_pkt_single(d->d_single, worker_id, oldpkt[0]); return (pkts[0]) ? 1 : 0; } else @@ -153,7 +154,7 @@ rte_distributor_return_pkt(struct rte_distributor *d, if (unlikely(d->alg_type == RTE_DIST_ALG_SINGLE)) { if (num == 1) - return rte_distributor_return_pkt_v20(d->d_v20, + return rte_distributor_return_pkt_single(d->d_single, worker_id, oldpkt[0]); else return -EINVAL; @@ -330,7 +331,8 @@ rte_distributor_process(struct rte_distributor *d, if (d->alg_type == RTE_DIST_ALG_SINGLE) { /* Call the old API */ - return rte_distributor_process_v20(d->d_v20, mbufs, num_mbufs); + return rte_distributor_process_single(d->d_single, + mbufs, num_mbufs); } if (unlikely(num_mbufs == 0)) { @@ -464,7 +466,7 @@ rte_distributor_returned_pkts(struct rte_distributor *d, if (d->alg_type == RTE_DIST_ALG_SINGLE) { /* Call the old API */ - return rte_distributor_returned_pkts_v20(d->d_v20, + return rte_distributor_returned_pkts_single(d->d_single, mbufs, max_mbufs); } @@ -507,7 +509,7 @@ rte_distributor_flush(struct rte_distributor *d) if (d->alg_type == RTE_DIST_ALG_SINGLE) { /* Call the old API */ - return rte_distributor_flush_v20(d->d_v20); + return rte_distributor_flush_single(d->d_single); } flushed = total_outstanding(d); @@ -538,7 +540,7 @@ rte_distributor_clear_returns(struct rte_distributor *d) if (d->alg_type == RTE_DIST_ALG_SINGLE) { /* Call the old API */ - rte_distributor_clear_returns_v20(d->d_v20); + rte_distributor_clear_returns_single(d->d_single); return; } @@ -578,9 +580,9 @@ rte_distributor_create(const char *name, rte_errno = ENOMEM; return NULL; } - d->d_v20 = rte_distributor_create_v20(name, + d->d_single = rte_distributor_create_single(name, socket_id, num_workers); - if (d->d_v20 == NULL) { + if (d->d_single == NULL) { free(d); /* rte_errno will have been set */ return NULL; diff --git a/lib/librte_distributor/rte_distributor_private.h b/lib/librte_distributor/rte_distributor_private.h index 33cd89410..bdb62b6e9 100644 --- a/lib/librte_distributor/rte_distributor_private.h +++ b/lib/librte_distributor/rte_distributor_private.h @@ -55,7 +55,7 @@ extern "C" { * the next cache line to worker 0, we pad this out to three cache lines. * Only 64-bits of the memory is actually used though. */ -union rte_distributor_buffer_v20 { +union rte_distributor_buffer_single { volatile int64_t bufptr64; char pad[RTE_CACHE_LINE_SIZE*3]; } __rte_cache_aligned; @@ -80,8 +80,8 @@ struct rte_distributor_returned_pkts { struct rte_mbuf *mbufs[RTE_DISTRIB_MAX_RETURNS]; }; -struct rte_distributor_v20 { - TAILQ_ENTRY(rte_distributor_v20) next; /**< Next in list. */ +struct rte_distributor_single { + TAILQ_ENTRY(rte_distributor_single) next; /**< Next in list. */ char name[RTE_DISTRIBUTOR_NAMESIZE]; /**< Name of the ring. */ unsigned int num_workers; /**< Number of workers polling */ @@ -96,7 +96,7 @@ struct rte_distributor_v20 { struct rte_distributor_backlog backlog[RTE_DISTRIB_MAX_WORKERS]; - union rte_distributor_buffer_v20 bufs[RTE_DISTRIB_MAX_WORKERS]; + union rte_distributor_buffer_single bufs[RTE_DISTRIB_MAX_WORKERS]; struct rte_distributor_returned_pkts returns; }; @@ -154,7 +154,7 @@ struct rte_distributor { enum rte_distributor_match_function dist_match_fn; - struct rte_distributor_v20 *d_v20; + struct rte_distributor_single *d_single; }; void diff --git a/lib/librte_distributor/rte_distributor_v20.c b/lib/librte_distributor/rte_distributor_single.c similarity index 87% rename from lib/librte_distributor/rte_distributor_v20.c rename to lib/librte_distributor/rte_distributor_single.c index 14ee0360e..9a6ef826c 100644 --- a/lib/librte_distributor/rte_distributor_v20.c +++ b/lib/librte_distributor/rte_distributor_single.c @@ -15,10 +15,10 @@ #include #include -#include "rte_distributor_v20.h" +#include "rte_distributor_single.h" #include "rte_distributor_private.h" -TAILQ_HEAD(rte_distributor_list, rte_distributor_v20); +TAILQ_HEAD(rte_distributor_list, rte_distributor_single); static struct rte_tailq_elem rte_distributor_tailq = { .name = "RTE_DISTRIBUTOR", @@ -28,10 +28,10 @@ EAL_REGISTER_TAILQ(rte_distributor_tailq) /**** APIs called by workers ****/ void -rte_distributor_request_pkt_v20(struct rte_distributor_v20 *d, +rte_distributor_request_pkt_single(struct rte_distributor_single *d, unsigned worker_id, struct rte_mbuf *oldpkt) { - union rte_distributor_buffer_v20 *buf = &d->bufs[worker_id]; + union rte_distributor_buffer_single *buf = &d->bufs[worker_id]; int64_t req = (((int64_t)(uintptr_t)oldpkt) << RTE_DISTRIB_FLAG_BITS) | RTE_DISTRIB_GET_BUF; while (unlikely(buf->bufptr64 & RTE_DISTRIB_FLAGS_MASK)) @@ -40,10 +40,10 @@ rte_distributor_request_pkt_v20(struct rte_distributor_v20 *d, } struct rte_mbuf * -rte_distributor_poll_pkt_v20(struct rte_distributor_v20 *d, +rte_distributor_poll_pkt_single(struct rte_distributor_single *d, unsigned worker_id) { - union rte_distributor_buffer_v20 *buf = &d->bufs[worker_id]; + union rte_distributor_buffer_single *buf = &d->bufs[worker_id]; if (buf->bufptr64 & RTE_DISTRIB_GET_BUF) return NULL; @@ -53,21 +53,21 @@ rte_distributor_poll_pkt_v20(struct rte_distributor_v20 *d, } struct rte_mbuf * -rte_distributor_get_pkt_v20(struct rte_distributor_v20 *d, +rte_distributor_get_pkt_single(struct rte_distributor_single *d, unsigned worker_id, struct rte_mbuf *oldpkt) { struct rte_mbuf *ret; - rte_distributor_request_pkt_v20(d, worker_id, oldpkt); - while ((ret = rte_distributor_poll_pkt_v20(d, worker_id)) == NULL) + rte_distributor_request_pkt_single(d, worker_id, oldpkt); + while ((ret = rte_distributor_poll_pkt_single(d, worker_id)) == NULL) rte_pause(); return ret; } int -rte_distributor_return_pkt_v20(struct rte_distributor_v20 *d, +rte_distributor_return_pkt_single(struct rte_distributor_single *d, unsigned worker_id, struct rte_mbuf *oldpkt) { - union rte_distributor_buffer_v20 *buf = &d->bufs[worker_id]; + union rte_distributor_buffer_single *buf = &d->bufs[worker_id]; uint64_t req = (((int64_t)(uintptr_t)oldpkt) << RTE_DISTRIB_FLAG_BITS) | RTE_DISTRIB_RETURN_BUF; buf->bufptr64 = req; @@ -98,7 +98,7 @@ backlog_pop(struct rte_distributor_backlog *bl) /* stores a packet returned from a worker inside the returns array */ static inline void -store_return(uintptr_t oldbuf, struct rte_distributor_v20 *d, +store_return(uintptr_t oldbuf, struct rte_distributor_single *d, unsigned *ret_start, unsigned *ret_count) { /* store returns in a circular buffer - code is branch-free */ @@ -109,7 +109,7 @@ store_return(uintptr_t oldbuf, struct rte_distributor_v20 *d, } static inline void -handle_worker_shutdown(struct rte_distributor_v20 *d, unsigned int wkr) +handle_worker_shutdown(struct rte_distributor_single *d, unsigned int wkr) { d->in_flight_tags[wkr] = 0; d->in_flight_bitmask &= ~(1UL << wkr); @@ -139,7 +139,7 @@ handle_worker_shutdown(struct rte_distributor_v20 *d, unsigned int wkr) * Note that the tags were set before first level call * to rte_distributor_process. */ - rte_distributor_process_v20(d, pkts, i); + rte_distributor_process_single(d, pkts, i); bl->count = bl->start = 0; } } @@ -149,7 +149,7 @@ handle_worker_shutdown(struct rte_distributor_v20 *d, unsigned int wkr) * to do a partial flush. */ static int -process_returns(struct rte_distributor_v20 *d) +process_returns(struct rte_distributor_single *d) { unsigned wkr; unsigned flushed = 0; @@ -188,7 +188,7 @@ process_returns(struct rte_distributor_v20 *d) /* process a set of packets to distribute them to workers */ int -rte_distributor_process_v20(struct rte_distributor_v20 *d, +rte_distributor_process_single(struct rte_distributor_single *d, struct rte_mbuf **mbufs, unsigned num_mbufs) { unsigned next_idx = 0; @@ -292,7 +292,7 @@ rte_distributor_process_v20(struct rte_distributor_v20 *d, /* return to the caller, packets returned from workers */ int -rte_distributor_returned_pkts_v20(struct rte_distributor_v20 *d, +rte_distributor_returned_pkts_single(struct rte_distributor_single *d, struct rte_mbuf **mbufs, unsigned max_mbufs) { struct rte_distributor_returned_pkts *returns = &d->returns; @@ -314,7 +314,7 @@ rte_distributor_returned_pkts_v20(struct rte_distributor_v20 *d, * being worked on or queued up in a backlog. */ static inline unsigned -total_outstanding(const struct rte_distributor_v20 *d) +total_outstanding(const struct rte_distributor_single *d) { unsigned wkr, total_outstanding; @@ -329,19 +329,19 @@ total_outstanding(const struct rte_distributor_v20 *d) /* flush the distributor, so that there are no outstanding packets in flight or * queued up. */ int -rte_distributor_flush_v20(struct rte_distributor_v20 *d) +rte_distributor_flush_single(struct rte_distributor_single *d) { const unsigned flushed = total_outstanding(d); while (total_outstanding(d) > 0) - rte_distributor_process_v20(d, NULL, 0); + rte_distributor_process_single(d, NULL, 0); return flushed; } /* clears the internal returns array in the distributor */ void -rte_distributor_clear_returns_v20(struct rte_distributor_v20 *d) +rte_distributor_clear_returns_single(struct rte_distributor_single *d) { d->returns.start = d->returns.count = 0; #ifndef __OPTIMIZE__ @@ -350,12 +350,12 @@ rte_distributor_clear_returns_v20(struct rte_distributor_v20 *d) } /* creates a distributor instance */ -struct rte_distributor_v20 * -rte_distributor_create_v20(const char *name, +struct rte_distributor_single * +rte_distributor_create_single(const char *name, unsigned socket_id, unsigned num_workers) { - struct rte_distributor_v20 *d; + struct rte_distributor_single *d; struct rte_distributor_list *distributor_list; char mz_name[RTE_MEMZONE_NAMESIZE]; const struct rte_memzone *mz; diff --git a/lib/librte_distributor/rte_distributor_v20.h b/lib/librte_distributor/rte_distributor_single.h similarity index 89% rename from lib/librte_distributor/rte_distributor_v20.h rename to lib/librte_distributor/rte_distributor_single.h index 12865658b..2f80aa43d 100644 --- a/lib/librte_distributor/rte_distributor_v20.h +++ b/lib/librte_distributor/rte_distributor_single.h @@ -2,8 +2,8 @@ * Copyright(c) 2010-2014 Intel Corporation */ -#ifndef _RTE_DISTRIB_V20_H_ -#define _RTE_DISTRIB_V20_H_ +#ifndef _RTE_DISTRIB_SINGLE_H_ +#define _RTE_DISTRIB_SINGLE_H_ /** * @file @@ -19,7 +19,7 @@ extern "C" { #define RTE_DISTRIBUTOR_NAMESIZE 32 /**< Length of name for instance */ -struct rte_distributor_v20; +struct rte_distributor_single; struct rte_mbuf; /** @@ -38,8 +38,8 @@ struct rte_mbuf; * @return * The newly created distributor instance */ -struct rte_distributor_v20 * -rte_distributor_create_v20(const char *name, unsigned int socket_id, +struct rte_distributor_single * +rte_distributor_create_single(const char *name, unsigned int socket_id, unsigned int num_workers); /* *** APIS to be called on the distributor lcore *** */ @@ -74,7 +74,7 @@ rte_distributor_create_v20(const char *name, unsigned int socket_id, * The number of mbufs processed. */ int -rte_distributor_process_v20(struct rte_distributor_v20 *d, +rte_distributor_process_single(struct rte_distributor_single *d, struct rte_mbuf **mbufs, unsigned int num_mbufs); /** @@ -92,7 +92,7 @@ rte_distributor_process_v20(struct rte_distributor_v20 *d, * The number of mbufs returned in the mbufs array. */ int -rte_distributor_returned_pkts_v20(struct rte_distributor_v20 *d, +rte_distributor_returned_pkts_single(struct rte_distributor_single *d, struct rte_mbuf **mbufs, unsigned int max_mbufs); /** @@ -107,7 +107,7 @@ rte_distributor_returned_pkts_v20(struct rte_distributor_v20 *d, * The number of queued/in-flight packets that were completed by this call. */ int -rte_distributor_flush_v20(struct rte_distributor_v20 *d); +rte_distributor_flush_single(struct rte_distributor_single *d); /** * Clears the array of returned packets used as the source for the @@ -119,7 +119,7 @@ rte_distributor_flush_v20(struct rte_distributor_v20 *d); * The distributor instance to be used */ void -rte_distributor_clear_returns_v20(struct rte_distributor_v20 *d); +rte_distributor_clear_returns_single(struct rte_distributor_single *d); /* *** APIS to be called on the worker lcores *** */ /* @@ -148,7 +148,7 @@ rte_distributor_clear_returns_v20(struct rte_distributor_v20 *d); * A new packet to be processed by the worker thread. */ struct rte_mbuf * -rte_distributor_get_pkt_v20(struct rte_distributor_v20 *d, +rte_distributor_get_pkt_single(struct rte_distributor_single *d, unsigned int worker_id, struct rte_mbuf *oldpkt); /** @@ -164,7 +164,7 @@ rte_distributor_get_pkt_v20(struct rte_distributor_v20 *d, * The previous packet being processed by the worker */ int -rte_distributor_return_pkt_v20(struct rte_distributor_v20 *d, +rte_distributor_return_pkt_single(struct rte_distributor_single *d, unsigned int worker_id, struct rte_mbuf *mbuf); /** @@ -188,7 +188,7 @@ rte_distributor_return_pkt_v20(struct rte_distributor_v20 *d, * The previous packet, if any, being processed by the worker */ void -rte_distributor_request_pkt_v20(struct rte_distributor_v20 *d, +rte_distributor_request_pkt_single(struct rte_distributor_single *d, unsigned int worker_id, struct rte_mbuf *oldpkt); /** @@ -208,7 +208,7 @@ rte_distributor_request_pkt_v20(struct rte_distributor_v20 *d, * packet is yet available. */ struct rte_mbuf * -rte_distributor_poll_pkt_v20(struct rte_distributor_v20 *d, +rte_distributor_poll_pkt_single(struct rte_distributor_single *d, unsigned int worker_id); #ifdef __cplusplus