From patchwork Fri Feb 2 03:00:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 126599 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp231274ljc; Thu, 1 Feb 2018 19:00:19 -0800 (PST) X-Google-Smtp-Source: AH8x226cbORpqutgFW1MMyeOpdWqT9+mccboMQTVqtfNu3wpvjBALYdMX9KADY7MJhxbrURMM5X4 X-Received: by 10.200.68.80 with SMTP id m16mr6211114qtn.294.1517540419557; Thu, 01 Feb 2018 19:00:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517540419; cv=none; d=google.com; s=arc-20160816; b=s+dFKefapm1N6whXuOuplDdUnUG0JWfXFCgc03NbCSk8lOUYqHKtLg73nIP39PwNCM mni7nlW6ZB0LLfWJGNaXJ8kbkGYr5CJN7qdMO7Z5Tr/zJPH7ohtLFol+xIeNcX5p7vGl xnopfMd8x3e3funXOBbu/r/DR7Z/xPcNUedUfficRGXyH3tnlEEhXmTcm30Pjp/H9Qrw QrrVo70FiVZ/65FFL+gfETgYFjYGqbuDEunlPeR8mQC42eoDwtGeZn161ms1IKCId8r9 R3vZzl9FG0w7WUj4qIUrc0jHcBrRf3bILjpiSibbq9VF7Q4Tu1+zckIidXiCF0f9LRBN 2QfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=xna1TLEVEL+Ch2oyoR4pkR4H5CLsBnHvFw1rBpf+FHU=; b=jG0VuRYGkw+wyvFbHFgnl4QxohATWS1BBRJaSkbISH46wn8QJFeeeerzlweaXoFRXg 5d2K9OZPMyyMy9lmJXETtshoRBf9QQmrvjwUaglnIGI2/cvQ6sVDpk/MvT+tom8u2Bih t6BnT8Hvwy+DdomGSWDszCwvcVLfexbZFFhBixKnGeadabreHpbteH7MgGo6d15LHSYu rPVofqE47WfkVLbNy7DohzCh4P1DmVSPmubL80suR8XAOoq+z8PbPIx+dkF2TYBETsH1 81o6obyrdM+6tl+r1FzEFZoohQIjultloGhNrAFnmRITmvlz3OxycBvdfAeqNM6O4zZ8 viCg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (ec2-54-197-127-237.compute-1.amazonaws.com. [54.197.127.237]) by mx.google.com with ESMTP id t52si1145025qta.217.2018.02.01.19.00.18; Thu, 01 Feb 2018 19:00:19 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) client-ip=54.197.127.237; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id ACAC261741; Fri, 2 Feb 2018 03:00:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 375246150C; Fri, 2 Feb 2018 03:00:15 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 96E486156D; Fri, 2 Feb 2018 03:00:12 +0000 (UTC) Received: from forward104p.mail.yandex.net (forward104p.mail.yandex.net [77.88.28.107]) by lists.linaro.org (Postfix) with ESMTPS id 5116E61506 for ; Fri, 2 Feb 2018 03:00:11 +0000 (UTC) Received: from mxback4j.mail.yandex.net (mxback4j.mail.yandex.net [IPv6:2a02:6b8:0:1619::10d]) by forward104p.mail.yandex.net (Yandex) with ESMTP id 7E0D318450F for ; Fri, 2 Feb 2018 06:00:09 +0300 (MSK) Received: from smtp2o.mail.yandex.net (smtp2o.mail.yandex.net [2a02:6b8:0:1a2d::26]) by mxback4j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id mP6VrPRcyR-09S40o00; Fri, 02 Feb 2018 06:00:09 +0300 Received: by smtp2o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id sds6Dgl6aP-08sC6HCL; Fri, 02 Feb 2018 06:00:08 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Fri, 2 Feb 2018 06:00:06 +0300 Message-Id: <1517540407-7907-2-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517540407-7907-1-git-send-email-odpbot@yandex.ru> References: <1517540407-7907-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 449 Subject: [lng-odp] [PATCH v2 1/2] build: limit symbol visibility for libodp-linux X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Dmitry Eremin-Solenikov If libodp-linux is linked with static DPDK libraries, it will re-export all DPDK symbols. Use libtool's -export-symbols-regex to limit symbol visibility. Signed-off-by: Dmitry Eremin-Solenikov --- /** Email created from pull request 449 (lumag:visibility) ** https://github.com/Linaro/odp/pull/449 ** Patch: https://github.com/Linaro/odp/pull/449.patch ** Base sha: b95ccd3db6eeb7358a877541747e06354429acdd ** Merge commit sha: 93f84688ed1f3f3a6bf2eed856d79545ba8ba930 **/ platform/Makefile.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/platform/Makefile.inc b/platform/Makefile.inc index 4714de0ee..119649013 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -8,6 +8,8 @@ lib_LTLIBRARIES = $(LIB)/libodp-linux.la AM_LDFLAGS = -version-number '$(ODP_LIBSO_VERSION)' +AM_LDFLAGS += -export-symbols-regex '^(_deprecated)?_?odp*' + AM_CFLAGS = "-DGIT_HASH=$(VERSION)" AM_CFLAGS += $(VISIBILITY_CFLAGS) From patchwork Fri Feb 2 03:00:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 126600 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp232143ljc; Thu, 1 Feb 2018 19:01:19 -0800 (PST) X-Google-Smtp-Source: AH8x226aPPaK9izlK3sKqWwAQZVkYf36Fq7Iq4qh7GRpIudJLkR7jk7VKXwIIYywCx/HX20HTa85 X-Received: by 10.55.78.149 with SMTP id c143mr44497897qkb.30.1517540479788; Thu, 01 Feb 2018 19:01:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517540479; cv=none; d=google.com; s=arc-20160816; b=XWfRQI61jSRhiSU3q90jKbAQ4pdRmT+bXFf9TSoDY+UDV0gjuNxgIKJxC8ijrrKsZ0 LWZp/Fkf333XrAmf/CBQu3IyKxrj6YzywTfB6unrLc/KsXsZGMJPmFPi4IVoD9hcr1nu JA7753DL5T0m1AEywmMWu/bxvOBIr+yHLIagiMHiqxuXOomkYXzuy+BKEsOG1NlY9Ry7 wc77k9KC1mHafWao4e+BP6GV5PeYCoqhik/FdZPUXGVTtNpaNbUqVFAEGzirQp4yHpWk ta0vyqbRov8TPVNGmLCz++Mq/uu6zDge/i9TIKaNz2fgWWN+7tePsPOJSZ7uNT08DgNt A/0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=qgwtERmt5hO+2iAKcqgV1ncJEgn5R9uYS02prUyHl50=; b=CLHUUOUazt72NL6iZKkvxNichlT7j24ir0XbOV6NHjF6Q6jFc602tHLhNhkXVvwbgF 0COek7aV0Yc8xw6iKYWkVSNlVx8PKPW9rNMaNNR8YaebkoxJdqAgt9pAQmw+b9ncoxs0 9Mux2M/0S6UPoA22DASWdSqGwzY4L2sdwTf2gkfT8Z6Xd2/rbna7m5idw3T4ivrnMry3 wKeFY5uNb7sRjjThSCuTLQUNoivt/xmtzbasAopsQ+Sh8sndAi2Ync+WPkpJVkjtWT5X XCFtmukBO5zYRUVRn4W6f5+SS0iI+WMhWOZv7g8dZWXiy1VayB4pBq31sR1pqTwQtmF7 Erzg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (ec2-54-197-127-237.compute-1.amazonaws.com. [54.197.127.237]) by mx.google.com with ESMTP id s18si781350qkl.398.2018.02.01.19.01.19; Thu, 01 Feb 2018 19:01:19 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) client-ip=54.197.127.237; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id 7056E61742; Fri, 2 Feb 2018 03:01:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2 autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 0CB1761761; Fri, 2 Feb 2018 03:00:26 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 3004D61517; Fri, 2 Feb 2018 03:00:15 +0000 (UTC) Received: from forward105o.mail.yandex.net (forward105o.mail.yandex.net [37.140.190.183]) by lists.linaro.org (Postfix) with ESMTPS id 208F36150C for ; Fri, 2 Feb 2018 03:00:12 +0000 (UTC) Received: from mxback12j.mail.yandex.net (mxback12j.mail.yandex.net [IPv6:2a02:6b8:0:1619::87]) by forward105o.mail.yandex.net (Yandex) with ESMTP id 8B2B24445ADD for ; Fri, 2 Feb 2018 06:00:10 +0300 (MSK) Received: from smtp2o.mail.yandex.net (smtp2o.mail.yandex.net [2a02:6b8:0:1a2d::26]) by mxback12j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id 5XGDdtHhZD-0AGKKdfi; Fri, 02 Feb 2018 06:00:10 +0300 Received: by smtp2o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id sds6Dgl6aP-09saEC73; Fri, 02 Feb 2018 06:00:09 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Fri, 2 Feb 2018 06:00:07 +0300 Message-Id: <1517540407-7907-3-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517540407-7907-1-git-send-email-odpbot@yandex.ru> References: <1517540407-7907-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 449 Subject: [lng-odp] [PATCH v2 2/2] build: add version script for libodp-linux.so X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Dmitry Eremin-Solenikov For ABI-compat case provide version script declaring all public symbols (and their versions). For now all symbols are reset to version 1.17 (latest public release). API and ABI checking will be set up to ease maintaining of version script. Signed-off-by: Dmitry Eremin-Solenikov --- /** Email created from pull request 449 (lumag:visibility) ** https://github.com/Linaro/odp/pull/449 ** Patch: https://github.com/Linaro/odp/pull/449.patch ** Base sha: b95ccd3db6eeb7358a877541747e06354429acdd ** Merge commit sha: 93f84688ed1f3f3a6bf2eed856d79545ba8ba930 **/ platform/Makefile.inc | 8 + platform/libodp-linux.map | 600 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 608 insertions(+) create mode 100644 platform/libodp-linux.map diff --git a/platform/Makefile.inc b/platform/Makefile.inc index 119649013..7b001abe0 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -8,7 +8,15 @@ lib_LTLIBRARIES = $(LIB)/libodp-linux.la AM_LDFLAGS = -version-number '$(ODP_LIBSO_VERSION)' +VERSION_SCRIPT = $(srcdir)/../libodp-linux.map +EXTRA_DIST = $(VERSION_SCRIPT) + +if ODP_ABI_COMPAT +AM_LDFLAGS += -Wl,--version-script=$(VERSION_SCRIPT) +EXTRA___LIB__libodp_linux_la_DEPENDENCIES = $(VERSION_SCRIPT) +else AM_LDFLAGS += -export-symbols-regex '^(_deprecated)?_?odp*' +endif AM_CFLAGS = "-DGIT_HASH=$(VERSION)" AM_CFLAGS += $(VISIBILITY_CFLAGS) diff --git a/platform/libodp-linux.map b/platform/libodp-linux.map new file mode 100644 index 000000000..868a5e3ad --- /dev/null +++ b/platform/libodp-linux.map @@ -0,0 +1,600 @@ +LIBODP_LINUX_1.17 { + global: + odp_atomic_add_rel_u32; + odp_atomic_add_rel_u64; + odp_atomic_add_u32; + odp_atomic_add_u64; + odp_atomic_cas_acq_rel_u32; + odp_atomic_cas_acq_rel_u64; + odp_atomic_cas_acq_u32; + odp_atomic_cas_acq_u64; + odp_atomic_cas_rel_u32; + odp_atomic_cas_rel_u64; + odp_atomic_cas_u32; + odp_atomic_cas_u64; + odp_atomic_dec_u32; + odp_atomic_dec_u64; + odp_atomic_fetch_add_u32; + odp_atomic_fetch_add_u64; + odp_atomic_fetch_dec_u32; + odp_atomic_fetch_dec_u64; + odp_atomic_fetch_inc_u32; + odp_atomic_fetch_inc_u64; + odp_atomic_fetch_sub_u32; + odp_atomic_fetch_sub_u64; + odp_atomic_inc_u32; + odp_atomic_inc_u64; + odp_atomic_init_u32; + odp_atomic_init_u64; + odp_atomic_load_acq_u32; + odp_atomic_load_acq_u64; + odp_atomic_load_u32; + odp_atomic_load_u64; + odp_atomic_lock_free_u64; + odp_atomic_max_u32; + odp_atomic_max_u64; + odp_atomic_min_u32; + odp_atomic_min_u64; + odp_atomic_store_rel_u32; + odp_atomic_store_rel_u64; + odp_atomic_store_u32; + odp_atomic_store_u64; + odp_atomic_sub_rel_u32; + odp_atomic_sub_rel_u64; + odp_atomic_sub_u32; + odp_atomic_sub_u64; + odp_atomic_xchg_u32; + odp_atomic_xchg_u64; + odp_barrier_init; + odp_barrier_wait; + odp_be_to_cpu_16; + odp_be_to_cpu_32; + odp_be_to_cpu_64; + odp_buffer_addr; + odp_buffer_alloc; + odp_buffer_alloc_multi; + odp_buffer_free; + odp_buffer_free_multi; + odp_buffer_from_event; + odp_buffer_is_valid; + odp_buffer_pool; + odp_buffer_print; + odp_buffer_size; + odp_buffer_to_event; + odp_buffer_to_u64; + odp_chksum_ones_comp16; + odp_cls_capability; + odp_cls_cos_create; + odp_cls_cos_num_queue; + odp_cls_cos_param_init; + odp_cls_cos_pool; + odp_cls_cos_pool_set; + odp_cls_cos_queues; + odp_cls_pmr_create; + odp_cls_pmr_destroy; + odp_cls_pmr_param_init; + odp_cos_destroy; + odp_cos_drop; + odp_cos_drop_set; + odp_cos_queue; + odp_cos_queue_set; + odp_cos_to_u64; + odp_cos_with_l2_priority; + odp_cos_with_l3_qos; + odp_cpu_count; + odp_cpu_cycles; + odp_cpu_cycles_diff; + odp_cpu_cycles_max; + odp_cpu_cycles_resolution; + odp_cpu_hz; + odp_cpu_hz_id; + odp_cpu_hz_max; + odp_cpu_hz_max_id; + odp_cpu_id; + odp_cpumask_all_available; + odp_cpumask_and; + odp_cpumask_clr; + odp_cpumask_copy; + odp_cpumask_count; + odp_cpumask_default_control; + odp_cpumask_default_worker; + odp_cpumask_equal; + odp_cpumask_first; + odp_cpumask_from_str; + odp_cpumask_isset; + odp_cpumask_last; + odp_cpumask_next; + odp_cpumask_or; + odp_cpumask_set; + odp_cpumask_setall; + odp_cpumask_to_str; + odp_cpumask_xor; + odp_cpumask_zero; + odp_cpu_model_str; + odp_cpu_model_str_id; + odp_cpu_to_be_16; + odp_cpu_to_be_32; + odp_cpu_to_be_64; + odp_cpu_to_le_16; + odp_cpu_to_le_32; + odp_cpu_to_le_64; + odp_crypto_auth_capability; + odp_crypto_capability; + odp_crypto_cipher_capability; + odp_crypto_compl_free; + odp_crypto_compl_from_event; + odp_crypto_compl_result; + odp_crypto_compl_to_event; + odp_crypto_compl_to_u64; + odp_crypto_op; + odp_crypto_op_enq; + odp_crypto_operation; + odp_crypto_packet_from_event; + odp_crypto_packet_to_event; + odp_crypto_result; + odp_crypto_session_create; + odp_crypto_session_destroy; + odp_crypto_session_param_init; + odp_crypto_session_to_u64; + odp_errno; + odp_errno_print; + odp_errno_str; + odp_errno_zero; + odp_event_filter_packet; + odp_event_free; + odp_event_free_multi; + odp_event_free_sp; + odp_event_subtype; + odp_event_to_u64; + odp_event_type; + odp_event_type_multi; + odp_event_types; + odp_hash_crc32c; + odp_init_global; + odp_init_local; + odp_init_param_init; + odp_ipsec_auth_capability; + odp_ipsec_capability; + odp_ipsec_cipher_capability; + odp_ipsec_config; + odp_ipsec_config_init; + odp_ipsec_in; + odp_ipsec_in_enq; + odp_ipsec_out; + odp_ipsec_out_enq; + odp_ipsec_out_inline; + odp_ipsec_packet_from_event; + odp_ipsec_packet_to_event; + odp_ipsec_result; + odp_ipsec_sa_context; + odp_ipsec_sa_create; + odp_ipsec_sa_destroy; + odp_ipsec_sa_disable; + odp_ipsec_sa_mtu_update; + odp_ipsec_sa_param_init; + odp_ipsec_sa_to_u64; + odp_ipsec_status; + odp_le_to_cpu_16; + odp_le_to_cpu_32; + odp_le_to_cpu_64; + odp_mb_acquire; + odp_mb_full; + odp_mb_release; + odp_memcmp; + odp_memcpy; + odp_memset; + odp_override_abort; + odp_override_log; + odp_packet_add_data; + odp_packet_align; + odp_packet_alloc; + odp_packet_alloc_multi; + odp_packet_buf_len; + odp_packet_color; + odp_packet_color_set; + odp_packet_concat; + odp_packet_copy; + odp_packet_copy_data; + odp_packet_copy_from_mem; + odp_packet_copy_from_pkt; + odp_packet_copy_part; + odp_packet_copy_to_mem; + odp_packet_data; + odp_packet_drop_eligible; + odp_packet_drop_eligible_set; + odp_packet_extend_head; + odp_packet_extend_tail; + odp_packet_first_seg; + odp_packet_flow_hash; + odp_packet_flow_hash_set; + odp_packet_free; + odp_packet_free_multi; + odp_packet_free_sp; + odp_packet_from_event; + odp_packet_from_event_multi; + odp_packet_has_arp; + odp_packet_has_arp_set; + odp_packet_has_error; + odp_packet_has_eth; + odp_packet_has_eth_bcast; + odp_packet_has_eth_bcast_set; + odp_packet_has_eth_mcast; + odp_packet_has_eth_mcast_set; + odp_packet_has_eth_set; + odp_packet_has_flow_hash; + odp_packet_has_flow_hash_clr; + odp_packet_has_icmp; + odp_packet_has_icmp_set; + odp_packet_has_ip_bcast; + odp_packet_has_ip_bcast_set; + odp_packet_has_ipfrag; + odp_packet_has_ipfrag_set; + odp_packet_has_ip_mcast; + odp_packet_has_ip_mcast_set; + odp_packet_has_ipopt; + odp_packet_has_ipopt_set; + odp_packet_has_ipsec; + odp_packet_has_ipsec_set; + odp_packet_has_ipv4; + odp_packet_has_ipv4_set; + odp_packet_has_ipv6; + odp_packet_has_ipv6_set; + odp_packet_has_jumbo; + odp_packet_has_jumbo_set; + odp_packet_has_l2; + odp_packet_has_l2_error; + odp_packet_has_l2_set; + odp_packet_has_l3; + odp_packet_has_l3_error; + odp_packet_has_l3_set; + odp_packet_has_l4; + odp_packet_has_l4_error; + odp_packet_has_l4_set; + odp_packet_has_ref; + odp_packet_has_sctp; + odp_packet_has_sctp_set; + odp_packet_has_tcp; + odp_packet_has_tcp_set; + odp_packet_has_ts; + odp_packet_has_ts_clr; + odp_packet_has_udp; + odp_packet_has_udp_set; + odp_packet_has_vlan; + odp_packet_has_vlan_qinq; + odp_packet_has_vlan_qinq_set; + odp_packet_has_vlan_set; + odp_packet_head; + odp_packet_headroom; + odp_packet_input; + odp_packet_input_index; + odp_packet_is_segmented; + odp_packet_is_valid; + odp_packet_l2_offset; + odp_packet_l2_offset_set; + odp_packet_l2_ptr; + odp_packet_l3_chksum_insert; + odp_packet_l3_chksum_status; + odp_packet_l3_offset; + odp_packet_l3_offset_set; + odp_packet_l3_ptr; + odp_packet_l4_chksum_insert; + odp_packet_l4_chksum_status; + odp_packet_l4_offset; + odp_packet_l4_offset_set; + odp_packet_l4_ptr; + odp_packet_last_seg; + odp_packet_len; + odp_packet_move_data; + odp_packet_next_seg; + odp_packet_num_segs; + odp_packet_offset; + odp_packet_ones_comp; + odp_packet_parse; + odp_packet_parse_multi; + odp_packet_pool; + odp_packet_prefetch; + odp_packet_print; + odp_packet_print_data; + odp_packet_pull_head; + odp_packet_pull_tail; + odp_packet_push_head; + odp_packet_push_tail; + odp_packet_ref; + odp_packet_ref_pkt; + odp_packet_ref_static; + odp_packet_rem_data; + odp_packet_reset; + odp_packet_seg_data; + odp_packet_seg_data_len; + odp_packet_seg_len; + odp_packet_seg_to_u64; + odp_packet_shaper_len_adjust; + odp_packet_shaper_len_adjust_set; + odp_packet_split; + odp_packet_tail; + odp_packet_tailroom; + odp_packet_to_event; + odp_packet_to_event_multi; + odp_packet_to_u64; + odp_packet_trunc_head; + odp_packet_trunc_tail; + odp_packet_ts; + odp_packet_ts_set; + odp_packet_user_area; + odp_packet_user_area_size; + odp_packet_user_ptr; + odp_packet_user_ptr_set; + odp_pktin_event_queue; + odp_pktin_maxlen; + odp_pktin_queue; + odp_pktin_queue_config; + odp_pktin_queue_param_init; + odp_pktin_recv; + odp_pktin_recv_mq_tmo; + odp_pktin_recv_tmo; + odp_pktin_ts_from_ns; + odp_pktin_ts_res; + odp_pktin_wait_time; + odp_pktio_capability; + odp_pktio_close; + odp_pktio_config; + odp_pktio_config_init; + odp_pktio_default_cos_set; + odp_pktio_error_cos_set; + odp_pktio_headroom_set; + odp_pktio_index; + odp_pktio_info; + odp_pktio_link_status; + odp_pktio_lookup; + odp_pktio_mac_addr; + odp_pktio_mac_addr_set; + odp_pktio_max_index; + odp_pktio_open; + odp_pktio_param_init; + odp_pktio_print; + odp_pktio_promisc_mode; + odp_pktio_promisc_mode_set; + odp_pktio_skip_set; + odp_pktio_start; + odp_pktio_stats; + odp_pktio_stats_reset; + odp_pktio_stop; + odp_pktio_to_u64; + odp_pktout_event_queue; + odp_pktout_maxlen; + odp_pktout_queue; + odp_pktout_queue_config; + odp_pktout_queue_param_init; + odp_pktout_send; + odp_pmr_to_u64; + odp_pool_capability; + odp_pool_create; + odp_pool_destroy; + odp_pool_info; + odp_pool_lookup; + odp_pool_param_init; + odp_pool_print; + odp_pool_to_u64; + odp_queue_capability; + odp_queue_context; + odp_queue_context_set; + odp_queue_create; + odp_queue_deq; + odp_queue_deq_multi; + odp_queue_destroy; + odp_queue_enq; + odp_queue_enq_multi; + odp_queue_info; + odp_queue_lock_count; + odp_queue_lookup; + odp_queue_param_init; + odp_queue_sched_group; + odp_queue_sched_prio; + odp_queue_sched_type; + odp_queue_to_u64; + odp_queue_type; + odp_random_data; + odp_random_max_kind; + odp_random_test_data; + odp_rwlock_init; + odp_rwlock_read_lock; + odp_rwlock_read_trylock; + odp_rwlock_read_unlock; + odp_rwlock_recursive_init; + odp_rwlock_recursive_read_lock; + odp_rwlock_recursive_read_trylock; + odp_rwlock_recursive_read_unlock; + odp_rwlock_recursive_write_lock; + odp_rwlock_recursive_write_trylock; + odp_rwlock_recursive_write_unlock; + odp_rwlock_write_lock; + odp_rwlock_write_trylock; + odp_rwlock_write_unlock; + odp_schedule; + odp_schedule_group_create; + odp_schedule_group_destroy; + odp_schedule_group_info; + odp_schedule_group_join; + odp_schedule_group_leave; + odp_schedule_group_lookup; + odp_schedule_group_thrmask; + odp_schedule_multi; + odp_schedule_num_prio; + odp_schedule_order_lock; + odp_schedule_order_unlock; + odp_schedule_order_unlock_lock; + odp_schedule_pause; + odp_schedule_prefetch; + odp_schedule_release_atomic; + odp_schedule_release_ordered; + odp_schedule_resume; + odp_schedule_wait_time; + odp_shm_addr; + odp_shm_capability; + odp_shm_free; + odp_shm_import; + odp_shm_info; + odp_shm_lookup; + odp_shm_print; + odp_shm_print_all; + odp_shm_reserve; + odp_shm_to_u64; + odp_spinlock_init; + odp_spinlock_is_locked; + odp_spinlock_lock; + odp_spinlock_recursive_init; + odp_spinlock_recursive_is_locked; + odp_spinlock_recursive_lock; + odp_spinlock_recursive_trylock; + odp_spinlock_recursive_unlock; + odp_spinlock_trylock; + odp_spinlock_unlock; + odp_sys_cache_line_size; + odp_sys_huge_page_size; + odp_sys_huge_page_size_all; + odp_sys_info_print; + odp_sys_page_size; + odp_term_global; + odp_term_local; + odp_thread_count; + odp_thread_count_max; + odp_thread_id; + odp_thread_type; + odp_thrmask_and; + odp_thrmask_clr; + odp_thrmask_control; + odp_thrmask_copy; + odp_thrmask_count; + odp_thrmask_equal; + odp_thrmask_first; + odp_thrmask_from_str; + odp_thrmask_isset; + odp_thrmask_last; + odp_thrmask_next; + odp_thrmask_or; + odp_thrmask_set; + odp_thrmask_setall; + odp_thrmask_to_str; + odp_thrmask_worker; + odp_thrmask_xor; + odp_thrmask_zero; + odp_ticketlock_init; + odp_ticketlock_is_locked; + odp_ticketlock_lock; + odp_ticketlock_trylock; + odp_ticketlock_unlock; + odp_time_cmp; + odp_time_diff; + odp_time_diff_ns; + odp_time_global; + odp_time_global_from_ns; + odp_time_global_res; + odp_time_local; + odp_time_local_from_ns; + odp_time_local_res; + odp_timeout_alloc; + odp_timeout_free; + odp_timeout_fresh; + odp_timeout_from_event; + odp_timeout_tick; + odp_timeout_timer; + odp_timeout_to_event; + odp_timeout_to_u64; + odp_timeout_user_ptr; + odp_timer_alloc; + odp_timer_cancel; + odp_timer_capability; + odp_timer_current_tick; + odp_timer_free; + odp_timer_ns_to_tick; + odp_timer_pool_create; + odp_timer_pool_destroy; + odp_timer_pool_info; + odp_timer_pool_start; + odp_timer_pool_to_u64; + odp_timer_set_abs; + odp_timer_set_rel; + odp_timer_tick_to_ns; + odp_timer_to_u64; + odp_time_sum; + odp_time_to_ns; + odp_time_wait_ns; + odp_time_wait_until; + odp_tm_capabilities; + odp_tm_capability; + odp_tm_create; + odp_tm_destroy; + odp_tm_drop_prec_marking; + odp_tm_ecn_marking; + odp_tm_egress_init; + odp_tm_enq; + odp_tm_enq_with_cnt; + odp_tm_find; + odp_tm_is_idle; + odp_tm_node_connect; + odp_tm_node_context; + odp_tm_node_context_set; + odp_tm_node_create; + odp_tm_node_destroy; + odp_tm_node_disconnect; + odp_tm_node_fanin_info; + odp_tm_node_info; + odp_tm_node_lookup; + odp_tm_node_params_init; + odp_tm_node_sched_config; + odp_tm_node_shaper_config; + odp_tm_node_threshold_config; + odp_tm_node_wred_config; + odp_tm_priority_query; + odp_tm_priority_threshold_config; + odp_tm_queue_connect; + odp_tm_queue_context; + odp_tm_queue_context_set; + odp_tm_queue_create; + odp_tm_queue_destroy; + odp_tm_queue_disconnect; + odp_tm_queue_info; + odp_tm_queue_params_init; + odp_tm_queue_query; + odp_tm_queue_sched_config; + odp_tm_queue_shaper_config; + odp_tm_queue_threshold_config; + odp_tm_queue_wred_config; + odp_tm_requirements_init; + odp_tm_sched_create; + odp_tm_sched_destroy; + odp_tm_sched_lookup; + odp_tm_sched_params_init; + odp_tm_sched_params_read; + odp_tm_sched_params_update; + odp_tm_shaper_create; + odp_tm_shaper_destroy; + odp_tm_shaper_lookup; + odp_tm_shaper_params_init; + odp_tm_shaper_params_read; + odp_tm_shaper_params_update; + odp_tm_stats_print; + odp_tm_threshold_create; + odp_tm_threshold_destroy; + odp_tm_threshold_params_init; + odp_tm_thresholds_lookup; + odp_tm_thresholds_params_read; + odp_tm_thresholds_params_update; + odp_tm_total_query; + odp_tm_total_threshold_config; + odp_tm_vlan_marking; + odp_tm_wred_create; + odp_tm_wred_destroy; + odp_tm_wred_lookup; + odp_tm_wred_params_init; + odp_tm_wred_params_read; + odp_tm_wred_params_update; + odp_version_api_str; + odp_version_impl_name; + odp_version_impl_str; + +local: + *; + + _odp_*; +};