From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: thomas@monjalon.net, bruce.richardson@intel.com,
andremue@linux.microsoft.com,
"Nicolas Chautru" <nicolas.chautru@intel.com>,
"Parav Pandit" <parav@nvidia.com>,
"Xueming Li" <xuemingl@nvidia.com>,
"Nipun Gupta" <nipun.gupta@amd.com>,
"Nikhil Agarwal" <nikhil.agarwal@amd.com>,
"Hemant Agrawal" <hemant.agrawal@nxp.com>,
"Sachin Saxena" <sachin.saxena@nxp.com>,
"Rosen Xu" <rosen.xu@altera.com>,
"Chenbo Xia" <chenbox@nvidia.com>,
"Tomasz Duszynski" <tduszynski@marvell.com>,
"Chengwen Feng" <fengchengwen@huawei.com>,
"Long Li" <longli@microsoft.com>, "Wei Hu" <weh@microsoft.com>,
"Nithin Dabilpuram" <ndabilpuram@marvell.com>,
"Kiran Kumar K" <kirankumark@marvell.com>,
"Sunil Kumar Kori" <skori@marvell.com>,
"Satha Rao" <skoteshwar@marvell.com>,
"Harman Kalra" <hkalra@marvell.com>,
"Anoob Joseph" <anoobj@marvell.com>,
"Andrew Boyer" <andrew.boyer@amd.com>,
"Dariusz Sosnowski" <dsosnowski@nvidia.com>,
"Viacheslav Ovsiienko" <viacheslavo@nvidia.com>,
"Bing Zhao" <bingz@nvidia.com>, "Ori Kam" <orika@nvidia.com>,
"Suanming Mou" <suanmingm@nvidia.com>,
"Matan Azrad" <matan@nvidia.com>,
"Liron Himi" <lironh@marvell.com>,
"Chaoyong He" <chaoyong.he@corigine.com>,
"Nagadheeraj Rottela" <rnagadheeraj@marvell.com>,
"Srikanth Jampala" <jsrikanth@marvell.com>,
"Andrew Rybchenko" <andrew.rybchenko@oktetlabs.ru>,
"Ankur Dwivedi" <adwivedi@marvell.com>,
"Tejasree Kondoj" <ktejasree@marvell.com>,
"Gagandeep Singh" <g.singh@nxp.com>, "Kai Ji" <kai.ji@intel.com>,
"Vamsi Attunuru" <vattunuru@marvell.com>,
"Pavan Nikhilesh" <pbhagavatula@marvell.com>,
"Shijith Thotton" <sthotton@marvell.com>,
"Pravin Pathak" <pravin.pathak@intel.com>,
"Ashwin Sekhar T K" <asekhar@marvell.com>,
"Igor Russkikh" <irusskikh@marvell.com>,
"Ajit Khaparde" <ajit.khaparde@broadcom.com>,
"Somnath Kotur" <somnath.kotur@broadcom.com>,
"Chas Williams" <chas3@att.com>,
"Min Hu (Connor)" <humin29@huawei.com>,
"Ian Stokes" <ian.stokes@intel.com>,
"Vladimir Medvedkin" <vladimir.medvedkin@intel.com>,
"Anatoly Burakov" <anatoly.burakov@intel.com>,
"Jingjing Wu" <jingjing.wu@intel.com>,
"Praveen Shetty" <praveen.shetty@intel.com>,
"Cristian Dumitrescu" <cristian.dumitrescu@intel.com>,
"Maxime Coquelin" <maxime.coquelin@redhat.com>,
"David Hunt" <david.hunt@intel.com>,
"Sivaprasad Tummala" <sivaprasad.tummala@amd.com>,
"Akhil Goyal" <gakhil@marvell.com>,
"Konstantin Ananyev" <konstantin.v.ananyev@yandex.ru>,
"Fan Zhang" <fanzhang.oss@gmail.com>,
"Ashish Gupta" <ashish.gupta@marvell.com>,
"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>,
"Kevin Laatz" <kevin.laatz@intel.com>,
"Wathsala Vithanage" <wathsala.vithanage@arm.com>,
"Tyler Retzlaff" <roretzla@linux.microsoft.com>,
"Jerin Jacob" <jerinj@marvell.com>,
"Harry van Haaren" <harry.van.haaren@intel.com>,
"Min Zhou" <zhoumin@loongson.cn>,
"David Christensen" <drc@linux.ibm.com>,
"Stanislaw Kardach" <stanislaw.kardach@gmail.com>,
"Dmitry Kozlyuk" <dmitry.kozliuk@gmail.com>,
"Byron Marohn" <byron.marohn@intel.com>,
"Yipeng Wang" <yipeng1.wang@intel.com>,
"Ferruh Yigit" <ferruh.yigit@amd.com>,
"Abhinandan Gujjar" <abhinandan.gujjar@intel.com>,
"Amit Prakash Shukla" <amitprakashs@marvell.com>,
"Naga Harish K S V" <s.v.naga.harish.k@intel.com>,
"Erik Gabriel Carrillo" <erik.g.carrillo@intel.com>,
"Elena Agostini" <eagostini@nvidia.com>,
"Zhirun Yan" <yanzhirun_163@163.com>,
"Jiayu Hu" <hujiayu.hu@foxmail.com>,
"Sameh Gobriel" <sameh.gobriel@intel.com>,
"Reshma Pattan" <reshma.pattan@intel.com>,
"Stephen Hemminger" <stephen@networkplumber.org>,
"Morten Brørup" <mb@smartsharesystems.com>,
"Srikanth Yalavarthi" <syalavarthi@marvell.com>,
"Jasvinder Singh" <jasvinder.singh@intel.com>,
"Gaetan Rivet" <grive@u256.net>,
"Volodymyr Fialko" <vfialko@marvell.com>,
"Honnappa Nagarahalli" <honnappa.nagarahalli@arm.com>
Subject: [RFC v4 6/8] build: mark exported symbols
Date: Mon, 17 Mar 2025 16:43:02 +0100 [thread overview]
Message-ID: <20250317154308.2782689-7-david.marchand@redhat.com> (raw)
In-Reply-To: <20250317154308.2782689-1-david.marchand@redhat.com>
Annotate symbols with newly introduced export macros.
For code not compiled via drivers/meson.build (think base drivers code),
the exported symbols are added in some file listed in the sources so they
get caught by drivers/meson.build.
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
Changes since RFC v3:
- marked exported symbols directly in AVX sources (net/idpf),
---
drivers/baseband/acc/rte_acc100_pmd.c | 1 +
.../fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 1 +
drivers/baseband/fpga_lte_fec/fpga_lte_fec.c | 1 +
drivers/bus/auxiliary/auxiliary_common.c | 2 +
drivers/bus/cdx/cdx.c | 4 +
drivers/bus/cdx/cdx_vfio.c | 4 +
drivers/bus/dpaa/dpaa_bus.c | 104 ++++
drivers/bus/fslmc/fslmc_bus.c | 4 +
drivers/bus/fslmc/fslmc_vfio.c | 12 +
drivers/bus/fslmc/mc/dpbp.c | 6 +
drivers/bus/fslmc/mc/dpci.c | 3 +
drivers/bus/fslmc/mc/dpcon.c | 6 +
drivers/bus/fslmc/mc/dpdmai.c | 8 +
drivers/bus/fslmc/mc/dpio.c | 13 +
drivers/bus/fslmc/mc/dpmng.c | 2 +
drivers/bus/fslmc/mc/mc_sys.c | 1 +
drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c | 3 +
drivers/bus/fslmc/portal/dpaa2_hw_dpci.c | 2 +
drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 11 +
drivers/bus/fslmc/qbman/qbman_debug.c | 2 +
drivers/bus/fslmc/qbman/qbman_portal.c | 41 ++
drivers/bus/ifpga/ifpga_bus.c | 3 +
drivers/bus/pci/bsd/pci.c | 10 +
drivers/bus/pci/linux/pci.c | 10 +
drivers/bus/pci/pci_common.c | 10 +
drivers/bus/pci/windows/pci.c | 10 +
drivers/bus/platform/platform.c | 2 +
drivers/bus/uacce/uacce.c | 9 +
drivers/bus/vdev/vdev.c | 6 +
drivers/bus/vmbus/linux/vmbus_bus.c | 6 +
drivers/bus/vmbus/vmbus_channel.c | 13 +
drivers/bus/vmbus/vmbus_common.c | 3 +
drivers/common/cnxk/cnxk_security.c | 12 +
drivers/common/cnxk/cnxk_utils.c | 1 +
drivers/common/cnxk/roc_platform.c | 559 ++++++++++++++++++
drivers/common/cpt/cpt_fpm_tables.c | 2 +
drivers/common/cpt/cpt_pmd_ops_helper.c | 3 +
drivers/common/dpaax/caamflib.c | 1 +
drivers/common/dpaax/dpaa_of.c | 12 +
drivers/common/dpaax/dpaax_iova_table.c | 6 +
drivers/common/ionic/ionic_common_uio.c | 4 +
.../common/mlx5/linux/mlx5_common_auxiliary.c | 1 +
drivers/common/mlx5/linux/mlx5_common_os.c | 9 +
drivers/common/mlx5/linux/mlx5_common_verbs.c | 3 +
drivers/common/mlx5/linux/mlx5_glue.c | 1 +
drivers/common/mlx5/linux/mlx5_nl.c | 21 +
drivers/common/mlx5/mlx5_common.c | 9 +
drivers/common/mlx5/mlx5_common_devx.c | 9 +
drivers/common/mlx5/mlx5_common_mp.c | 8 +
drivers/common/mlx5/mlx5_common_mr.c | 11 +
drivers/common/mlx5/mlx5_common_pci.c | 2 +
drivers/common/mlx5/mlx5_common_utils.c | 11 +
drivers/common/mlx5/mlx5_devx_cmds.c | 51 ++
drivers/common/mlx5/mlx5_malloc.c | 4 +
drivers/common/mlx5/windows/mlx5_common_os.c | 5 +
drivers/common/mlx5/windows/mlx5_glue.c | 3 +-
drivers/common/mvep/mvep_common.c | 2 +
drivers/common/nfp/nfp_common.c | 7 +
drivers/common/nfp/nfp_common_pci.c | 1 +
drivers/common/nfp/nfp_dev.c | 1 +
drivers/common/nitrox/nitrox_device.c | 1 +
drivers/common/nitrox/nitrox_logs.c | 1 +
drivers/common/nitrox/nitrox_qp.c | 2 +
drivers/common/octeontx/octeontx_mbox.c | 6 +
drivers/common/sfc_efx/sfc_efx.c | 273 +++++++++
drivers/common/sfc_efx/sfc_efx_mcdi.c | 2 +
drivers/crypto/cnxk/cn10k_cryptodev_ops.c | 7 +
drivers/crypto/cnxk/cn9k_cryptodev_ops.c | 2 +
drivers/crypto/cnxk/cnxk_cryptodev_ops.c | 7 +
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 2 +
drivers/crypto/dpaa_sec/dpaa_sec.c | 2 +
drivers/crypto/octeontx/otx_cryptodev_ops.c | 2 +
.../scheduler/rte_cryptodev_scheduler.c | 10 +
drivers/dma/cnxk/cnxk_dmadev_fp.c | 4 +
drivers/event/cnxk/cnxk_worker.c | 2 +
drivers/event/dlb2/rte_pmd_dlb2.c | 1 +
drivers/mempool/cnxk/cn10k_hwpool_ops.c | 3 +
drivers/mempool/dpaa/dpaa_mempool.c | 2 +
drivers/mempool/dpaa2/dpaa2_hw_mempool.c | 5 +
drivers/net/atlantic/rte_pmd_atlantic.c | 6 +
drivers/net/bnxt/rte_pmd_bnxt.c | 16 +
drivers/net/bonding/rte_eth_bond_8023ad.c | 12 +
drivers/net/bonding/rte_eth_bond_api.c | 15 +
drivers/net/cnxk/cnxk_ethdev.c | 3 +
drivers/net/cnxk/cnxk_ethdev_sec.c | 9 +
drivers/net/dpaa/dpaa_ethdev.c | 3 +
drivers/net/dpaa2/dpaa2_ethdev.c | 11 +
drivers/net/dpaa2/dpaa2_mux.c | 3 +
drivers/net/dpaa2/dpaa2_rxtx.c | 1 +
drivers/net/intel/i40e/rte_pmd_i40e.c | 39 ++
drivers/net/intel/iavf/iavf_ethdev.c | 9 +
drivers/net/intel/iavf/iavf_rxtx.c | 8 +
drivers/net/intel/ice/ice_diagnose.c | 3 +
drivers/net/intel/idpf/idpf_common_device.c | 10 +
drivers/net/intel/idpf/idpf_common_rxtx.c | 24 +
.../net/intel/idpf/idpf_common_rxtx_avx2.c | 2 +
.../net/intel/idpf/idpf_common_rxtx_avx512.c | 5 +
drivers/net/intel/idpf/idpf_common_virtchnl.c | 29 +
drivers/net/intel/ipn3ke/ipn3ke_ethdev.c | 1 +
drivers/net/intel/ixgbe/rte_pmd_ixgbe.c | 37 ++
drivers/net/mlx5/mlx5.c | 1 +
drivers/net/mlx5/mlx5_flow.c | 4 +
drivers/net/mlx5/mlx5_rx.c | 2 +
drivers/net/mlx5/mlx5_rxq.c | 2 +
drivers/net/mlx5/mlx5_tx.c | 1 +
drivers/net/mlx5/mlx5_txq.c | 3 +
drivers/net/octeontx/octeontx_ethdev.c | 1 +
drivers/net/ring/rte_eth_ring.c | 2 +
drivers/net/softnic/rte_eth_softnic.c | 1 +
drivers/net/softnic/rte_eth_softnic_thread.c | 1 +
drivers/net/vhost/rte_eth_vhost.c | 2 +
drivers/power/kvm_vm/guest_channel.c | 2 +
drivers/raw/cnxk_rvu_lf/cnxk_rvu_lf.c | 10 +
drivers/raw/ifpga/rte_pmd_ifpga.c | 11 +
lib/acl/acl_bld.c | 1 +
lib/acl/acl_run_scalar.c | 1 +
lib/acl/rte_acl.c | 11 +
lib/argparse/rte_argparse.c | 2 +
lib/bbdev/bbdev_trace_points.c | 2 +
lib/bbdev/rte_bbdev.c | 31 +
lib/bitratestats/rte_bitrate.c | 4 +
lib/bpf/bpf.c | 2 +
lib/bpf/bpf_convert.c | 1 +
lib/bpf/bpf_dump.c | 1 +
lib/bpf/bpf_exec.c | 2 +
lib/bpf/bpf_load.c | 1 +
lib/bpf/bpf_load_elf.c | 1 +
lib/bpf/bpf_pkt.c | 4 +
lib/bpf/bpf_stub.c | 2 +
lib/cfgfile/rte_cfgfile.c | 17 +
lib/cmdline/cmdline.c | 9 +
lib/cmdline/cmdline_cirbuf.c | 19 +
lib/cmdline/cmdline_parse.c | 4 +
lib/cmdline/cmdline_parse_bool.c | 1 +
lib/cmdline/cmdline_parse_etheraddr.c | 3 +
lib/cmdline/cmdline_parse_ipaddr.c | 3 +
lib/cmdline/cmdline_parse_num.c | 3 +
lib/cmdline/cmdline_parse_portlist.c | 3 +
lib/cmdline/cmdline_parse_string.c | 5 +
lib/cmdline/cmdline_rdline.c | 15 +
lib/cmdline/cmdline_socket.c | 3 +
lib/cmdline/cmdline_vt100.c | 2 +
lib/compressdev/rte_comp.c | 6 +
lib/compressdev/rte_compressdev.c | 25 +
lib/compressdev/rte_compressdev_pmd.c | 3 +
lib/cryptodev/cryptodev_pmd.c | 7 +
lib/cryptodev/cryptodev_trace_points.c | 3 +
lib/cryptodev/rte_cryptodev.c | 83 +++
lib/dispatcher/rte_dispatcher.c | 13 +
lib/distributor/rte_distributor.c | 9 +
lib/dmadev/rte_dmadev.c | 19 +
lib/dmadev/rte_dmadev_trace_points.c | 7 +
lib/eal/arm/rte_cpuflags.c | 3 +
lib/eal/arm/rte_hypervisor.c | 1 +
lib/eal/arm/rte_power_intrinsics.c | 4 +
lib/eal/common/eal_common_bus.c | 10 +
lib/eal/common/eal_common_class.c | 4 +
lib/eal/common/eal_common_config.c | 7 +
lib/eal/common/eal_common_cpuflags.c | 1 +
lib/eal/common/eal_common_debug.c | 2 +
lib/eal/common/eal_common_dev.c | 19 +
lib/eal/common/eal_common_devargs.c | 9 +
lib/eal/common/eal_common_errno.c | 2 +
lib/eal/common/eal_common_fbarray.c | 26 +
lib/eal/common/eal_common_hexdump.c | 2 +
lib/eal/common/eal_common_hypervisor.c | 1 +
lib/eal/common/eal_common_interrupts.c | 27 +
lib/eal/common/eal_common_launch.c | 5 +
lib/eal/common/eal_common_lcore.c | 17 +
lib/eal/common/eal_common_lcore_var.c | 1 +
lib/eal/common/eal_common_mcfg.c | 20 +
lib/eal/common/eal_common_memory.c | 29 +
lib/eal/common/eal_common_memzone.c | 9 +
lib/eal/common/eal_common_options.c | 4 +
lib/eal/common/eal_common_proc.c | 8 +
lib/eal/common/eal_common_string_fns.c | 3 +
lib/eal/common/eal_common_tailqs.c | 3 +
lib/eal/common/eal_common_thread.c | 14 +
lib/eal/common/eal_common_timer.c | 4 +
lib/eal/common/eal_common_trace.c | 15 +
lib/eal/common/eal_common_trace_ctf.c | 1 +
lib/eal/common/eal_common_trace_points.c | 18 +
lib/eal/common/eal_common_trace_utils.c | 1 +
lib/eal/common/eal_common_uuid.c | 4 +
lib/eal/common/rte_bitset.c | 1 +
lib/eal/common/rte_keepalive.c | 6 +
lib/eal/common/rte_malloc.c | 22 +
lib/eal/common/rte_random.c | 4 +
lib/eal/common/rte_reciprocal.c | 2 +
lib/eal/common/rte_service.c | 31 +
lib/eal/common/rte_version.c | 7 +
lib/eal/freebsd/eal.c | 22 +
lib/eal/freebsd/eal_alarm.c | 2 +
lib/eal/freebsd/eal_dev.c | 4 +
lib/eal/freebsd/eal_interrupts.c | 19 +
lib/eal/freebsd/eal_memory.c | 3 +
lib/eal/freebsd/eal_thread.c | 2 +
lib/eal/freebsd/eal_timer.c | 1 +
lib/eal/linux/eal.c | 7 +
lib/eal/linux/eal_alarm.c | 2 +
lib/eal/linux/eal_dev.c | 4 +
lib/eal/linux/eal_interrupts.c | 19 +
lib/eal/linux/eal_memory.c | 3 +
lib/eal/linux/eal_thread.c | 2 +
lib/eal/linux/eal_timer.c | 4 +
lib/eal/linux/eal_vfio.c | 16 +
lib/eal/loongarch/rte_cpuflags.c | 3 +
lib/eal/loongarch/rte_hypervisor.c | 1 +
lib/eal/loongarch/rte_power_intrinsics.c | 4 +
lib/eal/ppc/rte_cpuflags.c | 3 +
lib/eal/ppc/rte_hypervisor.c | 1 +
lib/eal/ppc/rte_power_intrinsics.c | 4 +
lib/eal/riscv/rte_cpuflags.c | 3 +
lib/eal/riscv/rte_hypervisor.c | 1 +
lib/eal/riscv/rte_power_intrinsics.c | 4 +
lib/eal/unix/eal_debug.c | 2 +
lib/eal/unix/eal_filesystem.c | 1 +
lib/eal/unix/eal_firmware.c | 1 +
lib/eal/unix/eal_unix_memory.c | 4 +
lib/eal/unix/eal_unix_timer.c | 1 +
lib/eal/unix/rte_thread.c | 13 +
lib/eal/windows/eal.c | 11 +
lib/eal/windows/eal_alarm.c | 2 +
lib/eal/windows/eal_debug.c | 1 +
lib/eal/windows/eal_dev.c | 4 +
lib/eal/windows/eal_interrupts.c | 19 +
lib/eal/windows/eal_memory.c | 7 +
lib/eal/windows/eal_mp.c | 6 +
lib/eal/windows/eal_thread.c | 1 +
lib/eal/windows/eal_timer.c | 1 +
lib/eal/windows/rte_thread.c | 14 +
lib/eal/x86/rte_cpuflags.c | 3 +
lib/eal/x86/rte_hypervisor.c | 1 +
lib/eal/x86/rte_power_intrinsics.c | 4 +
lib/eal/x86/rte_spinlock.c | 1 +
lib/efd/rte_efd.c | 7 +
lib/ethdev/ethdev_driver.c | 24 +
lib/ethdev/ethdev_linux_ethtool.c | 3 +
lib/ethdev/ethdev_private.c | 2 +
lib/ethdev/ethdev_trace_points.c | 6 +
lib/ethdev/rte_ethdev.c | 168 ++++++
lib/ethdev/rte_ethdev_cman.c | 4 +
lib/ethdev/rte_flow.c | 64 ++
lib/ethdev/rte_mtr.c | 21 +
lib/ethdev/rte_tm.c | 31 +
lib/eventdev/eventdev_private.c | 2 +
lib/eventdev/eventdev_trace_points.c | 11 +
lib/eventdev/rte_event_crypto_adapter.c | 15 +
lib/eventdev/rte_event_dma_adapter.c | 15 +
lib/eventdev/rte_event_eth_rx_adapter.c | 23 +
lib/eventdev/rte_event_eth_tx_adapter.c | 17 +
lib/eventdev/rte_event_ring.c | 4 +
lib/eventdev/rte_event_timer_adapter.c | 11 +
lib/eventdev/rte_eventdev.c | 46 ++
lib/fib/rte_fib.c | 10 +
lib/fib/rte_fib6.c | 9 +
lib/gpudev/gpudev.c | 32 +
lib/graph/graph.c | 16 +
lib/graph/graph_debug.c | 1 +
lib/graph/graph_stats.c | 4 +
lib/graph/node.c | 11 +
lib/graph/rte_graph_model_mcore_dispatch.c | 3 +
lib/graph/rte_graph_worker.c | 3 +
lib/gro/rte_gro.c | 6 +
lib/gso/rte_gso.c | 1 +
lib/hash/rte_cuckoo_hash.c | 27 +
lib/hash/rte_fbk_hash.c | 3 +
lib/hash/rte_hash_crc.c | 2 +
lib/hash/rte_thash.c | 12 +
lib/hash/rte_thash_gf2_poly_math.c | 1 +
lib/hash/rte_thash_gfni.c | 2 +
lib/ip_frag/rte_ip_frag_common.c | 5 +
lib/ip_frag/rte_ipv4_fragmentation.c | 2 +
lib/ip_frag/rte_ipv4_reassembly.c | 1 +
lib/ip_frag/rte_ipv6_fragmentation.c | 1 +
lib/ip_frag/rte_ipv6_reassembly.c | 1 +
lib/ipsec/ipsec_sad.c | 6 +
lib/ipsec/ipsec_telemetry.c | 2 +
lib/ipsec/sa.c | 4 +
lib/ipsec/ses.c | 1 +
lib/jobstats/rte_jobstats.c | 14 +
lib/kvargs/rte_kvargs.c | 8 +
lib/latencystats/rte_latencystats.c | 5 +
lib/log/log.c | 22 +
lib/log/log_color.c | 1 +
lib/log/log_syslog.c | 1 +
lib/log/log_timestamp.c | 1 +
lib/lpm/rte_lpm.c | 8 +
lib/lpm/rte_lpm6.c | 10 +
lib/mbuf/rte_mbuf.c | 17 +
lib/mbuf/rte_mbuf_dyn.c | 9 +
lib/mbuf/rte_mbuf_pool_ops.c | 5 +
lib/mbuf/rte_mbuf_ptype.c | 8 +
lib/member/rte_member.c | 13 +
lib/mempool/mempool_trace_points.c | 10 +
lib/mempool/rte_mempool.c | 27 +
lib/mempool/rte_mempool_ops.c | 4 +
lib/mempool/rte_mempool_ops_default.c | 4 +
lib/meter/rte_meter.c | 6 +
lib/metrics/rte_metrics.c | 8 +
lib/metrics/rte_metrics_telemetry.c | 11 +
lib/mldev/mldev_utils.c | 2 +
lib/mldev/mldev_utils_neon.c | 18 +
lib/mldev/mldev_utils_neon_bfloat16.c | 2 +
lib/mldev/mldev_utils_scalar.c | 18 +
lib/mldev/mldev_utils_scalar_bfloat16.c | 2 +
lib/mldev/rte_mldev.c | 37 ++
lib/mldev/rte_mldev_pmd.c | 2 +
lib/net/rte_arp.c | 1 +
lib/net/rte_ether.c | 3 +
lib/net/rte_net.c | 2 +
lib/net/rte_net_crc.c | 1 +
lib/node/ethdev_ctrl.c | 2 +
lib/node/ip4_lookup.c | 1 +
lib/node/ip4_reassembly.c | 1 +
lib/node/ip4_rewrite.c | 1 +
lib/node/ip6_lookup.c | 1 +
lib/node/ip6_rewrite.c | 1 +
lib/node/udp4_input.c | 2 +
lib/pcapng/rte_pcapng.c | 7 +
lib/pci/rte_pci.c | 3 +
lib/pdcp/rte_pdcp.c | 5 +
lib/pdump/rte_pdump.c | 9 +
lib/pipeline/rte_pipeline.c | 23 +
lib/pipeline/rte_port_in_action.c | 8 +
lib/pipeline/rte_swx_ctl.c | 17 +
lib/pipeline/rte_swx_ipsec.c | 7 +
lib/pipeline/rte_swx_pipeline.c | 73 +++
lib/pipeline/rte_table_action.c | 16 +
lib/port/rte_port_ethdev.c | 3 +
lib/port/rte_port_eventdev.c | 3 +
lib/port/rte_port_fd.c | 3 +
lib/port/rte_port_frag.c | 2 +
lib/port/rte_port_ras.c | 2 +
lib/port/rte_port_ring.c | 6 +
lib/port/rte_port_sched.c | 2 +
lib/port/rte_port_source_sink.c | 2 +
lib/port/rte_port_sym_crypto.c | 3 +
lib/port/rte_swx_port_ethdev.c | 2 +
lib/port/rte_swx_port_fd.c | 2 +
lib/port/rte_swx_port_ring.c | 2 +
lib/port/rte_swx_port_source_sink.c | 3 +
lib/power/power_common.c | 8 +
lib/power/rte_power_cpufreq.c | 18 +
lib/power/rte_power_pmd_mgmt.c | 10 +
lib/power/rte_power_qos.c | 2 +
lib/power/rte_power_uncore.c | 14 +
lib/rawdev/rte_rawdev.c | 30 +
lib/rcu/rte_rcu_qsbr.c | 11 +
lib/regexdev/rte_regexdev.c | 26 +
lib/reorder/rte_reorder.c | 11 +
lib/rib/rte_rib.c | 14 +
lib/rib/rte_rib6.c | 14 +
lib/ring/rte_ring.c | 11 +
lib/ring/rte_soring.c | 3 +
lib/ring/soring.c | 16 +
lib/sched/rte_approx.c | 1 +
lib/sched/rte_pie.c | 2 +
lib/sched/rte_red.c | 6 +
lib/sched/rte_sched.c | 15 +
lib/security/rte_security.c | 20 +
lib/stack/rte_stack.c | 3 +
lib/table/rte_swx_table_em.c | 2 +
lib/table/rte_swx_table_learner.c | 10 +
lib/table/rte_swx_table_selector.c | 6 +
lib/table/rte_swx_table_wm.c | 1 +
lib/table/rte_table_acl.c | 1 +
lib/table/rte_table_array.c | 1 +
lib/table/rte_table_hash_cuckoo.c | 1 +
lib/table/rte_table_hash_ext.c | 1 +
lib/table/rte_table_hash_key16.c | 2 +
lib/table/rte_table_hash_key32.c | 2 +
lib/table/rte_table_hash_key8.c | 2 +
lib/table/rte_table_hash_lru.c | 1 +
lib/table/rte_table_lpm.c | 1 +
lib/table/rte_table_lpm_ipv6.c | 1 +
lib/table/rte_table_stub.c | 1 +
lib/telemetry/telemetry.c | 3 +
lib/telemetry/telemetry_data.c | 17 +
lib/telemetry/telemetry_legacy.c | 1 +
lib/timer/rte_timer.c | 18 +
lib/vhost/socket.c | 16 +
lib/vhost/vdpa.c | 11 +
lib/vhost/vhost.c | 41 ++
lib/vhost/vhost_crypto.c | 6 +
lib/vhost/vhost_user.c | 2 +
lib/vhost/virtio_net.c | 7 +
387 files changed, 4121 insertions(+), 2 deletions(-)
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
index d33e42c807..3351c337b7 100644
--- a/drivers/baseband/acc/rte_acc100_pmd.c
+++ b/drivers/baseband/acc/rte_acc100_pmd.c
@@ -4635,6 +4635,7 @@ acc100_configure(const char *dev_name, struct rte_acc_conf *conf)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_acc_configure, 22.11)
int
rte_acc_configure(const char *dev_name, struct rte_acc_conf *conf)
{
diff --git a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c
index 65b7e118cd..f3dae35666 100644
--- a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c
+++ b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c
@@ -3366,6 +3366,7 @@ static int agx100_configure(const char *dev_name, const struct rte_fpga_5gnr_fec
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_fpga_5gnr_fec_configure, 20.11)
int rte_fpga_5gnr_fec_configure(const char *dev_name, const struct rte_fpga_5gnr_fec_conf *conf)
{
struct rte_bbdev *bbdev = rte_bbdev_get_named_dev(dev_name);
diff --git a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c
index 04c1f95180..1c614da354 100644
--- a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c
+++ b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c
@@ -2452,6 +2452,7 @@ set_default_fpga_conf(struct rte_fpga_lte_fec_conf *def_conf)
}
/* Initial configuration of FPGA LTE FEC device */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_fpga_lte_fec_configure, 20.11)
int
rte_fpga_lte_fec_configure(const char *dev_name,
const struct rte_fpga_lte_fec_conf *conf)
diff --git a/drivers/bus/auxiliary/auxiliary_common.c b/drivers/bus/auxiliary/auxiliary_common.c
index b444eb43ef..0cb646930f 100644
--- a/drivers/bus/auxiliary/auxiliary_common.c
+++ b/drivers/bus/auxiliary/auxiliary_common.c
@@ -258,6 +258,7 @@ auxiliary_parse(const char *name, void *addr)
}
/* Register a driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_auxiliary_register)
void
rte_auxiliary_register(struct rte_auxiliary_driver *driver)
{
@@ -265,6 +266,7 @@ rte_auxiliary_register(struct rte_auxiliary_driver *driver)
}
/* Unregister a driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_auxiliary_unregister)
void
rte_auxiliary_unregister(struct rte_auxiliary_driver *driver)
{
diff --git a/drivers/bus/cdx/cdx.c b/drivers/bus/cdx/cdx.c
index 62b108e082..bde565c48b 100644
--- a/drivers/bus/cdx/cdx.c
+++ b/drivers/bus/cdx/cdx.c
@@ -139,11 +139,13 @@ cdx_get_kernel_driver_by_path(const char *filename, char *driver_name,
return -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cdx_map_device)
int rte_cdx_map_device(struct rte_cdx_device *dev)
{
return cdx_vfio_map_resource(dev);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cdx_unmap_device)
void rte_cdx_unmap_device(struct rte_cdx_device *dev)
{
cdx_vfio_unmap_resource(dev);
@@ -478,6 +480,7 @@ cdx_parse(const char *name, void *addr)
}
/* register a driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cdx_register)
void
rte_cdx_register(struct rte_cdx_driver *driver)
{
@@ -486,6 +489,7 @@ rte_cdx_register(struct rte_cdx_driver *driver)
}
/* unregister a driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cdx_unregister)
void
rte_cdx_unregister(struct rte_cdx_driver *driver)
{
diff --git a/drivers/bus/cdx/cdx_vfio.c b/drivers/bus/cdx/cdx_vfio.c
index 664f267471..d3fd02937c 100644
--- a/drivers/bus/cdx/cdx_vfio.c
+++ b/drivers/bus/cdx/cdx_vfio.c
@@ -550,6 +550,7 @@ cdx_vfio_map_resource(struct rte_cdx_device *dev)
return cdx_vfio_map_resource_secondary(dev);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cdx_vfio_intr_enable)
int
rte_cdx_vfio_intr_enable(const struct rte_intr_handle *intr_handle)
{
@@ -584,6 +585,7 @@ rte_cdx_vfio_intr_enable(const struct rte_intr_handle *intr_handle)
}
/* disable MSI interrupts */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cdx_vfio_intr_disable)
int
rte_cdx_vfio_intr_disable(const struct rte_intr_handle *intr_handle)
{
@@ -611,6 +613,7 @@ rte_cdx_vfio_intr_disable(const struct rte_intr_handle *intr_handle)
}
/* Enable Bus Mastering */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cdx_vfio_bm_enable)
int
rte_cdx_vfio_bm_enable(struct rte_cdx_device *dev)
{
@@ -656,6 +659,7 @@ rte_cdx_vfio_bm_enable(struct rte_cdx_device *dev)
}
/* Disable Bus Mastering */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cdx_vfio_bm_disable)
int
rte_cdx_vfio_bm_disable(struct rte_cdx_device *dev)
{
diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index 9ffbe07c93..77b63421b3 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -59,15 +59,19 @@ struct netcfg_info *dpaa_netcfg;
/* define a variable to hold the portal_key, once created.*/
static pthread_key_t dpaa_portal_key;
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_svr_family)
unsigned int dpaa_svr_family;
#define FSL_DPAA_BUS_NAME dpaa_bus
+RTE_EXPORT_INTERNAL_SYMBOL(per_lcore_dpaa_io)
RTE_DEFINE_PER_LCORE(struct dpaa_portal *, dpaa_io);
#define DPAA_SEQN_DYNFIELD_NAME "dpaa_seqn_dynfield"
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_seqn_dynfield_offset)
int dpaa_seqn_dynfield_offset = -1;
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_get_eth_port_cfg)
struct fm_eth_port_cfg *
dpaa_get_eth_port_cfg(int dev_id)
{
@@ -315,6 +319,7 @@ dpaa_clean_device_list(void)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa_portal_init)
int rte_dpaa_portal_init(void *arg)
{
static const struct rte_mbuf_dynfield dpaa_seqn_dynfield_desc = {
@@ -393,6 +398,7 @@ int rte_dpaa_portal_init(void *arg)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa_portal_fq_init)
int
rte_dpaa_portal_fq_init(void *arg, struct qman_fq *fq)
{
@@ -421,6 +427,7 @@ rte_dpaa_portal_fq_init(void *arg, struct qman_fq *fq)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa_portal_fq_close)
int rte_dpaa_portal_fq_close(struct qman_fq *fq)
{
return fsl_qman_fq_portal_destroy(fq->qp);
@@ -548,6 +555,7 @@ rte_dpaa_bus_scan(void)
}
/* register a dpaa bus based dpaa driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa_driver_register)
void
rte_dpaa_driver_register(struct rte_dpaa_driver *driver)
{
@@ -559,6 +567,7 @@ rte_dpaa_driver_register(struct rte_dpaa_driver *driver)
}
/* un-register a dpaa bus based dpaa driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa_driver_unregister)
void
rte_dpaa_driver_unregister(struct rte_dpaa_driver *driver)
{
@@ -861,3 +870,98 @@ static struct rte_dpaa_bus rte_dpaa_bus = {
RTE_REGISTER_BUS(FSL_DPAA_BUS_NAME, rte_dpaa_bus.bus);
RTE_LOG_REGISTER_DEFAULT(dpaa_logtype_bus, NOTICE);
+
+/* Export all base symbols */
+RTE_EXPORT_INTERNAL_SYMBOL(fman_ip_rev)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_dealloc_bufs_mask_hi)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_dealloc_bufs_mask_lo)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_set_mcast_filter_table)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_reset_mcast_filter_table)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_clear_mac_addr)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_add_mac_addr)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_stats_get_all)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_stats_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_bmi_stats_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_bmi_stats_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_bmi_stats_get_all)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_bmi_stats_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_promiscuous_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_promiscuous_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_enable_rx)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_disable_rx)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_get_rx_status)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_loopback_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_loopback_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_set_bp)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_get_fc_threshold)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_set_fc_threshold)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_get_fc_quanta)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_set_fc_quanta)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_get_fdoff)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_set_err_fqid)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_set_ic_params)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_set_fdoff)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_set_maxfrm)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_get_maxfrm)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_get_sg_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_set_sg)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_discard_rx_errors)
+RTE_EXPORT_INTERNAL_SYMBOL(fman_if_receive_rx_errors)
+RTE_EXPORT_INTERNAL_SYMBOL(netcfg_acquire)
+RTE_EXPORT_INTERNAL_SYMBOL(netcfg_release)
+RTE_EXPORT_INTERNAL_SYMBOL(bman_new_pool)
+RTE_EXPORT_INTERNAL_SYMBOL(bman_free_pool)
+RTE_EXPORT_INTERNAL_SYMBOL(bman_get_params)
+RTE_EXPORT_INTERNAL_SYMBOL(bman_release)
+RTE_EXPORT_INTERNAL_SYMBOL(bman_acquire)
+RTE_EXPORT_INTERNAL_SYMBOL(bman_query_free_buffers)
+RTE_EXPORT_INTERNAL_SYMBOL(bman_thread_irq)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_alloc_fqid_range)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_reserve_fqid_range)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_alloc_pool_range)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_alloc_cgrid_range)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_release_cgrid_range)
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_intr_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_intr_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_get_ioctl_version_number)
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_get_link_status)
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_update_link_status)
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_update_link_speed)
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_restart_link_autoneg)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_set_fq_lookup_table)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_ern_register_cb)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_ern_poll_free)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_irqsource_add)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_fq_portal_irqsource_add)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_irqsource_remove)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_fq_portal_irqsource_remove)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_portal_poll_rx)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_clear_irq)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_portal_dequeue)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_dequeue)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_dqrr_consume)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_static_dequeue_add)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_dca_index)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_create_fq)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_fq_fqid)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_fq_state)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_init_fq)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_retire_fq)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_oos_fq)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_query_fq_np)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_query_fq_frm_cnt)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_set_vdq)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_volatile_dequeue)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_enqueue)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_enqueue_multi)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_enqueue_multi_fq)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_modify_cgr)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_create_cgr)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_delete_cgr)
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_get_qm_channel_caam)
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_get_qm_channel_pool)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_thread_fd)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_thread_irq)
+RTE_EXPORT_INTERNAL_SYMBOL(qman_fq_portal_thread_irq)
+RTE_EXPORT_INTERNAL_SYMBOL(fsl_qman_fq_portal_create)
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index 68ad2b801e..5d38d17525 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -29,8 +29,10 @@
struct rte_fslmc_bus rte_fslmc_bus;
#define DPAA2_SEQN_DYNFIELD_NAME "dpaa2_seqn_dynfield"
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_seqn_dynfield_offset)
int dpaa2_seqn_dynfield_offset = -1;
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_get_device_count)
uint32_t
rte_fslmc_get_device_count(enum rte_dpaa2_dev_type device_type)
{
@@ -525,6 +527,7 @@ rte_fslmc_find_device(const struct rte_device *start, rte_dev_cmp_t cmp,
}
/*register a fslmc bus based dpaa2 driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_driver_register)
void
rte_fslmc_driver_register(struct rte_dpaa2_driver *driver)
{
@@ -534,6 +537,7 @@ rte_fslmc_driver_register(struct rte_dpaa2_driver *driver)
}
/*un-register a fslmc bus based dpaa2 driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_driver_unregister)
void
rte_fslmc_driver_unregister(struct rte_dpaa2_driver *driver)
{
diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
index 7a584b9280..ab25261598 100644
--- a/drivers/bus/fslmc/fslmc_vfio.c
+++ b/drivers/bus/fslmc/fslmc_vfio.c
@@ -83,6 +83,7 @@ enum {
FSLMC_VFIO_SOCKET_REQ_MEM
};
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_get_mcp_ptr)
void *
dpaa2_get_mcp_ptr(int portal_idx)
{
@@ -154,6 +155,7 @@ fslmc_io_virt2phy(const void *virtaddr)
}
/*register a fslmc bus based dpaa2 driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_object_register)
void
rte_fslmc_object_register(struct rte_dpaa2_object *object)
{
@@ -984,6 +986,7 @@ fslmc_unmap_dma(uint64_t vaddr, uint64_t iovaddr, size_t len)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_cold_mem_vaddr_to_iova)
uint64_t
rte_fslmc_cold_mem_vaddr_to_iova(void *vaddr,
uint64_t size)
@@ -1002,6 +1005,7 @@ rte_fslmc_cold_mem_vaddr_to_iova(void *vaddr,
return RTE_BAD_IOVA;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_cold_mem_iova_to_vaddr)
void *
rte_fslmc_cold_mem_iova_to_vaddr(uint64_t iova,
uint64_t size)
@@ -1018,6 +1022,7 @@ rte_fslmc_cold_mem_iova_to_vaddr(uint64_t iova,
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_mem_vaddr_to_iova)
__rte_hot uint64_t
rte_fslmc_mem_vaddr_to_iova(void *vaddr)
{
@@ -1027,6 +1032,7 @@ rte_fslmc_mem_vaddr_to_iova(void *vaddr)
return rte_fslmc_cold_mem_vaddr_to_iova(vaddr, 0);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_mem_iova_to_vaddr)
__rte_hot void *
rte_fslmc_mem_iova_to_vaddr(uint64_t iova)
{
@@ -1036,6 +1042,7 @@ rte_fslmc_mem_iova_to_vaddr(uint64_t iova)
return rte_fslmc_cold_mem_iova_to_vaddr(iova, 0);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_io_vaddr_to_iova)
uint64_t
rte_fslmc_io_vaddr_to_iova(void *vaddr)
{
@@ -1051,6 +1058,7 @@ rte_fslmc_io_vaddr_to_iova(void *vaddr)
return RTE_BAD_IOVA;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_io_iova_to_vaddr)
void *
rte_fslmc_io_iova_to_vaddr(uint64_t iova)
{
@@ -1141,12 +1149,14 @@ fslmc_dmamap_seg(const struct rte_memseg_list *msl __rte_unused,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_fslmc_vfio_mem_dmamap)
int
rte_fslmc_vfio_mem_dmamap(uint64_t vaddr, uint64_t iova, uint64_t size)
{
return fslmc_map_dma(vaddr, iova, size);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_fslmc_vfio_mem_dmaunmap)
int
rte_fslmc_vfio_mem_dmaunmap(uint64_t iova, uint64_t size)
{
@@ -1264,6 +1274,7 @@ static intptr_t vfio_map_mcp_obj(const char *mcp_obj)
#define IRQ_SET_BUF_LEN (sizeof(struct vfio_irq_set) + sizeof(int))
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa2_intr_enable)
int rte_dpaa2_intr_enable(struct rte_intr_handle *intr_handle, int index)
{
int len, ret;
@@ -1295,6 +1306,7 @@ int rte_dpaa2_intr_enable(struct rte_intr_handle *intr_handle, int index)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa2_intr_disable)
int rte_dpaa2_intr_disable(struct rte_intr_handle *intr_handle, int index)
{
struct vfio_irq_set *irq_set;
diff --git a/drivers/bus/fslmc/mc/dpbp.c b/drivers/bus/fslmc/mc/dpbp.c
index d9103409cf..241819faa3 100644
--- a/drivers/bus/fslmc/mc/dpbp.c
+++ b/drivers/bus/fslmc/mc/dpbp.c
@@ -26,6 +26,7 @@
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpbp_open)
int dpbp_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpbp_id,
@@ -157,6 +158,7 @@ int dpbp_destroy(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpbp_enable)
int dpbp_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -179,6 +181,7 @@ int dpbp_enable(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpbp_disable)
int dpbp_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -235,6 +238,7 @@ int dpbp_is_enabled(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpbp_reset)
int dpbp_reset(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -258,6 +262,7 @@ int dpbp_reset(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpbp_get_attributes)
int dpbp_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -329,6 +334,7 @@ int dpbp_get_api_version(struct fsl_mc_io *mc_io,
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpbp_get_num_free_bufs)
int dpbp_get_num_free_bufs(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
diff --git a/drivers/bus/fslmc/mc/dpci.c b/drivers/bus/fslmc/mc/dpci.c
index 7e31327afa..303a4dac87 100644
--- a/drivers/bus/fslmc/mc/dpci.c
+++ b/drivers/bus/fslmc/mc/dpci.c
@@ -315,6 +315,7 @@ int dpci_get_attributes(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpci_set_rx_queue)
int dpci_set_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -477,6 +478,7 @@ int dpci_get_api_version(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpci_set_opr)
int dpci_set_opr(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -515,6 +517,7 @@ int dpci_set_opr(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpci_get_opr)
int dpci_get_opr(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
diff --git a/drivers/bus/fslmc/mc/dpcon.c b/drivers/bus/fslmc/mc/dpcon.c
index 2c46638dcb..4896ed4c66 100644
--- a/drivers/bus/fslmc/mc/dpcon.c
+++ b/drivers/bus/fslmc/mc/dpcon.c
@@ -26,6 +26,7 @@
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpcon_open)
int dpcon_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpcon_id,
@@ -64,6 +65,7 @@ int dpcon_open(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpcon_close)
int dpcon_close(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -164,6 +166,7 @@ int dpcon_destroy(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpcon_enable)
int dpcon_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -187,6 +190,7 @@ int dpcon_enable(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpcon_disable)
int dpcon_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -245,6 +249,7 @@ int dpcon_is_enabled(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpcon_reset)
int dpcon_reset(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -268,6 +273,7 @@ int dpcon_reset(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpcon_get_attributes)
int dpcon_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
diff --git a/drivers/bus/fslmc/mc/dpdmai.c b/drivers/bus/fslmc/mc/dpdmai.c
index 9c2f3bf9d5..a1709b45e9 100644
--- a/drivers/bus/fslmc/mc/dpdmai.c
+++ b/drivers/bus/fslmc/mc/dpdmai.c
@@ -24,6 +24,7 @@
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpdmai_open)
int dpdmai_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpdmai_id,
@@ -62,6 +63,7 @@ int dpdmai_open(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpdmai_close)
int dpdmai_close(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -171,6 +173,7 @@ int dpdmai_destroy(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpdmai_enable)
int dpdmai_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -194,6 +197,7 @@ int dpdmai_enable(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpdmai_disable)
int dpdmai_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -276,6 +280,7 @@ int dpdmai_reset(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpdmai_get_attributes)
int dpdmai_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -320,6 +325,7 @@ int dpdmai_get_attributes(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpdmai_set_rx_queue)
int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -362,6 +368,7 @@ int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpdmai_get_rx_queue)
int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -412,6 +419,7 @@ int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpdmai_get_tx_queue)
int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
diff --git a/drivers/bus/fslmc/mc/dpio.c b/drivers/bus/fslmc/mc/dpio.c
index 97c08fa713..c9c3cd1b62 100644
--- a/drivers/bus/fslmc/mc/dpio.c
+++ b/drivers/bus/fslmc/mc/dpio.c
@@ -26,6 +26,7 @@
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_open)
int dpio_open(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
int dpio_id,
@@ -61,6 +62,7 @@ int dpio_open(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_close)
int dpio_close(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -173,6 +175,7 @@ int dpio_destroy(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_enable)
int dpio_enable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -196,6 +199,7 @@ int dpio_enable(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_disable)
int dpio_disable(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -253,6 +257,7 @@ int dpio_is_enabled(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_reset)
int dpio_reset(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token)
@@ -277,6 +282,7 @@ int dpio_reset(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_get_attributes)
int dpio_get_attributes(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -322,6 +328,7 @@ int dpio_get_attributes(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_set_stashing_destination)
int dpio_set_stashing_destination(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -350,6 +357,7 @@ int dpio_set_stashing_destination(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_get_stashing_destination)
int dpio_get_stashing_destination(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -386,6 +394,7 @@ int dpio_get_stashing_destination(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_set_stashing_destination_by_core_id)
int dpio_set_stashing_destination_by_core_id(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -414,6 +423,7 @@ int dpio_set_stashing_destination_by_core_id(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_set_stashing_destination_source)
int dpio_set_stashing_destination_source(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -442,6 +452,7 @@ int dpio_set_stashing_destination_source(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_get_stashing_destination_source)
int dpio_get_stashing_destination_source(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -478,6 +489,7 @@ int dpio_get_stashing_destination_source(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_add_static_dequeue_channel)
int dpio_add_static_dequeue_channel(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
@@ -517,6 +529,7 @@ int dpio_add_static_dequeue_channel(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpio_remove_static_dequeue_channel)
int dpio_remove_static_dequeue_channel(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
uint16_t token,
diff --git a/drivers/bus/fslmc/mc/dpmng.c b/drivers/bus/fslmc/mc/dpmng.c
index 277080876d..ba662a8de5 100644
--- a/drivers/bus/fslmc/mc/dpmng.c
+++ b/drivers/bus/fslmc/mc/dpmng.c
@@ -18,6 +18,7 @@
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mc_get_version)
int mc_get_version(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
struct mc_version *mc_ver_info)
@@ -57,6 +58,7 @@ int mc_get_version(struct fsl_mc_io *mc_io,
*
* Return: '0' on Success; Error code otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mc_get_soc_version)
int mc_get_soc_version(struct fsl_mc_io *mc_io,
uint32_t cmd_flags,
struct mc_soc_version *mc_platform_info)
diff --git a/drivers/bus/fslmc/mc/mc_sys.c b/drivers/bus/fslmc/mc/mc_sys.c
index 76fdcd5c8a..63bd25bc4f 100644
--- a/drivers/bus/fslmc/mc/mc_sys.c
+++ b/drivers/bus/fslmc/mc/mc_sys.c
@@ -52,6 +52,7 @@ static int mc_status_to_error(enum mc_cmd_status status)
return -EINVAL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mc_send_command)
int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd)
{
enum mc_cmd_status status;
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c
index 0ca3b2b2e4..29c4151169 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c
@@ -95,6 +95,7 @@ dpaa2_create_dpbp_device(int vdev_fd __rte_unused,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_alloc_dpbp_dev)
struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void)
{
struct dpaa2_dpbp_dev *dpbp_dev = NULL;
@@ -108,6 +109,7 @@ struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void)
return dpbp_dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_free_dpbp_dev)
void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp)
{
struct dpaa2_dpbp_dev *dpbp_dev = NULL;
@@ -121,6 +123,7 @@ void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_dpbp_supported)
int dpaa2_dpbp_supported(void)
{
if (TAILQ_EMPTY(&dpbp_dev_list))
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpci.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpci.c
index 0ea859f887..2224bd326c 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpci.c
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpci.c
@@ -151,6 +151,7 @@ rte_dpaa2_create_dpci_device(int vdev_fd __rte_unused,
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa2_alloc_dpci_dev)
struct dpaa2_dpci_dev *rte_dpaa2_alloc_dpci_dev(void)
{
struct dpaa2_dpci_dev *dpci_dev = NULL;
@@ -164,6 +165,7 @@ struct dpaa2_dpci_dev *rte_dpaa2_alloc_dpci_dev(void)
return dpci_dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa2_free_dpci_dev)
void rte_dpaa2_free_dpci_dev(struct dpaa2_dpci_dev *dpci)
{
struct dpaa2_dpci_dev *dpci_dev = NULL;
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
index 2dfcf7a498..dc19143d6e 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
@@ -40,9 +40,12 @@
#define NUM_HOST_CPUS RTE_MAX_LCORE
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_io_portal)
struct dpaa2_io_portal_t dpaa2_io_portal[RTE_MAX_LCORE];
+RTE_EXPORT_INTERNAL_SYMBOL(per_lcore__dpaa2_io)
RTE_DEFINE_PER_LCORE(struct dpaa2_io_portal_t, _dpaa2_io);
+RTE_EXPORT_INTERNAL_SYMBOL(rte_global_active_dqs_list)
struct swp_active_dqs rte_global_active_dqs_list[NUM_MAX_SWP];
TAILQ_HEAD(dpio_dev_list, dpaa2_dpio_dev);
@@ -51,11 +54,14 @@ static struct dpio_dev_list dpio_dev_list
static uint32_t io_space_count;
/* Variable to store DPAA2 platform type */
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_svr_family)
uint32_t dpaa2_svr_family;
/* Variable to store DPAA2 DQRR size */
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_dqrr_size)
uint8_t dpaa2_dqrr_size;
/* Variable to store DPAA2 EQCR size */
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_eqcr_size)
uint8_t dpaa2_eqcr_size;
/* Variable to hold the portal_key, once created.*/
@@ -325,6 +331,7 @@ static struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(void)
return dpio_dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_affine_qbman_swp)
int
dpaa2_affine_qbman_swp(void)
{
@@ -346,6 +353,7 @@ dpaa2_affine_qbman_swp(void)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_affine_qbman_ethrx_swp)
int
dpaa2_affine_qbman_ethrx_swp(void)
{
@@ -606,6 +614,7 @@ dpaa2_create_dpio_device(int vdev_fd,
return -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_free_dq_storage)
void
dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage)
{
@@ -617,6 +626,7 @@ dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_alloc_dq_storage)
int
dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage)
{
@@ -639,6 +649,7 @@ dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage)
return -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_free_eq_descriptors)
uint32_t
dpaa2_free_eq_descriptors(void)
{
diff --git a/drivers/bus/fslmc/qbman/qbman_debug.c b/drivers/bus/fslmc/qbman/qbman_debug.c
index 0e471ec3fd..c4c646bf55 100644
--- a/drivers/bus/fslmc/qbman/qbman_debug.c
+++ b/drivers/bus/fslmc/qbman/qbman_debug.c
@@ -325,6 +325,7 @@ uint16_t qbman_fq_attr_get_opridsz(struct qbman_fq_query_rslt *r)
return r->opridsz;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_fq_query_state)
int qbman_fq_query_state(struct qbman_swp *s, uint32_t fqid,
struct qbman_fq_query_np_rslt *r)
{
@@ -382,6 +383,7 @@ int qbman_fq_state_overflow_error(const struct qbman_fq_query_np_rslt *r)
return (int)((r->st1 & 0x40) >> 6);
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_fq_state_frame_count)
uint32_t qbman_fq_state_frame_count(const struct qbman_fq_query_np_rslt *r)
{
return (r->frm_cnt & 0x00FFFFFF);
diff --git a/drivers/bus/fslmc/qbman/qbman_portal.c b/drivers/bus/fslmc/qbman/qbman_portal.c
index 5d0cedc136..09526bd2ad 100644
--- a/drivers/bus/fslmc/qbman/qbman_portal.c
+++ b/drivers/bus/fslmc/qbman/qbman_portal.c
@@ -405,6 +405,7 @@ uint32_t qbman_swp_interrupt_read_status(struct qbman_swp *p)
return qbman_cinh_read(&p->sys, QBMAN_CINH_SWP_ISR);
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_interrupt_clear_status)
void qbman_swp_interrupt_clear_status(struct qbman_swp *p, uint32_t mask)
{
qbman_cinh_write(&p->sys, QBMAN_CINH_SWP_ISR, mask);
@@ -606,11 +607,13 @@ enum qb_enqueue_commands {
#define QB_ENQUEUE_CMD_NLIS_SHIFT 14
#define QB_ENQUEUE_CMD_IS_NESN_SHIFT 15
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_eq_desc_clear)
void qbman_eq_desc_clear(struct qbman_eq_desc *d)
{
memset(d, 0, sizeof(*d));
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_eq_desc_set_no_orp)
void qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success)
{
d->eq.verb &= ~(1 << QB_ENQUEUE_CMD_ORP_ENABLE_SHIFT);
@@ -620,6 +623,7 @@ void qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success)
d->eq.verb |= enqueue_rejects_to_fq;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_eq_desc_set_orp)
void qbman_eq_desc_set_orp(struct qbman_eq_desc *d, int respond_success,
uint16_t opr_id, uint16_t seqnum, int incomplete)
{
@@ -659,6 +663,7 @@ void qbman_eq_desc_set_orp_nesn(struct qbman_eq_desc *d, uint16_t opr_id,
d->eq.seqnum |= 1 << QB_ENQUEUE_CMD_IS_NESN_SHIFT;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_eq_desc_set_response)
void qbman_eq_desc_set_response(struct qbman_eq_desc *d,
dma_addr_t storage_phys,
int stash)
@@ -667,17 +672,20 @@ void qbman_eq_desc_set_response(struct qbman_eq_desc *d,
d->eq.wae = stash;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_eq_desc_set_token)
void qbman_eq_desc_set_token(struct qbman_eq_desc *d, uint8_t token)
{
d->eq.rspid = token;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_eq_desc_set_fq)
void qbman_eq_desc_set_fq(struct qbman_eq_desc *d, uint32_t fqid)
{
d->eq.verb &= ~(1 << QB_ENQUEUE_CMD_TARGET_TYPE_SHIFT);
d->eq.tgtid = fqid;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_eq_desc_set_qd)
void qbman_eq_desc_set_qd(struct qbman_eq_desc *d, uint32_t qdid,
uint16_t qd_bin, uint8_t qd_prio)
{
@@ -695,6 +703,7 @@ void qbman_eq_desc_set_eqdi(struct qbman_eq_desc *d, int enable)
d->eq.verb &= ~(1 << QB_ENQUEUE_CMD_IRQ_ON_DISPATCH_SHIFT);
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_eq_desc_set_dca)
void qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable,
uint8_t dqrr_idx, int park)
{
@@ -1216,6 +1225,7 @@ static int qbman_swp_enqueue_multiple_mem_back(struct qbman_swp *s,
return num_enqueued;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_enqueue_multiple)
int qbman_swp_enqueue_multiple(struct qbman_swp *s,
const struct qbman_eq_desc *d,
const struct qbman_fd *fd,
@@ -1490,6 +1500,7 @@ static int qbman_swp_enqueue_multiple_fd_mem_back(struct qbman_swp *s,
return num_enqueued;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_enqueue_multiple_fd)
int qbman_swp_enqueue_multiple_fd(struct qbman_swp *s,
const struct qbman_eq_desc *d,
struct qbman_fd **fd,
@@ -1745,6 +1756,7 @@ static int qbman_swp_enqueue_multiple_desc_mem_back(struct qbman_swp *s,
return num_enqueued;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_enqueue_multiple_desc)
int qbman_swp_enqueue_multiple_desc(struct qbman_swp *s,
const struct qbman_eq_desc *d,
const struct qbman_fd *fd,
@@ -1771,6 +1783,7 @@ void qbman_swp_push_get(struct qbman_swp *s, uint8_t channel_idx, int *enabled)
*enabled = src | (1 << channel_idx);
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_push_set)
void qbman_swp_push_set(struct qbman_swp *s, uint8_t channel_idx, int enable)
{
uint16_t dqsrc;
@@ -1808,11 +1821,13 @@ enum qb_pull_dt_e {
qb_pull_dt_framequeue
};
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_pull_desc_clear)
void qbman_pull_desc_clear(struct qbman_pull_desc *d)
{
memset(d, 0, sizeof(*d));
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_pull_desc_set_storage)
void qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
struct qbman_result *storage,
dma_addr_t storage_phys,
@@ -1833,6 +1848,7 @@ void qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
d->pull.rsp_addr = storage_phys;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_pull_desc_set_numframes)
void qbman_pull_desc_set_numframes(struct qbman_pull_desc *d,
uint8_t numframes)
{
@@ -1844,6 +1860,7 @@ void qbman_pull_desc_set_token(struct qbman_pull_desc *d, uint8_t token)
d->pull.tok = token;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_pull_desc_set_fq)
void qbman_pull_desc_set_fq(struct qbman_pull_desc *d, uint32_t fqid)
{
d->pull.verb |= 1 << QB_VDQCR_VERB_DCT_SHIFT;
@@ -1959,6 +1976,7 @@ static int qbman_swp_pull_mem_back(struct qbman_swp *s,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_pull)
int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d)
{
if (!s->stash_off)
@@ -1986,6 +2004,7 @@ int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d)
#include <rte_prefetch.h>
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_prefetch_dqrr_next)
void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s)
{
const struct qbman_result *p;
@@ -1999,6 +2018,7 @@ void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s)
* only once, so repeated calls can return a sequence of DQRR entries, without
* requiring they be consumed immediately or in any particular order.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_dqrr_next)
const struct qbman_result *qbman_swp_dqrr_next(struct qbman_swp *s)
{
if (!s->stash_off)
@@ -2202,6 +2222,7 @@ const struct qbman_result *qbman_swp_dqrr_next_mem_back(struct qbman_swp *s)
}
/* Consume DQRR entries previously returned from qbman_swp_dqrr_next(). */
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_dqrr_consume)
void qbman_swp_dqrr_consume(struct qbman_swp *s,
const struct qbman_result *dq)
{
@@ -2210,6 +2231,7 @@ void qbman_swp_dqrr_consume(struct qbman_swp *s,
}
/* Consume DQRR entries previously returned from qbman_swp_dqrr_next(). */
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_dqrr_idx_consume)
void qbman_swp_dqrr_idx_consume(struct qbman_swp *s,
uint8_t dqrr_index)
{
@@ -2220,6 +2242,7 @@ void qbman_swp_dqrr_idx_consume(struct qbman_swp *s,
/* Polling user-provided storage */
/*********************************/
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_has_new_result)
int qbman_result_has_new_result(struct qbman_swp *s,
struct qbman_result *dq)
{
@@ -2248,6 +2271,7 @@ int qbman_result_has_new_result(struct qbman_swp *s,
return 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_check_new_result)
int qbman_check_new_result(struct qbman_result *dq)
{
if (dq->dq.tok == 0)
@@ -2263,6 +2287,7 @@ int qbman_check_new_result(struct qbman_result *dq)
return 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_check_command_complete)
int qbman_check_command_complete(struct qbman_result *dq)
{
struct qbman_swp *s;
@@ -2350,16 +2375,19 @@ int qbman_result_is_FQPN(const struct qbman_result *dq)
/* These APIs assume qbman_result_is_DQ() is TRUE */
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_DQ_flags)
uint8_t qbman_result_DQ_flags(const struct qbman_result *dq)
{
return dq->dq.stat;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_DQ_seqnum)
uint16_t qbman_result_DQ_seqnum(const struct qbman_result *dq)
{
return dq->dq.seqnum;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_DQ_odpid)
uint16_t qbman_result_DQ_odpid(const struct qbman_result *dq)
{
return dq->dq.oprid;
@@ -2380,11 +2408,13 @@ uint32_t qbman_result_DQ_frame_count(const struct qbman_result *dq)
return dq->dq.fq_frm_cnt;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_DQ_fqd_ctx)
uint64_t qbman_result_DQ_fqd_ctx(const struct qbman_result *dq)
{
return dq->dq.fqd_ctx;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_DQ_fd)
const struct qbman_fd *qbman_result_DQ_fd(const struct qbman_result *dq)
{
return (const struct qbman_fd *)&dq->dq.fd[0];
@@ -2393,6 +2423,7 @@ const struct qbman_fd *qbman_result_DQ_fd(const struct qbman_result *dq)
/**************************************/
/* Parsing state-change notifications */
/**************************************/
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_SCN_state)
uint8_t qbman_result_SCN_state(const struct qbman_result *scn)
{
return scn->scn.state;
@@ -2452,21 +2483,25 @@ uint64_t qbman_result_cgcu_icnt(const struct qbman_result *scn)
/********************/
/* Parsing EQ RESP */
/********************/
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_eqresp_fd)
struct qbman_fd *qbman_result_eqresp_fd(struct qbman_result *eqresp)
{
return (struct qbman_fd *)&eqresp->eq_resp.fd[0];
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_eqresp_set_rspid)
void qbman_result_eqresp_set_rspid(struct qbman_result *eqresp, uint8_t val)
{
eqresp->eq_resp.rspid = val;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_eqresp_rspid)
uint8_t qbman_result_eqresp_rspid(struct qbman_result *eqresp)
{
return eqresp->eq_resp.rspid;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_result_eqresp_rc)
uint8_t qbman_result_eqresp_rc(struct qbman_result *eqresp)
{
if (eqresp->eq_resp.rc == 0xE)
@@ -2481,12 +2516,14 @@ uint8_t qbman_result_eqresp_rc(struct qbman_result *eqresp)
#define QB_BR_RC_VALID_SHIFT 5
#define QB_BR_RCDI_SHIFT 6
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_release_desc_clear)
void qbman_release_desc_clear(struct qbman_release_desc *d)
{
memset(d, 0, sizeof(*d));
d->br.verb = 1 << QB_BR_RC_VALID_SHIFT;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_release_desc_set_bpid)
void qbman_release_desc_set_bpid(struct qbman_release_desc *d, uint16_t bpid)
{
d->br.bpid = bpid;
@@ -2601,6 +2638,7 @@ static int qbman_swp_release_mem_back(struct qbman_swp *s,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_release)
int qbman_swp_release(struct qbman_swp *s,
const struct qbman_release_desc *d,
const uint64_t *buffers,
@@ -2727,6 +2765,7 @@ static int qbman_swp_acquire_cinh_direct(struct qbman_swp *s, uint16_t bpid,
return num;
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_swp_acquire)
int qbman_swp_acquire(struct qbman_swp *s, uint16_t bpid, uint64_t *buffers,
unsigned int num_buffers)
{
@@ -2910,11 +2949,13 @@ int qbman_swp_CDAN_set_context_enable(struct qbman_swp *s, uint16_t channelid,
1, ctx);
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_get_dqrr_idx)
uint8_t qbman_get_dqrr_idx(const struct qbman_result *dqrr)
{
return QBMAN_IDX_FROM_DQRR(dqrr);
}
+RTE_EXPORT_INTERNAL_SYMBOL(qbman_get_dqrr_from_idx)
struct qbman_result *qbman_get_dqrr_from_idx(struct qbman_swp *s, uint8_t idx)
{
struct qbman_result *dq;
diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
index 11b31eee4f..03cd534a5c 100644
--- a/drivers/bus/ifpga/ifpga_bus.c
+++ b/drivers/bus/ifpga/ifpga_bus.c
@@ -44,6 +44,7 @@ static TAILQ_HEAD(, rte_afu_driver) ifpga_afu_drv_list =
/* register a ifpga bus based driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ifpga_driver_register)
void rte_ifpga_driver_register(struct rte_afu_driver *driver)
{
RTE_VERIFY(driver);
@@ -52,6 +53,7 @@ void rte_ifpga_driver_register(struct rte_afu_driver *driver)
}
/* un-register a fpga bus based driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ifpga_driver_unregister)
void rte_ifpga_driver_unregister(struct rte_afu_driver *driver)
{
TAILQ_REMOVE(&ifpga_afu_drv_list, driver, next);
@@ -71,6 +73,7 @@ ifpga_find_afu_dev(const struct rte_rawdev *rdev,
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ifpga_find_afu_by_name)
struct rte_afu_device *
rte_ifpga_find_afu_by_name(const char *name)
{
diff --git a/drivers/bus/pci/bsd/pci.c b/drivers/bus/pci/bsd/pci.c
index 2f88252418..e962013686 100644
--- a/drivers/bus/pci/bsd/pci.c
+++ b/drivers/bus/pci/bsd/pci.c
@@ -48,6 +48,7 @@
*/
/* Map pci device */
+RTE_EXPORT_SYMBOL(rte_pci_map_device)
int
rte_pci_map_device(struct rte_pci_device *dev)
{
@@ -69,6 +70,7 @@ rte_pci_map_device(struct rte_pci_device *dev)
}
/* Unmap pci device */
+RTE_EXPORT_SYMBOL(rte_pci_unmap_device)
void
rte_pci_unmap_device(struct rte_pci_device *dev)
{
@@ -395,6 +397,7 @@ pci_device_iova_mode(const struct rte_pci_driver *pdrv __rte_unused,
}
/* Read PCI config space. */
+RTE_EXPORT_SYMBOL(rte_pci_read_config)
int rte_pci_read_config(const struct rte_pci_device *dev,
void *buf, size_t len, off_t offset)
{
@@ -441,6 +444,7 @@ int rte_pci_read_config(const struct rte_pci_device *dev,
}
/* Write PCI config space. */
+RTE_EXPORT_SYMBOL(rte_pci_write_config)
int rte_pci_write_config(const struct rte_pci_device *dev,
const void *buf, size_t len, off_t offset)
{
@@ -484,6 +488,7 @@ int rte_pci_write_config(const struct rte_pci_device *dev,
}
/* Read PCI MMIO space. */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_mmio_read, 23.07)
int rte_pci_mmio_read(const struct rte_pci_device *dev, int bar,
void *buf, size_t len, off_t offset)
{
@@ -495,6 +500,7 @@ int rte_pci_mmio_read(const struct rte_pci_device *dev, int bar,
}
/* Write PCI MMIO space. */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_mmio_write, 23.07)
int rte_pci_mmio_write(const struct rte_pci_device *dev, int bar,
const void *buf, size_t len, off_t offset)
{
@@ -505,6 +511,7 @@ int rte_pci_mmio_write(const struct rte_pci_device *dev, int bar,
return len;
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_map)
int
rte_pci_ioport_map(struct rte_pci_device *dev, int bar,
struct rte_pci_ioport *p)
@@ -566,6 +573,7 @@ pci_uio_ioport_read(struct rte_pci_ioport *p,
#endif
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_read)
void
rte_pci_ioport_read(struct rte_pci_ioport *p,
void *data, size_t len, off_t offset)
@@ -608,6 +616,7 @@ pci_uio_ioport_write(struct rte_pci_ioport *p,
#endif
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_write)
void
rte_pci_ioport_write(struct rte_pci_ioport *p,
const void *data, size_t len, off_t offset)
@@ -621,6 +630,7 @@ rte_pci_ioport_write(struct rte_pci_ioport *p,
}
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_unmap)
int
rte_pci_ioport_unmap(struct rte_pci_ioport *p)
{
diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c
index 9056035b33..b820c5820a 100644
--- a/drivers/bus/pci/linux/pci.c
+++ b/drivers/bus/pci/linux/pci.c
@@ -54,6 +54,7 @@ pci_get_kernel_driver_by_path(const char *filename, char *dri_name,
}
/* Map pci device */
+RTE_EXPORT_SYMBOL(rte_pci_map_device)
int
rte_pci_map_device(struct rte_pci_device *dev)
{
@@ -84,6 +85,7 @@ rte_pci_map_device(struct rte_pci_device *dev)
}
/* Unmap pci device */
+RTE_EXPORT_SYMBOL(rte_pci_unmap_device)
void
rte_pci_unmap_device(struct rte_pci_device *dev)
{
@@ -627,6 +629,7 @@ pci_device_iova_mode(const struct rte_pci_driver *pdrv,
}
/* Read PCI config space. */
+RTE_EXPORT_SYMBOL(rte_pci_read_config)
int rte_pci_read_config(const struct rte_pci_device *device,
void *buf, size_t len, off_t offset)
{
@@ -650,6 +653,7 @@ int rte_pci_read_config(const struct rte_pci_device *device,
}
/* Write PCI config space. */
+RTE_EXPORT_SYMBOL(rte_pci_write_config)
int rte_pci_write_config(const struct rte_pci_device *device,
const void *buf, size_t len, off_t offset)
{
@@ -673,6 +677,7 @@ int rte_pci_write_config(const struct rte_pci_device *device,
}
/* Read PCI MMIO space. */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_mmio_read, 23.07)
int rte_pci_mmio_read(const struct rte_pci_device *device, int bar,
void *buf, size_t len, off_t offset)
{
@@ -695,6 +700,7 @@ int rte_pci_mmio_read(const struct rte_pci_device *device, int bar,
}
/* Write PCI MMIO space. */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_mmio_write, 23.07)
int rte_pci_mmio_write(const struct rte_pci_device *device, int bar,
const void *buf, size_t len, off_t offset)
{
@@ -716,6 +722,7 @@ int rte_pci_mmio_write(const struct rte_pci_device *device, int bar,
}
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_map)
int
rte_pci_ioport_map(struct rte_pci_device *dev, int bar,
struct rte_pci_ioport *p)
@@ -743,6 +750,7 @@ rte_pci_ioport_map(struct rte_pci_device *dev, int bar,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_read)
void
rte_pci_ioport_read(struct rte_pci_ioport *p,
void *data, size_t len, off_t offset)
@@ -762,6 +770,7 @@ rte_pci_ioport_read(struct rte_pci_ioport *p,
}
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_write)
void
rte_pci_ioport_write(struct rte_pci_ioport *p,
const void *data, size_t len, off_t offset)
@@ -781,6 +790,7 @@ rte_pci_ioport_write(struct rte_pci_ioport *p,
}
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_unmap)
int
rte_pci_ioport_unmap(struct rte_pci_ioport *p)
{
diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 70faae4e44..f9fe90195b 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -32,6 +32,7 @@
#define SYSFS_PCI_DEVICES "/sys/bus/pci/devices"
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pci_get_sysfs_path)
const char *rte_pci_get_sysfs_path(void)
{
const char *path = NULL;
@@ -476,6 +477,7 @@ pci_dump_one_device(FILE *f, struct rte_pci_device *dev)
}
/* dump devices on the bus */
+RTE_EXPORT_SYMBOL(rte_pci_dump)
void
rte_pci_dump(FILE *f)
{
@@ -500,6 +502,7 @@ pci_parse(const char *name, void *addr)
}
/* register a driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pci_register)
void
rte_pci_register(struct rte_pci_driver *driver)
{
@@ -507,6 +510,7 @@ rte_pci_register(struct rte_pci_driver *driver)
}
/* unregister a driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pci_unregister)
void
rte_pci_unregister(struct rte_pci_driver *driver)
{
@@ -794,6 +798,7 @@ rte_pci_get_iommu_class(void)
return iova_mode;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_has_capability_list, 23.11)
bool
rte_pci_has_capability_list(const struct rte_pci_device *dev)
{
@@ -805,12 +810,14 @@ rte_pci_has_capability_list(const struct rte_pci_device *dev)
return (status & RTE_PCI_STATUS_CAP_LIST) != 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_find_capability, 23.11)
off_t
rte_pci_find_capability(const struct rte_pci_device *dev, uint8_t cap)
{
return rte_pci_find_next_capability(dev, cap, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_find_next_capability, 23.11)
off_t
rte_pci_find_next_capability(const struct rte_pci_device *dev, uint8_t cap,
off_t offset)
@@ -848,6 +855,7 @@ rte_pci_find_next_capability(const struct rte_pci_device *dev, uint8_t cap,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_find_ext_capability, 20.11)
off_t
rte_pci_find_ext_capability(const struct rte_pci_device *dev, uint32_t cap)
{
@@ -890,6 +898,7 @@ rte_pci_find_ext_capability(const struct rte_pci_device *dev, uint32_t cap)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_set_bus_master, 21.08)
int
rte_pci_set_bus_master(const struct rte_pci_device *dev, bool enable)
{
@@ -918,6 +927,7 @@ rte_pci_set_bus_master(const struct rte_pci_device *dev, bool enable)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pci_pasid_set_state)
int
rte_pci_pasid_set_state(const struct rte_pci_device *dev,
off_t offset, bool enable)
diff --git a/drivers/bus/pci/windows/pci.c b/drivers/bus/pci/windows/pci.c
index 36e6f89093..515e652818 100644
--- a/drivers/bus/pci/windows/pci.c
+++ b/drivers/bus/pci/windows/pci.c
@@ -36,6 +36,7 @@ DEFINE_DEVPROPKEY(DEVPKEY_Device_Numa_Node, 0x540b947e, 0x8b40, 0x45bc,
*/
/* Map pci device */
+RTE_EXPORT_SYMBOL(rte_pci_map_device)
int
rte_pci_map_device(struct rte_pci_device *dev)
{
@@ -50,6 +51,7 @@ rte_pci_map_device(struct rte_pci_device *dev)
}
/* Unmap pci device */
+RTE_EXPORT_SYMBOL(rte_pci_unmap_device)
void
rte_pci_unmap_device(struct rte_pci_device *dev __rte_unused)
{
@@ -61,6 +63,7 @@ rte_pci_unmap_device(struct rte_pci_device *dev __rte_unused)
}
/* Read PCI config space. */
+RTE_EXPORT_SYMBOL(rte_pci_read_config)
int
rte_pci_read_config(const struct rte_pci_device *dev __rte_unused,
void *buf __rte_unused, size_t len __rte_unused,
@@ -75,6 +78,7 @@ rte_pci_read_config(const struct rte_pci_device *dev __rte_unused,
}
/* Write PCI config space. */
+RTE_EXPORT_SYMBOL(rte_pci_write_config)
int
rte_pci_write_config(const struct rte_pci_device *dev __rte_unused,
const void *buf __rte_unused, size_t len __rte_unused,
@@ -89,6 +93,7 @@ rte_pci_write_config(const struct rte_pci_device *dev __rte_unused,
}
/* Read PCI MMIO space. */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_mmio_read, 23.07)
int
rte_pci_mmio_read(const struct rte_pci_device *dev, int bar,
void *buf, size_t len, off_t offset)
@@ -101,6 +106,7 @@ rte_pci_mmio_read(const struct rte_pci_device *dev, int bar,
}
/* Write PCI MMIO space. */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pci_mmio_write, 23.07)
int
rte_pci_mmio_write(const struct rte_pci_device *dev, int bar,
const void *buf, size_t len, off_t offset)
@@ -124,6 +130,7 @@ pci_device_iova_mode(const struct rte_pci_driver *pdrv __rte_unused,
return RTE_IOVA_DC;
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_map)
int
rte_pci_ioport_map(struct rte_pci_device *dev __rte_unused,
int bar __rte_unused, struct rte_pci_ioport *p __rte_unused)
@@ -137,6 +144,7 @@ rte_pci_ioport_map(struct rte_pci_device *dev __rte_unused,
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_read)
void
rte_pci_ioport_read(struct rte_pci_ioport *p __rte_unused,
void *data __rte_unused, size_t len __rte_unused,
@@ -149,6 +157,7 @@ rte_pci_ioport_read(struct rte_pci_ioport *p __rte_unused,
*/
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_unmap)
int
rte_pci_ioport_unmap(struct rte_pci_ioport *p __rte_unused)
{
@@ -171,6 +180,7 @@ pci_device_iommu_support_va(const struct rte_pci_device *dev __rte_unused)
return false;
}
+RTE_EXPORT_SYMBOL(rte_pci_ioport_write)
void
rte_pci_ioport_write(struct rte_pci_ioport *p __rte_unused,
const void *data __rte_unused, size_t len __rte_unused,
diff --git a/drivers/bus/platform/platform.c b/drivers/bus/platform/platform.c
index 11892caa24..95b9651af4 100644
--- a/drivers/bus/platform/platform.c
+++ b/drivers/bus/platform/platform.c
@@ -28,12 +28,14 @@
#define PLATFORM_BUS_DEVICES_PATH "/sys/bus/platform/devices"
+RTE_EXPORT_INTERNAL_SYMBOL(rte_platform_register)
void
rte_platform_register(struct rte_platform_driver *pdrv)
{
TAILQ_INSERT_TAIL(&platform_bus.driver_list, pdrv, next);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_platform_unregister)
void
rte_platform_unregister(struct rte_platform_driver *pdrv)
{
diff --git a/drivers/bus/uacce/uacce.c b/drivers/bus/uacce/uacce.c
index 9ca048122d..6b39b0b81d 100644
--- a/drivers/bus/uacce/uacce.c
+++ b/drivers/bus/uacce/uacce.c
@@ -582,6 +582,7 @@ uacce_dev_iterate(const void *start, const char *str,
return dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_uacce_avail_queues)
int
rte_uacce_avail_queues(struct rte_uacce_device *dev)
{
@@ -595,6 +596,7 @@ rte_uacce_avail_queues(struct rte_uacce_device *dev)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_uacce_queue_alloc)
int
rte_uacce_queue_alloc(struct rte_uacce_device *dev, struct rte_uacce_qcontex *qctx)
{
@@ -609,6 +611,7 @@ rte_uacce_queue_alloc(struct rte_uacce_device *dev, struct rte_uacce_qcontex *qc
return -EIO;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_uacce_queue_free)
void
rte_uacce_queue_free(struct rte_uacce_qcontex *qctx)
{
@@ -618,6 +621,7 @@ rte_uacce_queue_free(struct rte_uacce_qcontex *qctx)
qctx->fd = -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_uacce_queue_start)
int
rte_uacce_queue_start(struct rte_uacce_qcontex *qctx)
{
@@ -625,6 +629,7 @@ rte_uacce_queue_start(struct rte_uacce_qcontex *qctx)
return ioctl(qctx->fd, UACCE_CMD_START_Q);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_uacce_queue_ioctl)
int
rte_uacce_queue_ioctl(struct rte_uacce_qcontex *qctx, unsigned long cmd, void *arg)
{
@@ -634,6 +639,7 @@ rte_uacce_queue_ioctl(struct rte_uacce_qcontex *qctx, unsigned long cmd, void *a
return ioctl(qctx->fd, cmd, arg);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_uacce_queue_mmap)
void *
rte_uacce_queue_mmap(struct rte_uacce_qcontex *qctx, enum rte_uacce_qfrt qfrt)
{
@@ -659,6 +665,7 @@ rte_uacce_queue_mmap(struct rte_uacce_qcontex *qctx, enum rte_uacce_qfrt qfrt)
return addr;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_uacce_queue_unmap)
void
rte_uacce_queue_unmap(struct rte_uacce_qcontex *qctx, enum rte_uacce_qfrt qfrt)
{
@@ -668,6 +675,7 @@ rte_uacce_queue_unmap(struct rte_uacce_qcontex *qctx, enum rte_uacce_qfrt qfrt)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_uacce_register)
void
rte_uacce_register(struct rte_uacce_driver *driver)
{
@@ -675,6 +683,7 @@ rte_uacce_register(struct rte_uacce_driver *driver)
driver->bus = &uacce_bus;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_uacce_unregister)
void
rte_uacce_unregister(struct rte_uacce_driver *driver)
{
diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
index ec7abe7cda..0a9158d9cf 100644
--- a/drivers/bus/vdev/vdev.c
+++ b/drivers/bus/vdev/vdev.c
@@ -51,6 +51,7 @@ static struct vdev_custom_scans vdev_custom_scans =
static rte_spinlock_t vdev_custom_scan_lock = RTE_SPINLOCK_INITIALIZER;
/* register a driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_vdev_register)
void
rte_vdev_register(struct rte_vdev_driver *driver)
{
@@ -58,12 +59,14 @@ rte_vdev_register(struct rte_vdev_driver *driver)
}
/* unregister a driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_vdev_unregister)
void
rte_vdev_unregister(struct rte_vdev_driver *driver)
{
TAILQ_REMOVE(&vdev_driver_list, driver, next);
}
+RTE_EXPORT_SYMBOL(rte_vdev_add_custom_scan)
int
rte_vdev_add_custom_scan(rte_vdev_scan_callback callback, void *user_arg)
{
@@ -92,6 +95,7 @@ rte_vdev_add_custom_scan(rte_vdev_scan_callback callback, void *user_arg)
return (custom_scan == NULL) ? -1 : 0;
}
+RTE_EXPORT_SYMBOL(rte_vdev_remove_custom_scan)
int
rte_vdev_remove_custom_scan(rte_vdev_scan_callback callback, void *user_arg)
{
@@ -316,6 +320,7 @@ insert_vdev(const char *name, const char *args,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vdev_init)
int
rte_vdev_init(const char *name, const char *args)
{
@@ -355,6 +360,7 @@ vdev_remove_driver(struct rte_vdev_device *dev)
return driver->remove(dev);
}
+RTE_EXPORT_SYMBOL(rte_vdev_uninit)
int
rte_vdev_uninit(const char *name)
{
diff --git a/drivers/bus/vmbus/linux/vmbus_bus.c b/drivers/bus/vmbus/linux/vmbus_bus.c
index 01d8111b85..27cb8da118 100644
--- a/drivers/bus/vmbus/linux/vmbus_bus.c
+++ b/drivers/bus/vmbus/linux/vmbus_bus.c
@@ -164,6 +164,7 @@ static const char *map_names[VMBUS_MAX_RESOURCE] = {
/* map the resources of a vmbus device in virtual memory */
+RTE_EXPORT_SYMBOL(rte_vmbus_map_device)
int
rte_vmbus_map_device(struct rte_vmbus_device *dev)
{
@@ -222,6 +223,7 @@ rte_vmbus_map_device(struct rte_vmbus_device *dev)
return vmbus_uio_map_resource(dev);
}
+RTE_EXPORT_SYMBOL(rte_vmbus_unmap_device)
void
rte_vmbus_unmap_device(struct rte_vmbus_device *dev)
{
@@ -338,6 +340,7 @@ vmbus_scan_one(const char *name)
/*
* Scan the content of the vmbus, and the devices in the devices list
*/
+RTE_EXPORT_SYMBOL(rte_vmbus_scan)
int
rte_vmbus_scan(void)
{
@@ -369,16 +372,19 @@ rte_vmbus_scan(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vmbus_irq_mask)
void rte_vmbus_irq_mask(struct rte_vmbus_device *device)
{
vmbus_uio_irq_control(device, 1);
}
+RTE_EXPORT_SYMBOL(rte_vmbus_irq_unmask)
void rte_vmbus_irq_unmask(struct rte_vmbus_device *device)
{
vmbus_uio_irq_control(device, 0);
}
+RTE_EXPORT_SYMBOL(rte_vmbus_irq_read)
int rte_vmbus_irq_read(struct rte_vmbus_device *device)
{
return vmbus_uio_irq_read(device);
diff --git a/drivers/bus/vmbus/vmbus_channel.c b/drivers/bus/vmbus/vmbus_channel.c
index 925c2aa081..6e6a53e0ea 100644
--- a/drivers/bus/vmbus/vmbus_channel.c
+++ b/drivers/bus/vmbus/vmbus_channel.c
@@ -47,6 +47,7 @@ vmbus_set_event(const struct vmbus_channel *chan)
/*
* Set the wait between when hypervisor examines the trigger.
*/
+RTE_EXPORT_SYMBOL(rte_vmbus_set_latency)
void
rte_vmbus_set_latency(const struct rte_vmbus_device *dev,
const struct vmbus_channel *chan,
@@ -76,6 +77,7 @@ rte_vmbus_set_latency(const struct rte_vmbus_device *dev,
* Since this in userspace, rely on the monitor page.
* Can't do a hypercall from userspace.
*/
+RTE_EXPORT_SYMBOL(rte_vmbus_chan_signal_tx)
void
rte_vmbus_chan_signal_tx(const struct vmbus_channel *chan)
{
@@ -93,6 +95,7 @@ rte_vmbus_chan_signal_tx(const struct vmbus_channel *chan)
/* Do a simple send directly using transmit ring. */
+RTE_EXPORT_SYMBOL(rte_vmbus_chan_send)
int rte_vmbus_chan_send(struct vmbus_channel *chan, uint16_t type,
void *data, uint32_t dlen,
uint64_t xactid, uint32_t flags, bool *need_sig)
@@ -136,6 +139,7 @@ int rte_vmbus_chan_send(struct vmbus_channel *chan, uint16_t type,
}
/* Do a scatter/gather send where the descriptor points to data. */
+RTE_EXPORT_SYMBOL(rte_vmbus_chan_send_sglist)
int rte_vmbus_chan_send_sglist(struct vmbus_channel *chan,
struct vmbus_gpa sg[], uint32_t sglen,
void *data, uint32_t dlen,
@@ -179,6 +183,7 @@ int rte_vmbus_chan_send_sglist(struct vmbus_channel *chan,
return error;
}
+RTE_EXPORT_SYMBOL(rte_vmbus_chan_rx_empty)
bool rte_vmbus_chan_rx_empty(const struct vmbus_channel *channel)
{
const struct vmbus_br *br = &channel->rxbr;
@@ -188,6 +193,7 @@ bool rte_vmbus_chan_rx_empty(const struct vmbus_channel *channel)
}
/* Signal host after reading N bytes */
+RTE_EXPORT_SYMBOL(rte_vmbus_chan_signal_read)
void rte_vmbus_chan_signal_read(struct vmbus_channel *chan, uint32_t bytes_read)
{
struct vmbus_br *rbr = &chan->rxbr;
@@ -218,6 +224,7 @@ void rte_vmbus_chan_signal_read(struct vmbus_channel *chan, uint32_t bytes_read)
vmbus_set_event(chan);
}
+RTE_EXPORT_SYMBOL(rte_vmbus_chan_recv)
int rte_vmbus_chan_recv(struct vmbus_channel *chan, void *data, uint32_t *len,
uint64_t *request_id)
{
@@ -265,6 +272,7 @@ int rte_vmbus_chan_recv(struct vmbus_channel *chan, void *data, uint32_t *len,
}
/* TODO: replace this with inplace ring buffer (no copy) */
+RTE_EXPORT_SYMBOL(rte_vmbus_chan_recv_raw)
int rte_vmbus_chan_recv_raw(struct vmbus_channel *chan,
void *data, uint32_t *len)
{
@@ -335,6 +343,7 @@ int vmbus_chan_create(const struct rte_vmbus_device *device,
}
/* Setup the primary channel */
+RTE_EXPORT_SYMBOL(rte_vmbus_chan_open)
int rte_vmbus_chan_open(struct rte_vmbus_device *device,
struct vmbus_channel **new_chan)
{
@@ -355,6 +364,7 @@ int rte_vmbus_chan_open(struct rte_vmbus_device *device,
return err;
}
+RTE_EXPORT_SYMBOL(rte_vmbus_max_channels)
int rte_vmbus_max_channels(const struct rte_vmbus_device *device)
{
if (vmbus_uio_subchannels_supported(device, device->primary))
@@ -364,6 +374,7 @@ int rte_vmbus_max_channels(const struct rte_vmbus_device *device)
}
/* Setup secondary channel */
+RTE_EXPORT_SYMBOL(rte_vmbus_subchan_open)
int rte_vmbus_subchan_open(struct vmbus_channel *primary,
struct vmbus_channel **new_chan)
{
@@ -379,11 +390,13 @@ int rte_vmbus_subchan_open(struct vmbus_channel *primary,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vmbus_sub_channel_index)
uint16_t rte_vmbus_sub_channel_index(const struct vmbus_channel *chan)
{
return chan->subchannel_id;
}
+RTE_EXPORT_SYMBOL(rte_vmbus_chan_close)
void rte_vmbus_chan_close(struct vmbus_channel *chan)
{
const struct rte_vmbus_device *device = chan->device;
diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
index 8a965d10d9..1f2be63236 100644
--- a/drivers/bus/vmbus/vmbus_common.c
+++ b/drivers/bus/vmbus/vmbus_common.c
@@ -191,6 +191,7 @@ vmbus_ignore_device(struct rte_vmbus_device *dev)
* all registered drivers that have a matching entry in its id_table
* for discovered devices.
*/
+RTE_EXPORT_SYMBOL(rte_vmbus_probe)
int
rte_vmbus_probe(void)
{
@@ -279,6 +280,7 @@ vmbus_devargs_lookup(struct rte_vmbus_device *dev)
}
/* register vmbus driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_vmbus_register)
void
rte_vmbus_register(struct rte_vmbus_driver *driver)
{
@@ -289,6 +291,7 @@ rte_vmbus_register(struct rte_vmbus_driver *driver)
}
/* unregister vmbus driver */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_vmbus_unregister)
void
rte_vmbus_unregister(struct rte_vmbus_driver *driver)
{
diff --git a/drivers/common/cnxk/cnxk_security.c b/drivers/common/cnxk/cnxk_security.c
index a3c06c1e88..7245501d5a 100644
--- a/drivers/common/cnxk/cnxk_security.c
+++ b/drivers/common/cnxk/cnxk_security.c
@@ -301,6 +301,7 @@ ot_ipsec_inb_tunnel_hdr_fill(struct roc_ot_ipsec_inb_sa *sa,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ot_ipsec_inb_sa_fill)
int
cnxk_ot_ipsec_inb_sa_fill(struct roc_ot_ipsec_inb_sa *sa,
struct rte_security_ipsec_xform *ipsec_xfrm,
@@ -410,6 +411,7 @@ cnxk_ot_ipsec_inb_sa_fill(struct roc_ot_ipsec_inb_sa *sa,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ot_ipsec_outb_sa_fill)
int
cnxk_ot_ipsec_outb_sa_fill(struct roc_ot_ipsec_outb_sa *sa,
struct rte_security_ipsec_xform *ipsec_xfrm,
@@ -574,18 +576,21 @@ cnxk_ot_ipsec_outb_sa_fill(struct roc_ot_ipsec_outb_sa *sa,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ot_ipsec_inb_sa_valid)
bool
cnxk_ot_ipsec_inb_sa_valid(struct roc_ot_ipsec_inb_sa *sa)
{
return !!sa->w2.s.valid;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ot_ipsec_outb_sa_valid)
bool
cnxk_ot_ipsec_outb_sa_valid(struct roc_ot_ipsec_outb_sa *sa)
{
return !!sa->w2.s.valid;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ipsec_ivlen_get)
uint8_t
cnxk_ipsec_ivlen_get(enum rte_crypto_cipher_algorithm c_algo,
enum rte_crypto_auth_algorithm a_algo,
@@ -622,6 +627,7 @@ cnxk_ipsec_ivlen_get(enum rte_crypto_cipher_algorithm c_algo,
return ivlen;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ipsec_icvlen_get)
uint8_t
cnxk_ipsec_icvlen_get(enum rte_crypto_cipher_algorithm c_algo,
enum rte_crypto_auth_algorithm a_algo,
@@ -668,6 +674,7 @@ cnxk_ipsec_icvlen_get(enum rte_crypto_cipher_algorithm c_algo,
return icv;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ipsec_outb_roundup_byte)
uint8_t
cnxk_ipsec_outb_roundup_byte(enum rte_crypto_cipher_algorithm c_algo,
enum rte_crypto_aead_algorithm aead_algo)
@@ -698,6 +705,7 @@ cnxk_ipsec_outb_roundup_byte(enum rte_crypto_cipher_algorithm c_algo,
return roundup_byte;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ipsec_outb_rlens_get)
int
cnxk_ipsec_outb_rlens_get(struct cnxk_ipsec_outb_rlens *rlens,
struct rte_security_ipsec_xform *ipsec_xfrm,
@@ -970,6 +978,7 @@ on_fill_ipsec_common_sa(struct rte_security_ipsec_xform *ipsec,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_on_ipsec_outb_sa_create)
int
cnxk_on_ipsec_outb_sa_create(struct rte_security_ipsec_xform *ipsec,
struct rte_crypto_sym_xform *crypto_xform,
@@ -1115,6 +1124,7 @@ cnxk_on_ipsec_outb_sa_create(struct rte_security_ipsec_xform *ipsec,
return ctx_len;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_on_ipsec_inb_sa_create)
int
cnxk_on_ipsec_inb_sa_create(struct rte_security_ipsec_xform *ipsec,
struct rte_crypto_sym_xform *crypto_xform,
@@ -1465,6 +1475,7 @@ ow_ipsec_inb_tunnel_hdr_fill(struct roc_ow_ipsec_inb_sa *sa,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ow_ipsec_inb_sa_fill)
int
cnxk_ow_ipsec_inb_sa_fill(struct roc_ow_ipsec_inb_sa *sa,
struct rte_security_ipsec_xform *ipsec_xfrm,
@@ -1571,6 +1582,7 @@ cnxk_ow_ipsec_inb_sa_fill(struct roc_ow_ipsec_inb_sa *sa,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ow_ipsec_outb_sa_fill)
int
cnxk_ow_ipsec_outb_sa_fill(struct roc_ow_ipsec_outb_sa *sa,
struct rte_security_ipsec_xform *ipsec_xfrm,
diff --git a/drivers/common/cnxk/cnxk_utils.c b/drivers/common/cnxk/cnxk_utils.c
index 4e56adc659..eed089d0b0 100644
--- a/drivers/common/cnxk/cnxk_utils.c
+++ b/drivers/common/cnxk/cnxk_utils.c
@@ -9,6 +9,7 @@
#include "cnxk_utils.h"
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_err_to_rte_err)
int
roc_nix_tm_err_to_rte_err(int errorcode)
{
diff --git a/drivers/common/cnxk/roc_platform.c b/drivers/common/cnxk/roc_platform.c
index 401f737ad4..02d2168988 100644
--- a/drivers/common/cnxk/roc_platform.c
+++ b/drivers/common/cnxk/roc_platform.c
@@ -242,6 +242,7 @@ plt_irq_unregister(struct plt_intr_handle *intr_handle, plt_intr_callback_fn cb,
static int plt_init_cb_num;
static roc_plt_init_cb_t plt_init_cbs[PLT_INIT_CB_MAX];
+RTE_EXPORT_INTERNAL_SYMBOL(roc_plt_init_cb_register)
int
roc_plt_init_cb_register(roc_plt_init_cb_t cb)
{
@@ -252,6 +253,7 @@ roc_plt_init_cb_register(roc_plt_init_cb_t cb)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(roc_plt_control_lmt_id_get)
uint16_t
roc_plt_control_lmt_id_get(void)
{
@@ -263,6 +265,7 @@ roc_plt_control_lmt_id_get(void)
return ROC_NUM_LMT_LINES - 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(roc_plt_lmt_validate)
uint16_t
roc_plt_lmt_validate(void)
{
@@ -277,6 +280,7 @@ roc_plt_lmt_validate(void)
return 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(roc_plt_init)
int
roc_plt_init(void)
{
@@ -316,17 +320,572 @@ roc_plt_init(void)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_base)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_base, base, INFO);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_mbox)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_mbox, mbox, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_cpt)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_cpt, crypto, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_ml)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_ml, ml, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_npa)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_npa, mempool, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_nix)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_nix, nix, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_npc)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_npc, flow, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_sso)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_sso, event, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_tim)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_tim, timer, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_tm)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_tm, tm, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_dpi)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_dpi, dpi, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_rep)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_rep, rep, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_esw)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_esw, esw, NOTICE);
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_logtype_ree)
RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_ree, ree, NOTICE);
+
+/* Export all ROC symbols */
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ae_ec_grp_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ae_ec_grp_put)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ae_fpm_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ae_fpm_put)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_aes_xcbc_key_derive)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_aes_hash_key_derive)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_npa_pf_func_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_sso_pf_func_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_start_rxtx)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_stop_rxtx)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_set_link_state)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_get_linkinfo)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_set_link_mode)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_intlbk_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_intlbk_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_ptp_rx_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_ptp_rx_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_fec_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_fec_supported_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_cpri_mode_change)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_cpri_mode_tx_control)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_cgx_cpri_mode_misc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_intr_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_intr_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_intr_handler)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_intr_available)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_intr_max_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_intr_clear)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_bphy_intr_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_inline_ipsec_cfg)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_inline_ipsec_inb_cfg_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_inline_ipsec_inb_cfg)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_rxc_time_cfg)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_dev_configure)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_lf_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_lf_ctx_flush)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_lf_ctx_reload)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_lf_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_lf_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_dev_clear)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_eng_grp_add)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_iq_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_iq_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_lmtline_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_ctx_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_int_misc_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_int_misc_cb_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_parse_hdr_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_afs_print)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_cpt_lfs_print)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_dpi_wait_queue_idle)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_dpi_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_dpi_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_dpi_configure)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_dpi_configure_v2)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_dpi_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_dpi_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_eswitch_npc_mcam_tx_rule)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_eswitch_npc_mcam_delete_rule)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_eswitch_npc_mcam_rx_rule)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_eswitch_npc_rss_action_configure)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_eswitch_nix_vlan_tpid_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_eswitch_nix_process_repte_notify_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_eswitch_nix_process_repte_notify_cb_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_eswitch_nix_repte_stats)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_eswitch_is_repte_pfs_vf)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_hash_md5_gen)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_hash_sha1_gen)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_hash_sha256_gen)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_hash_sha512_gen)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_npa_maxpools_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_npa_maxpools_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_lmt_base_addr_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_num_lmtlines_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_cpt_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_rvu_lf_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_rvu_lf_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_rvu_lf_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_mcs_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_mcs_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_mcs_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_outb_ring_base_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_nix_list_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_cpt_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_npa_nix_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_nix_inl_meta_aura_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_nix_rx_inject_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_nix_rx_inject_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_nix_rx_chan_base_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_nix_rx_chan_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_idev_nix_inl_dev_pffunc_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ot_ipsec_inb_sa_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ot_ipsec_outb_sa_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ow_ipsec_inb_sa_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ow_reass_inb_sa_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ow_ipsec_outb_sa_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_is_supported)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_hw_info_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_active_lmac_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_lmac_mode_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_pn_threshold_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_ctrl_pkt_rule_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_ctrl_pkt_rule_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_ctrl_pkt_rule_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_port_cfg_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_port_cfg_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_custom_tag_cfg_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_intr_configure)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_port_recovery)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_port_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_event_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_event_cb_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_rsrc_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_rsrc_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_sa_policy_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_sa_policy_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_pn_table_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_pn_table_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_rx_sc_cam_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_rx_sc_cam_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_rx_sc_cam_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_secy_policy_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_secy_policy_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_rx_sc_sa_map_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_rx_sc_sa_map_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_tx_sc_sa_map_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_tx_sc_sa_map_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_flowid_entry_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_flowid_entry_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_flowid_entry_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_sa_port_map_update)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_flowid_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_secy_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_sc_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_port_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_mcs_stats_clear)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_reg_read64)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_reg_write64)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_reg_read32)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_reg_write32)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_reg_save)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_addr_ap2mlip)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_addr_mlip2ap)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_addr_pa_to_offset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_addr_offset_to_pa)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_scratch_write_job)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_scratch_is_valid_bit_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_scratch_is_done_bit_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_scratch_enqueue)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_scratch_dequeue)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_scratch_queue_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_jcmdq_enqueue_lf)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_jcmdq_enqueue_sl)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_clk_force_on)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_clk_force_off)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_dma_stall_on)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_dma_stall_off)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_mlip_is_enabled)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_mlip_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_blk_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_blk_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ml_sso_pf_func_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_model)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_is_lbk)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_is_esw)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_get_base_chan)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_get_rx_chan_cnt)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_get_vwqe_interval)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_is_sdp)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_is_pf)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_get_pf)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_get_vf)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_is_vf_or_sdp)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_get_pf_func)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_lf_inl_ipsec_cfg)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_cpt_ctx_cache_sync)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_max_pkt_len)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_lf_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_lf_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_max_rep_count)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_level_to_idx)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_stats_to_idx)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_timeunit_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_count_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_free_all)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_config)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_pre_color_tbl_setup)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_connect)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_stats_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_stats_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_lf_stats_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpf_lf_stats_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_lf_get_reg_count)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_lf_reg_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_queues_ctx_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_cqe_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rq_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_cq_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_sq_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_outb_cpt_lfs_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_sq_desc_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_fc_config_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_fc_config_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_fc_mode_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_fc_mode_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_fc_npa_bp_cfg)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_pfc_mode_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_pfc_mode_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_chan_count_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpids_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_bpids_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rx_chan_cfg_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rx_chan_cfg_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_chan_bpid_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_meta_aura_check)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_outb_lf_base_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_inj_lf_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_outb_sa_base_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_sa_base_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_rx_inject_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_spi_range)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_sa_sz)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_sa_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_reassembly_configure)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_outb_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_outb_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_is_probed)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_is_multi_channel)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_is_enabled)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_outb_is_enabled)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_rq_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_rq_put)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_rq_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inb_mode_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_outb_soft_exp_poll_switch)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inb_is_with_inl_dev)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_rq)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_outb_sso_pffunc_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_cb_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_inb_tag_update)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_sa_sync)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_ctx_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_cpt_lf_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_ts_pkind_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_lock)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_unlock)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_meta_pool_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_eng_caps_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_custom_meta_pool_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_xaq_realloc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_qptr_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_stats_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_cpt_setup)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_inl_dev_cpt_release)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rx_queue_intr_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rx_queue_intr_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_err_intr_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_ras_intr_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_register_queue_irqs)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_unregister_queue_irqs)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_register_cq_irqs)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_unregister_cq_irqs)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_rxtx_start_stop)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_link_event_start_stop)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_loopback_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_addr_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_max_entries_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_addr_add)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_addr_del)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_promisc_mode_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_link_info_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_link_state_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_link_info_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_mtu_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_max_rx_len_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_stats_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_link_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_link_cb_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_link_info_get_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mac_link_info_get_cb_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mcast_mcam_entry_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mcast_mcam_entry_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mcast_mcam_entry_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mcast_mcam_entry_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mcast_list_setup)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_mcast_list_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_npc_promisc_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_npc_mac_addr_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_npc_mac_addr_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_npc_rx_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_npc_mcast_config)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_lso_custom_fmt_setup)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_lso_fmt_setup)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_lso_fmt_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_switch_hdr_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_eeprom_info_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rx_drop_re_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_ptp_rx_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_ptp_tx_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_ptp_clock_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_ptp_sync_time_adjust)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_ptp_info_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_ptp_info_cb_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_ptp_is_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_sq_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rq_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rq_is_sso_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rq_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rq_modify)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rq_cman_config)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rq_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_cq_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_cq_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_sq_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_sq_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_cq_head_tail_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_sq_head_tail_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_q_err_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_q_err_cb_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rss_key_default_fill)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rss_key_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rss_key_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rss_reta_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rss_reta_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rss_flowkey_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_rss_default_setup)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_num_xstats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_stats_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_stats_queue_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_stats_queue_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_xstats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_xstats_names_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_sq_flush_spin)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_prepare_rate_limited_tree)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_pfc_prepare_tree)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_mark_config)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_mark_format_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_sq_aura_fc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_free_resources)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_shaper_profile_add)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_shaper_profile_update)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_shaper_profile_delete)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_add)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_pkt_mode_update)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_name_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_delete)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_smq_flush)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_hierarchy_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_hierarchy_xmit_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_hierarchy_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_suspend_resume)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_prealloc_res)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_shaper_update)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_parent_update)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_pfc_rlimit_sq)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_rlimit_sq)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_rsrc_count)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_rsrc_max)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_root_has_sp)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_egress_link_cfg_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_leaf_cnt)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_lvl)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_next)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_shaper_profile_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_shaper_profile_next)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_node_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_is_user_hierarchy_enabled)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_tree_type_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_max_prio)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_lvl_is_leaf)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_shaper_default_red_algo)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_lvl_cnt_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_tm_lvl_have_link_access)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_vlan_mcam_entry_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_vlan_mcam_entry_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_vlan_mcam_entry_alloc_and_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_vlan_mcam_entry_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_vlan_mcam_entry_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_vlan_strip_vtag_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_vlan_insert_ena_dis)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_nix_vlan_tpid_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_lf_init_cb_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_pf_func_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_pool_op_range_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_aura_op_range_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_aura_op_range_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_pool_op_pc_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_aura_drop_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_pool_create)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_aura_create)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_aura_limit_modify)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_pool_destroy)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_aura_destroy)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_pool_range_update_check)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_zero_aura_handle)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_aura_bp_configure)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_dev_lock)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_dev_unlock)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_ctx_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_buf_type_update)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_buf_type_mask)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npa_buf_type_limit_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mark_actions_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mark_actions_sub_return)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_vtag_actions_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_vtag_actions_sub_return)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_free_counter)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_inl_mcam_read_counter)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_inl_mcam_clear_counter)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_alloc_counter)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_get_free_mcam_entry)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_read_counter)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_get_stats)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_clear_counter)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_free_entry)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_move)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_free_all_resources)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_alloc_entries)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_enable_all_entries)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_alloc_entry)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_ena_dis_entry)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_write_entry)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_get_low_priority_mcam)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_profile_name_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_kex_capa_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_validate_portid_action)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_flow_parse)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_sdp_channel_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_flow_create)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_flow_destroy)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_flow_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_mcam_merge_base_steering_rule)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_aged_flow_ctx_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_npc_flow_mcam_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_queues_attach)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_queues_detach)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_msix_offsets_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_config_lf)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_af_reg_read)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_af_reg_write)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_rule_db_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_rule_db_len_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_rule_db_prog)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_qp_get_base)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_err_intr_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_err_intr_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_iq_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_iq_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_ree_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_pf_func_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_msg_id_range_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_msg_id_range_check)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_msg_process)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_irq_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_irq_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_msg_handler_register)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_rvu_lf_msg_handler_unregister)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_se_hmac_opad_ipad_gen)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_se_auth_key_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_se_ciph_key_set)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_se_ctx_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hws_base_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_base_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_pf_func_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_ns_to_gw)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hws_link)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hws_unlink)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hws_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hws_gwc_invalidate)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_agq_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_agq_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_agq_release)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_agq_from_tag)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_stats_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_hws_link_status)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_qos_config)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_init_xaq_aura)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_free_xaq_aura)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_alloc_xaq)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_release_xaq)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_set_priority)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_hwgrp_stash_config)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_rsrc_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_rsrc_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_dev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_dev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_sso_dump)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_lf_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_lf_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_lf_base_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_lf_config)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_lf_config_hwwqe)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_lf_interval)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_lf_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_lf_free)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_init)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_tim_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_error_msg_get)
+RTE_EXPORT_INTERNAL_SYMBOL(roc_clk_freq_get)
diff --git a/drivers/common/cpt/cpt_fpm_tables.c b/drivers/common/cpt/cpt_fpm_tables.c
index 15b665db01..927ccc5e2e 100644
--- a/drivers/common/cpt/cpt_fpm_tables.c
+++ b/drivers/common/cpt/cpt_fpm_tables.c
@@ -1081,6 +1081,7 @@ static rte_spinlock_t lock = RTE_SPINLOCK_INITIALIZER;
static uint8_t *fpm_table;
static int nb_devs;
+RTE_EXPORT_INTERNAL_SYMBOL(cpt_fpm_init)
int cpt_fpm_init(uint64_t *fpm_table_iova)
{
int i, len = 0;
@@ -1125,6 +1126,7 @@ int cpt_fpm_init(uint64_t *fpm_table_iova)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cpt_fpm_clear)
void cpt_fpm_clear(void)
{
rte_spinlock_lock(&lock);
diff --git a/drivers/common/cpt/cpt_pmd_ops_helper.c b/drivers/common/cpt/cpt_pmd_ops_helper.c
index 2cddddf4ce..79dfab01bb 100644
--- a/drivers/common/cpt/cpt_pmd_ops_helper.c
+++ b/drivers/common/cpt/cpt_pmd_ops_helper.c
@@ -14,6 +14,7 @@
#define CPT_MAX_ASYM_OP_NUM_PARAMS 5
#define CPT_MAX_ASYM_OP_MOD_LEN 1024
+RTE_EXPORT_INTERNAL_SYMBOL(cpt_pmd_ops_helper_get_mlen_direct_mode)
int32_t
cpt_pmd_ops_helper_get_mlen_direct_mode(void)
{
@@ -28,6 +29,7 @@ cpt_pmd_ops_helper_get_mlen_direct_mode(void)
return len;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cpt_pmd_ops_helper_get_mlen_sg_mode)
int
cpt_pmd_ops_helper_get_mlen_sg_mode(void)
{
@@ -43,6 +45,7 @@ cpt_pmd_ops_helper_get_mlen_sg_mode(void)
return len;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cpt_pmd_ops_helper_asym_get_mlen)
int
cpt_pmd_ops_helper_asym_get_mlen(void)
{
diff --git a/drivers/common/dpaax/caamflib.c b/drivers/common/dpaax/caamflib.c
index 55e20281ca..aadefae681 100644
--- a/drivers/common/dpaax/caamflib.c
+++ b/drivers/common/dpaax/caamflib.c
@@ -13,4 +13,5 @@
* - SEC HW block revision format is "v"
* - SEC revision format is "x.y"
*/
+RTE_EXPORT_INTERNAL_SYMBOL(rta_sec_era)
enum rta_sec_era rta_sec_era;
diff --git a/drivers/common/dpaax/dpaa_of.c b/drivers/common/dpaax/dpaa_of.c
index bb2c8fc66b..59b828fe66 100644
--- a/drivers/common/dpaax/dpaa_of.c
+++ b/drivers/common/dpaax/dpaa_of.c
@@ -213,6 +213,7 @@ linear_dir(struct dt_dir *d)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_init_path)
int
of_init_path(const char *dt_path)
{
@@ -297,6 +298,7 @@ check_compatible(const struct dt_file *f, const char *compatible)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_find_compatible_node)
const struct device_node *
of_find_compatible_node(const struct device_node *from,
const char *type __rte_unused,
@@ -322,6 +324,7 @@ of_find_compatible_node(const struct device_node *from,
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_get_property)
const void *
of_get_property(const struct device_node *from, const char *name,
size_t *lenp)
@@ -341,6 +344,7 @@ of_get_property(const struct device_node *from, const char *name,
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_device_is_available)
bool
of_device_is_available(const struct device_node *dev_node)
{
@@ -357,6 +361,7 @@ of_device_is_available(const struct device_node *dev_node)
return false;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_find_node_by_phandle)
const struct device_node *
of_find_node_by_phandle(uint64_t ph)
{
@@ -370,6 +375,7 @@ of_find_node_by_phandle(uint64_t ph)
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_get_parent)
const struct device_node *
of_get_parent(const struct device_node *dev_node)
{
@@ -385,6 +391,7 @@ of_get_parent(const struct device_node *dev_node)
return &d->parent->node.node;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_get_next_child)
const struct device_node *
of_get_next_child(const struct device_node *dev_node,
const struct device_node *prev)
@@ -414,6 +421,7 @@ of_get_next_child(const struct device_node *dev_node,
return &c->node.node;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_n_addr_cells)
uint32_t
of_n_addr_cells(const struct device_node *dev_node)
{
@@ -458,6 +466,7 @@ of_n_size_cells(const struct device_node *dev_node)
return OF_DEFAULT_NS;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_get_address)
const uint32_t *
of_get_address(const struct device_node *dev_node, size_t idx,
uint64_t *size, uint32_t *flags __rte_unused)
@@ -487,6 +496,7 @@ of_get_address(const struct device_node *dev_node, size_t idx,
return (const uint32_t *)buf;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_translate_address)
uint64_t
of_translate_address(const struct device_node *dev_node,
const uint32_t *addr)
@@ -533,6 +543,7 @@ of_translate_address(const struct device_node *dev_node,
return phys_addr;
}
+RTE_EXPORT_INTERNAL_SYMBOL(of_device_is_compatible)
bool
of_device_is_compatible(const struct device_node *dev_node,
const char *compatible)
@@ -573,6 +584,7 @@ static const void *of_get_mac_addr(const struct device_node *np,
* this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
* but is all zeros.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(of_get_mac_address)
const void *of_get_mac_address(const struct device_node *np)
{
const void *addr;
diff --git a/drivers/common/dpaax/dpaax_iova_table.c b/drivers/common/dpaax/dpaax_iova_table.c
index 860e702333..003b4455ba 100644
--- a/drivers/common/dpaax/dpaax_iova_table.c
+++ b/drivers/common/dpaax/dpaax_iova_table.c
@@ -8,6 +8,7 @@
#include "dpaax_logs.h"
/* Global table reference */
+RTE_EXPORT_INTERNAL_SYMBOL(dpaax_iova_table_p)
struct dpaax_iova_table *dpaax_iova_table_p;
static int dpaax_handle_memevents(void);
@@ -153,6 +154,7 @@ read_memory_node(unsigned int *count)
return nodes;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaax_iova_table_populate)
int
dpaax_iova_table_populate(void)
{
@@ -254,6 +256,7 @@ dpaax_iova_table_populate(void)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaax_iova_table_depopulate)
void
dpaax_iova_table_depopulate(void)
{
@@ -263,6 +266,7 @@ dpaax_iova_table_depopulate(void)
DPAAX_DEBUG("IOVA Table cleaned");
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaax_iova_table_update)
int
dpaax_iova_table_update(phys_addr_t paddr, void *vaddr, size_t length)
{
@@ -349,6 +353,7 @@ dpaax_iova_table_update(phys_addr_t paddr, void *vaddr, size_t length)
* Dump the table, with its entries, on screen. Only works in Debug Mode
* Not for weak hearted - the tables can get quite large
*/
+RTE_EXPORT_INTERNAL_SYMBOL(dpaax_iova_table_dump)
void
dpaax_iova_table_dump(void)
{
@@ -461,4 +466,5 @@ dpaax_handle_memevents(void)
dpaax_memevent_cb, NULL);
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaax_logger)
RTE_LOG_REGISTER_DEFAULT(dpaax_logger, ERR);
diff --git a/drivers/common/ionic/ionic_common_uio.c b/drivers/common/ionic/ionic_common_uio.c
index c647b22eaf..56e2a0990b 100644
--- a/drivers/common/ionic/ionic_common_uio.c
+++ b/drivers/common/ionic/ionic_common_uio.c
@@ -103,6 +103,7 @@ uio_get_idx_for_devname(struct uio_name *name_cache, char *devname)
return -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(ionic_uio_scan_mnet_devices)
void
ionic_uio_scan_mnet_devices(void)
{
@@ -146,6 +147,7 @@ ionic_uio_scan_mnet_devices(void)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(ionic_uio_scan_mcrypt_devices)
void
ionic_uio_scan_mcrypt_devices(void)
{
@@ -301,6 +303,7 @@ uio_get_map_res_addr(int uio_idx, int size, int res_idx)
return addr;
}
+RTE_EXPORT_INTERNAL_SYMBOL(ionic_uio_get_rsrc)
void
ionic_uio_get_rsrc(const char *name, int idx, struct ionic_dev_bar *bar)
{
@@ -319,6 +322,7 @@ ionic_uio_get_rsrc(const char *name, int idx, struct ionic_dev_bar *bar)
bar->vaddr = ((char *)bar->vaddr) + offs;
}
+RTE_EXPORT_INTERNAL_SYMBOL(ionic_uio_rel_rsrc)
void
ionic_uio_rel_rsrc(const char *name, int idx, struct ionic_dev_bar *bar)
{
diff --git a/drivers/common/mlx5/linux/mlx5_common_auxiliary.c b/drivers/common/mlx5/linux/mlx5_common_auxiliary.c
index 33479ffd68..345e0535fa 100644
--- a/drivers/common/mlx5/linux/mlx5_common_auxiliary.c
+++ b/drivers/common/mlx5/linux/mlx5_common_auxiliary.c
@@ -18,6 +18,7 @@
#define AUXILIARY_SYSFS_PATH "/sys/bus/auxiliary/devices"
#define MLX5_AUXILIARY_PREFIX "mlx5_core.sf."
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_auxiliary_get_child_name)
int
mlx5_auxiliary_get_child_name(const char *dev, const char *node,
char *child, size_t size)
diff --git a/drivers/common/mlx5/linux/mlx5_common_os.c b/drivers/common/mlx5/linux/mlx5_common_os.c
index 41345e1597..0e33bbd1cc 100644
--- a/drivers/common/mlx5/linux/mlx5_common_os.c
+++ b/drivers/common/mlx5/linux/mlx5_common_os.c
@@ -27,9 +27,11 @@
#include "mlx5_glue.h"
#ifdef MLX5_GLUE
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_glue)
const struct mlx5_glue *mlx5_glue;
#endif
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_get_pci_addr)
int
mlx5_get_pci_addr(const char *dev_path, struct rte_pci_addr *pci_addr)
{
@@ -89,6 +91,7 @@ mlx5_get_pci_addr(const char *dev_path, struct rte_pci_addr *pci_addr)
* @return
* port_name field set according to recognized name format.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_translate_port_name)
void
mlx5_translate_port_name(const char *port_name_in,
struct mlx5_switch_info *port_info_out)
@@ -155,6 +158,7 @@ mlx5_translate_port_name(const char *port_name_in,
port_info_out->name_type = MLX5_PHYS_PORT_NAME_TYPE_UNKNOWN;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_get_ifname_sysfs)
int
mlx5_get_ifname_sysfs(const char *ibdev_path, char *ifname)
{
@@ -873,6 +877,7 @@ mlx5_os_open_device(struct mlx5_common_device *cdev, uint32_t classes)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_get_device_guid)
int
mlx5_get_device_guid(const struct rte_pci_addr *dev, uint8_t *guid, size_t len)
{
@@ -918,6 +923,7 @@ mlx5_get_device_guid(const struct rte_pci_addr *dev, uint8_t *guid, size_t len)
* indirect mkey created by the DevX API.
* This mkey should be used for DevX commands requesting mkey as a parameter.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_wrapped_mkey_create)
int
mlx5_os_wrapped_mkey_create(void *ctx, void *pd, uint32_t pdn, void *addr,
size_t length, struct mlx5_pmd_wrapped_mr *pmd_mr)
@@ -957,6 +963,7 @@ mlx5_os_wrapped_mkey_create(void *ctx, void *pd, uint32_t pdn, void *addr,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_wrapped_mkey_destroy)
void
mlx5_os_wrapped_mkey_destroy(struct mlx5_pmd_wrapped_mr *pmd_mr)
{
@@ -988,6 +995,7 @@ mlx5_os_wrapped_mkey_destroy(struct mlx5_pmd_wrapped_mr *pmd_mr)
* - Interrupt handle on success.
* - NULL on failure, with rte_errno set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_interrupt_handler_create)
struct rte_intr_handle *
mlx5_os_interrupt_handler_create(int mode, bool set_fd_nonblock, int fd,
rte_intr_callback_fn cb, void *cb_arg)
@@ -1089,6 +1097,7 @@ mlx5_intr_callback_unregister(const struct rte_intr_handle *handle,
* Callback argument for cb.
*
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_interrupt_handler_destroy)
void
mlx5_os_interrupt_handler_destroy(struct rte_intr_handle *intr_handle,
rte_intr_callback_fn cb, void *cb_arg)
diff --git a/drivers/common/mlx5/linux/mlx5_common_verbs.c b/drivers/common/mlx5/linux/mlx5_common_verbs.c
index cf2f7ecbf3..fd3cd055f2 100644
--- a/drivers/common/mlx5/linux/mlx5_common_verbs.c
+++ b/drivers/common/mlx5/linux/mlx5_common_verbs.c
@@ -105,6 +105,7 @@ mlx5_set_context_attr(struct rte_device *dev, struct ibv_context *ctx)
* @return
* 0 on successful registration, -1 otherwise
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_common_verbs_reg_mr)
int
mlx5_common_verbs_reg_mr(void *pd, void *addr, size_t length,
struct mlx5_pmd_mr *pmd_mr)
@@ -134,6 +135,7 @@ mlx5_common_verbs_reg_mr(void *pd, void *addr, size_t length,
* pmd_mr struct set with lkey, address, length and pointer to mr object
*
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_common_verbs_dereg_mr)
void
mlx5_common_verbs_dereg_mr(struct mlx5_pmd_mr *pmd_mr)
{
@@ -151,6 +153,7 @@ mlx5_common_verbs_dereg_mr(struct mlx5_pmd_mr *pmd_mr)
* @param[out] dereg_mr_cb
* Pointer to dereg_mr func
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_set_reg_mr_cb)
void
mlx5_os_set_reg_mr_cb(mlx5_reg_mr_t *reg_mr_cb, mlx5_dereg_mr_t *dereg_mr_cb)
{
diff --git a/drivers/common/mlx5/linux/mlx5_glue.c b/drivers/common/mlx5/linux/mlx5_glue.c
index 99761ea0b2..604230144e 100644
--- a/drivers/common/mlx5/linux/mlx5_glue.c
+++ b/drivers/common/mlx5/linux/mlx5_glue.c
@@ -1578,6 +1578,7 @@ mlx5_glue_dv_destroy_steering_anchor(struct mlx5dv_steering_anchor *sa)
#endif
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_glue)
alignas(RTE_CACHE_LINE_SIZE)
const struct mlx5_glue *mlx5_glue = &(const struct mlx5_glue) {
.version = MLX5_GLUE_VERSION,
diff --git a/drivers/common/mlx5/linux/mlx5_nl.c b/drivers/common/mlx5/linux/mlx5_nl.c
index 12f1a620f3..ad16274861 100644
--- a/drivers/common/mlx5/linux/mlx5_nl.c
+++ b/drivers/common/mlx5/linux/mlx5_nl.c
@@ -195,6 +195,7 @@ RTE_ATOMIC(uint32_t) atomic_sn;
* A file descriptor on success, a negative errno value otherwise and
* rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_init)
int
mlx5_nl_init(int protocol, int groups)
{
@@ -641,6 +642,7 @@ mlx5_nl_mac_addr_modify(int nlsk_fd, unsigned int iface_idx,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_vf_mac_addr_modify)
int
mlx5_nl_vf_mac_addr_modify(int nlsk_fd, unsigned int iface_idx,
struct rte_ether_addr *mac, int vf_index)
@@ -728,6 +730,7 @@ mlx5_nl_vf_mac_addr_modify(int nlsk_fd, unsigned int iface_idx,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_mac_addr_add)
int
mlx5_nl_mac_addr_add(int nlsk_fd, unsigned int iface_idx,
uint64_t *mac_own, struct rte_ether_addr *mac,
@@ -765,6 +768,7 @@ mlx5_nl_mac_addr_add(int nlsk_fd, unsigned int iface_idx,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_mac_addr_remove)
int
mlx5_nl_mac_addr_remove(int nlsk_fd, unsigned int iface_idx, uint64_t *mac_own,
struct rte_ether_addr *mac, uint32_t index)
@@ -789,6 +793,7 @@ mlx5_nl_mac_addr_remove(int nlsk_fd, unsigned int iface_idx, uint64_t *mac_own,
* @param n
* @p mac_addrs array size.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_mac_addr_sync)
void
mlx5_nl_mac_addr_sync(int nlsk_fd, unsigned int iface_idx,
struct rte_ether_addr *mac_addrs, int n)
@@ -845,6 +850,7 @@ mlx5_nl_mac_addr_sync(int nlsk_fd, unsigned int iface_idx,
* @param mac_own
* BITFIELD_DECLARE array to store the mac.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_mac_addr_flush)
void
mlx5_nl_mac_addr_flush(int nlsk_fd, unsigned int iface_idx,
struct rte_ether_addr *mac_addrs, int n,
@@ -923,6 +929,7 @@ mlx5_nl_device_flags(int nlsk_fd, unsigned int iface_idx, uint32_t flags,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_promisc)
int
mlx5_nl_promisc(int nlsk_fd, unsigned int iface_idx, int enable)
{
@@ -949,6 +956,7 @@ mlx5_nl_promisc(int nlsk_fd, unsigned int iface_idx, int enable)
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_allmulti)
int
mlx5_nl_allmulti(int nlsk_fd, unsigned int iface_idx, int enable)
{
@@ -1138,6 +1146,7 @@ mlx5_nl_port_info(int nl, uint32_t pindex, struct mlx5_nl_port_info *data)
* A valid (nonzero) interface index on success, 0 otherwise and rte_errno
* is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_ifindex)
unsigned int
mlx5_nl_ifindex(int nl, const char *name, uint32_t pindex, struct mlx5_dev_info *dev_info)
{
@@ -1194,6 +1203,7 @@ mlx5_nl_ifindex(int nl, const char *name, uint32_t pindex, struct mlx5_dev_info
* Port state (ibv_port_state) on success, negative on error
* and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_port_state)
int
mlx5_nl_port_state(int nl, const char *name, uint32_t pindex, struct mlx5_dev_info *dev_info)
{
@@ -1229,6 +1239,7 @@ mlx5_nl_port_state(int nl, const char *name, uint32_t pindex, struct mlx5_dev_in
* A valid (nonzero) number of ports on success, 0 otherwise
* and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_portnum)
unsigned int
mlx5_nl_portnum(int nl, const char *name, struct mlx5_dev_info *dev_info)
{
@@ -1435,6 +1446,7 @@ mlx5_nl_switch_info_cb(struct nlmsghdr *nh, void *arg)
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_switch_info)
int
mlx5_nl_switch_info(int nl, unsigned int ifindex,
struct mlx5_switch_info *info)
@@ -1485,6 +1497,7 @@ mlx5_nl_switch_info(int nl, unsigned int ifindex,
* @param[in] ifindex
* Interface index of network device to delete.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_vlan_vmwa_delete)
void
mlx5_nl_vlan_vmwa_delete(struct mlx5_nl_vlan_vmwa_context *vmwa,
uint32_t ifindex)
@@ -1562,6 +1575,7 @@ nl_attr_nest_end(struct nlmsghdr *nlh, struct nlattr *nest)
* @param[in] tag
* VLAN tag for VLAN network device to create.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_vlan_vmwa_create)
uint32_t
mlx5_nl_vlan_vmwa_create(struct mlx5_nl_vlan_vmwa_context *vmwa,
uint32_t ifindex, uint16_t tag)
@@ -1714,6 +1728,7 @@ mlx5_nl_generic_family_id_get(int nlsk_fd, const char *name)
* otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_devlink_family_id_get)
int
mlx5_nl_devlink_family_id_get(int nlsk_fd)
{
@@ -1940,6 +1955,7 @@ mlx5_nl_enable_roce_set(int nlsk_fd, int family_id, const char *pci_addr,
* @return
* 0 on success, negative on failure.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_parse_link_status_update)
int
mlx5_nl_parse_link_status_update(struct nlmsghdr *hdr, uint32_t *ifindex)
{
@@ -1971,6 +1987,7 @@ mlx5_nl_parse_link_status_update(struct nlmsghdr *hdr, uint32_t *ifindex)
* 0 on success, including the case when there are no events.
* Negative on failure and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_read_events)
int
mlx5_nl_read_events(int nlsk_fd, mlx5_nl_event_cb *cb, void *cb_arg)
{
@@ -2058,6 +2075,7 @@ mlx5_nl_esw_multiport_cb(struct nlmsghdr *nh, void *arg)
#define NL_ESW_MULTIPORT_PARAM "esw_multiport"
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_devlink_esw_multiport_get)
int
mlx5_nl_devlink_esw_multiport_get(int nlsk_fd, int family_id, const char *pci_addr, int *enable)
{
@@ -2096,12 +2114,14 @@ mlx5_nl_devlink_esw_multiport_get(int nlsk_fd, int family_id, const char *pci_ad
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_rdma_monitor_init)
int
mlx5_nl_rdma_monitor_init(void)
{
return mlx5_nl_init(NETLINK_RDMA, RDMA_NL_GROUP_NOTIFICATION);
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_rdma_monitor_info_get)
void
mlx5_nl_rdma_monitor_info_get(struct nlmsghdr *hdr, struct mlx5_nl_port_info *data)
{
@@ -2196,6 +2216,7 @@ mlx5_nl_rdma_monitor_cap_get_cb(struct nlmsghdr *hdr, void *arg)
* @return
* 0 on success, negative on error and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_nl_rdma_monitor_cap_get)
int
mlx5_nl_rdma_monitor_cap_get(int nl, uint8_t *cap)
{
diff --git a/drivers/common/mlx5/mlx5_common.c b/drivers/common/mlx5/mlx5_common.c
index 9abae4a374..58af76f036 100644
--- a/drivers/common/mlx5/mlx5_common.c
+++ b/drivers/common/mlx5/mlx5_common.c
@@ -20,6 +20,7 @@
#include "mlx5_common_defs.h"
#include "mlx5_common_private.h"
+RTE_EXPORT_INTERNAL_SYMBOL(haswell_broadwell_cpu)
uint8_t haswell_broadwell_cpu;
/* Driver type key for new device global syntax. */
@@ -127,6 +128,7 @@ driver_get(uint32_t class)
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_kvargs_process)
int
mlx5_kvargs_process(struct mlx5_kvargs_ctrl *mkvlist, const char *const keys[],
arg_handler_t handler, void *opaque_arg)
@@ -463,6 +465,7 @@ to_mlx5_device(const struct rte_device *rte_dev)
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_dev_to_pci_str)
int
mlx5_dev_to_pci_str(const struct rte_device *dev, char *addr, size_t size)
{
@@ -512,6 +515,7 @@ mlx5_dev_mempool_register(struct mlx5_common_device *cdev,
* @param mp
* Mempool being unregistered.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_dev_mempool_unregister)
void
mlx5_dev_mempool_unregister(struct mlx5_common_device *cdev,
struct rte_mempool *mp)
@@ -591,6 +595,7 @@ mlx5_dev_mempool_event_cb(enum rte_mempool_event event, struct rte_mempool *mp,
* Callbacks addresses are local in each process.
* Therefore, each process can register private callbacks.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_dev_mempool_subscribe)
int
mlx5_dev_mempool_subscribe(struct mlx5_common_device *cdev)
{
@@ -1220,6 +1225,7 @@ mlx5_common_dev_dma_unmap(struct rte_device *rte_dev, void *addr,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_class_driver_register)
void
mlx5_class_driver_register(struct mlx5_class_driver *driver)
{
@@ -1242,6 +1248,7 @@ static bool mlx5_common_initialized;
* for multiple PMDs. Each mlx5 PMD that depends on mlx5_common module,
* must invoke in its constructor.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_common_init)
void
mlx5_common_init(void)
{
@@ -1400,6 +1407,7 @@ mlx5_devx_alloc_uar(struct mlx5_common_device *cdev)
return uar;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_uar_release)
void
mlx5_devx_uar_release(struct mlx5_uar *uar)
{
@@ -1408,6 +1416,7 @@ mlx5_devx_uar_release(struct mlx5_uar *uar)
memset(uar, 0, sizeof(*uar));
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_uar_prepare)
int
mlx5_devx_uar_prepare(struct mlx5_common_device *cdev, struct mlx5_uar *uar)
{
diff --git a/drivers/common/mlx5/mlx5_common_devx.c b/drivers/common/mlx5/mlx5_common_devx.c
index 431d8361ce..77bc7e4af8 100644
--- a/drivers/common/mlx5/mlx5_common_devx.c
+++ b/drivers/common/mlx5/mlx5_common_devx.c
@@ -23,6 +23,7 @@
* @param[in] cq
* DevX CQ to destroy.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cq_destroy)
void
mlx5_devx_cq_destroy(struct mlx5_devx_cq *cq)
{
@@ -77,6 +78,7 @@ mlx5_cq_init(struct mlx5_devx_cq *cq_obj, uint16_t cq_size)
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cq_create)
int
mlx5_devx_cq_create(void *ctx, struct mlx5_devx_cq *cq_obj, uint16_t log_desc_n,
struct mlx5_devx_cq_attr *attr, int socket)
@@ -162,6 +164,7 @@ mlx5_devx_cq_create(void *ctx, struct mlx5_devx_cq *cq_obj, uint16_t log_desc_n,
* @param[in] sq
* DevX SQ to destroy.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_sq_destroy)
void
mlx5_devx_sq_destroy(struct mlx5_devx_sq *sq)
{
@@ -204,6 +207,7 @@ mlx5_devx_sq_destroy(struct mlx5_devx_sq *sq)
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_sq_create)
int
mlx5_devx_sq_create(void *ctx, struct mlx5_devx_sq *sq_obj, uint16_t log_wqbb_n,
struct mlx5_devx_create_sq_attr *attr, int socket)
@@ -312,6 +316,7 @@ mlx5_devx_rmp_destroy(struct mlx5_devx_rmp *rmp)
* @param[in] qp
* DevX QP to destroy.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_qp_destroy)
void
mlx5_devx_qp_destroy(struct mlx5_devx_qp *qp)
{
@@ -350,6 +355,7 @@ mlx5_devx_qp_destroy(struct mlx5_devx_qp *qp)
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_qp_create)
int
mlx5_devx_qp_create(void *ctx, struct mlx5_devx_qp *qp_obj, uint32_t queue_size,
struct mlx5_devx_qp_attr *attr, int socket)
@@ -420,6 +426,7 @@ mlx5_devx_qp_create(void *ctx, struct mlx5_devx_qp *qp_obj, uint32_t queue_size,
* @param[in] rq
* DevX RQ to destroy.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_rq_destroy)
void
mlx5_devx_rq_destroy(struct mlx5_devx_rq *rq)
{
@@ -695,6 +702,7 @@ mlx5_devx_rq_shared_create(void *ctx, struct mlx5_devx_rq *rq_obj,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_rq_create)
int
mlx5_devx_rq_create(void *ctx, struct mlx5_devx_rq *rq_obj,
uint32_t wqe_size, uint16_t log_wqbb_n,
@@ -718,6 +726,7 @@ mlx5_devx_rq_create(void *ctx, struct mlx5_devx_rq *rq_obj,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_qp2rts)
int
mlx5_devx_qp2rts(struct mlx5_devx_qp *qp, uint32_t remote_qp_id)
{
diff --git a/drivers/common/mlx5/mlx5_common_mp.c b/drivers/common/mlx5/mlx5_common_mp.c
index a7a671b7c5..903098a17d 100644
--- a/drivers/common/mlx5/mlx5_common_mp.c
+++ b/drivers/common/mlx5/mlx5_common_mp.c
@@ -24,6 +24,7 @@
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mp_req_mr_create)
int
mlx5_mp_req_mr_create(struct mlx5_common_device *cdev, uintptr_t addr)
{
@@ -63,6 +64,7 @@ mlx5_mp_req_mr_create(struct mlx5_common_device *cdev, uintptr_t addr)
* @param reg
* True to register the mempool, False to unregister.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mp_req_mempool_reg)
int
mlx5_mp_req_mempool_reg(struct mlx5_common_device *cdev,
struct rte_mempool *mempool, bool reg,
@@ -113,6 +115,7 @@ mlx5_mp_req_mempool_reg(struct mlx5_common_device *cdev,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mp_req_queue_state_modify)
int
mlx5_mp_req_queue_state_modify(struct mlx5_mp_id *mp_id,
struct mlx5_mp_arg_queue_state_modify *sm)
@@ -151,6 +154,7 @@ mlx5_mp_req_queue_state_modify(struct mlx5_mp_id *mp_id,
* @return
* fd on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mp_req_verbs_cmd_fd)
int
mlx5_mp_req_verbs_cmd_fd(struct mlx5_mp_id *mp_id)
{
@@ -192,6 +196,7 @@ mlx5_mp_req_verbs_cmd_fd(struct mlx5_mp_id *mp_id)
/**
* Initialize by primary process.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mp_init_primary)
int
mlx5_mp_init_primary(const char *name, const rte_mp_t primary_action)
{
@@ -209,6 +214,7 @@ mlx5_mp_init_primary(const char *name, const rte_mp_t primary_action)
/**
* Un-initialize by primary process.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mp_uninit_primary)
void
mlx5_mp_uninit_primary(const char *name)
{
@@ -219,6 +225,7 @@ mlx5_mp_uninit_primary(const char *name)
/**
* Initialize by secondary process.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mp_init_secondary)
int
mlx5_mp_init_secondary(const char *name, const rte_mp_t secondary_action)
{
@@ -229,6 +236,7 @@ mlx5_mp_init_secondary(const char *name, const rte_mp_t secondary_action)
/**
* Un-initialize by secondary process.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mp_uninit_secondary)
void
mlx5_mp_uninit_secondary(const char *name)
{
diff --git a/drivers/common/mlx5/mlx5_common_mr.c b/drivers/common/mlx5/mlx5_common_mr.c
index 50922ad398..31bfac6220 100644
--- a/drivers/common/mlx5/mlx5_common_mr.c
+++ b/drivers/common/mlx5/mlx5_common_mr.c
@@ -51,6 +51,7 @@ struct mlx5_mempool_reg {
bool is_extmem;
};
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mprq_buf_free_cb)
void
mlx5_mprq_buf_free_cb(void *addr __rte_unused, void *opaque)
{
@@ -249,6 +250,7 @@ mlx5_mr_btree_init(struct mlx5_mr_btree *bt, int n, int socket)
* @param bt
* Pointer to B-tree structure.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_btree_free)
void
mlx5_mr_btree_free(struct mlx5_mr_btree *bt)
{
@@ -299,6 +301,7 @@ mlx5_mr_btree_dump(struct mlx5_mr_btree *bt __rte_unused)
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_ctrl_init)
int
mlx5_mr_ctrl_init(struct mlx5_mr_ctrl *mr_ctrl, uint32_t *dev_gen_ptr,
int socket)
@@ -965,6 +968,7 @@ mlx5_mr_create_primary(void *pd,
* @return
* Searched LKey on success, UINT32_MAX on failure and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_create)
uint32_t
mlx5_mr_create(struct mlx5_common_device *cdev,
struct mlx5_mr_share_cache *share_cache,
@@ -1059,6 +1063,7 @@ mr_lookup_caches(struct mlx5_mr_ctrl *mr_ctrl,
* @return
* Searched LKey on success, UINT32_MAX on no match.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_addr2mr_bh)
uint32_t
mlx5_mr_addr2mr_bh(struct mlx5_mr_ctrl *mr_ctrl, uintptr_t addr)
{
@@ -1149,6 +1154,7 @@ mlx5_mr_create_cache(struct mlx5_mr_share_cache *share_cache, int socket)
* @param mr_ctrl
* Pointer to per-queue MR local cache.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_flush_local_cache)
void
mlx5_mr_flush_local_cache(struct mlx5_mr_ctrl *mr_ctrl)
{
@@ -1803,6 +1809,7 @@ mlx5_mr_mempool_register_secondary(struct mlx5_common_device *cdev,
* @return
* 0 on success, (-1) on failure and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_mempool_register)
int
mlx5_mr_mempool_register(struct mlx5_common_device *cdev,
struct rte_mempool *mp, bool is_extmem)
@@ -1868,6 +1875,7 @@ mlx5_mr_mempool_unregister_secondary(struct mlx5_common_device *cdev,
* @return
* 0 on success, (-1) on failure and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_mempool_unregister)
int
mlx5_mr_mempool_unregister(struct mlx5_common_device *cdev,
struct rte_mempool *mp)
@@ -1979,6 +1987,7 @@ mlx5_lookup_mempool_regs(struct mlx5_mr_ctrl *mr_ctrl,
* @return
* 0 on success, (-1) on failure and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_mempool_populate_cache)
int
mlx5_mr_mempool_populate_cache(struct mlx5_mr_ctrl *mr_ctrl,
struct rte_mempool *mp)
@@ -2038,6 +2047,7 @@ mlx5_mr_mempool_populate_cache(struct mlx5_mr_ctrl *mr_ctrl,
* @return
* MR lkey on success, UINT32_MAX on failure.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_mempool2mr_bh)
uint32_t
mlx5_mr_mempool2mr_bh(struct mlx5_mr_ctrl *mr_ctrl,
struct rte_mempool *mp, uintptr_t addr)
@@ -2064,6 +2074,7 @@ mlx5_mr_mempool2mr_bh(struct mlx5_mr_ctrl *mr_ctrl,
return lkey;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_mr_mb2mr_bh)
uint32_t
mlx5_mr_mb2mr_bh(struct mlx5_mr_ctrl *mr_ctrl, struct rte_mbuf *mb)
{
diff --git a/drivers/common/mlx5/mlx5_common_pci.c b/drivers/common/mlx5/mlx5_common_pci.c
index 04aad0963c..d71d9e1dd4 100644
--- a/drivers/common/mlx5/mlx5_common_pci.c
+++ b/drivers/common/mlx5/mlx5_common_pci.c
@@ -102,12 +102,14 @@ pci_ids_table_update(const struct rte_pci_id *driver_id_table)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_dev_is_pci)
bool
mlx5_dev_is_pci(const struct rte_device *dev)
{
return strcmp(dev->bus->name, "pci") == 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_dev_is_vf_pci)
bool
mlx5_dev_is_vf_pci(const struct rte_pci_device *pci_dev)
{
diff --git a/drivers/common/mlx5/mlx5_common_utils.c b/drivers/common/mlx5/mlx5_common_utils.c
index 4b95d35d35..51243762a6 100644
--- a/drivers/common/mlx5/mlx5_common_utils.c
+++ b/drivers/common/mlx5/mlx5_common_utils.c
@@ -26,6 +26,7 @@ mlx5_list_init(struct mlx5_list_inconst *l_inconst,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_list_create)
struct mlx5_list *
mlx5_list_create(const char *name, void *ctx, bool lcores_share,
mlx5_list_create_cb cb_create,
@@ -120,6 +121,7 @@ _mlx5_list_lookup(struct mlx5_list_inconst *l_inconst,
return entry;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_list_lookup)
struct mlx5_list_entry *
mlx5_list_lookup(struct mlx5_list *list, void *ctx)
{
@@ -260,6 +262,7 @@ _mlx5_list_register(struct mlx5_list_inconst *l_inconst,
return local_entry;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_list_register)
struct mlx5_list_entry *
mlx5_list_register(struct mlx5_list *list, void *ctx)
{
@@ -319,6 +322,7 @@ _mlx5_list_unregister(struct mlx5_list_inconst *l_inconst,
return 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_list_unregister)
int
mlx5_list_unregister(struct mlx5_list *list,
struct mlx5_list_entry *entry)
@@ -366,6 +370,7 @@ mlx5_list_uninit(struct mlx5_list_inconst *l_inconst,
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_list_destroy)
void
mlx5_list_destroy(struct mlx5_list *list)
{
@@ -373,6 +378,7 @@ mlx5_list_destroy(struct mlx5_list *list)
mlx5_free(list);
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_list_get_entry_num)
uint32_t
mlx5_list_get_entry_num(struct mlx5_list *list)
{
@@ -382,6 +388,7 @@ mlx5_list_get_entry_num(struct mlx5_list *list)
/********************* Hash List **********************/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_hlist_create)
struct mlx5_hlist *
mlx5_hlist_create(const char *name, uint32_t size, bool direct_key,
bool lcores_share, void *ctx, mlx5_list_create_cb cb_create,
@@ -447,6 +454,7 @@ mlx5_hlist_create(const char *name, uint32_t size, bool direct_key,
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_hlist_lookup)
struct mlx5_list_entry *
mlx5_hlist_lookup(struct mlx5_hlist *h, uint64_t key, void *ctx)
{
@@ -459,6 +467,7 @@ mlx5_hlist_lookup(struct mlx5_hlist *h, uint64_t key, void *ctx)
return _mlx5_list_lookup(&h->buckets[idx].l, &h->l_const, ctx);
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_hlist_register)
struct mlx5_list_entry*
mlx5_hlist_register(struct mlx5_hlist *h, uint64_t key, void *ctx)
{
@@ -487,6 +496,7 @@ mlx5_hlist_register(struct mlx5_hlist *h, uint64_t key, void *ctx)
return entry;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_hlist_unregister)
int
mlx5_hlist_unregister(struct mlx5_hlist *h, struct mlx5_list_entry *entry)
{
@@ -505,6 +515,7 @@ mlx5_hlist_unregister(struct mlx5_hlist *h, struct mlx5_list_entry *entry)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_hlist_destroy)
void
mlx5_hlist_destroy(struct mlx5_hlist *h)
{
diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c
index 440820fd4f..841e95e029 100644
--- a/drivers/common/mlx5/mlx5_devx_cmds.c
+++ b/drivers/common/mlx5/mlx5_devx_cmds.c
@@ -86,6 +86,7 @@ mlx5_devx_get_hca_cap(void *ctx, uint32_t *in, uint32_t *out,
* @return
* 0 on success, a negative value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_register_read)
int
mlx5_devx_cmd_register_read(void *ctx, uint16_t reg_id, uint32_t arg,
uint32_t *data, uint32_t dw_cnt)
@@ -136,6 +137,7 @@ mlx5_devx_cmd_register_read(void *ctx, uint16_t reg_id, uint32_t arg,
* @return
* 0 on success, a negative value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_register_write)
int
mlx5_devx_cmd_register_write(void *ctx, uint16_t reg_id, uint32_t arg,
uint32_t *data, uint32_t dw_cnt)
@@ -176,6 +178,7 @@ mlx5_devx_cmd_register_write(void *ctx, uint16_t reg_id, uint32_t arg,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_flow_counter_alloc_general)
struct mlx5_devx_obj *
mlx5_devx_cmd_flow_counter_alloc_general(void *ctx,
struct mlx5_devx_counter_attr *attr)
@@ -225,6 +228,7 @@ mlx5_devx_cmd_flow_counter_alloc_general(void *ctx,
* Pointer to counter object on success, a negative value otherwise and
* rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_flow_counter_alloc)
struct mlx5_devx_obj *
mlx5_devx_cmd_flow_counter_alloc(void *ctx, uint32_t bulk_n_128)
{
@@ -276,6 +280,7 @@ mlx5_devx_cmd_flow_counter_alloc(void *ctx, uint32_t bulk_n_128)
* @return
* 0 on success, a negative value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_flow_counter_query)
int
mlx5_devx_cmd_flow_counter_query(struct mlx5_devx_obj *dcs,
int clear, uint32_t n_counters,
@@ -337,6 +342,7 @@ mlx5_devx_cmd_flow_counter_query(struct mlx5_devx_obj *dcs,
* Pointer to Devx mkey on success, a negative value otherwise and rte_errno
* is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_mkey_create)
struct mlx5_devx_obj *
mlx5_devx_cmd_mkey_create(void *ctx,
struct mlx5_devx_mkey_attr *attr)
@@ -440,6 +446,7 @@ mlx5_devx_cmd_mkey_create(void *ctx,
* @return
* 0 on success, non-zero value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_get_out_command_status)
int
mlx5_devx_get_out_command_status(void *out)
{
@@ -466,6 +473,7 @@ mlx5_devx_get_out_command_status(void *out)
* @return
* 0 on success, a negative value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_destroy)
int
mlx5_devx_cmd_destroy(struct mlx5_devx_obj *obj)
{
@@ -625,6 +633,7 @@ mlx5_devx_cmd_query_hca_vdpa_attr(void *ctx,
* @return
* 0 on success, a negative errno otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_match_sample_info_query)
int
mlx5_devx_cmd_match_sample_info_query(void *ctx, uint32_t sample_field_id,
struct mlx5_devx_match_sample_info_query_attr *attr)
@@ -662,6 +671,7 @@ mlx5_devx_cmd_match_sample_info_query(void *ctx, uint32_t sample_field_id,
#endif
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_query_parse_samples)
int
mlx5_devx_cmd_query_parse_samples(struct mlx5_devx_obj *flex_obj,
uint32_t *ids,
@@ -716,6 +726,7 @@ mlx5_devx_cmd_query_parse_samples(struct mlx5_devx_obj *flex_obj,
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_flex_parser)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_flex_parser(void *ctx,
struct mlx5_devx_graph_node_attr *data)
@@ -916,6 +927,7 @@ mlx5_devx_query_pkt_integrity_match(void *hcattr)
* @return
* 0 on success, a negative value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_query_hca_attr)
int
mlx5_devx_cmd_query_hca_attr(void *ctx,
struct mlx5_hca_attr *attr)
@@ -1425,6 +1437,7 @@ mlx5_devx_cmd_query_hca_attr(void *ctx,
* @return
* 0 on success, a negative value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_qp_query_tis_td)
int
mlx5_devx_cmd_qp_query_tis_td(void *qp, uint32_t tis_num,
uint32_t *tis_td)
@@ -1511,6 +1524,7 @@ devx_cmd_fill_wq_data(void *wq_ctx, struct mlx5_devx_wq_attr *wq_attr)
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_rq)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_rq(void *ctx,
struct mlx5_devx_create_rq_attr *rq_attr,
@@ -1569,6 +1583,7 @@ mlx5_devx_cmd_create_rq(void *ctx,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_modify_rq)
int
mlx5_devx_cmd_modify_rq(struct mlx5_devx_obj *rq,
struct mlx5_devx_modify_rq_attr *rq_attr)
@@ -1622,6 +1637,7 @@ mlx5_devx_cmd_modify_rq(struct mlx5_devx_obj *rq,
* @return
* 0 if Query successful, else non-zero return value from devx_obj_query API
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_query_rq)
int
mlx5_devx_cmd_query_rq(struct mlx5_devx_obj *rq_obj, void *out, size_t outlen)
{
@@ -1651,6 +1667,7 @@ mlx5_devx_cmd_query_rq(struct mlx5_devx_obj *rq_obj, void *out, size_t outlen)
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_rmp)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_rmp(void *ctx,
struct mlx5_devx_create_rmp_attr *rmp_attr,
@@ -1698,6 +1715,7 @@ mlx5_devx_cmd_create_rmp(void *ctx,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_tir)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_tir(void *ctx,
struct mlx5_devx_tir_attr *tir_attr)
@@ -1766,6 +1784,7 @@ mlx5_devx_cmd_create_tir(void *ctx,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_modify_tir)
int
mlx5_devx_cmd_modify_tir(struct mlx5_devx_obj *tir,
struct mlx5_devx_modify_tir_attr *modify_tir_attr)
@@ -1850,6 +1869,7 @@ mlx5_devx_cmd_modify_tir(struct mlx5_devx_obj *tir,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_rqt)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_rqt(void *ctx,
struct mlx5_devx_rqt_attr *rqt_attr)
@@ -1904,6 +1924,7 @@ mlx5_devx_cmd_create_rqt(void *ctx,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_modify_rqt)
int
mlx5_devx_cmd_modify_rqt(struct mlx5_devx_obj *rqt,
struct mlx5_devx_rqt_attr *rqt_attr)
@@ -1952,6 +1973,7 @@ mlx5_devx_cmd_modify_rqt(struct mlx5_devx_obj *rqt,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
**/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_sq)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_sq(void *ctx,
struct mlx5_devx_create_sq_attr *sq_attr)
@@ -2018,6 +2040,7 @@ mlx5_devx_cmd_create_sq(void *ctx,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_modify_sq)
int
mlx5_devx_cmd_modify_sq(struct mlx5_devx_obj *sq,
struct mlx5_devx_modify_sq_attr *sq_attr)
@@ -2057,6 +2080,7 @@ mlx5_devx_cmd_modify_sq(struct mlx5_devx_obj *sq,
* @return
* 0 if Query successful, else non-zero return value from devx_obj_query API
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_query_sq)
int
mlx5_devx_cmd_query_sq(struct mlx5_devx_obj *sq_obj, void *out, size_t outlen)
{
@@ -2084,6 +2108,7 @@ mlx5_devx_cmd_query_sq(struct mlx5_devx_obj *sq_obj, void *out, size_t outlen)
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_tis)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_tis(void *ctx,
struct mlx5_devx_tis_attr *tis_attr)
@@ -2127,6 +2152,7 @@ mlx5_devx_cmd_create_tis(void *ctx,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_td)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_td(void *ctx)
{
@@ -2169,6 +2195,7 @@ mlx5_devx_cmd_create_td(void *ctx)
* @return
* 0 on success, a negative value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_flow_dump)
int
mlx5_devx_cmd_flow_dump(void *fdb_domain __rte_unused,
void *rx_domain __rte_unused,
@@ -2194,6 +2221,7 @@ mlx5_devx_cmd_flow_dump(void *fdb_domain __rte_unused,
return -ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_flow_single_dump)
int
mlx5_devx_cmd_flow_single_dump(void *rule_info __rte_unused,
FILE *file __rte_unused)
@@ -2219,6 +2247,7 @@ mlx5_devx_cmd_flow_single_dump(void *rule_info __rte_unused,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_cq)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_cq(void *ctx, struct mlx5_devx_cq_attr *attr)
{
@@ -2287,6 +2316,7 @@ mlx5_devx_cmd_create_cq(void *ctx, struct mlx5_devx_cq_attr *attr)
* @return
* 0 if Query successful, else non-zero return value from devx_obj_query API
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_query_cq)
int
mlx5_devx_cmd_query_cq(struct mlx5_devx_obj *cq_obj, void *out, size_t outlen)
{
@@ -2314,6 +2344,7 @@ mlx5_devx_cmd_query_cq(struct mlx5_devx_obj *cq_obj, void *out, size_t outlen)
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_virtq)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_virtq(void *ctx,
struct mlx5_devx_virtq_attr *attr)
@@ -2390,6 +2421,7 @@ mlx5_devx_cmd_create_virtq(void *ctx,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_modify_virtq)
int
mlx5_devx_cmd_modify_virtq(struct mlx5_devx_obj *virtq_obj,
struct mlx5_devx_virtq_attr *attr)
@@ -2488,6 +2520,7 @@ mlx5_devx_cmd_modify_virtq(struct mlx5_devx_obj *virtq_obj,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_query_virtq)
int
mlx5_devx_cmd_query_virtq(struct mlx5_devx_obj *virtq_obj,
struct mlx5_devx_virtq_attr *attr)
@@ -2530,6 +2563,7 @@ mlx5_devx_cmd_query_virtq(struct mlx5_devx_obj *virtq_obj,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_qp)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_qp(void *ctx,
struct mlx5_devx_qp_attr *attr)
@@ -2632,6 +2666,7 @@ mlx5_devx_cmd_create_qp(void *ctx,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_modify_qp_state)
int
mlx5_devx_cmd_modify_qp_state(struct mlx5_devx_obj *qp, uint32_t qp_st_mod_op,
uint32_t remote_qp_id)
@@ -2709,6 +2744,7 @@ mlx5_devx_cmd_modify_qp_state(struct mlx5_devx_obj *qp, uint32_t qp_st_mod_op,
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_virtio_q_counters)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_virtio_q_counters(void *ctx)
{
@@ -2740,6 +2776,7 @@ mlx5_devx_cmd_create_virtio_q_counters(void *ctx)
return couners_obj;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_query_virtio_q_counters)
int
mlx5_devx_cmd_query_virtio_q_counters(struct mlx5_devx_obj *couners_obj,
struct mlx5_devx_virtio_q_couners_attr *attr)
@@ -2789,6 +2826,7 @@ mlx5_devx_cmd_query_virtio_q_counters(struct mlx5_devx_obj *couners_obj,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_flow_hit_aso_obj)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_flow_hit_aso_obj(void *ctx, uint32_t pd)
{
@@ -2831,6 +2869,7 @@ mlx5_devx_cmd_create_flow_hit_aso_obj(void *ctx, uint32_t pd)
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_alloc_pd)
struct mlx5_devx_obj *
mlx5_devx_cmd_alloc_pd(void *ctx)
{
@@ -2871,6 +2910,7 @@ mlx5_devx_cmd_alloc_pd(void *ctx)
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_flow_meter_aso_obj)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_flow_meter_aso_obj(void *ctx, uint32_t pd,
uint32_t log_obj_size)
@@ -2924,6 +2964,7 @@ mlx5_devx_cmd_create_flow_meter_aso_obj(void *ctx, uint32_t pd,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_conn_track_offload_obj)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_conn_track_offload_obj(void *ctx, uint32_t pd,
uint32_t log_obj_size)
@@ -2970,6 +3011,7 @@ mlx5_devx_cmd_create_conn_track_offload_obj(void *ctx, uint32_t pd,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_geneve_tlv_option)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_geneve_tlv_option(void *ctx,
struct mlx5_devx_geneve_tlv_option_attr *attr)
@@ -3032,6 +3074,7 @@ mlx5_devx_cmd_create_geneve_tlv_option(void *ctx,
* @return
* 0 on success, a negative errno otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_query_geneve_tlv_option)
int
mlx5_devx_cmd_query_geneve_tlv_option(void *ctx,
struct mlx5_devx_obj *geneve_tlv_opt_obj,
@@ -3069,6 +3112,7 @@ mlx5_devx_cmd_query_geneve_tlv_option(void *ctx,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_wq_query)
int
mlx5_devx_cmd_wq_query(void *wq, uint32_t *counter_set_id)
{
@@ -3109,6 +3153,7 @@ mlx5_devx_cmd_wq_query(void *wq, uint32_t *counter_set_id)
* Pointer to counter object on success, a NULL value otherwise and
* rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_queue_counter_alloc)
struct mlx5_devx_obj *
mlx5_devx_cmd_queue_counter_alloc(void *ctx, int *syndrome)
{
@@ -3150,6 +3195,7 @@ mlx5_devx_cmd_queue_counter_alloc(void *ctx, int *syndrome)
* @return
* 0 on success, a negative value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_queue_counter_query)
int
mlx5_devx_cmd_queue_counter_query(struct mlx5_devx_obj *dcs, int clear,
uint32_t *out_of_buffers)
@@ -3185,6 +3231,7 @@ mlx5_devx_cmd_queue_counter_query(struct mlx5_devx_obj *dcs, int clear,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_dek_obj)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_dek_obj(void *ctx, struct mlx5_devx_dek_attr *attr)
{
@@ -3235,6 +3282,7 @@ mlx5_devx_cmd_create_dek_obj(void *ctx, struct mlx5_devx_dek_attr *attr)
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_import_kek_obj)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_import_kek_obj(void *ctx,
struct mlx5_devx_import_kek_attr *attr)
@@ -3282,6 +3330,7 @@ mlx5_devx_cmd_create_import_kek_obj(void *ctx,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_credential_obj)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_credential_obj(void *ctx,
struct mlx5_devx_credential_attr *attr)
@@ -3330,6 +3379,7 @@ mlx5_devx_cmd_create_credential_obj(void *ctx,
* @return
* The DevX object created, NULL otherwise and rte_errno is set.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_create_crypto_login_obj)
struct mlx5_devx_obj *
mlx5_devx_cmd_create_crypto_login_obj(void *ctx,
struct mlx5_devx_crypto_login_attr *attr)
@@ -3381,6 +3431,7 @@ mlx5_devx_cmd_create_crypto_login_obj(void *ctx,
* @return
* 0 on success, a negative value otherwise.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_devx_cmd_query_lag)
int
mlx5_devx_cmd_query_lag(void *ctx,
struct mlx5_devx_lag_context *lag_ctx)
diff --git a/drivers/common/mlx5/mlx5_malloc.c b/drivers/common/mlx5/mlx5_malloc.c
index ef6dabedbd..757a3392d9 100644
--- a/drivers/common/mlx5/mlx5_malloc.c
+++ b/drivers/common/mlx5/mlx5_malloc.c
@@ -161,6 +161,7 @@ mlx5_alloc_align(size_t size, unsigned int align, unsigned int zero)
return buf;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_malloc)
void *
mlx5_malloc(uint32_t flags, size_t size, unsigned int align, int socket)
{
@@ -205,6 +206,7 @@ mlx5_malloc(uint32_t flags, size_t size, unsigned int align, int socket)
return addr;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_realloc)
void *
mlx5_realloc(void *addr, uint32_t flags, size_t size, unsigned int align,
int socket)
@@ -252,6 +254,7 @@ mlx5_realloc(void *addr, uint32_t flags, size_t size, unsigned int align,
return new_addr;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_free)
void
mlx5_free(void *addr)
{
@@ -272,6 +275,7 @@ mlx5_free(void *addr)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_memory_stat_dump)
void
mlx5_memory_stat_dump(void)
{
diff --git a/drivers/common/mlx5/windows/mlx5_common_os.c b/drivers/common/mlx5/windows/mlx5_common_os.c
index 2b6058eb3e..e78c93b433 100644
--- a/drivers/common/mlx5/windows/mlx5_common_os.c
+++ b/drivers/common/mlx5/windows/mlx5_common_os.c
@@ -281,6 +281,7 @@ mlx5_os_open_device(struct mlx5_common_device *cdev, uint32_t classes)
* @return
* umem on successful registration, NULL and errno otherwise
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_umem_reg)
void *
mlx5_os_umem_reg(void *ctx, void *addr, size_t size, uint32_t access)
{
@@ -311,6 +312,7 @@ mlx5_os_umem_reg(void *ctx, void *addr, size_t size, uint32_t access)
* @return
* 0 on successful release, negative number otherwise
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_umem_dereg)
int
mlx5_os_umem_dereg(void *pumem)
{
@@ -411,6 +413,7 @@ mlx5_os_dereg_mr(struct mlx5_pmd_mr *pmd_mr)
* Pointer to dereg_mr func
*
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_set_reg_mr_cb)
void
mlx5_os_set_reg_mr_cb(mlx5_reg_mr_t *reg_mr_cb, mlx5_dereg_mr_t *dereg_mr_cb)
{
@@ -422,6 +425,7 @@ mlx5_os_set_reg_mr_cb(mlx5_reg_mr_t *reg_mr_cb, mlx5_dereg_mr_t *dereg_mr_cb)
* In Windows, no need to wrap the MR, no known issue for it in kernel.
* Use the regular function to create direct MR.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_wrapped_mkey_create)
int
mlx5_os_wrapped_mkey_create(void *ctx, void *pd, uint32_t pdn, void *addr,
size_t length, struct mlx5_pmd_wrapped_mr *wpmd_mr)
@@ -441,6 +445,7 @@ mlx5_os_wrapped_mkey_create(void *ctx, void *pd, uint32_t pdn, void *addr,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_os_wrapped_mkey_destroy)
void
mlx5_os_wrapped_mkey_destroy(struct mlx5_pmd_wrapped_mr *wpmd_mr)
{
diff --git a/drivers/common/mlx5/windows/mlx5_glue.c b/drivers/common/mlx5/windows/mlx5_glue.c
index 6935811bf4..5a7897b8c6 100644
--- a/drivers/common/mlx5/windows/mlx5_glue.c
+++ b/drivers/common/mlx5/windows/mlx5_glue.c
@@ -409,8 +409,7 @@ mlx5_glue_devx_set_mtu(void *ctx, uint32_t mtu)
}
-
-
+RTE_EXPORT_INTERNAL_SYMBOL(mlx5_glue)
alignas(RTE_CACHE_LINE_SIZE)
const struct mlx5_glue *mlx5_glue = &(const struct mlx5_glue){
.version = MLX5_GLUE_VERSION,
diff --git a/drivers/common/mvep/mvep_common.c b/drivers/common/mvep/mvep_common.c
index 67fa65b574..acff8ea2c8 100644
--- a/drivers/common/mvep/mvep_common.c
+++ b/drivers/common/mvep/mvep_common.c
@@ -18,6 +18,7 @@ struct mvep {
static struct mvep mvep;
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mvep_init)
int rte_mvep_init(enum mvep_module_type module __rte_unused,
struct rte_kvargs *kvlist __rte_unused)
{
@@ -34,6 +35,7 @@ int rte_mvep_init(enum mvep_module_type module __rte_unused,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mvep_deinit)
int rte_mvep_deinit(enum mvep_module_type module __rte_unused)
{
mvep.ref_count--;
diff --git a/drivers/common/nfp/nfp_common.c b/drivers/common/nfp/nfp_common.c
index 0df8332dfb..267dd57d90 100644
--- a/drivers/common/nfp/nfp_common.c
+++ b/drivers/common/nfp/nfp_common.c
@@ -13,6 +13,7 @@
*/
#define NFP_NET_POLL_TIMEOUT 5000
+RTE_EXPORT_INTERNAL_SYMBOL(nfp_reconfig_real)
int
nfp_reconfig_real(struct nfp_hw *hw,
uint32_t update)
@@ -77,6 +78,7 @@ nfp_reconfig_real(struct nfp_hw *hw,
* - (0) if OK to reconfigure the device.
* - (-EIO) if I/O err and fail to reconfigure the device.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(nfp_reconfig)
int
nfp_reconfig(struct nfp_hw *hw,
uint32_t ctrl,
@@ -121,6 +123,7 @@ nfp_reconfig(struct nfp_hw *hw,
* - (0) if OK to reconfigure the device.
* - (-EIO) if I/O err and fail to reconfigure the device.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(nfp_ext_reconfig)
int
nfp_ext_reconfig(struct nfp_hw *hw,
uint32_t ctrl_ext,
@@ -148,6 +151,7 @@ nfp_ext_reconfig(struct nfp_hw *hw,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(nfp_read_mac)
void
nfp_read_mac(struct nfp_hw *hw)
{
@@ -160,6 +164,7 @@ nfp_read_mac(struct nfp_hw *hw)
memcpy(&hw->mac_addr.addr_bytes[4], &tmp, 2);
}
+RTE_EXPORT_INTERNAL_SYMBOL(nfp_write_mac)
void
nfp_write_mac(struct nfp_hw *hw,
uint8_t *mac)
@@ -176,6 +181,7 @@ nfp_write_mac(struct nfp_hw *hw,
hw->ctrl_bar + NFP_NET_CFG_MACADDR + 6);
}
+RTE_EXPORT_INTERNAL_SYMBOL(nfp_enable_queues)
void
nfp_enable_queues(struct nfp_hw *hw,
uint16_t nb_rx_queues,
@@ -199,6 +205,7 @@ nfp_enable_queues(struct nfp_hw *hw,
nn_cfg_writeq(hw, NFP_NET_CFG_RXRS_ENABLE, enabled_queues);
}
+RTE_EXPORT_INTERNAL_SYMBOL(nfp_disable_queues)
void
nfp_disable_queues(struct nfp_hw *hw)
{
diff --git a/drivers/common/nfp/nfp_common_pci.c b/drivers/common/nfp/nfp_common_pci.c
index 856f3917a2..c59e215e74 100644
--- a/drivers/common/nfp/nfp_common_pci.c
+++ b/drivers/common/nfp/nfp_common_pci.c
@@ -257,6 +257,7 @@ nfp_common_init(void)
nfp_common_initialized = true;
}
+RTE_EXPORT_INTERNAL_SYMBOL(nfp_class_driver_register)
void
nfp_class_driver_register(struct nfp_class_driver *driver)
{
diff --git a/drivers/common/nfp/nfp_dev.c b/drivers/common/nfp/nfp_dev.c
index f29b7e0711..4e98bf07f5 100644
--- a/drivers/common/nfp/nfp_dev.c
+++ b/drivers/common/nfp/nfp_dev.c
@@ -49,6 +49,7 @@ const struct nfp_dev_info nfp_dev_info[NFP_DEV_CNT] = {
},
};
+RTE_EXPORT_INTERNAL_SYMBOL(nfp_dev_info_get)
const struct nfp_dev_info *
nfp_dev_info_get(uint16_t device_id)
{
diff --git a/drivers/common/nitrox/nitrox_device.c b/drivers/common/nitrox/nitrox_device.c
index 6cd57faaa4..9d468e82be 100644
--- a/drivers/common/nitrox/nitrox_device.c
+++ b/drivers/common/nitrox/nitrox_device.c
@@ -64,6 +64,7 @@ ndev_release(struct nitrox_device *ndev)
TAILQ_HEAD(ndrv_list, nitrox_driver);
static struct ndrv_list ndrv_list = TAILQ_HEAD_INITIALIZER(ndrv_list);
+RTE_EXPORT_INTERNAL_SYMBOL(nitrox_register_driver)
void
nitrox_register_driver(struct nitrox_driver *ndrv)
{
diff --git a/drivers/common/nitrox/nitrox_logs.c b/drivers/common/nitrox/nitrox_logs.c
index 0e0a94648c..af089709b4 100644
--- a/drivers/common/nitrox/nitrox_logs.c
+++ b/drivers/common/nitrox/nitrox_logs.c
@@ -4,4 +4,5 @@
#include <rte_log.h>
+RTE_EXPORT_INTERNAL_SYMBOL(nitrox_logtype)
RTE_LOG_REGISTER_DEFAULT(nitrox_logtype, NOTICE);
diff --git a/drivers/common/nitrox/nitrox_qp.c b/drivers/common/nitrox/nitrox_qp.c
index d6a5ddd641..c01a64a304 100644
--- a/drivers/common/nitrox/nitrox_qp.c
+++ b/drivers/common/nitrox/nitrox_qp.c
@@ -103,6 +103,7 @@ nitrox_release_cmdq(struct nitrox_qp *qp, uint8_t *bar_addr)
return rte_memzone_free(qp->cmdq.mz);
}
+RTE_EXPORT_INTERNAL_SYMBOL(nitrox_qp_setup)
int
nitrox_qp_setup(struct nitrox_qp *qp, uint8_t *bar_addr, const char *dev_name,
uint32_t nb_descriptors, uint8_t instr_size, int socket_id)
@@ -145,6 +146,7 @@ nitrox_release_ridq(struct nitrox_qp *qp)
rte_free(qp->ridq);
}
+RTE_EXPORT_INTERNAL_SYMBOL(nitrox_qp_release)
int
nitrox_qp_release(struct nitrox_qp *qp, uint8_t *bar_addr)
{
diff --git a/drivers/common/octeontx/octeontx_mbox.c b/drivers/common/octeontx/octeontx_mbox.c
index f98942c79c..2289a17215 100644
--- a/drivers/common/octeontx/octeontx_mbox.c
+++ b/drivers/common/octeontx/octeontx_mbox.c
@@ -69,6 +69,7 @@ struct mbox_intf_ver {
uint32_t minor:10;
};
+RTE_EXPORT_INTERNAL_SYMBOL(octeontx_logtype_mbox)
RTE_LOG_REGISTER(octeontx_logtype_mbox, pmd.octeontx.mbox, NOTICE);
static inline void
@@ -192,6 +193,7 @@ mbox_send(struct mbox *m, struct octeontx_mbox_hdr *hdr, const void *txmsg,
return res;
}
+RTE_EXPORT_INTERNAL_SYMBOL(octeontx_mbox_set_ram_mbox_base)
int
octeontx_mbox_set_ram_mbox_base(uint8_t *ram_mbox_base, uint16_t domain)
{
@@ -216,6 +218,7 @@ octeontx_mbox_set_ram_mbox_base(uint8_t *ram_mbox_base, uint16_t domain)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(octeontx_mbox_set_reg)
int
octeontx_mbox_set_reg(uint8_t *reg, uint16_t domain)
{
@@ -240,6 +243,7 @@ octeontx_mbox_set_reg(uint8_t *reg, uint16_t domain)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(octeontx_mbox_send)
int
octeontx_mbox_send(struct octeontx_mbox_hdr *hdr, void *txdata,
uint16_t txlen, void *rxdata, uint16_t rxlen)
@@ -304,6 +308,7 @@ octeontx_check_mbox_version(struct mbox_intf_ver *app_intf_ver,
return result;
}
+RTE_EXPORT_INTERNAL_SYMBOL(octeontx_mbox_init)
int
octeontx_mbox_init(void)
{
@@ -343,6 +348,7 @@ octeontx_mbox_init(void)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(octeontx_get_global_domain)
uint16_t
octeontx_get_global_domain(void)
{
diff --git a/drivers/common/sfc_efx/sfc_efx.c b/drivers/common/sfc_efx/sfc_efx.c
index 458efacba5..1ab9d6a339 100644
--- a/drivers/common/sfc_efx/sfc_efx.c
+++ b/drivers/common/sfc_efx/sfc_efx.c
@@ -35,6 +35,7 @@ sfc_efx_kvarg_dev_class_handler(__rte_unused const char *key,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(sfc_efx_dev_class_get)
enum sfc_efx_dev_class
sfc_efx_dev_class_get(struct rte_devargs *devargs)
{
@@ -93,6 +94,7 @@ sfc_efx_pci_config_readd(efsys_pci_config_t *configp, uint32_t offset,
return (rc < 0 || rc != sizeof(*edp)) ? EIO : 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(sfc_efx_family)
int
sfc_efx_family(struct rte_pci_device *pci_dev,
efx_bar_region_t *mem_ebrp, efx_family_t *family)
@@ -115,3 +117,274 @@ sfc_efx_family(struct rte_pci_device *pci_dev,
}
RTE_LOG_REGISTER_DEFAULT(sfc_efx_logtype, NOTICE);
+
+/* Export all base symbols */
+RTE_EXPORT_INTERNAL_SYMBOL(efx_crc32_calculate)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evq_size)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evq_nbufs)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_qcreate_irq)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_qcreate)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_qdestroy)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_qprime)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_qpending)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_qcreate_check_init_done)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_qpoll)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_qpost)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_usecs_to_ticks)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_ev_qmoderate)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evb_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evb_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evb_vswitch_create)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evb_vport_mac_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evb_vport_vlan_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evb_vport_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evb_vswitch_destroy)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_evb_vport_stats)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_insert)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_remove)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_restore)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_supported_filters)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_init_rx)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_init_tx)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_ipv4_local)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_ipv4_full)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_eth_local)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_ether_type)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_uc_def)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_mc_def)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_encap_type)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_vxlan)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_geneve)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_nvgre)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_filter_spec_set_rss_context)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_hash_dwords)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_hash_bytes)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_hash_bytes)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_intr_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_intr_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_intr_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_intr_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_intr_disable_unlocked)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_intr_trigger)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_intr_status_line)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_intr_status_message)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_intr_fatal)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_pdu_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_pdu_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_addr_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_filter_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_filter_get_all_ucast_mcast)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_drain)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_up)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_fcntl_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_fcntl_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_multicast_list_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_filter_default_rxq_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_filter_default_rxq_clear)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_include_fcs_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_stat_name)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_stats_get_mask)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_stats_clear)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_stats_upload)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_stats_periodic)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mac_stats_update)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_get_limits)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_mport_invalid)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_mport_by_phy_port)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_mport_by_pcie_function)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_mport_by_pcie_mh_function)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_mport_id_by_selector)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_recirc_id_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_ct_mark_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_mport_by_id)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_field_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_field_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_bit_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_mport_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_clone)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_specs_equal)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_is_valid)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_spec_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_spec_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_decap)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_vlan_pop)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_set_dst_mac)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_set_src_mac)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_decr_ip_ttl)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_nat)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_vlan_push)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_encap)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_count)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_flag)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_mark)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_mark_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_deliver)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_populate_drop)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_specs_equal)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_specs_class_cmp)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_outer_rule_recirc_id_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_outer_rule_do_ct_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_outer_rule_insert)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_outer_rule_remove)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_match_spec_outer_rule_id_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_mac_addr_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_mac_addr_free)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_fill_in_dst_mac_id)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_fill_in_src_mac_id)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_encap_header_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_encap_header_update)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_encap_header_free)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_fill_in_eh_id)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_get_nb_count)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_fill_in_counter_id)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_clear_fw_rsrc_ids)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_counters_alloc_type)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_counters_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_counters_free_type)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_counters_free)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_counters_stream_start)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_counters_stream_stop)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_counters_stream_give_credits)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_free)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_rule_insert)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_rule_remove)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_mport_alloc_alias)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_mport_free)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_read_mport_journal)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_replay)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_list_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mae_action_set_list_free)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_new_epoch)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_request_start)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_request_poll)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_request_abort)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_get_client_handle)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_get_own_client_handle)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_client_mac_addr_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_client_mac_addr_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_get_timeout)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_get_proxy_handle)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mcdi_reboot)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mon_name)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mon_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_mon_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_family)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_family_probe_bar)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_create)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_probe)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_set_drv_limits)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_set_drv_version)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_get_bar_region)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_get_vi_pool)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_unprobe)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_destroy)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_reset)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_cfg_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_get_fw_version)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_get_board_info)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_hw_unavailable)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_set_hw_unavailable)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_loopback_mask)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_calculate_pcie_link_bandwidth)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_get_fw_subvariant)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_set_fw_subvariant)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_check_pcie_link_speed)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_dma_config_add)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_dma_reconfigure)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_nic_dma_map)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_phy_verify)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_phy_adv_cap_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_phy_adv_cap_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_phy_lp_cap_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_phy_oui_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_phy_media_type_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_phy_module_get_info)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_phy_fec_type_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_phy_link_state_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_port_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_port_poll)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_port_loopback_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_loopback_type_name)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_port_vlan_strip_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_port_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_scale_hash_flags_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_hash_default_support_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_scale_default_support_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_scale_context_alloc)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_scale_context_alloc_v2)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_scale_context_free)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_scale_mode_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_scale_key_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_scale_tbl_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_qpost)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_qpush)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_qflush)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rxq_size)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rxq_nbufs)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_qenable)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_qcreate)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_qcreate_es_super_buffer)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_qdestroy)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_pseudo_hdr_pkt_length_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_pseudo_hdr_hash_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_prefix_get_layout)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_rx_prefix_layout_check)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_sram_buf_tbl_set)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_sram_buf_tbl_clear)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_table_list)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_table_supported_num_get)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_table_is_supported)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_table_describe)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_table_entry_insert)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_table_entry_delete)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tunnel_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tunnel_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tunnel_config_udp_add)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tunnel_config_udp_remove)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tunnel_config_clear)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tunnel_reconfigure)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_txq_size)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_txq_nbufs)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qcreate)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qdestroy)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qpost)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qpush)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qpace)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qflush)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qenable)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qpio_enable)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qpio_disable)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qpio_write)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qpio_post)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qdesc_post)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qdesc_dma_create)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qdesc_tso_create)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qdesc_tso2_create)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qdesc_vlantci_create)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_tx_qdesc_checksum_create)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_virtio_init)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_virtio_fini)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_virtio_qcreate)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_virtio_qstart)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_virtio_qstop)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_virtio_qdestroy)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_virtio_get_doorbell_offset)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_virtio_get_features)
+RTE_EXPORT_INTERNAL_SYMBOL(efx_virtio_verify_features)
diff --git a/drivers/common/sfc_efx/sfc_efx_mcdi.c b/drivers/common/sfc_efx/sfc_efx_mcdi.c
index 0d17616589..02b67d2236 100644
--- a/drivers/common/sfc_efx/sfc_efx_mcdi.c
+++ b/drivers/common/sfc_efx/sfc_efx_mcdi.c
@@ -264,6 +264,7 @@ sfc_efx_mcdi_ev_proxy_response(void *arg, uint32_t handle, efx_rc_t result)
mcdi->proxy_result = result;
}
+RTE_EXPORT_INTERNAL_SYMBOL(sfc_efx_mcdi_init)
int
sfc_efx_mcdi_init(struct sfc_efx_mcdi *mcdi,
uint32_t logtype, const char *log_prefix, efx_nic_t *nic,
@@ -320,6 +321,7 @@ sfc_efx_mcdi_init(struct sfc_efx_mcdi *mcdi,
return rc;
}
+RTE_EXPORT_INTERNAL_SYMBOL(sfc_efx_mcdi_fini)
void
sfc_efx_mcdi_fini(struct sfc_efx_mcdi *mcdi)
{
diff --git a/drivers/crypto/cnxk/cn10k_cryptodev_ops.c b/drivers/crypto/cnxk/cn10k_cryptodev_ops.c
index dbebc5aef1..990211d1c3 100644
--- a/drivers/crypto/cnxk/cn10k_cryptodev_ops.c
+++ b/drivers/crypto/cnxk/cn10k_cryptodev_ops.c
@@ -892,12 +892,14 @@ cn10k_cpt_crypto_adapter_enqueue(void *ws, struct rte_event ev[], uint16_t nb_ev
return count;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn10k_cpt_sg_ver1_crypto_adapter_enqueue)
uint16_t __rte_hot
cn10k_cpt_sg_ver1_crypto_adapter_enqueue(void *ws, struct rte_event ev[], uint16_t nb_events)
{
return cn10k_cpt_crypto_adapter_enqueue(ws, ev, nb_events, false);
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn10k_cpt_sg_ver2_crypto_adapter_enqueue)
uint16_t __rte_hot
cn10k_cpt_sg_ver2_crypto_adapter_enqueue(void *ws, struct rte_event ev[], uint16_t nb_events)
{
@@ -1225,6 +1227,7 @@ cn10k_cpt_dequeue_post_process(struct cnxk_cpt_qp *qp, struct rte_crypto_op *cop
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn10k_cpt_crypto_adapter_dequeue)
uintptr_t
cn10k_cpt_crypto_adapter_dequeue(uintptr_t get_work1)
{
@@ -1248,6 +1251,7 @@ cn10k_cpt_crypto_adapter_dequeue(uintptr_t get_work1)
return (uintptr_t)cop;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn10k_cpt_crypto_adapter_vector_dequeue)
uintptr_t
cn10k_cpt_crypto_adapter_vector_dequeue(uintptr_t get_work1)
{
@@ -1349,6 +1353,7 @@ cn10k_cpt_dequeue_burst(void *qptr, struct rte_crypto_op **ops, uint16_t nb_ops)
}
#if defined(RTE_ARCH_ARM64)
+RTE_EXPORT_INTERNAL_SYMBOL(cn10k_cryptodev_sec_inb_rx_inject)
uint16_t __rte_hot
cn10k_cryptodev_sec_inb_rx_inject(void *dev, struct rte_mbuf **pkts,
struct rte_security_session **sess, uint16_t nb_pkts)
@@ -1492,6 +1497,7 @@ cn10k_cryptodev_sec_inb_rx_inject(void *dev, struct rte_mbuf **pkts,
return count + i;
}
#else
+RTE_EXPORT_INTERNAL_SYMBOL(cn10k_cryptodev_sec_inb_rx_inject)
uint16_t __rte_hot
cn10k_cryptodev_sec_inb_rx_inject(void *dev, struct rte_mbuf **pkts,
struct rte_security_session **sess, uint16_t nb_pkts)
@@ -1968,6 +1974,7 @@ cn10k_sym_configure_raw_dp_ctx(struct rte_cryptodev *dev, uint16_t qp_id,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn10k_cryptodev_sec_rx_inject_configure)
int
cn10k_cryptodev_sec_rx_inject_configure(void *device, uint16_t port_id, bool enable)
{
diff --git a/drivers/crypto/cnxk/cn9k_cryptodev_ops.c b/drivers/crypto/cnxk/cn9k_cryptodev_ops.c
index 2b1bd70c6d..99cd84ec2a 100644
--- a/drivers/crypto/cnxk/cn9k_cryptodev_ops.c
+++ b/drivers/crypto/cnxk/cn9k_cryptodev_ops.c
@@ -340,6 +340,7 @@ cn9k_ca_meta_info_extract(struct rte_crypto_op *op,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn9k_cpt_crypto_adapter_enqueue)
uint16_t
cn9k_cpt_crypto_adapter_enqueue(uintptr_t base, struct rte_crypto_op *op)
{
@@ -592,6 +593,7 @@ cn9k_cpt_dequeue_post_process(struct cnxk_cpt_qp *qp, struct rte_crypto_op *cop,
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn9k_cpt_crypto_adapter_dequeue)
uintptr_t
cn9k_cpt_crypto_adapter_dequeue(uintptr_t get_work1)
{
diff --git a/drivers/crypto/cnxk/cnxk_cryptodev_ops.c b/drivers/crypto/cnxk/cnxk_cryptodev_ops.c
index a82db13a8e..0d5c28e247 100644
--- a/drivers/crypto/cnxk/cnxk_cryptodev_ops.c
+++ b/drivers/crypto/cnxk/cnxk_cryptodev_ops.c
@@ -969,6 +969,7 @@ cnxk_cpt_queue_pair_event_error_query(struct rte_cryptodev *dev, uint16_t qp_id)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_crypto_qptr_get, 24.03)
struct rte_pmd_cnxk_crypto_qptr *
rte_pmd_cnxk_crypto_qptr_get(uint8_t dev_id, uint16_t qp_id)
{
@@ -1031,6 +1032,7 @@ cnxk_crypto_cn9k_submit(struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst, uint1
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_crypto_submit, 24.03)
void
rte_pmd_cnxk_crypto_submit(struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst, uint16_t nb_inst)
{
@@ -1042,6 +1044,7 @@ rte_pmd_cnxk_crypto_submit(struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst, ui
plt_err("Invalid cnxk model");
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_crypto_cptr_flush, 24.07)
int
rte_pmd_cnxk_crypto_cptr_flush(struct rte_pmd_cnxk_crypto_qptr *qptr,
struct rte_pmd_cnxk_crypto_cptr *cptr, bool invalidate)
@@ -1066,6 +1069,7 @@ rte_pmd_cnxk_crypto_cptr_flush(struct rte_pmd_cnxk_crypto_qptr *qptr,
return roc_cpt_lf_ctx_flush(&qp->lf, cptr, invalidate);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_crypto_cptr_get, 24.07)
struct rte_pmd_cnxk_crypto_cptr *
rte_pmd_cnxk_crypto_cptr_get(struct rte_pmd_cnxk_crypto_sess *rte_sess)
{
@@ -1113,6 +1117,7 @@ rte_pmd_cnxk_crypto_cptr_get(struct rte_pmd_cnxk_crypto_sess *rte_sess)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_crypto_cptr_read, 24.07)
int
rte_pmd_cnxk_crypto_cptr_read(struct rte_pmd_cnxk_crypto_qptr *qptr,
struct rte_pmd_cnxk_crypto_cptr *cptr, void *data, uint32_t len)
@@ -1146,6 +1151,7 @@ rte_pmd_cnxk_crypto_cptr_read(struct rte_pmd_cnxk_crypto_qptr *qptr,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_crypto_cptr_write, 24.07)
int
rte_pmd_cnxk_crypto_cptr_write(struct rte_pmd_cnxk_crypto_qptr *qptr,
struct rte_pmd_cnxk_crypto_cptr *cptr, void *data, uint32_t len)
@@ -1183,6 +1189,7 @@ rte_pmd_cnxk_crypto_cptr_write(struct rte_pmd_cnxk_crypto_qptr *qptr,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_crypto_qp_stats_get, 24.07)
int
rte_pmd_cnxk_crypto_qp_stats_get(struct rte_pmd_cnxk_crypto_qptr *qptr,
struct rte_pmd_cnxk_crypto_qp_stats *stats)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 7ad8fd47dd..496efa682d 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -4090,6 +4090,7 @@ dpaa2_sec_process_ordered_event(struct qbman_swp *swp,
ev->event_ptr = crypto_op;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_sec_eventq_attach)
int
dpaa2_sec_eventq_attach(const struct rte_cryptodev *dev,
int qp_id,
@@ -4170,6 +4171,7 @@ dpaa2_sec_eventq_attach(const struct rte_cryptodev *dev,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_sec_eventq_detach)
int
dpaa2_sec_eventq_detach(const struct rte_cryptodev *dev,
int qp_id)
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c
index e117cd77a6..963793f234 100644
--- a/drivers/crypto/dpaa_sec/dpaa_sec.c
+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c
@@ -3510,6 +3510,7 @@ dpaa_sec_process_atomic_event(void *event,
return qman_cb_dqrr_defer;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_sec_eventq_attach)
int
dpaa_sec_eventq_attach(const struct rte_cryptodev *dev,
int qp_id,
@@ -3554,6 +3555,7 @@ dpaa_sec_eventq_attach(const struct rte_cryptodev *dev,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_sec_eventq_detach)
int
dpaa_sec_eventq_detach(const struct rte_cryptodev *dev,
int qp_id)
diff --git a/drivers/crypto/octeontx/otx_cryptodev_ops.c b/drivers/crypto/octeontx/otx_cryptodev_ops.c
index 9a758cd297..05c3896b2b 100644
--- a/drivers/crypto/octeontx/otx_cryptodev_ops.c
+++ b/drivers/crypto/octeontx/otx_cryptodev_ops.c
@@ -656,6 +656,7 @@ submit_request_to_sso(struct ssows *ws, uintptr_t req,
ssovf_store_pair(add_work, req, ws->grps[rsp_info->queue_id]);
}
+RTE_EXPORT_INTERNAL_SYMBOL(otx_crypto_adapter_enqueue)
uint16_t __rte_hot
otx_crypto_adapter_enqueue(void *port, struct rte_crypto_op *op)
{
@@ -946,6 +947,7 @@ otx_cpt_dequeue_sym(void *qptr, struct rte_crypto_op **ops, uint16_t nb_ops)
return otx_cpt_pkt_dequeue(qptr, ops, nb_ops, OP_TYPE_SYM);
}
+RTE_EXPORT_INTERNAL_SYMBOL(otx_crypto_adapter_dequeue)
uintptr_t __rte_hot
otx_crypto_adapter_dequeue(uintptr_t get_work1)
{
diff --git a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
index 6013f66aa5..a6327cd1b6 100644
--- a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
+++ b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
@@ -357,6 +357,7 @@ update_max_nb_qp(struct scheduler_ctx *sched_ctx)
}
/** Attach a device to the scheduler. */
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_worker_attach)
int
rte_cryptodev_scheduler_worker_attach(uint8_t scheduler_id, uint8_t worker_id)
{
@@ -419,6 +420,7 @@ rte_cryptodev_scheduler_worker_attach(uint8_t scheduler_id, uint8_t worker_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_worker_detach)
int
rte_cryptodev_scheduler_worker_detach(uint8_t scheduler_id, uint8_t worker_id)
{
@@ -477,6 +479,7 @@ rte_cryptodev_scheduler_worker_detach(uint8_t scheduler_id, uint8_t worker_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_mode_set)
int
rte_cryptodev_scheduler_mode_set(uint8_t scheduler_id,
enum rte_cryptodev_scheduler_mode mode)
@@ -541,6 +544,7 @@ rte_cryptodev_scheduler_mode_set(uint8_t scheduler_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_mode_get)
enum rte_cryptodev_scheduler_mode
rte_cryptodev_scheduler_mode_get(uint8_t scheduler_id)
{
@@ -562,6 +566,7 @@ rte_cryptodev_scheduler_mode_get(uint8_t scheduler_id)
return sched_ctx->mode;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_ordering_set)
int
rte_cryptodev_scheduler_ordering_set(uint8_t scheduler_id,
uint32_t enable_reorder)
@@ -591,6 +596,7 @@ rte_cryptodev_scheduler_ordering_set(uint8_t scheduler_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_ordering_get)
int
rte_cryptodev_scheduler_ordering_get(uint8_t scheduler_id)
{
@@ -612,6 +618,7 @@ rte_cryptodev_scheduler_ordering_get(uint8_t scheduler_id)
return (int)sched_ctx->reordering_enabled;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_load_user_scheduler)
int
rte_cryptodev_scheduler_load_user_scheduler(uint8_t scheduler_id,
struct rte_cryptodev_scheduler *scheduler) {
@@ -684,6 +691,7 @@ rte_cryptodev_scheduler_load_user_scheduler(uint8_t scheduler_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_workers_get)
int
rte_cryptodev_scheduler_workers_get(uint8_t scheduler_id, uint8_t *workers)
{
@@ -715,6 +723,7 @@ rte_cryptodev_scheduler_workers_get(uint8_t scheduler_id, uint8_t *workers)
return (int)nb_workers;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_option_set)
int
rte_cryptodev_scheduler_option_set(uint8_t scheduler_id,
enum rte_cryptodev_schedule_option_type option_type,
@@ -747,6 +756,7 @@ rte_cryptodev_scheduler_option_set(uint8_t scheduler_id,
return sched_ctx->ops.option_set(dev, option_type, option);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_scheduler_option_get)
int
rte_cryptodev_scheduler_option_get(uint8_t scheduler_id,
enum rte_cryptodev_schedule_option_type option_type,
diff --git a/drivers/dma/cnxk/cnxk_dmadev_fp.c b/drivers/dma/cnxk/cnxk_dmadev_fp.c
index 36fc40c7e0..947ba85ea2 100644
--- a/drivers/dma/cnxk/cnxk_dmadev_fp.c
+++ b/drivers/dma/cnxk/cnxk_dmadev_fp.c
@@ -445,6 +445,7 @@ cnxk_dma_adapter_format_event(uint64_t event)
return w0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn10k_dma_adapter_enqueue)
uint16_t
cn10k_dma_adapter_enqueue(void *ws, struct rte_event ev[], uint16_t nb_events)
{
@@ -504,6 +505,7 @@ cn10k_dma_adapter_enqueue(void *ws, struct rte_event ev[], uint16_t nb_events)
return count;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn9k_dma_adapter_dual_enqueue)
uint16_t
cn9k_dma_adapter_dual_enqueue(void *ws, struct rte_event ev[], uint16_t nb_events)
{
@@ -574,6 +576,7 @@ cn9k_dma_adapter_dual_enqueue(void *ws, struct rte_event ev[], uint16_t nb_event
return count;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cn9k_dma_adapter_enqueue)
uint16_t
cn9k_dma_adapter_enqueue(void *ws, struct rte_event ev[], uint16_t nb_events)
{
@@ -641,6 +644,7 @@ cn9k_dma_adapter_enqueue(void *ws, struct rte_event ev[], uint16_t nb_events)
return count;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_dma_adapter_dequeue)
uintptr_t
cnxk_dma_adapter_dequeue(uintptr_t get_work1)
{
diff --git a/drivers/event/cnxk/cnxk_worker.c b/drivers/event/cnxk/cnxk_worker.c
index a07c9185d9..222ff759ee 100644
--- a/drivers/event/cnxk/cnxk_worker.c
+++ b/drivers/event/cnxk/cnxk_worker.c
@@ -12,6 +12,7 @@ struct pwords {
uint64_t u[5];
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_eventdev_wait_head, 23.11)
void
rte_pmd_cnxk_eventdev_wait_head(uint8_t dev, uint8_t port)
{
@@ -28,6 +29,7 @@ rte_pmd_cnxk_eventdev_wait_head(uint8_t dev, uint8_t port)
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_eventdev_is_head, 23.11)
uint8_t
rte_pmd_cnxk_eventdev_is_head(uint8_t dev, uint8_t port)
{
diff --git a/drivers/event/dlb2/rte_pmd_dlb2.c b/drivers/event/dlb2/rte_pmd_dlb2.c
index 43990e46ac..dc94ec1e82 100644
--- a/drivers/event/dlb2/rte_pmd_dlb2.c
+++ b/drivers/event/dlb2/rte_pmd_dlb2.c
@@ -9,6 +9,7 @@
#include "dlb2_priv.h"
#include "dlb2_inline_fns.h"
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_dlb2_set_token_pop_mode, 20.11)
int
rte_pmd_dlb2_set_token_pop_mode(uint8_t dev_id,
uint8_t port_id,
diff --git a/drivers/mempool/cnxk/cn10k_hwpool_ops.c b/drivers/mempool/cnxk/cn10k_hwpool_ops.c
index b234481ec1..dc03b1165b 100644
--- a/drivers/mempool/cnxk/cn10k_hwpool_ops.c
+++ b/drivers/mempool/cnxk/cn10k_hwpool_ops.c
@@ -200,6 +200,7 @@ cn10k_hwpool_populate(struct rte_mempool *hp, unsigned int max_objs,
return hp->size;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_mempool_mbuf_exchange, 23.07)
int
rte_pmd_cnxk_mempool_mbuf_exchange(struct rte_mbuf *m1, struct rte_mbuf *m2)
{
@@ -227,12 +228,14 @@ rte_pmd_cnxk_mempool_mbuf_exchange(struct rte_mbuf *m1, struct rte_mbuf *m2)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_mempool_is_hwpool, 23.07)
int
rte_pmd_cnxk_mempool_is_hwpool(struct rte_mempool *mp)
{
return !!(CNXK_MEMPOOL_FLAGS(mp) & CNXK_MEMPOOL_F_IS_HWPOOL);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_mempool_range_check_disable, 23.07)
int
rte_pmd_cnxk_mempool_range_check_disable(struct rte_mempool *mp)
{
diff --git a/drivers/mempool/dpaa/dpaa_mempool.c b/drivers/mempool/dpaa/dpaa_mempool.c
index 74bfcab509..53814c6356 100644
--- a/drivers/mempool/dpaa/dpaa_mempool.c
+++ b/drivers/mempool/dpaa/dpaa_mempool.c
@@ -32,9 +32,11 @@
* is to optimize the PA_to_VA searches until a better mechanism (algo) is
* available.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa_memsegs)
struct dpaa_memseg_list rte_dpaa_memsegs
= TAILQ_HEAD_INITIALIZER(rte_dpaa_memsegs);
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa_bpid_info)
struct dpaa_bp_info *rte_dpaa_bpid_info;
RTE_LOG_REGISTER_DEFAULT(dpaa_logtype_mempool, NOTICE);
diff --git a/drivers/mempool/dpaa2/dpaa2_hw_mempool.c b/drivers/mempool/dpaa2/dpaa2_hw_mempool.c
index c054988513..7452ca5d17 100644
--- a/drivers/mempool/dpaa2/dpaa2_hw_mempool.c
+++ b/drivers/mempool/dpaa2/dpaa2_hw_mempool.c
@@ -33,6 +33,7 @@
#include <dpaax_iova_table.h>
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa2_bpid_info)
struct dpaa2_bp_info *rte_dpaa2_bpid_info;
static struct dpaa2_bp_list *h_bp_list;
@@ -278,6 +279,7 @@ rte_dpaa2_mbuf_release(struct rte_mempool *pool __rte_unused,
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa2_bpid_info_init)
int rte_dpaa2_bpid_info_init(struct rte_mempool *mp)
{
struct dpaa2_bp_info *bp_info = mempool_to_bpinfo(mp);
@@ -301,6 +303,7 @@ int rte_dpaa2_bpid_info_init(struct rte_mempool *mp)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_dpaa2_mbuf_pool_bpid)
uint16_t
rte_dpaa2_mbuf_pool_bpid(struct rte_mempool *mp)
{
@@ -315,6 +318,7 @@ rte_dpaa2_mbuf_pool_bpid(struct rte_mempool *mp)
return bp_info->bpid;
}
+RTE_EXPORT_SYMBOL(rte_dpaa2_mbuf_from_buf_addr)
struct rte_mbuf *
rte_dpaa2_mbuf_from_buf_addr(struct rte_mempool *mp, void *buf_addr)
{
@@ -330,6 +334,7 @@ rte_dpaa2_mbuf_from_buf_addr(struct rte_mempool *mp, void *buf_addr)
bp_info->meta_data_size);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dpaa2_mbuf_alloc_bulk)
int
rte_dpaa2_mbuf_alloc_bulk(struct rte_mempool *pool,
void **obj_table, unsigned int count)
diff --git a/drivers/net/atlantic/rte_pmd_atlantic.c b/drivers/net/atlantic/rte_pmd_atlantic.c
index 00fc2872e5..3a86636ba1 100644
--- a/drivers/net/atlantic/rte_pmd_atlantic.c
+++ b/drivers/net/atlantic/rte_pmd_atlantic.c
@@ -8,6 +8,7 @@
#include "atl_ethdev.h"
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_atl_macsec_enable, 19.05)
int
rte_pmd_atl_macsec_enable(uint16_t port,
uint8_t encr, uint8_t repl_prot)
@@ -24,6 +25,7 @@ rte_pmd_atl_macsec_enable(uint16_t port,
return atl_macsec_enable(dev, encr, repl_prot);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_atl_macsec_disable, 19.05)
int
rte_pmd_atl_macsec_disable(uint16_t port)
{
@@ -39,6 +41,7 @@ rte_pmd_atl_macsec_disable(uint16_t port)
return atl_macsec_disable(dev);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_atl_macsec_config_txsc, 19.05)
int
rte_pmd_atl_macsec_config_txsc(uint16_t port, uint8_t *mac)
{
@@ -54,6 +57,7 @@ rte_pmd_atl_macsec_config_txsc(uint16_t port, uint8_t *mac)
return atl_macsec_config_txsc(dev, mac);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_atl_macsec_config_rxsc, 19.05)
int
rte_pmd_atl_macsec_config_rxsc(uint16_t port, uint8_t *mac, uint16_t pi)
{
@@ -69,6 +73,7 @@ rte_pmd_atl_macsec_config_rxsc(uint16_t port, uint8_t *mac, uint16_t pi)
return atl_macsec_config_rxsc(dev, mac, pi);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_atl_macsec_select_txsa, 19.05)
int
rte_pmd_atl_macsec_select_txsa(uint16_t port, uint8_t idx, uint8_t an,
uint32_t pn, uint8_t *key)
@@ -85,6 +90,7 @@ rte_pmd_atl_macsec_select_txsa(uint16_t port, uint8_t idx, uint8_t an,
return atl_macsec_select_txsa(dev, idx, an, pn, key);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_atl_macsec_select_rxsa, 19.05)
int
rte_pmd_atl_macsec_select_rxsa(uint16_t port, uint8_t idx, uint8_t an,
uint32_t pn, uint8_t *key)
diff --git a/drivers/net/bnxt/rte_pmd_bnxt.c b/drivers/net/bnxt/rte_pmd_bnxt.c
index e9b5739050..2b111fde05 100644
--- a/drivers/net/bnxt/rte_pmd_bnxt.c
+++ b/drivers/net/bnxt/rte_pmd_bnxt.c
@@ -39,6 +39,7 @@ int bnxt_rcv_msg_from_vf(struct bnxt *bp, uint16_t vf_id, void *msg)
true : false;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_tx_loopback)
int rte_pmd_bnxt_set_tx_loopback(uint16_t port, uint8_t on)
{
struct rte_eth_dev *eth_dev;
@@ -80,6 +81,7 @@ rte_pmd_bnxt_set_all_queues_drop_en_cb(struct bnxt_vnic_info *vnic, void *onptr)
vnic->bd_stall = !(*on);
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_all_queues_drop_en)
int rte_pmd_bnxt_set_all_queues_drop_en(uint16_t port, uint8_t on)
{
struct rte_eth_dev *eth_dev;
@@ -131,6 +133,7 @@ int rte_pmd_bnxt_set_all_queues_drop_en(uint16_t port, uint8_t on)
return rc;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_vf_mac_addr)
int rte_pmd_bnxt_set_vf_mac_addr(uint16_t port, uint16_t vf,
struct rte_ether_addr *mac_addr)
{
@@ -171,6 +174,7 @@ int rte_pmd_bnxt_set_vf_mac_addr(uint16_t port, uint16_t vf,
return rc;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_vf_rate_limit)
int rte_pmd_bnxt_set_vf_rate_limit(uint16_t port, uint16_t vf,
uint32_t tx_rate, uint64_t q_msk)
{
@@ -228,6 +232,7 @@ int rte_pmd_bnxt_set_vf_rate_limit(uint16_t port, uint16_t vf,
return rc;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_vf_mac_anti_spoof)
int rte_pmd_bnxt_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)
{
struct rte_eth_dev_info dev_info;
@@ -288,6 +293,7 @@ int rte_pmd_bnxt_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)
return rc;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_vf_vlan_anti_spoof)
int rte_pmd_bnxt_set_vf_vlan_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)
{
struct rte_eth_dev_info dev_info;
@@ -347,6 +353,7 @@ rte_pmd_bnxt_set_vf_vlan_stripq_cb(struct bnxt_vnic_info *vnic, void *onptr)
vnic->vlan_strip = *on;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_vf_vlan_stripq)
int
rte_pmd_bnxt_set_vf_vlan_stripq(uint16_t port, uint16_t vf, uint8_t on)
{
@@ -390,6 +397,7 @@ rte_pmd_bnxt_set_vf_vlan_stripq(uint16_t port, uint16_t vf, uint8_t on)
return rc;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_vf_rxmode)
int rte_pmd_bnxt_set_vf_rxmode(uint16_t port, uint16_t vf,
uint16_t rx_mask, uint8_t on)
{
@@ -488,6 +496,7 @@ static int bnxt_set_vf_table(struct bnxt *bp, uint16_t vf)
return rc;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_vf_vlan_filter)
int rte_pmd_bnxt_set_vf_vlan_filter(uint16_t port, uint16_t vlan,
uint64_t vf_mask, uint8_t vlan_on)
{
@@ -583,6 +592,7 @@ int rte_pmd_bnxt_set_vf_vlan_filter(uint16_t port, uint16_t vlan,
return rc;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_get_vf_stats)
int rte_pmd_bnxt_get_vf_stats(uint16_t port,
uint16_t vf_id,
struct rte_eth_stats *stats)
@@ -620,6 +630,7 @@ int rte_pmd_bnxt_get_vf_stats(uint16_t port,
NULL);
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_reset_vf_stats)
int rte_pmd_bnxt_reset_vf_stats(uint16_t port,
uint16_t vf_id)
{
@@ -655,6 +666,7 @@ int rte_pmd_bnxt_reset_vf_stats(uint16_t port,
return bnxt_hwrm_func_clr_stats(bp, bp->pf->first_vf_id + vf_id);
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_get_vf_rx_status)
int rte_pmd_bnxt_get_vf_rx_status(uint16_t port, uint16_t vf_id)
{
struct rte_eth_dev *dev;
@@ -689,6 +701,7 @@ int rte_pmd_bnxt_get_vf_rx_status(uint16_t port, uint16_t vf_id)
return bnxt_vf_vnic_count(bp, vf_id);
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_get_vf_tx_drop_count)
int rte_pmd_bnxt_get_vf_tx_drop_count(uint16_t port, uint16_t vf_id,
uint64_t *count)
{
@@ -725,6 +738,7 @@ int rte_pmd_bnxt_get_vf_tx_drop_count(uint16_t port, uint16_t vf_id,
count);
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_mac_addr_add)
int rte_pmd_bnxt_mac_addr_add(uint16_t port, struct rte_ether_addr *addr,
uint32_t vf_id)
{
@@ -808,6 +822,7 @@ int rte_pmd_bnxt_mac_addr_add(uint16_t port, struct rte_ether_addr *addr,
return rc;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_vf_vlan_insert)
int
rte_pmd_bnxt_set_vf_vlan_insert(uint16_t port, uint16_t vf,
uint16_t vlan_id)
@@ -853,6 +868,7 @@ rte_pmd_bnxt_set_vf_vlan_insert(uint16_t port, uint16_t vf,
return rc;
}
+RTE_EXPORT_SYMBOL(rte_pmd_bnxt_set_vf_persist_stats)
int rte_pmd_bnxt_set_vf_persist_stats(uint16_t port, uint16_t vf, uint8_t on)
{
struct rte_eth_dev_info dev_info;
diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index 7f885ab521..97114e65c6 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -1403,6 +1403,7 @@ bond_mode_8023ad_handle_slow_pkt(struct bond_dev_private *internals,
rte_pktmbuf_free(pkt);
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_conf_get)
int
rte_eth_bond_8023ad_conf_get(uint16_t port_id,
struct rte_eth_bond_8023ad_conf *conf)
@@ -1420,6 +1421,7 @@ rte_eth_bond_8023ad_conf_get(uint16_t port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_agg_selection_set)
int
rte_eth_bond_8023ad_agg_selection_set(uint16_t port_id,
enum rte_bond_8023ad_agg_selection agg_selection)
@@ -1444,6 +1446,7 @@ rte_eth_bond_8023ad_agg_selection_set(uint16_t port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_agg_selection_get)
int rte_eth_bond_8023ad_agg_selection_get(uint16_t port_id)
{
struct rte_eth_dev *bond_dev;
@@ -1491,6 +1494,7 @@ bond_8023ad_setup_validate(uint16_t port_id,
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_setup)
int
rte_eth_bond_8023ad_setup(uint16_t port_id,
struct rte_eth_bond_8023ad_conf *conf)
@@ -1512,6 +1516,7 @@ rte_eth_bond_8023ad_setup(uint16_t port_id,
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_member_info)
int
rte_eth_bond_8023ad_member_info(uint16_t port_id, uint16_t member_id,
struct rte_eth_bond_8023ad_member_info *info)
@@ -1573,6 +1578,7 @@ bond_8023ad_ext_validate(uint16_t port_id, uint16_t member_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_ext_collect)
int
rte_eth_bond_8023ad_ext_collect(uint16_t port_id, uint16_t member_id,
int enabled)
@@ -1594,6 +1600,7 @@ rte_eth_bond_8023ad_ext_collect(uint16_t port_id, uint16_t member_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_ext_distrib)
int
rte_eth_bond_8023ad_ext_distrib(uint16_t port_id, uint16_t member_id,
int enabled)
@@ -1615,6 +1622,7 @@ rte_eth_bond_8023ad_ext_distrib(uint16_t port_id, uint16_t member_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_ext_distrib_get)
int
rte_eth_bond_8023ad_ext_distrib_get(uint16_t port_id, uint16_t member_id)
{
@@ -1629,6 +1637,7 @@ rte_eth_bond_8023ad_ext_distrib_get(uint16_t port_id, uint16_t member_id)
return ACTOR_STATE(port, DISTRIBUTING);
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_ext_collect_get)
int
rte_eth_bond_8023ad_ext_collect_get(uint16_t port_id, uint16_t member_id)
{
@@ -1643,6 +1652,7 @@ rte_eth_bond_8023ad_ext_collect_get(uint16_t port_id, uint16_t member_id)
return ACTOR_STATE(port, COLLECTING);
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_ext_slowtx)
int
rte_eth_bond_8023ad_ext_slowtx(uint16_t port_id, uint16_t member_id,
struct rte_mbuf *lacp_pkt)
@@ -1704,6 +1714,7 @@ bond_mode_8023ad_ext_periodic_cb(void *arg)
bond_mode_8023ad_ext_periodic_cb, arg);
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_dedicated_queues_enable)
int
rte_eth_bond_8023ad_dedicated_queues_enable(uint16_t port)
{
@@ -1730,6 +1741,7 @@ rte_eth_bond_8023ad_dedicated_queues_enable(uint16_t port)
return retval;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_8023ad_dedicated_queues_disable)
int
rte_eth_bond_8023ad_dedicated_queues_disable(uint16_t port)
{
diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index ffc1322047..11a0551d80 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -149,6 +149,7 @@ deactivate_member(struct rte_eth_dev *eth_dev, uint16_t port_id)
}
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_create)
int
rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
{
@@ -187,6 +188,7 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
return bond_dev->data->port_id;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_free)
int
rte_eth_bond_free(const char *name)
{
@@ -631,6 +633,7 @@ __eth_bond_member_add_lock_free(uint16_t bonding_port_id, uint16_t member_port_i
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_member_add)
int
rte_eth_bond_member_add(uint16_t bonding_port_id, uint16_t member_port_id)
{
@@ -769,6 +772,7 @@ __eth_bond_member_remove_lock_free(uint16_t bonding_port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_member_remove)
int
rte_eth_bond_member_remove(uint16_t bonding_port_id, uint16_t member_port_id)
{
@@ -791,6 +795,7 @@ rte_eth_bond_member_remove(uint16_t bonding_port_id, uint16_t member_port_id)
return retval;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_mode_set)
int
rte_eth_bond_mode_set(uint16_t bonding_port_id, uint8_t mode)
{
@@ -808,6 +813,7 @@ rte_eth_bond_mode_set(uint16_t bonding_port_id, uint8_t mode)
return bond_ethdev_mode_set(bonding_eth_dev, mode);
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_mode_get)
int
rte_eth_bond_mode_get(uint16_t bonding_port_id)
{
@@ -821,6 +827,7 @@ rte_eth_bond_mode_get(uint16_t bonding_port_id)
return internals->mode;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_primary_set)
int
rte_eth_bond_primary_set(uint16_t bonding_port_id, uint16_t member_port_id)
{
@@ -842,6 +849,7 @@ rte_eth_bond_primary_set(uint16_t bonding_port_id, uint16_t member_port_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_primary_get)
int
rte_eth_bond_primary_get(uint16_t bonding_port_id)
{
@@ -858,6 +866,7 @@ rte_eth_bond_primary_get(uint16_t bonding_port_id)
return internals->current_primary_port;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_members_get)
int
rte_eth_bond_members_get(uint16_t bonding_port_id, uint16_t members[],
uint16_t len)
@@ -882,6 +891,7 @@ rte_eth_bond_members_get(uint16_t bonding_port_id, uint16_t members[],
return internals->member_count;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_active_members_get)
int
rte_eth_bond_active_members_get(uint16_t bonding_port_id, uint16_t members[],
uint16_t len)
@@ -905,6 +915,7 @@ rte_eth_bond_active_members_get(uint16_t bonding_port_id, uint16_t members[],
return internals->active_member_count;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_mac_address_set)
int
rte_eth_bond_mac_address_set(uint16_t bonding_port_id,
struct rte_ether_addr *mac_addr)
@@ -931,6 +942,7 @@ rte_eth_bond_mac_address_set(uint16_t bonding_port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_mac_address_reset)
int
rte_eth_bond_mac_address_reset(uint16_t bonding_port_id)
{
@@ -972,6 +984,7 @@ rte_eth_bond_mac_address_reset(uint16_t bonding_port_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_xmit_policy_set)
int
rte_eth_bond_xmit_policy_set(uint16_t bonding_port_id, uint8_t policy)
{
@@ -1002,6 +1015,7 @@ rte_eth_bond_xmit_policy_set(uint16_t bonding_port_id, uint8_t policy)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_xmit_policy_get)
int
rte_eth_bond_xmit_policy_get(uint16_t bonding_port_id)
{
@@ -1015,6 +1029,7 @@ rte_eth_bond_xmit_policy_get(uint16_t bonding_port_id)
return internals->balance_xmit_policy;
}
+RTE_EXPORT_SYMBOL(rte_eth_bond_link_monitoring_set)
int
rte_eth_bond_link_monitoring_set(uint16_t bonding_port_id, uint32_t internal_ms)
{
diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c
index 289ae96afa..70fc7d90fa 100644
--- a/drivers/net/cnxk/cnxk_ethdev.c
+++ b/drivers/net/cnxk/cnxk_ethdev.c
@@ -12,6 +12,7 @@ cnxk_ethdev_rx_offload_cb_t cnxk_ethdev_rx_offload_cb;
#define NIX_TM_DFLT_RR_WT 71
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_model_str_get, 23.11)
const char *
rte_pmd_cnxk_model_str_get(void)
{
@@ -87,12 +88,14 @@ nix_inl_cq_sz_clamp_up(struct roc_nix *nix, struct rte_mempool *mp,
return nb_desc;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_ethdev_rx_offload_cb_register)
void
cnxk_ethdev_rx_offload_cb_register(cnxk_ethdev_rx_offload_cb_t cb)
{
cnxk_ethdev_rx_offload_cb = cb;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cnxk_nix_inb_mode_set)
int
cnxk_nix_inb_mode_set(struct cnxk_eth_dev *dev, bool use_inl_dev)
{
diff --git a/drivers/net/cnxk/cnxk_ethdev_sec.c b/drivers/net/cnxk/cnxk_ethdev_sec.c
index 6f0340ec0f..48508d19ec 100644
--- a/drivers/net/cnxk/cnxk_ethdev_sec.c
+++ b/drivers/net/cnxk/cnxk_ethdev_sec.c
@@ -305,18 +305,21 @@ cnxk_eth_sec_sess_get_by_sess(struct cnxk_eth_dev *dev,
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_inl_dev_submit, 23.11)
uint16_t
rte_pmd_cnxk_inl_dev_submit(struct rte_pmd_cnxk_inl_dev_q *qptr, void *inst, uint16_t nb_inst)
{
return cnxk_pmd_ops.inl_dev_submit((struct roc_nix_inl_dev_q *)qptr, inst, nb_inst);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_inl_dev_qptr_get, 23.11)
struct rte_pmd_cnxk_inl_dev_q *
rte_pmd_cnxk_inl_dev_qptr_get(void)
{
return roc_nix_inl_dev_qptr_get(0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_cpt_q_stats_get, 23.11)
int
rte_pmd_cnxk_cpt_q_stats_get(uint16_t portid, enum rte_pmd_cnxk_cpt_q_stats_type type,
struct rte_pmd_cnxk_cpt_q_stats *stats, uint16_t idx)
@@ -328,6 +331,7 @@ rte_pmd_cnxk_cpt_q_stats_get(uint16_t portid, enum rte_pmd_cnxk_cpt_q_stats_type
(struct roc_nix_cpt_lf_stats *)stats, idx);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_hw_session_base_get, 23.11)
union rte_pmd_cnxk_ipsec_hw_sa *
rte_pmd_cnxk_hw_session_base_get(uint16_t portid, bool inb)
{
@@ -343,6 +347,7 @@ rte_pmd_cnxk_hw_session_base_get(uint16_t portid, bool inb)
return (union rte_pmd_cnxk_ipsec_hw_sa *)sa_base;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_sa_flush, 23.11)
int
rte_pmd_cnxk_sa_flush(uint16_t portid, union rte_pmd_cnxk_ipsec_hw_sa *sess, bool inb)
{
@@ -352,6 +357,7 @@ rte_pmd_cnxk_sa_flush(uint16_t portid, union rte_pmd_cnxk_ipsec_hw_sa *sess, boo
return roc_nix_inl_sa_sync(&dev->nix, sess, inb, ROC_NIX_INL_SA_OP_FLUSH);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_hw_sa_read, 22.07)
int
rte_pmd_cnxk_hw_sa_read(uint16_t portid, void *sess, union rte_pmd_cnxk_ipsec_hw_sa *data,
uint32_t len, bool inb)
@@ -377,6 +383,7 @@ rte_pmd_cnxk_hw_sa_read(uint16_t portid, void *sess, union rte_pmd_cnxk_ipsec_hw
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_hw_sa_write, 22.07)
int
rte_pmd_cnxk_hw_sa_write(uint16_t portid, void *sess, union rte_pmd_cnxk_ipsec_hw_sa *data,
uint32_t len, bool inb)
@@ -400,6 +407,7 @@ rte_pmd_cnxk_hw_sa_write(uint16_t portid, void *sess, union rte_pmd_cnxk_ipsec_h
return roc_nix_inl_ctx_write(&dev->nix, data, sa, inb, len);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_inl_ipsec_res, 23.11)
union rte_pmd_cnxk_cpt_res_s *
rte_pmd_cnxk_inl_ipsec_res(struct rte_mbuf *mbuf)
{
@@ -418,6 +426,7 @@ rte_pmd_cnxk_inl_ipsec_res(struct rte_mbuf *mbuf)
return (void *)(wqe + 64 + desc_size);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_cnxk_hw_inline_inb_cfg_set, 23.11)
void
rte_pmd_cnxk_hw_inline_inb_cfg_set(uint16_t portid, struct rte_pmd_cnxk_ipsec_inb_cfg *cfg)
{
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index ce4bbbb8f0..d00e7df63b 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -1294,6 +1294,7 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_eth_eventq_attach)
int
dpaa_eth_eventq_attach(const struct rte_eth_dev *dev,
int eth_rx_queue_id,
@@ -1359,6 +1360,7 @@ dpaa_eth_eventq_attach(const struct rte_eth_dev *dev,
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa_eth_eventq_detach)
int
dpaa_eth_eventq_detach(const struct rte_eth_dev *dev,
int eth_rx_queue_id)
@@ -1800,6 +1802,7 @@ is_dpaa_supported(struct rte_eth_dev *dev)
return is_device_supported(dev, &rte_dpaa_pmd);
}
+RTE_EXPORT_SYMBOL(rte_pmd_dpaa_set_tx_loopback)
int
rte_pmd_dpaa_set_tx_loopback(uint16_t port, uint8_t on)
{
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 8624bba0ce..87d199981c 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -2239,6 +2239,7 @@ dpaa2_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_eth_eventq_attach)
int dpaa2_eth_eventq_attach(const struct rte_eth_dev *dev,
int eth_rx_queue_id,
struct dpaa2_dpcon_dev *dpcon,
@@ -2325,6 +2326,7 @@ int dpaa2_eth_eventq_attach(const struct rte_eth_dev *dev,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_eth_eventq_detach)
int dpaa2_eth_eventq_detach(const struct rte_eth_dev *dev,
int eth_rx_queue_id)
{
@@ -2410,6 +2412,7 @@ dpaa2_tm_ops_get(struct rte_eth_dev *dev __rte_unused, void *ops)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_dpaa2_thread_init, 21.08)
void
rte_pmd_dpaa2_thread_init(void)
{
@@ -2850,6 +2853,7 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_dpaa2_dev_is_dpaa2, 24.11)
int
rte_pmd_dpaa2_dev_is_dpaa2(uint32_t eth_id)
{
@@ -2865,6 +2869,7 @@ rte_pmd_dpaa2_dev_is_dpaa2(uint32_t eth_id)
return dev->device->driver == &rte_dpaa2_pmd.driver;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_dpaa2_ep_name, 24.11)
const char *
rte_pmd_dpaa2_ep_name(uint32_t eth_id)
{
@@ -2890,6 +2895,7 @@ rte_pmd_dpaa2_ep_name(uint32_t eth_id)
}
#if defined(RTE_LIBRTE_IEEE1588)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_dpaa2_get_one_step_ts, 24.11)
int
rte_pmd_dpaa2_get_one_step_ts(uint16_t port_id, bool mc_query)
{
@@ -2918,6 +2924,7 @@ rte_pmd_dpaa2_get_one_step_ts(uint16_t port_id, bool mc_query)
return priv->ptp_correction_offset;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_dpaa2_set_one_step_ts, 24.11)
int
rte_pmd_dpaa2_set_one_step_ts(uint16_t port_id, uint16_t offset, uint8_t ch_update)
{
@@ -3067,3 +3074,7 @@ RTE_PMD_REGISTER_PARAM_STRING(NET_DPAA2_PMD_DRIVER_NAME,
DRIVER_TX_CONF "=<int>"
DRIVER_ERROR_QUEUE "=<int>");
RTE_LOG_REGISTER_DEFAULT(dpaa2_logtype_pmd, NOTICE);
+
+/* Export all base symbols */
+RTE_EXPORT_SYMBOL(rte_pmd_dpaa2_set_custom_hash)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_dpaa2_get_tlu_hash, 21.11)
diff --git a/drivers/net/dpaa2/dpaa2_mux.c b/drivers/net/dpaa2/dpaa2_mux.c
index 2f124313fa..c746badc61 100644
--- a/drivers/net/dpaa2/dpaa2_mux.c
+++ b/drivers/net/dpaa2/dpaa2_mux.c
@@ -54,6 +54,7 @@ static struct dpaa2_dpdmux_dev *get_dpdmux_from_id(uint32_t dpdmux_id)
return dpdmux_dev;
}
+RTE_EXPORT_SYMBOL(rte_pmd_dpaa2_mux_flow_create)
int
rte_pmd_dpaa2_mux_flow_create(uint32_t dpdmux_id,
struct rte_flow_item pattern[],
@@ -364,6 +365,7 @@ rte_pmd_dpaa2_mux_flow_l2(uint32_t dpdmux_id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_dpaa2_mux_rx_frame_len, 21.05)
int
rte_pmd_dpaa2_mux_rx_frame_len(uint32_t dpdmux_id, uint16_t max_rx_frame_len)
{
@@ -391,6 +393,7 @@ rte_pmd_dpaa2_mux_rx_frame_len(uint32_t dpdmux_id, uint16_t max_rx_frame_len)
}
/* dump the status of the dpaa2_mux counters on the console */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_dpaa2_mux_dump_counter, 24.11)
void
rte_pmd_dpaa2_mux_dump_counter(FILE *f, uint32_t dpdmux_id, int num_if)
{
diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c
index cad15d8f75..2c916c52fc 100644
--- a/drivers/net/dpaa2/dpaa2_rxtx.c
+++ b/drivers/net/dpaa2/dpaa2_rxtx.c
@@ -1580,6 +1580,7 @@ dpaa2_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,
*dpaa2_seqn(m) = DPAA2_INVALID_MBUF_SEQN;
}
+RTE_EXPORT_INTERNAL_SYMBOL(dpaa2_dev_tx_multi_txq_ordered)
uint16_t
dpaa2_dev_tx_multi_txq_ordered(void **queue,
struct rte_mbuf **bufs, uint16_t nb_pkts)
diff --git a/drivers/net/intel/i40e/rte_pmd_i40e.c b/drivers/net/intel/i40e/rte_pmd_i40e.c
index 9d39984ea1..c1ec1cb931 100644
--- a/drivers/net/intel/i40e/rte_pmd_i40e.c
+++ b/drivers/net/intel/i40e/rte_pmd_i40e.c
@@ -13,6 +13,7 @@
#include "i40e_rxtx.h"
#include "rte_pmd_i40e.h"
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_ping_vfs)
int
rte_pmd_i40e_ping_vfs(uint16_t port, uint16_t vf)
{
@@ -38,6 +39,7 @@ rte_pmd_i40e_ping_vfs(uint16_t port, uint16_t vf)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_mac_anti_spoof)
int
rte_pmd_i40e_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf_id, uint8_t on)
{
@@ -142,6 +144,7 @@ i40e_add_rm_all_vlan_filter(struct i40e_vsi *vsi, uint8_t add)
return I40E_SUCCESS;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_vlan_anti_spoof)
int
rte_pmd_i40e_set_vf_vlan_anti_spoof(uint16_t port, uint16_t vf_id, uint8_t on)
{
@@ -402,6 +405,7 @@ i40e_vsi_set_tx_loopback(struct i40e_vsi *vsi, uint8_t on)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_tx_loopback)
int
rte_pmd_i40e_set_tx_loopback(uint16_t port, uint8_t on)
{
@@ -445,6 +449,7 @@ rte_pmd_i40e_set_tx_loopback(uint16_t port, uint8_t on)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_unicast_promisc)
int
rte_pmd_i40e_set_vf_unicast_promisc(uint16_t port, uint16_t vf_id, uint8_t on)
{
@@ -486,6 +491,7 @@ rte_pmd_i40e_set_vf_unicast_promisc(uint16_t port, uint16_t vf_id, uint8_t on)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_multicast_promisc)
int
rte_pmd_i40e_set_vf_multicast_promisc(uint16_t port, uint16_t vf_id, uint8_t on)
{
@@ -527,6 +533,7 @@ rte_pmd_i40e_set_vf_multicast_promisc(uint16_t port, uint16_t vf_id, uint8_t on)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_mac_addr)
int
rte_pmd_i40e_set_vf_mac_addr(uint16_t port, uint16_t vf_id,
struct rte_ether_addr *mac_addr)
@@ -617,6 +624,7 @@ rte_pmd_i40e_remove_vf_mac_addr(uint16_t port, uint16_t vf_id,
}
/* Set vlan strip on/off for specific VF from host */
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_vlan_stripq)
int
rte_pmd_i40e_set_vf_vlan_stripq(uint16_t port, uint16_t vf_id, uint8_t on)
{
@@ -653,6 +661,7 @@ rte_pmd_i40e_set_vf_vlan_stripq(uint16_t port, uint16_t vf_id, uint8_t on)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_vlan_insert)
int rte_pmd_i40e_set_vf_vlan_insert(uint16_t port, uint16_t vf_id,
uint16_t vlan_id)
{
@@ -718,6 +727,7 @@ int rte_pmd_i40e_set_vf_vlan_insert(uint16_t port, uint16_t vf_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_broadcast)
int rte_pmd_i40e_set_vf_broadcast(uint16_t port, uint16_t vf_id,
uint8_t on)
{
@@ -784,6 +794,7 @@ int rte_pmd_i40e_set_vf_broadcast(uint16_t port, uint16_t vf_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_vlan_tag)
int rte_pmd_i40e_set_vf_vlan_tag(uint16_t port, uint16_t vf_id, uint8_t on)
{
struct rte_eth_dev *dev;
@@ -878,6 +889,7 @@ i40e_vlan_filter_count(struct i40e_vsi *vsi)
return count;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_vlan_filter)
int rte_pmd_i40e_set_vf_vlan_filter(uint16_t port, uint16_t vlan_id,
uint64_t vf_mask, uint8_t on)
{
@@ -960,6 +972,7 @@ int rte_pmd_i40e_set_vf_vlan_filter(uint16_t port, uint16_t vlan_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_get_vf_stats)
int
rte_pmd_i40e_get_vf_stats(uint16_t port,
uint16_t vf_id,
@@ -1005,6 +1018,7 @@ rte_pmd_i40e_get_vf_stats(uint16_t port,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_reset_vf_stats)
int
rte_pmd_i40e_reset_vf_stats(uint16_t port,
uint16_t vf_id)
@@ -1039,6 +1053,7 @@ rte_pmd_i40e_reset_vf_stats(uint16_t port,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_max_bw)
int
rte_pmd_i40e_set_vf_max_bw(uint16_t port, uint16_t vf_id, uint32_t bw)
{
@@ -1128,6 +1143,7 @@ rte_pmd_i40e_set_vf_max_bw(uint16_t port, uint16_t vf_id, uint32_t bw)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_tc_bw_alloc)
int
rte_pmd_i40e_set_vf_tc_bw_alloc(uint16_t port, uint16_t vf_id,
uint8_t tc_num, uint8_t *bw_weight)
@@ -1242,6 +1258,7 @@ rte_pmd_i40e_set_vf_tc_bw_alloc(uint16_t port, uint16_t vf_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_vf_tc_max_bw)
int
rte_pmd_i40e_set_vf_tc_max_bw(uint16_t port, uint16_t vf_id,
uint8_t tc_no, uint32_t bw)
@@ -1360,6 +1377,7 @@ rte_pmd_i40e_set_vf_tc_max_bw(uint16_t port, uint16_t vf_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_set_tc_strict_prio)
int
rte_pmd_i40e_set_tc_strict_prio(uint16_t port, uint8_t tc_map)
{
@@ -1605,6 +1623,7 @@ i40e_check_profile_info(uint16_t port, uint8_t *profile_info_sec)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_process_ddp_package)
int
rte_pmd_i40e_process_ddp_package(uint16_t port, uint8_t *buff,
uint32_t size,
@@ -1789,6 +1808,7 @@ i40e_get_tlv_section_size(struct i40e_profile_section_header *sec)
return nb_tlv;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_get_ddp_info)
int rte_pmd_i40e_get_ddp_info(uint8_t *pkg_buff, uint32_t pkg_size,
uint8_t *info_buff, uint32_t info_size,
enum rte_pmd_i40e_package_info type)
@@ -2097,6 +2117,7 @@ int rte_pmd_i40e_get_ddp_info(uint8_t *pkg_buff, uint32_t pkg_size,
return -EINVAL;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_get_ddp_list)
int
rte_pmd_i40e_get_ddp_list(uint16_t port, uint8_t *buff, uint32_t size)
{
@@ -2228,6 +2249,7 @@ static int check_invalid_ptype_mapping(
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_ptype_mapping_update)
int
rte_pmd_i40e_ptype_mapping_update(
uint16_t port,
@@ -2266,6 +2288,7 @@ rte_pmd_i40e_ptype_mapping_update(
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_ptype_mapping_reset)
int rte_pmd_i40e_ptype_mapping_reset(uint16_t port)
{
struct rte_eth_dev *dev;
@@ -2282,6 +2305,7 @@ int rte_pmd_i40e_ptype_mapping_reset(uint16_t port)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_ptype_mapping_get)
int rte_pmd_i40e_ptype_mapping_get(
uint16_t port,
struct rte_pmd_i40e_ptype_mapping *mapping_items,
@@ -2317,6 +2341,7 @@ int rte_pmd_i40e_ptype_mapping_get(
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_ptype_mapping_replace)
int rte_pmd_i40e_ptype_mapping_replace(uint16_t port,
uint32_t target,
uint8_t mask,
@@ -2355,6 +2380,7 @@ int rte_pmd_i40e_ptype_mapping_replace(uint16_t port,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_add_vf_mac_addr)
int
rte_pmd_i40e_add_vf_mac_addr(uint16_t port, uint16_t vf_id,
struct rte_ether_addr *mac_addr)
@@ -2402,6 +2428,7 @@ rte_pmd_i40e_add_vf_mac_addr(uint16_t port, uint16_t vf_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_flow_type_mapping_reset)
int rte_pmd_i40e_flow_type_mapping_reset(uint16_t port)
{
struct rte_eth_dev *dev;
@@ -2418,6 +2445,7 @@ int rte_pmd_i40e_flow_type_mapping_reset(uint16_t port)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_flow_type_mapping_get)
int rte_pmd_i40e_flow_type_mapping_get(
uint16_t port,
struct rte_pmd_i40e_flow_type_mapping *mapping_items)
@@ -2443,6 +2471,7 @@ int rte_pmd_i40e_flow_type_mapping_get(
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_flow_type_mapping_update)
int
rte_pmd_i40e_flow_type_mapping_update(
uint16_t port,
@@ -2496,6 +2525,7 @@ rte_pmd_i40e_flow_type_mapping_update(
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_query_vfid_by_mac)
int
rte_pmd_i40e_query_vfid_by_mac(uint16_t port,
const struct rte_ether_addr *vf_mac)
@@ -2967,6 +2997,7 @@ i40e_queue_region_get_all_info(struct i40e_pf *pf,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_rss_queue_region_conf)
int rte_pmd_i40e_rss_queue_region_conf(uint16_t port_id,
enum rte_pmd_i40e_queue_region_op op_type, void *arg)
{
@@ -3032,6 +3063,7 @@ int rte_pmd_i40e_rss_queue_region_conf(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_flow_add_del_packet_template)
int rte_pmd_i40e_flow_add_del_packet_template(
uint16_t port,
const struct rte_pmd_i40e_pkt_template_conf *conf,
@@ -3065,6 +3097,7 @@ int rte_pmd_i40e_flow_add_del_packet_template(
return i40e_flow_add_del_fdir_filter(dev, &filter_conf, add);
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_inset_get)
int
rte_pmd_i40e_inset_get(uint16_t port, uint8_t pctype,
struct rte_pmd_i40e_inset *inset,
@@ -3137,6 +3170,7 @@ rte_pmd_i40e_inset_get(uint16_t port, uint8_t pctype,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_i40e_inset_set)
int
rte_pmd_i40e_inset_set(uint16_t port, uint8_t pctype,
struct rte_pmd_i40e_inset *inset,
@@ -3211,6 +3245,7 @@ rte_pmd_i40e_inset_set(uint16_t port, uint8_t pctype,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_i40e_get_fdir_info, 20.08)
int
rte_pmd_i40e_get_fdir_info(uint16_t port, struct rte_eth_fdir_info *fdir_info)
{
@@ -3227,6 +3262,7 @@ rte_pmd_i40e_get_fdir_info(uint16_t port, struct rte_eth_fdir_info *fdir_info)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_i40e_get_fdir_stats, 20.08)
int
rte_pmd_i40e_get_fdir_stats(uint16_t port, struct rte_eth_fdir_stats *fdir_stat)
{
@@ -3243,6 +3279,7 @@ rte_pmd_i40e_get_fdir_stats(uint16_t port, struct rte_eth_fdir_stats *fdir_stat)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_i40e_set_gre_key_len, 20.08)
int
rte_pmd_i40e_set_gre_key_len(uint16_t port, uint8_t len)
{
@@ -3262,6 +3299,7 @@ rte_pmd_i40e_set_gre_key_len(uint16_t port, uint8_t len)
return i40e_dev_set_gre_key_len(hw, len);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_i40e_set_switch_dev, 19.11)
int
rte_pmd_i40e_set_switch_dev(uint16_t port_id, struct rte_eth_dev *switch_dev)
{
@@ -3283,6 +3321,7 @@ rte_pmd_i40e_set_switch_dev(uint16_t port_id, struct rte_eth_dev *switch_dev)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_i40e_set_pf_src_prune, 23.07)
int
rte_pmd_i40e_set_pf_src_prune(uint16_t port, uint8_t on)
{
diff --git a/drivers/net/intel/iavf/iavf_ethdev.c b/drivers/net/intel/iavf/iavf_ethdev.c
index 9cd2b0c867..6db2f90ddc 100644
--- a/drivers/net/intel/iavf/iavf_ethdev.c
+++ b/drivers/net/intel/iavf/iavf_ethdev.c
@@ -3205,3 +3205,12 @@ RTE_LOG_REGISTER_SUFFIX(iavf_logtype_rx, rx, DEBUG);
#ifdef RTE_ETHDEV_DEBUG_TX
RTE_LOG_REGISTER_SUFFIX(iavf_logtype_tx, tx, DEBUG);
#endif
+
+/* Export all base symbols */
+RTE_EXPORT_INTERNAL_SYMBOL(iavf_init_adminq)
+RTE_EXPORT_INTERNAL_SYMBOL(iavf_shutdown_adminq)
+RTE_EXPORT_INTERNAL_SYMBOL(iavf_clean_arq_element)
+RTE_EXPORT_INTERNAL_SYMBOL(iavf_set_mac_type)
+RTE_EXPORT_INTERNAL_SYMBOL(iavf_aq_send_msg_to_pf)
+RTE_EXPORT_INTERNAL_SYMBOL(iavf_vf_parse_hw_config)
+RTE_EXPORT_INTERNAL_SYMBOL(iavf_vf_reset)
diff --git a/drivers/net/intel/iavf/iavf_rxtx.c b/drivers/net/intel/iavf/iavf_rxtx.c
index 657963750d..a4d80346ca 100644
--- a/drivers/net/intel/iavf/iavf_rxtx.c
+++ b/drivers/net/intel/iavf/iavf_rxtx.c
@@ -74,15 +74,23 @@ struct offload_info {
};
/* Offset of mbuf dynamic field for protocol extraction's metadata */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ifd_dynfield_proto_xtr_metadata_offs, 20.11)
int rte_pmd_ifd_dynfield_proto_xtr_metadata_offs = -1;
/* Mask of mbuf dynamic flags for protocol extraction's type */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ifd_dynflag_proto_xtr_vlan_mask, 20.11)
uint64_t rte_pmd_ifd_dynflag_proto_xtr_vlan_mask;
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ifd_dynflag_proto_xtr_ipv4_mask, 20.11)
uint64_t rte_pmd_ifd_dynflag_proto_xtr_ipv4_mask;
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ifd_dynflag_proto_xtr_ipv6_mask, 20.11)
uint64_t rte_pmd_ifd_dynflag_proto_xtr_ipv6_mask;
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ifd_dynflag_proto_xtr_ipv6_flow_mask, 20.11)
uint64_t rte_pmd_ifd_dynflag_proto_xtr_ipv6_flow_mask;
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ifd_dynflag_proto_xtr_tcp_mask, 20.11)
uint64_t rte_pmd_ifd_dynflag_proto_xtr_tcp_mask;
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ifd_dynflag_proto_xtr_ip_offset_mask, 20.11)
uint64_t rte_pmd_ifd_dynflag_proto_xtr_ip_offset_mask;
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ifd_dynflag_proto_xtr_ipsec_crypto_said_mask, 21.11)
uint64_t rte_pmd_ifd_dynflag_proto_xtr_ipsec_crypto_said_mask;
uint8_t
diff --git a/drivers/net/intel/ice/ice_diagnose.c b/drivers/net/intel/ice/ice_diagnose.c
index a50068441a..de864c738e 100644
--- a/drivers/net/intel/ice/ice_diagnose.c
+++ b/drivers/net/intel/ice/ice_diagnose.c
@@ -409,6 +409,7 @@ ice_dump_pkg(struct rte_eth_dev *dev, uint8_t **buff, uint32_t *size)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ice_dump_package, 19.11)
int rte_pmd_ice_dump_package(uint16_t port, uint8_t **buff, uint32_t *size)
{
struct rte_eth_dev *dev;
@@ -497,6 +498,7 @@ ice_dump_switch(struct rte_eth_dev *dev, uint8_t **buff2, uint32_t *size)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ice_dump_switch, 22.11)
int rte_pmd_ice_dump_switch(uint16_t port, uint8_t **buff, uint32_t *size)
{
struct rte_eth_dev *dev;
@@ -798,6 +800,7 @@ query_node_recursive(struct ice_hw *hw, struct rte_eth_dev_data *ethdata,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ice_dump_txsched, 24.03)
int
rte_pmd_ice_dump_txsched(uint16_t port, bool detail, FILE *stream)
{
diff --git a/drivers/net/intel/idpf/idpf_common_device.c b/drivers/net/intel/idpf/idpf_common_device.c
index e9fa024850..e49a1e7859 100644
--- a/drivers/net/intel/idpf/idpf_common_device.c
+++ b/drivers/net/intel/idpf/idpf_common_device.c
@@ -381,6 +381,7 @@ idpf_get_pkt_type(struct idpf_adapter *adapter)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_adapter_init)
int
idpf_adapter_init(struct idpf_adapter *adapter)
{
@@ -441,6 +442,7 @@ idpf_adapter_init(struct idpf_adapter *adapter)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_adapter_deinit)
int
idpf_adapter_deinit(struct idpf_adapter *adapter)
{
@@ -453,6 +455,7 @@ idpf_adapter_deinit(struct idpf_adapter *adapter)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vport_init)
int
idpf_vport_init(struct idpf_vport *vport,
struct virtchnl2_create_vport *create_vport_info,
@@ -566,6 +569,7 @@ idpf_vport_init(struct idpf_vport *vport,
err_create_vport:
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vport_deinit)
int
idpf_vport_deinit(struct idpf_vport *vport)
{
@@ -583,6 +587,7 @@ idpf_vport_deinit(struct idpf_vport *vport)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vport_rss_config)
int
idpf_vport_rss_config(struct idpf_vport *vport)
{
@@ -609,6 +614,7 @@ idpf_vport_rss_config(struct idpf_vport *vport)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vport_irq_map_config)
int
idpf_vport_irq_map_config(struct idpf_vport *vport, uint16_t nb_rx_queues)
{
@@ -684,6 +690,7 @@ idpf_vport_irq_map_config(struct idpf_vport *vport, uint16_t nb_rx_queues)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vport_irq_map_config_by_qids)
int
idpf_vport_irq_map_config_by_qids(struct idpf_vport *vport, uint32_t *qids, uint16_t nb_rx_queues)
{
@@ -759,6 +766,7 @@ idpf_vport_irq_map_config_by_qids(struct idpf_vport *vport, uint32_t *qids, uint
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vport_irq_unmap_config)
int
idpf_vport_irq_unmap_config(struct idpf_vport *vport, uint16_t nb_rx_queues)
{
@@ -770,6 +778,7 @@ idpf_vport_irq_unmap_config(struct idpf_vport *vport, uint16_t nb_rx_queues)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vport_info_init)
int
idpf_vport_info_init(struct idpf_vport *vport,
struct virtchnl2_create_vport *vport_info)
@@ -806,6 +815,7 @@ idpf_vport_info_init(struct idpf_vport *vport,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vport_stats_update)
void
idpf_vport_stats_update(struct virtchnl2_vport_stats *oes, struct virtchnl2_vport_stats *nes)
{
diff --git a/drivers/net/intel/idpf/idpf_common_rxtx.c b/drivers/net/intel/idpf/idpf_common_rxtx.c
index 7171e27b8d..b468e1cd57 100644
--- a/drivers/net/intel/idpf/idpf_common_rxtx.c
+++ b/drivers/net/intel/idpf/idpf_common_rxtx.c
@@ -10,6 +10,7 @@
int idpf_timestamp_dynfield_offset = -1;
uint64_t idpf_timestamp_dynflag;
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_rx_thresh_check)
int
idpf_qc_rx_thresh_check(uint16_t nb_desc, uint16_t thresh)
{
@@ -25,6 +26,7 @@ idpf_qc_rx_thresh_check(uint16_t nb_desc, uint16_t thresh)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_tx_thresh_check)
int
idpf_qc_tx_thresh_check(uint16_t nb_desc, uint16_t tx_rs_thresh,
uint16_t tx_free_thresh)
@@ -73,6 +75,7 @@ idpf_qc_tx_thresh_check(uint16_t nb_desc, uint16_t tx_rs_thresh,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_rxq_mbufs_release)
void
idpf_qc_rxq_mbufs_release(struct idpf_rx_queue *rxq)
{
@@ -89,6 +92,7 @@ idpf_qc_rxq_mbufs_release(struct idpf_rx_queue *rxq)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_txq_mbufs_release)
void
idpf_qc_txq_mbufs_release(struct idpf_tx_queue *txq)
{
@@ -114,6 +118,7 @@ idpf_qc_txq_mbufs_release(struct idpf_tx_queue *txq)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_split_rx_descq_reset)
void
idpf_qc_split_rx_descq_reset(struct idpf_rx_queue *rxq)
{
@@ -133,6 +138,7 @@ idpf_qc_split_rx_descq_reset(struct idpf_rx_queue *rxq)
rxq->expected_gen_id = 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_split_rx_bufq_reset)
void
idpf_qc_split_rx_bufq_reset(struct idpf_rx_queue *rxq)
{
@@ -168,6 +174,7 @@ idpf_qc_split_rx_bufq_reset(struct idpf_rx_queue *rxq)
rxq->bufq2 = NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_split_rx_queue_reset)
void
idpf_qc_split_rx_queue_reset(struct idpf_rx_queue *rxq)
{
@@ -176,6 +183,7 @@ idpf_qc_split_rx_queue_reset(struct idpf_rx_queue *rxq)
idpf_qc_split_rx_bufq_reset(rxq->bufq2);
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_single_rx_queue_reset)
void
idpf_qc_single_rx_queue_reset(struct idpf_rx_queue *rxq)
{
@@ -207,6 +215,7 @@ idpf_qc_single_rx_queue_reset(struct idpf_rx_queue *rxq)
rxq->rxrearm_nb = 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_split_tx_descq_reset)
void
idpf_qc_split_tx_descq_reset(struct idpf_tx_queue *txq)
{
@@ -245,6 +254,7 @@ idpf_qc_split_tx_descq_reset(struct idpf_tx_queue *txq)
txq->next_rs = txq->rs_thresh - 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_split_tx_complq_reset)
void
idpf_qc_split_tx_complq_reset(struct idpf_tx_queue *cq)
{
@@ -263,6 +273,7 @@ idpf_qc_split_tx_complq_reset(struct idpf_tx_queue *cq)
cq->expected_gen_id = 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_single_tx_queue_reset)
void
idpf_qc_single_tx_queue_reset(struct idpf_tx_queue *txq)
{
@@ -300,6 +311,7 @@ idpf_qc_single_tx_queue_reset(struct idpf_tx_queue *txq)
txq->next_rs = txq->rs_thresh - 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_rx_queue_release)
void
idpf_qc_rx_queue_release(void *rxq)
{
@@ -330,6 +342,7 @@ idpf_qc_rx_queue_release(void *rxq)
rte_free(q);
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_tx_queue_release)
void
idpf_qc_tx_queue_release(void *txq)
{
@@ -349,6 +362,7 @@ idpf_qc_tx_queue_release(void *txq)
rte_free(q);
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_ts_mbuf_register)
int
idpf_qc_ts_mbuf_register(struct idpf_rx_queue *rxq)
{
@@ -366,6 +380,7 @@ idpf_qc_ts_mbuf_register(struct idpf_rx_queue *rxq)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_single_rxq_mbufs_alloc)
int
idpf_qc_single_rxq_mbufs_alloc(struct idpf_rx_queue *rxq)
{
@@ -401,6 +416,7 @@ idpf_qc_single_rxq_mbufs_alloc(struct idpf_rx_queue *rxq)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_split_rxq_mbufs_alloc)
int
idpf_qc_split_rxq_mbufs_alloc(struct idpf_rx_queue *rxq)
{
@@ -624,6 +640,7 @@ idpf_split_rx_bufq_refill(struct idpf_rx_queue *rx_bufq)
rx_bufq->rx_tail = next_avail;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_splitq_recv_pkts)
uint16_t
idpf_dp_splitq_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
uint16_t nb_pkts)
@@ -856,6 +873,7 @@ idpf_set_splitq_tso_ctx(struct rte_mbuf *mbuf,
IDPF_TXD_FLEX_CTX_MSS_RT_M);
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_splitq_xmit_pkts)
uint16_t
idpf_dp_splitq_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
uint16_t nb_pkts)
@@ -1047,6 +1065,7 @@ idpf_singleq_rx_rss_offload(struct rte_mbuf *mb,
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_singleq_recv_pkts)
uint16_t
idpf_dp_singleq_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
uint16_t nb_pkts)
@@ -1165,6 +1184,7 @@ idpf_dp_singleq_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
return nb_rx;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_singleq_recv_scatter_pkts)
uint16_t
idpf_dp_singleq_recv_scatter_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
uint16_t nb_pkts)
@@ -1342,6 +1362,7 @@ idpf_xmit_cleanup(struct idpf_tx_queue *txq)
}
/* TX function */
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_singleq_xmit_pkts)
uint16_t
idpf_dp_singleq_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
uint16_t nb_pkts)
@@ -1509,6 +1530,7 @@ idpf_dp_singleq_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
}
/* TX prep functions */
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_prep_pkts)
uint16_t
idpf_dp_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
uint16_t nb_pkts)
@@ -1610,6 +1632,7 @@ idpf_rxq_vec_setup_default(struct idpf_rx_queue *rxq)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_singleq_rx_vec_setup)
int __rte_cold
idpf_qc_singleq_rx_vec_setup(struct idpf_rx_queue *rxq)
{
@@ -1617,6 +1640,7 @@ idpf_qc_singleq_rx_vec_setup(struct idpf_rx_queue *rxq)
return idpf_rxq_vec_setup_default(rxq);
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_splitq_rx_vec_setup)
int __rte_cold
idpf_qc_splitq_rx_vec_setup(struct idpf_rx_queue *rxq)
{
diff --git a/drivers/net/intel/idpf/idpf_common_rxtx_avx2.c b/drivers/net/intel/idpf/idpf_common_rxtx_avx2.c
index 43a95466ae..3ff70955c8 100644
--- a/drivers/net/intel/idpf/idpf_common_rxtx_avx2.c
+++ b/drivers/net/intel/idpf/idpf_common_rxtx_avx2.c
@@ -473,6 +473,7 @@ _idpf_singleq_recv_raw_pkts_vec_avx2(struct idpf_rx_queue *rxq, struct rte_mbuf
* Notice:
* - nb_pkts < IDPF_DESCS_PER_LOOP, just return no packet
*/
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_singleq_recv_pkts_avx2)
uint16_t
idpf_dp_singleq_recv_pkts_avx2(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
{
@@ -682,6 +683,7 @@ idpf_singleq_xmit_fixed_burst_vec_avx2(void *tx_queue, struct rte_mbuf **tx_pkts
return nb_pkts;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_singleq_xmit_pkts_avx2)
uint16_t
idpf_dp_singleq_xmit_pkts_avx2(void *tx_queue, struct rte_mbuf **tx_pkts,
uint16_t nb_pkts)
diff --git a/drivers/net/intel/idpf/idpf_common_rxtx_avx512.c b/drivers/net/intel/idpf/idpf_common_rxtx_avx512.c
index b630d1fcd9..e8bf8149e1 100644
--- a/drivers/net/intel/idpf/idpf_common_rxtx_avx512.c
+++ b/drivers/net/intel/idpf/idpf_common_rxtx_avx512.c
@@ -530,6 +530,7 @@ _idpf_singleq_recv_raw_pkts_avx512(struct idpf_rx_queue *rxq,
* Notice:
* - nb_pkts < IDPF_DESCS_PER_LOOP, just return no packet
*/
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_singleq_recv_pkts_avx512)
uint16_t
idpf_dp_singleq_recv_pkts_avx512(void *rx_queue, struct rte_mbuf **rx_pkts,
uint16_t nb_pkts)
@@ -987,6 +988,7 @@ _idpf_splitq_recv_raw_pkts_avx512(struct idpf_rx_queue *rxq,
}
/* only bufq2 can receive pkts */
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_splitq_recv_pkts_avx512)
uint16_t
idpf_dp_splitq_recv_pkts_avx512(void *rx_queue, struct rte_mbuf **rx_pkts,
uint16_t nb_pkts)
@@ -1281,6 +1283,7 @@ idpf_singleq_xmit_pkts_vec_avx512_cmn(void *tx_queue, struct rte_mbuf **tx_pkts,
return nb_tx;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_singleq_xmit_pkts_avx512)
uint16_t
idpf_dp_singleq_xmit_pkts_avx512(void *tx_queue, struct rte_mbuf **tx_pkts,
uint16_t nb_pkts)
@@ -1584,6 +1587,7 @@ idpf_splitq_xmit_pkts_vec_avx512_cmn(void *tx_queue, struct rte_mbuf **tx_pkts,
return nb_tx;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_dp_splitq_xmit_pkts_avx512)
uint16_t
idpf_dp_splitq_xmit_pkts_avx512(void *tx_queue, struct rte_mbuf **tx_pkts,
uint16_t nb_pkts)
@@ -1619,6 +1623,7 @@ static const struct idpf_txq_ops avx512_tx_vec_ops = {
.release_mbufs = idpf_tx_release_mbufs_avx512,
};
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_qc_tx_vec_avx512_setup)
int __rte_cold
idpf_qc_tx_vec_avx512_setup(struct idpf_tx_queue *txq)
{
diff --git a/drivers/net/intel/idpf/idpf_common_virtchnl.c b/drivers/net/intel/idpf/idpf_common_virtchnl.c
index 0ae1d55d79..1613d7f07e 100644
--- a/drivers/net/intel/idpf/idpf_common_virtchnl.c
+++ b/drivers/net/intel/idpf/idpf_common_virtchnl.c
@@ -158,6 +158,7 @@ idpf_read_msg_from_cp(struct idpf_adapter *adapter, uint16_t buf_len,
#define MAX_TRY_TIMES 200
#define ASQ_DELAY_MS 10
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_one_msg_read)
int
idpf_vc_one_msg_read(struct idpf_adapter *adapter, uint32_t ops, uint16_t buf_len,
uint8_t *buf)
@@ -182,6 +183,7 @@ idpf_vc_one_msg_read(struct idpf_adapter *adapter, uint32_t ops, uint16_t buf_le
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_cmd_execute)
int
idpf_vc_cmd_execute(struct idpf_adapter *adapter, struct idpf_cmd_info *args)
{
@@ -231,6 +233,7 @@ idpf_vc_cmd_execute(struct idpf_adapter *adapter, struct idpf_cmd_info *args)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_api_version_check)
int
idpf_vc_api_version_check(struct idpf_adapter *adapter)
{
@@ -271,6 +274,7 @@ idpf_vc_api_version_check(struct idpf_adapter *adapter)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_caps_get)
int
idpf_vc_caps_get(struct idpf_adapter *adapter)
{
@@ -295,6 +299,7 @@ idpf_vc_caps_get(struct idpf_adapter *adapter)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_vport_create)
int
idpf_vc_vport_create(struct idpf_vport *vport,
struct virtchnl2_create_vport *create_vport_info)
@@ -331,6 +336,7 @@ idpf_vc_vport_create(struct idpf_vport *vport,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_vport_destroy)
int
idpf_vc_vport_destroy(struct idpf_vport *vport)
{
@@ -355,6 +361,7 @@ idpf_vc_vport_destroy(struct idpf_vport *vport)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_queue_grps_add)
int
idpf_vc_queue_grps_add(struct idpf_vport *vport,
struct virtchnl2_add_queue_groups *p2p_queue_grps_info,
@@ -387,6 +394,7 @@ idpf_vc_queue_grps_add(struct idpf_vport *vport,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_queue_grps_del)
int idpf_vc_queue_grps_del(struct idpf_vport *vport,
uint16_t num_q_grps,
struct virtchnl2_queue_group_id *qg_ids)
@@ -421,6 +429,7 @@ int idpf_vc_queue_grps_del(struct idpf_vport *vport,
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_rss_key_set)
int
idpf_vc_rss_key_set(struct idpf_vport *vport)
{
@@ -455,6 +464,7 @@ idpf_vc_rss_key_set(struct idpf_vport *vport)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_rss_key_get)
int idpf_vc_rss_key_get(struct idpf_vport *vport)
{
struct idpf_adapter *adapter = vport->adapter;
@@ -497,6 +507,7 @@ int idpf_vc_rss_key_get(struct idpf_vport *vport)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_rss_lut_set)
int
idpf_vc_rss_lut_set(struct idpf_vport *vport)
{
@@ -531,6 +542,7 @@ idpf_vc_rss_lut_set(struct idpf_vport *vport)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_rss_lut_get)
int
idpf_vc_rss_lut_get(struct idpf_vport *vport)
{
@@ -573,6 +585,7 @@ idpf_vc_rss_lut_get(struct idpf_vport *vport)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_rss_hash_get)
int
idpf_vc_rss_hash_get(struct idpf_vport *vport)
{
@@ -605,6 +618,7 @@ idpf_vc_rss_hash_get(struct idpf_vport *vport)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_rss_hash_set)
int
idpf_vc_rss_hash_set(struct idpf_vport *vport)
{
@@ -631,6 +645,7 @@ idpf_vc_rss_hash_set(struct idpf_vport *vport)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_irq_map_unmap_config)
int
idpf_vc_irq_map_unmap_config(struct idpf_vport *vport, uint16_t nb_rxq, bool map)
{
@@ -672,6 +687,7 @@ idpf_vc_irq_map_unmap_config(struct idpf_vport *vport, uint16_t nb_rxq, bool map
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_vectors_alloc)
int
idpf_vc_vectors_alloc(struct idpf_vport *vport, uint16_t num_vectors)
{
@@ -702,6 +718,7 @@ idpf_vc_vectors_alloc(struct idpf_vport *vport, uint16_t num_vectors)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_vectors_dealloc)
int
idpf_vc_vectors_dealloc(struct idpf_vport *vport)
{
@@ -729,6 +746,7 @@ idpf_vc_vectors_dealloc(struct idpf_vport *vport)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_ena_dis_one_queue)
int
idpf_vc_ena_dis_one_queue(struct idpf_vport *vport, uint16_t qid,
uint32_t type, bool on)
@@ -767,6 +785,7 @@ idpf_vc_ena_dis_one_queue(struct idpf_vport *vport, uint16_t qid,
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_queue_switch)
int
idpf_vc_queue_switch(struct idpf_vport *vport, uint16_t qid,
bool rx, bool on, uint32_t type)
@@ -807,6 +826,7 @@ idpf_vc_queue_switch(struct idpf_vport *vport, uint16_t qid,
}
#define IDPF_RXTX_QUEUE_CHUNKS_NUM 2
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_queues_ena_dis)
int
idpf_vc_queues_ena_dis(struct idpf_vport *vport, bool enable)
{
@@ -875,6 +895,7 @@ idpf_vc_queues_ena_dis(struct idpf_vport *vport, bool enable)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_vport_ena_dis)
int
idpf_vc_vport_ena_dis(struct idpf_vport *vport, bool enable)
{
@@ -900,6 +921,7 @@ idpf_vc_vport_ena_dis(struct idpf_vport *vport, bool enable)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_ptype_info_query)
int
idpf_vc_ptype_info_query(struct idpf_adapter *adapter,
struct virtchnl2_get_ptype_info *req_ptype_info,
@@ -922,6 +944,7 @@ idpf_vc_ptype_info_query(struct idpf_adapter *adapter,
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_stats_query)
int
idpf_vc_stats_query(struct idpf_vport *vport,
struct virtchnl2_vport_stats **pstats)
@@ -949,6 +972,7 @@ idpf_vc_stats_query(struct idpf_vport *vport,
}
#define IDPF_RX_BUF_STRIDE 64
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_rxq_config)
int
idpf_vc_rxq_config(struct idpf_vport *vport, struct idpf_rx_queue *rxq)
{
@@ -1038,6 +1062,7 @@ idpf_vc_rxq_config(struct idpf_vport *vport, struct idpf_rx_queue *rxq)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_rxq_config_by_info)
int idpf_vc_rxq_config_by_info(struct idpf_vport *vport, struct virtchnl2_rxq_info *rxq_info,
uint16_t num_qs)
{
@@ -1073,6 +1098,7 @@ int idpf_vc_rxq_config_by_info(struct idpf_vport *vport, struct virtchnl2_rxq_in
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_txq_config)
int
idpf_vc_txq_config(struct idpf_vport *vport, struct idpf_tx_queue *txq)
{
@@ -1144,6 +1170,7 @@ idpf_vc_txq_config(struct idpf_vport *vport, struct idpf_tx_queue *txq)
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_txq_config_by_info)
int
idpf_vc_txq_config_by_info(struct idpf_vport *vport, struct virtchnl2_txq_info *txq_info,
uint16_t num_qs)
@@ -1179,6 +1206,7 @@ idpf_vc_txq_config_by_info(struct idpf_vport *vport, struct virtchnl2_txq_info *
return err;
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_ctlq_recv)
int
idpf_vc_ctlq_recv(struct idpf_ctlq_info *cq, u16 *num_q_msg,
struct idpf_ctlq_msg *q_msg)
@@ -1186,6 +1214,7 @@ idpf_vc_ctlq_recv(struct idpf_ctlq_info *cq, u16 *num_q_msg,
return idpf_ctlq_recv(cq, num_q_msg, q_msg);
}
+RTE_EXPORT_INTERNAL_SYMBOL(idpf_vc_ctlq_post_rx_buffs)
int
idpf_vc_ctlq_post_rx_buffs(struct idpf_hw *hw, struct idpf_ctlq_info *cq,
u16 *buff_count, struct idpf_dma_mem **buffs)
diff --git a/drivers/net/intel/ipn3ke/ipn3ke_ethdev.c b/drivers/net/intel/ipn3ke/ipn3ke_ethdev.c
index c8f06a06cb..ab443f61dc 100644
--- a/drivers/net/intel/ipn3ke/ipn3ke_ethdev.c
+++ b/drivers/net/intel/ipn3ke/ipn3ke_ethdev.c
@@ -34,6 +34,7 @@ static const struct rte_afu_uuid afu_uuid_ipn3ke_map[] = {
{ 0, 0 /* sentinel */ },
};
+RTE_EXPORT_INTERNAL_SYMBOL(ipn3ke_bridge_func)
struct ipn3ke_pub_func ipn3ke_bridge_func;
static int
diff --git a/drivers/net/intel/ixgbe/rte_pmd_ixgbe.c b/drivers/net/intel/ixgbe/rte_pmd_ixgbe.c
index 5a7d66d9b9..ee166137d6 100644
--- a/drivers/net/intel/ixgbe/rte_pmd_ixgbe.c
+++ b/drivers/net/intel/ixgbe/rte_pmd_ixgbe.c
@@ -9,6 +9,7 @@
#include "ixgbe_ethdev.h"
#include "rte_pmd_ixgbe.h"
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_mac_addr)
int
rte_pmd_ixgbe_set_vf_mac_addr(uint16_t port, uint16_t vf,
struct rte_ether_addr *mac_addr)
@@ -45,6 +46,7 @@ rte_pmd_ixgbe_set_vf_mac_addr(uint16_t port, uint16_t vf,
return -EINVAL;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_ping_vf)
int
rte_pmd_ixgbe_ping_vf(uint16_t port, uint16_t vf)
{
@@ -77,6 +79,7 @@ rte_pmd_ixgbe_ping_vf(uint16_t port, uint16_t vf)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_vlan_anti_spoof)
int
rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)
{
@@ -107,6 +110,7 @@ rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_mac_anti_spoof)
int
rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)
{
@@ -136,6 +140,7 @@ rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint16_t port, uint16_t vf, uint8_t on)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_vlan_insert)
int
rte_pmd_ixgbe_set_vf_vlan_insert(uint16_t port, uint16_t vf, uint16_t vlan_id)
{
@@ -172,6 +177,7 @@ rte_pmd_ixgbe_set_vf_vlan_insert(uint16_t port, uint16_t vf, uint16_t vlan_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_tx_loopback)
int
rte_pmd_ixgbe_set_tx_loopback(uint16_t port, uint8_t on)
{
@@ -202,6 +208,7 @@ rte_pmd_ixgbe_set_tx_loopback(uint16_t port, uint8_t on)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_all_queues_drop_en)
int
rte_pmd_ixgbe_set_all_queues_drop_en(uint16_t port, uint8_t on)
{
@@ -232,6 +239,7 @@ rte_pmd_ixgbe_set_all_queues_drop_en(uint16_t port, uint8_t on)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_split_drop_en)
int
rte_pmd_ixgbe_set_vf_split_drop_en(uint16_t port, uint16_t vf, uint8_t on)
{
@@ -267,6 +275,7 @@ rte_pmd_ixgbe_set_vf_split_drop_en(uint16_t port, uint16_t vf, uint8_t on)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_vlan_stripq)
int
rte_pmd_ixgbe_set_vf_vlan_stripq(uint16_t port, uint16_t vf, uint8_t on)
{
@@ -314,6 +323,7 @@ rte_pmd_ixgbe_set_vf_vlan_stripq(uint16_t port, uint16_t vf, uint8_t on)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_rxmode)
int
rte_pmd_ixgbe_set_vf_rxmode(uint16_t port, uint16_t vf,
uint16_t rx_mask, uint8_t on)
@@ -361,6 +371,7 @@ rte_pmd_ixgbe_set_vf_rxmode(uint16_t port, uint16_t vf,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_rx)
int
rte_pmd_ixgbe_set_vf_rx(uint16_t port, uint16_t vf, uint8_t on)
{
@@ -411,6 +422,7 @@ rte_pmd_ixgbe_set_vf_rx(uint16_t port, uint16_t vf, uint8_t on)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_tx)
int
rte_pmd_ixgbe_set_vf_tx(uint16_t port, uint16_t vf, uint8_t on)
{
@@ -461,6 +473,7 @@ rte_pmd_ixgbe_set_vf_tx(uint16_t port, uint16_t vf, uint8_t on)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_vlan_filter)
int
rte_pmd_ixgbe_set_vf_vlan_filter(uint16_t port, uint16_t vlan,
uint64_t vf_mask, uint8_t vlan_on)
@@ -496,6 +509,7 @@ rte_pmd_ixgbe_set_vf_vlan_filter(uint16_t port, uint16_t vlan,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_vf_rate_limit)
int
rte_pmd_ixgbe_set_vf_rate_limit(uint16_t port, uint16_t vf,
uint32_t tx_rate, uint64_t q_msk)
@@ -512,6 +526,7 @@ rte_pmd_ixgbe_set_vf_rate_limit(uint16_t port, uint16_t vf,
return ixgbe_set_vf_rate_limit(dev, vf, tx_rate, q_msk);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_macsec_enable)
int
rte_pmd_ixgbe_macsec_enable(uint16_t port, uint8_t en, uint8_t rp)
{
@@ -536,6 +551,7 @@ rte_pmd_ixgbe_macsec_enable(uint16_t port, uint8_t en, uint8_t rp)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_macsec_disable)
int
rte_pmd_ixgbe_macsec_disable(uint16_t port)
{
@@ -555,6 +571,7 @@ rte_pmd_ixgbe_macsec_disable(uint16_t port)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_macsec_config_txsc)
int
rte_pmd_ixgbe_macsec_config_txsc(uint16_t port, uint8_t *mac)
{
@@ -580,6 +597,7 @@ rte_pmd_ixgbe_macsec_config_txsc(uint16_t port, uint8_t *mac)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_macsec_config_rxsc)
int
rte_pmd_ixgbe_macsec_config_rxsc(uint16_t port, uint8_t *mac, uint16_t pi)
{
@@ -606,6 +624,7 @@ rte_pmd_ixgbe_macsec_config_rxsc(uint16_t port, uint8_t *mac, uint16_t pi)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_macsec_select_txsa)
int
rte_pmd_ixgbe_macsec_select_txsa(uint16_t port, uint8_t idx, uint8_t an,
uint32_t pn, uint8_t *key)
@@ -662,6 +681,7 @@ rte_pmd_ixgbe_macsec_select_txsa(uint16_t port, uint8_t idx, uint8_t an,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_macsec_select_rxsa)
int
rte_pmd_ixgbe_macsec_select_rxsa(uint16_t port, uint8_t idx, uint8_t an,
uint32_t pn, uint8_t *key)
@@ -705,6 +725,7 @@ rte_pmd_ixgbe_macsec_select_rxsa(uint16_t port, uint8_t idx, uint8_t an,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_set_tc_bw_alloc)
int
rte_pmd_ixgbe_set_tc_bw_alloc(uint16_t port,
uint8_t tc_num,
@@ -778,6 +799,7 @@ rte_pmd_ixgbe_set_tc_bw_alloc(uint16_t port,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_upd_fctrl_sbp)
int
rte_pmd_ixgbe_upd_fctrl_sbp(uint16_t port, int enable)
{
@@ -807,6 +829,7 @@ rte_pmd_ixgbe_upd_fctrl_sbp(uint16_t port, int enable)
}
#ifdef RTE_LIBRTE_IXGBE_BYPASS
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_bypass_init)
int
rte_pmd_ixgbe_bypass_init(uint16_t port_id)
{
@@ -822,6 +845,7 @@ rte_pmd_ixgbe_bypass_init(uint16_t port_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_bypass_state_show)
int
rte_pmd_ixgbe_bypass_state_show(uint16_t port_id, uint32_t *state)
{
@@ -836,6 +860,7 @@ rte_pmd_ixgbe_bypass_state_show(uint16_t port_id, uint32_t *state)
return ixgbe_bypass_state_show(dev, state);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_bypass_state_set)
int
rte_pmd_ixgbe_bypass_state_set(uint16_t port_id, uint32_t *new_state)
{
@@ -850,6 +875,7 @@ rte_pmd_ixgbe_bypass_state_set(uint16_t port_id, uint32_t *new_state)
return ixgbe_bypass_state_store(dev, new_state);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_bypass_event_show)
int
rte_pmd_ixgbe_bypass_event_show(uint16_t port_id,
uint32_t event,
@@ -866,6 +892,7 @@ rte_pmd_ixgbe_bypass_event_show(uint16_t port_id,
return ixgbe_bypass_event_show(dev, event, state);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_bypass_event_store)
int
rte_pmd_ixgbe_bypass_event_store(uint16_t port_id,
uint32_t event,
@@ -882,6 +909,7 @@ rte_pmd_ixgbe_bypass_event_store(uint16_t port_id,
return ixgbe_bypass_event_store(dev, event, state);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_bypass_wd_timeout_store)
int
rte_pmd_ixgbe_bypass_wd_timeout_store(uint16_t port_id, uint32_t timeout)
{
@@ -896,6 +924,7 @@ rte_pmd_ixgbe_bypass_wd_timeout_store(uint16_t port_id, uint32_t timeout)
return ixgbe_bypass_wd_timeout_store(dev, timeout);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_bypass_ver_show)
int
rte_pmd_ixgbe_bypass_ver_show(uint16_t port_id, uint32_t *ver)
{
@@ -910,6 +939,7 @@ rte_pmd_ixgbe_bypass_ver_show(uint16_t port_id, uint32_t *ver)
return ixgbe_bypass_ver_show(dev, ver);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_bypass_wd_timeout_show)
int
rte_pmd_ixgbe_bypass_wd_timeout_show(uint16_t port_id, uint32_t *wd_timeout)
{
@@ -924,6 +954,7 @@ rte_pmd_ixgbe_bypass_wd_timeout_show(uint16_t port_id, uint32_t *wd_timeout)
return ixgbe_bypass_wd_timeout_show(dev, wd_timeout);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_bypass_wd_reset)
int
rte_pmd_ixgbe_bypass_wd_reset(uint16_t port_id)
{
@@ -992,6 +1023,7 @@ STATIC void rte_pmd_ixgbe_release_swfw(struct ixgbe_hw *hw, u32 mask)
ixgbe_release_swfw_semaphore(hw, mask);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_mdio_lock)
int
rte_pmd_ixgbe_mdio_lock(uint16_t port)
{
@@ -1019,6 +1051,7 @@ rte_pmd_ixgbe_mdio_lock(uint16_t port)
return IXGBE_SUCCESS;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_mdio_unlock)
int
rte_pmd_ixgbe_mdio_unlock(uint16_t port)
{
@@ -1046,6 +1079,7 @@ rte_pmd_ixgbe_mdio_unlock(uint16_t port)
return IXGBE_SUCCESS;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_mdio_unlocked_read)
int
rte_pmd_ixgbe_mdio_unlocked_read(uint16_t port, uint32_t reg_addr,
uint32_t dev_type, uint16_t *phy_data)
@@ -1093,6 +1127,7 @@ rte_pmd_ixgbe_mdio_unlocked_read(uint16_t port, uint32_t reg_addr,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ixgbe_mdio_unlocked_write)
int
rte_pmd_ixgbe_mdio_unlocked_write(uint16_t port, uint32_t reg_addr,
uint32_t dev_type, uint16_t phy_data)
@@ -1140,6 +1175,7 @@ rte_pmd_ixgbe_mdio_unlocked_write(uint16_t port, uint32_t reg_addr,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ixgbe_get_fdir_info, 20.08)
int
rte_pmd_ixgbe_get_fdir_info(uint16_t port, struct rte_eth_fdir_info *fdir_info)
{
@@ -1156,6 +1192,7 @@ rte_pmd_ixgbe_get_fdir_info(uint16_t port, struct rte_eth_fdir_info *fdir_info)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_ixgbe_get_fdir_stats, 20.08)
int
rte_pmd_ixgbe_get_fdir_stats(uint16_t port,
struct rte_eth_fdir_stats *fdir_stats)
diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 0f49cb5e5b..48cef1d768 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -3332,6 +3332,7 @@ mlx5_set_metadata_mask(struct rte_eth_dev *dev)
DRV_LOG(DEBUG, "metadata reg_c0 mask %08X", sh->dv_regc0_mask);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_get_dyn_flag_names, 20.02)
int
rte_pmd_mlx5_get_dyn_flag_names(char *names[], unsigned int n)
{
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index f8b3e504b3..85ca209f4c 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -7888,6 +7888,7 @@ mlx5_flow_cache_flow_toggle(struct rte_eth_dev *dev, bool orig_prio)
* @return
* Negative value on error, positive on success.
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_flow_engine_set_mode, 23.03)
int
rte_pmd_mlx5_flow_engine_set_mode(enum rte_pmd_mlx5_flow_engine_mode mode, uint32_t flags)
{
@@ -10993,6 +10994,7 @@ mlx5_action_handle_detach(struct rte_eth_dev *dev)
(MLX5DV_DR_DOMAIN_SYNC_FLAGS_SW | MLX5DV_DR_DOMAIN_SYNC_FLAGS_HW)
#endif
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_sync_flow, 20.11)
int rte_pmd_mlx5_sync_flow(uint16_t port_id, uint32_t domains)
{
struct rte_eth_dev *dev = &rte_eth_devices[port_id];
@@ -12269,6 +12271,7 @@ mlx5_flow_discover_ipv6_tc_support(struct rte_eth_dev *dev)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_create_geneve_tlv_parser, 24.03)
void *
rte_pmd_mlx5_create_geneve_tlv_parser(uint16_t port_id,
const struct rte_pmd_mlx5_geneve_tlv tlv_list[],
@@ -12286,6 +12289,7 @@ rte_pmd_mlx5_create_geneve_tlv_parser(uint16_t port_id,
#endif
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_destroy_geneve_tlv_parser, 24.03)
int
rte_pmd_mlx5_destroy_geneve_tlv_parser(void *handle)
{
diff --git a/drivers/net/mlx5/mlx5_rx.c b/drivers/net/mlx5/mlx5_rx.c
index 5e58eb8bc9..5008e21e7a 100644
--- a/drivers/net/mlx5/mlx5_rx.c
+++ b/drivers/net/mlx5/mlx5_rx.c
@@ -1559,6 +1559,7 @@ mlxreg_host_shaper_config(struct rte_eth_dev *dev,
#endif
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_host_shaper_config, 22.07)
int rte_pmd_mlx5_host_shaper_config(int port_id, uint8_t rate,
uint32_t flags)
{
@@ -1600,6 +1601,7 @@ int rte_pmd_mlx5_host_shaper_config(int port_id, uint8_t rate,
* @return
* 0 for Success, non-zero value depending on failure type
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_rxq_dump_contexts, 24.07)
int rte_pmd_mlx5_rxq_dump_contexts(uint16_t port_id, uint16_t queue_id, const char *filename)
{
struct rte_eth_dev *dev;
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index a5971b5cdd..803cc548e9 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -3281,6 +3281,7 @@ mlx5_external_rx_queue_get_validate(uint16_t port_id, uint16_t dpdk_idx)
return &priv->ext_rxqs[dpdk_idx - RTE_PMD_MLX5_EXTERNAL_RX_QUEUE_ID_MIN];
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_external_rx_queue_id_map, 22.03)
int
rte_pmd_mlx5_external_rx_queue_id_map(uint16_t port_id, uint16_t dpdk_idx,
uint32_t hw_idx)
@@ -3314,6 +3315,7 @@ rte_pmd_mlx5_external_rx_queue_id_map(uint16_t port_id, uint16_t dpdk_idx,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_external_rx_queue_id_unmap, 22.03)
int
rte_pmd_mlx5_external_rx_queue_id_unmap(uint16_t port_id, uint16_t dpdk_idx)
{
diff --git a/drivers/net/mlx5/mlx5_tx.c b/drivers/net/mlx5/mlx5_tx.c
index 4286876e12..2962df7698 100644
--- a/drivers/net/mlx5/mlx5_tx.c
+++ b/drivers/net/mlx5/mlx5_tx.c
@@ -776,6 +776,7 @@ mlx5_tx_burst_mode_get(struct rte_eth_dev *dev,
* 0 for success, non-zero value depending on failure.
*
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_txq_dump_contexts, 24.07)
int rte_pmd_mlx5_txq_dump_contexts(uint16_t port_id, uint16_t queue_id, const char *filename)
{
struct rte_eth_dev *dev;
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 3e93517323..2309b8c60f 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -1342,6 +1342,7 @@ mlx5_txq_get_sqn(struct mlx5_txq_ctrl *txq)
return txq->is_hairpin ? txq->obj->sq->id : txq->obj->sq_obj.sq->id;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_external_sq_enable, 22.07)
int
rte_pmd_mlx5_external_sq_enable(uint16_t port_id, uint32_t sq_num)
{
@@ -1523,6 +1524,7 @@ mlx5_external_tx_queue_get_validate(uint16_t port_id, uint16_t dpdk_idx)
return &priv->ext_txqs[dpdk_idx - MLX5_EXTERNAL_TX_QUEUE_ID_MIN];
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_external_tx_queue_id_map, 24.07)
int
rte_pmd_mlx5_external_tx_queue_id_map(uint16_t port_id, uint16_t dpdk_idx,
uint32_t hw_idx)
@@ -1556,6 +1558,7 @@ rte_pmd_mlx5_external_tx_queue_id_map(uint16_t port_id, uint16_t dpdk_idx,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pmd_mlx5_external_tx_queue_id_unmap, 24.07)
int
rte_pmd_mlx5_external_tx_queue_id_unmap(uint16_t port_id, uint16_t dpdk_idx)
{
diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index 3b8d717797..af06071815 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -44,6 +44,7 @@ struct octeontx_vdev_init_params {
uint8_t nr_port;
};
+RTE_EXPORT_SYMBOL(rte_octeontx_pchan_map)
uint16_t
rte_octeontx_pchan_map[OCTEONTX_MAX_BGX_PORTS][OCTEONTX_MAX_LMAC_PER_BGX];
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index 146bdc8e02..fe4ea82957 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -456,6 +456,7 @@ do_eth_dev_ring_create(const char *name,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_eth_from_rings)
int
rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
const unsigned int nb_rx_queues,
@@ -514,6 +515,7 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
return port_id;
}
+RTE_EXPORT_SYMBOL(rte_eth_from_ring)
int
rte_eth_from_ring(struct rte_ring *r)
{
diff --git a/drivers/net/softnic/rte_eth_softnic.c b/drivers/net/softnic/rte_eth_softnic.c
index 2147ea35f6..da33922e65 100644
--- a/drivers/net/softnic/rte_eth_softnic.c
+++ b/drivers/net/softnic/rte_eth_softnic.c
@@ -516,6 +516,7 @@ RTE_PMD_REGISTER_PARAM_STRING(net_softnic,
PMD_PARAM_CPU_ID "=<uint32> "
);
+RTE_EXPORT_SYMBOL(rte_pmd_softnic_manage)
int
rte_pmd_softnic_manage(uint16_t port_id)
{
diff --git a/drivers/net/softnic/rte_eth_softnic_thread.c b/drivers/net/softnic/rte_eth_softnic_thread.c
index 888af6caf4..b38be89cb2 100644
--- a/drivers/net/softnic/rte_eth_softnic_thread.c
+++ b/drivers/net/softnic/rte_eth_softnic_thread.c
@@ -554,6 +554,7 @@ rte_pmd_softnic_run_internal(void *arg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_softnic_run)
int
rte_pmd_softnic_run(uint16_t port_id)
{
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index 87c05caccd..6ab588657b 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1045,6 +1045,7 @@ vhost_driver_setup(struct rte_eth_dev *eth_dev)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_eth_vhost_get_queue_event)
int
rte_eth_vhost_get_queue_event(uint16_t port_id,
struct rte_eth_vhost_queue_event *event)
@@ -1082,6 +1083,7 @@ rte_eth_vhost_get_queue_event(uint16_t port_id,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_eth_vhost_get_vid_from_port_id)
int
rte_eth_vhost_get_vid_from_port_id(uint16_t port_id)
{
diff --git a/drivers/power/kvm_vm/guest_channel.c b/drivers/power/kvm_vm/guest_channel.c
index 35cd4cfe6f..467b604850 100644
--- a/drivers/power/kvm_vm/guest_channel.c
+++ b/drivers/power/kvm_vm/guest_channel.c
@@ -151,6 +151,7 @@ guest_channel_send_msg(struct rte_power_channel_packet *pkt,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_power_guest_channel_send_msg)
int rte_power_guest_channel_send_msg(struct rte_power_channel_packet *pkt,
unsigned int lcore_id)
{
@@ -212,6 +213,7 @@ int power_guest_channel_read_msg(void *pkt,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_power_guest_channel_receive_msg)
int rte_power_guest_channel_receive_msg(void *pkt,
size_t pkt_len,
unsigned int lcore_id)
diff --git a/drivers/raw/cnxk_rvu_lf/cnxk_rvu_lf.c b/drivers/raw/cnxk_rvu_lf/cnxk_rvu_lf.c
index 54c58a8552..67c20286f0 100644
--- a/drivers/raw/cnxk_rvu_lf/cnxk_rvu_lf.c
+++ b/drivers/raw/cnxk_rvu_lf/cnxk_rvu_lf.c
@@ -16,6 +16,7 @@
#include "cnxk_rvu_lf.h"
#include "cnxk_rvu_lf_driver.h"
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_msg_id_range_set)
int
rte_pmd_rvu_lf_msg_id_range_set(uint8_t dev_id, uint16_t from, uint16_t to)
{
@@ -30,6 +31,7 @@ rte_pmd_rvu_lf_msg_id_range_set(uint8_t dev_id, uint16_t from, uint16_t to)
return roc_rvu_lf_msg_id_range_set(roc_rvu_lf, from, to);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_msg_process)
int
rte_pmd_rvu_lf_msg_process(uint8_t dev_id, uint16_t vf, uint16_t msg_id,
void *req, uint16_t req_len, void *rsp, uint16_t rsp_len)
@@ -45,6 +47,7 @@ rte_pmd_rvu_lf_msg_process(uint8_t dev_id, uint16_t vf, uint16_t msg_id,
return roc_rvu_lf_msg_process(roc_rvu_lf, vf, msg_id, req, req_len, rsp, rsp_len);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_msg_handler_register)
int
rte_pmd_rvu_lf_msg_handler_register(uint8_t dev_id, rte_pmd_rvu_lf_msg_handler_cb_fn cb)
{
@@ -59,6 +62,7 @@ rte_pmd_rvu_lf_msg_handler_register(uint8_t dev_id, rte_pmd_rvu_lf_msg_handler_c
return roc_rvu_lf_msg_handler_register(roc_rvu_lf, (roc_rvu_lf_msg_handler_cb_fn)cb);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_msg_handler_unregister)
int
rte_pmd_rvu_lf_msg_handler_unregister(uint8_t dev_id)
{
@@ -73,6 +77,7 @@ rte_pmd_rvu_lf_msg_handler_unregister(uint8_t dev_id)
return roc_rvu_lf_msg_handler_unregister(roc_rvu_lf);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_irq_register)
int
rte_pmd_rvu_lf_irq_register(uint8_t dev_id, unsigned int irq,
rte_pmd_rvu_lf_intr_callback_fn cb, void *data)
@@ -88,6 +93,7 @@ rte_pmd_rvu_lf_irq_register(uint8_t dev_id, unsigned int irq,
return roc_rvu_lf_irq_register(roc_rvu_lf, irq, (roc_rvu_lf_intr_cb_fn)cb, data);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_irq_unregister)
int
rte_pmd_rvu_lf_irq_unregister(uint8_t dev_id, unsigned int irq,
rte_pmd_rvu_lf_intr_callback_fn cb, void *data)
@@ -103,6 +109,7 @@ rte_pmd_rvu_lf_irq_unregister(uint8_t dev_id, unsigned int irq,
return roc_rvu_lf_irq_unregister(roc_rvu_lf, irq, (roc_rvu_lf_intr_cb_fn)cb, data);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_bar_get)
int
rte_pmd_rvu_lf_bar_get(uint8_t dev_id, uint8_t bar_num, size_t *va, size_t *mask)
{
@@ -127,18 +134,21 @@ rte_pmd_rvu_lf_bar_get(uint8_t dev_id, uint8_t bar_num, size_t *va, size_t *mask
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_npa_pf_func_get)
uint16_t
rte_pmd_rvu_lf_npa_pf_func_get(void)
{
return roc_npa_pf_func_get();
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_sso_pf_func_get)
uint16_t
rte_pmd_rvu_lf_sso_pf_func_get(void)
{
return roc_sso_pf_func_get();
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_pmd_rvu_lf_pf_func_get)
uint16_t
rte_pmd_rvu_lf_pf_func_get(uint8_t dev_id)
{
diff --git a/drivers/raw/ifpga/rte_pmd_ifpga.c b/drivers/raw/ifpga/rte_pmd_ifpga.c
index a47d5a0350..96c2c9706c 100644
--- a/drivers/raw/ifpga/rte_pmd_ifpga.c
+++ b/drivers/raw/ifpga/rte_pmd_ifpga.c
@@ -12,6 +12,7 @@
#include "base/ifpga_sec_mgr.h"
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_get_dev_id)
int
rte_pmd_ifpga_get_dev_id(const char *pci_addr, uint16_t *dev_id)
{
@@ -100,6 +101,7 @@ get_share_data(struct opae_adapter *adapter)
return sd;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_get_rsu_status)
int
rte_pmd_ifpga_get_rsu_status(uint16_t dev_id, uint32_t *stat, uint32_t *prog)
{
@@ -122,6 +124,7 @@ rte_pmd_ifpga_get_rsu_status(uint16_t dev_id, uint32_t *stat, uint32_t *prog)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_set_rsu_status)
int
rte_pmd_ifpga_set_rsu_status(uint16_t dev_id, uint32_t stat, uint32_t prog)
{
@@ -263,6 +266,7 @@ get_port_property(struct opae_adapter *adapter, uint16_t port,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_get_property)
int
rte_pmd_ifpga_get_property(uint16_t dev_id, rte_pmd_ifpga_prop *prop)
{
@@ -299,6 +303,7 @@ rte_pmd_ifpga_get_property(uint16_t dev_id, rte_pmd_ifpga_prop *prop)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_get_phy_info)
int
rte_pmd_ifpga_get_phy_info(uint16_t dev_id, rte_pmd_ifpga_phy_info *info)
{
@@ -339,6 +344,7 @@ rte_pmd_ifpga_get_phy_info(uint16_t dev_id, rte_pmd_ifpga_phy_info *info)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_update_flash)
int
rte_pmd_ifpga_update_flash(uint16_t dev_id, const char *image,
uint64_t *status)
@@ -352,6 +358,7 @@ rte_pmd_ifpga_update_flash(uint16_t dev_id, const char *image,
return opae_mgr_update_flash(adapter->mgr, image, status);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_stop_update)
int
rte_pmd_ifpga_stop_update(uint16_t dev_id, int force)
{
@@ -364,6 +371,7 @@ rte_pmd_ifpga_stop_update(uint16_t dev_id, int force)
return opae_mgr_stop_flash_update(adapter->mgr, force);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_reboot_try)
int
rte_pmd_ifpga_reboot_try(uint16_t dev_id)
{
@@ -390,6 +398,7 @@ rte_pmd_ifpga_reboot_try(uint16_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_reload)
int
rte_pmd_ifpga_reload(uint16_t dev_id, int type, int page)
{
@@ -402,6 +411,7 @@ rte_pmd_ifpga_reload(uint16_t dev_id, int type, int page)
return opae_mgr_reload(adapter->mgr, type, page);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_partial_reconfigure)
int
rte_pmd_ifpga_partial_reconfigure(uint16_t dev_id, int port, const char *file)
{
@@ -416,6 +426,7 @@ rte_pmd_ifpga_partial_reconfigure(uint16_t dev_id, int port, const char *file)
return ifpga_rawdev_partial_reconfigure(dev, port, file);
}
+RTE_EXPORT_SYMBOL(rte_pmd_ifpga_cleanup)
void
rte_pmd_ifpga_cleanup(void)
{
diff --git a/lib/acl/acl_bld.c b/lib/acl/acl_bld.c
index 56e3b31ed6..36dc55b562 100644
--- a/lib/acl/acl_bld.c
+++ b/lib/acl/acl_bld.c
@@ -1621,6 +1621,7 @@ get_first_load_size(const struct rte_acl_config *cfg)
return (ofs < max_ofs) ? sizeof(uint32_t) : sizeof(uint8_t);
}
+RTE_EXPORT_SYMBOL(rte_acl_build)
int
rte_acl_build(struct rte_acl_ctx *ctx, const struct rte_acl_config *cfg)
{
diff --git a/lib/acl/acl_run_scalar.c b/lib/acl/acl_run_scalar.c
index 3d61e79409..3f6d48e360 100644
--- a/lib/acl/acl_run_scalar.c
+++ b/lib/acl/acl_run_scalar.c
@@ -106,6 +106,7 @@ scalar_transition(const uint64_t *trans_table, uint64_t transition,
return transition;
}
+RTE_EXPORT_SYMBOL(rte_acl_classify_scalar)
int
rte_acl_classify_scalar(const struct rte_acl_ctx *ctx, const uint8_t **data,
uint32_t *results, uint32_t num, uint32_t categories)
diff --git a/lib/acl/rte_acl.c b/lib/acl/rte_acl.c
index 245b9b6d7a..108956aed4 100644
--- a/lib/acl/rte_acl.c
+++ b/lib/acl/rte_acl.c
@@ -263,6 +263,7 @@ acl_get_best_alg(void)
return alg[i];
}
+RTE_EXPORT_SYMBOL(rte_acl_set_ctx_classify)
extern int
rte_acl_set_ctx_classify(struct rte_acl_ctx *ctx, enum rte_acl_classify_alg alg)
{
@@ -285,6 +286,7 @@ rte_acl_set_ctx_classify(struct rte_acl_ctx *ctx, enum rte_acl_classify_alg alg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_acl_classify_alg)
int
rte_acl_classify_alg(const struct rte_acl_ctx *ctx, const uint8_t **data,
uint32_t *results, uint32_t num, uint32_t categories,
@@ -297,6 +299,7 @@ rte_acl_classify_alg(const struct rte_acl_ctx *ctx, const uint8_t **data,
return classify_fns[alg](ctx, data, results, num, categories);
}
+RTE_EXPORT_SYMBOL(rte_acl_classify)
int
rte_acl_classify(const struct rte_acl_ctx *ctx, const uint8_t **data,
uint32_t *results, uint32_t num, uint32_t categories)
@@ -305,6 +308,7 @@ rte_acl_classify(const struct rte_acl_ctx *ctx, const uint8_t **data,
ctx->alg);
}
+RTE_EXPORT_SYMBOL(rte_acl_find_existing)
struct rte_acl_ctx *
rte_acl_find_existing(const char *name)
{
@@ -329,6 +333,7 @@ rte_acl_find_existing(const char *name)
return ctx;
}
+RTE_EXPORT_SYMBOL(rte_acl_free)
void
rte_acl_free(struct rte_acl_ctx *ctx)
{
@@ -361,6 +366,7 @@ rte_acl_free(struct rte_acl_ctx *ctx)
rte_free(te);
}
+RTE_EXPORT_SYMBOL(rte_acl_create)
struct rte_acl_ctx *
rte_acl_create(const struct rte_acl_param *param)
{
@@ -457,6 +463,7 @@ acl_check_rule(const struct rte_acl_rule_data *rd)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_acl_add_rules)
int
rte_acl_add_rules(struct rte_acl_ctx *ctx, const struct rte_acl_rule *rules,
uint32_t num)
@@ -486,6 +493,7 @@ rte_acl_add_rules(struct rte_acl_ctx *ctx, const struct rte_acl_rule *rules,
* Reset all rules.
* Note that RT structures are not affected.
*/
+RTE_EXPORT_SYMBOL(rte_acl_reset_rules)
void
rte_acl_reset_rules(struct rte_acl_ctx *ctx)
{
@@ -496,6 +504,7 @@ rte_acl_reset_rules(struct rte_acl_ctx *ctx)
/*
* Reset all rules and destroys RT structures.
*/
+RTE_EXPORT_SYMBOL(rte_acl_reset)
void
rte_acl_reset(struct rte_acl_ctx *ctx)
{
@@ -508,6 +517,7 @@ rte_acl_reset(struct rte_acl_ctx *ctx)
/*
* Dump ACL context to the stdout.
*/
+RTE_EXPORT_SYMBOL(rte_acl_dump)
void
rte_acl_dump(const struct rte_acl_ctx *ctx)
{
@@ -527,6 +537,7 @@ rte_acl_dump(const struct rte_acl_ctx *ctx)
/*
* Dump all ACL contexts to the stdout.
*/
+RTE_EXPORT_SYMBOL(rte_acl_list_dump)
void
rte_acl_list_dump(void)
{
diff --git a/lib/argparse/rte_argparse.c b/lib/argparse/rte_argparse.c
index e7007afc6a..f6f14b0cfb 100644
--- a/lib/argparse/rte_argparse.c
+++ b/lib/argparse/rte_argparse.c
@@ -737,6 +737,7 @@ show_args_help(const struct rte_argparse *obj)
printf("\n");
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_argparse_parse, 24.03)
int
rte_argparse_parse(struct rte_argparse *obj, int argc, char **argv)
{
@@ -764,6 +765,7 @@ rte_argparse_parse(struct rte_argparse *obj, int argc, char **argv)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_argparse_parse_type, 24.03)
int
rte_argparse_parse_type(const char *str, uint64_t val_type, void *val)
{
diff --git a/lib/bbdev/bbdev_trace_points.c b/lib/bbdev/bbdev_trace_points.c
index 6f90e2aa65..80be6070ee 100644
--- a/lib/bbdev/bbdev_trace_points.c
+++ b/lib/bbdev/bbdev_trace_points.c
@@ -21,7 +21,9 @@ RTE_TRACE_POINT_REGISTER(rte_bbdev_trace_queue_start,
RTE_TRACE_POINT_REGISTER(rte_bbdev_trace_queue_stop,
lib.bbdev.queue.stop)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_bbdev_trace_enqueue, 25.03)
RTE_TRACE_POINT_REGISTER(rte_bbdev_trace_enqueue,
lib.bbdev.enq)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_bbdev_trace_dequeue, 25.03)
RTE_TRACE_POINT_REGISTER(rte_bbdev_trace_dequeue,
lib.bbdev.deq)
diff --git a/lib/bbdev/rte_bbdev.c b/lib/bbdev/rte_bbdev.c
index d7901cd29d..84e18b5f29 100644
--- a/lib/bbdev/rte_bbdev.c
+++ b/lib/bbdev/rte_bbdev.c
@@ -91,6 +91,7 @@ static rte_spinlock_t rte_bbdev_cb_lock = RTE_SPINLOCK_INITIALIZER;
* Global array of all devices. This is not static because it's used by the
* inline enqueue and dequeue functions
*/
+RTE_EXPORT_SYMBOL(rte_bbdev_devices)
struct rte_bbdev rte_bbdev_devices[RTE_BBDEV_MAX_DEVS];
/* Global array with rte_bbdev_data structures */
@@ -172,6 +173,7 @@ find_free_dev_id(void)
return RTE_BBDEV_MAX_DEVS;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_allocate)
struct rte_bbdev *
rte_bbdev_allocate(const char *name)
{
@@ -231,6 +233,7 @@ rte_bbdev_allocate(const char *name)
return bbdev;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_release)
int
rte_bbdev_release(struct rte_bbdev *bbdev)
{
@@ -266,6 +269,7 @@ rte_bbdev_release(struct rte_bbdev *bbdev)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_get_named_dev)
struct rte_bbdev *
rte_bbdev_get_named_dev(const char *name)
{
@@ -286,12 +290,14 @@ rte_bbdev_get_named_dev(const char *name)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_count)
uint16_t
rte_bbdev_count(void)
{
return num_devs;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_is_valid)
bool
rte_bbdev_is_valid(uint16_t dev_id)
{
@@ -301,6 +307,7 @@ rte_bbdev_is_valid(uint16_t dev_id)
return false;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_find_next)
uint16_t
rte_bbdev_find_next(uint16_t dev_id)
{
@@ -311,6 +318,7 @@ rte_bbdev_find_next(uint16_t dev_id)
return dev_id;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_setup_queues)
int
rte_bbdev_setup_queues(uint16_t dev_id, uint16_t num_queues, int socket_id)
{
@@ -403,6 +411,7 @@ rte_bbdev_setup_queues(uint16_t dev_id, uint16_t num_queues, int socket_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_intr_enable)
int
rte_bbdev_intr_enable(uint16_t dev_id)
{
@@ -435,6 +444,7 @@ rte_bbdev_intr_enable(uint16_t dev_id)
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_queue_configure)
int
rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id,
const struct rte_bbdev_queue_conf *conf)
@@ -555,6 +565,7 @@ rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_start)
int
rte_bbdev_start(uint16_t dev_id)
{
@@ -589,6 +600,7 @@ rte_bbdev_start(uint16_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_stop)
int
rte_bbdev_stop(uint16_t dev_id)
{
@@ -612,6 +624,7 @@ rte_bbdev_stop(uint16_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_close)
int
rte_bbdev_close(uint16_t dev_id)
{
@@ -659,6 +672,7 @@ rte_bbdev_close(uint16_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_queue_start)
int
rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id)
{
@@ -691,6 +705,7 @@ rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_queue_stop)
int
rte_bbdev_queue_stop(uint16_t dev_id, uint16_t queue_id)
{
@@ -755,6 +770,7 @@ reset_stats_in_queues(struct rte_bbdev *dev)
rte_bbdev_log_debug("Reset stats on %u", dev->data->dev_id);
}
+RTE_EXPORT_SYMBOL(rte_bbdev_stats_get)
int
rte_bbdev_stats_get(uint16_t dev_id, struct rte_bbdev_stats *stats)
{
@@ -778,6 +794,7 @@ rte_bbdev_stats_get(uint16_t dev_id, struct rte_bbdev_stats *stats)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_stats_reset)
int
rte_bbdev_stats_reset(uint16_t dev_id)
{
@@ -795,6 +812,7 @@ rte_bbdev_stats_reset(uint16_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_info_get)
int
rte_bbdev_info_get(uint16_t dev_id, struct rte_bbdev_info *dev_info)
{
@@ -823,6 +841,7 @@ rte_bbdev_info_get(uint16_t dev_id, struct rte_bbdev_info *dev_info)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_queue_info_get)
int
rte_bbdev_queue_info_get(uint16_t dev_id, uint16_t queue_id,
struct rte_bbdev_queue_info *queue_info)
@@ -909,6 +928,7 @@ bbdev_op_init(struct rte_mempool *mempool, void *arg, void *element,
}
}
+RTE_EXPORT_SYMBOL(rte_bbdev_op_pool_create)
struct rte_mempool *
rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type,
unsigned int num_elements, unsigned int cache_size,
@@ -956,6 +976,7 @@ rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type,
return mp;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_callback_register)
int
rte_bbdev_callback_register(uint16_t dev_id, enum rte_bbdev_event_type event,
rte_bbdev_cb_fn cb_fn, void *cb_arg)
@@ -1001,6 +1022,7 @@ rte_bbdev_callback_register(uint16_t dev_id, enum rte_bbdev_event_type event,
return (user_cb == NULL) ? -ENOMEM : 0;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_callback_unregister)
int
rte_bbdev_callback_unregister(uint16_t dev_id, enum rte_bbdev_event_type event,
rte_bbdev_cb_fn cb_fn, void *cb_arg)
@@ -1046,6 +1068,7 @@ rte_bbdev_callback_unregister(uint16_t dev_id, enum rte_bbdev_event_type event,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_pmd_callback_process)
void
rte_bbdev_pmd_callback_process(struct rte_bbdev *dev,
enum rte_bbdev_event_type event, void *ret_param)
@@ -1088,6 +1111,7 @@ rte_bbdev_pmd_callback_process(struct rte_bbdev *dev,
rte_spinlock_unlock(&rte_bbdev_cb_lock);
}
+RTE_EXPORT_SYMBOL(rte_bbdev_queue_intr_enable)
int
rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_id)
{
@@ -1099,6 +1123,7 @@ rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_id)
return dev->dev_ops->queue_intr_enable(dev, queue_id);
}
+RTE_EXPORT_SYMBOL(rte_bbdev_queue_intr_disable)
int
rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_id)
{
@@ -1110,6 +1135,7 @@ rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_id)
return dev->dev_ops->queue_intr_disable(dev, queue_id);
}
+RTE_EXPORT_SYMBOL(rte_bbdev_queue_intr_ctl)
int
rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op,
void *data)
@@ -1147,6 +1173,7 @@ rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op,
}
+RTE_EXPORT_SYMBOL(rte_bbdev_op_type_str)
const char *
rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type)
{
@@ -1167,6 +1194,7 @@ rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_device_status_str)
const char *
rte_bbdev_device_status_str(enum rte_bbdev_device_status status)
{
@@ -1190,6 +1218,7 @@ rte_bbdev_device_status_str(enum rte_bbdev_device_status status)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_bbdev_enqueue_status_str)
const char *
rte_bbdev_enqueue_status_str(enum rte_bbdev_enqueue_status status)
{
@@ -1209,6 +1238,7 @@ rte_bbdev_enqueue_status_str(enum rte_bbdev_enqueue_status status)
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_bbdev_queue_ops_dump, 24.11)
int
rte_bbdev_queue_ops_dump(uint16_t dev_id, uint16_t queue_id, FILE *f)
{
@@ -1248,6 +1278,7 @@ rte_bbdev_queue_ops_dump(uint16_t dev_id, uint16_t queue_id, FILE *f)
return dev->dev_ops->queue_ops_dump(dev, queue_id, f);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_bbdev_ops_param_string, 24.11)
char *
rte_bbdev_ops_param_string(void *op, enum rte_bbdev_op_type op_type, char *str, uint32_t len)
{
diff --git a/lib/bitratestats/rte_bitrate.c b/lib/bitratestats/rte_bitrate.c
index 1664e4863b..d4f309bb7b 100644
--- a/lib/bitratestats/rte_bitrate.c
+++ b/lib/bitratestats/rte_bitrate.c
@@ -28,6 +28,7 @@ struct rte_stats_bitrates {
uint16_t id_stats_set;
};
+RTE_EXPORT_SYMBOL(rte_stats_bitrate_create)
struct rte_stats_bitrates *
rte_stats_bitrate_create(void)
{
@@ -35,12 +36,14 @@ rte_stats_bitrate_create(void)
RTE_CACHE_LINE_SIZE);
}
+RTE_EXPORT_SYMBOL(rte_stats_bitrate_free)
void
rte_stats_bitrate_free(struct rte_stats_bitrates *bitrate_data)
{
rte_free(bitrate_data);
}
+RTE_EXPORT_SYMBOL(rte_stats_bitrate_reg)
int
rte_stats_bitrate_reg(struct rte_stats_bitrates *bitrate_data)
{
@@ -62,6 +65,7 @@ rte_stats_bitrate_reg(struct rte_stats_bitrates *bitrate_data)
return return_value;
}
+RTE_EXPORT_SYMBOL(rte_stats_bitrate_calc)
int
rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,
uint16_t port_id)
diff --git a/lib/bpf/bpf.c b/lib/bpf/bpf.c
index bbe75c8bfe..82c1e2056a 100644
--- a/lib/bpf/bpf.c
+++ b/lib/bpf/bpf.c
@@ -10,6 +10,7 @@
#include "bpf_impl.h"
+RTE_EXPORT_SYMBOL(rte_bpf_destroy)
void
rte_bpf_destroy(struct rte_bpf *bpf)
{
@@ -20,6 +21,7 @@ rte_bpf_destroy(struct rte_bpf *bpf)
}
}
+RTE_EXPORT_SYMBOL(rte_bpf_get_jit)
int
rte_bpf_get_jit(const struct rte_bpf *bpf, struct rte_bpf_jit *jit)
{
diff --git a/lib/bpf/bpf_convert.c b/lib/bpf/bpf_convert.c
index e7e298c9cb..262722baef 100644
--- a/lib/bpf/bpf_convert.c
+++ b/lib/bpf/bpf_convert.c
@@ -517,6 +517,7 @@ static int bpf_convert_filter(const struct bpf_insn *prog, size_t len,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_bpf_convert)
struct rte_bpf_prm *
rte_bpf_convert(const struct bpf_program *prog)
{
diff --git a/lib/bpf/bpf_dump.c b/lib/bpf/bpf_dump.c
index b86977b96d..3b4ecdf6d7 100644
--- a/lib/bpf/bpf_dump.c
+++ b/lib/bpf/bpf_dump.c
@@ -43,6 +43,7 @@ static const char *const jump_tbl[16] = {
[EBPF_CALL >> 4] = "call", [EBPF_EXIT >> 4] = "exit",
};
+RTE_EXPORT_SYMBOL(rte_bpf_dump)
void rte_bpf_dump(FILE *f, const struct ebpf_insn *buf, uint32_t len)
{
uint32_t i;
diff --git a/lib/bpf/bpf_exec.c b/lib/bpf/bpf_exec.c
index 5d597ec170..5e74db4f14 100644
--- a/lib/bpf/bpf_exec.c
+++ b/lib/bpf/bpf_exec.c
@@ -475,6 +475,7 @@ bpf_exec(const struct rte_bpf *bpf, uint64_t reg[EBPF_REG_NUM])
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bpf_exec_burst)
uint32_t
rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[],
uint32_t num)
@@ -494,6 +495,7 @@ rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[],
return i;
}
+RTE_EXPORT_SYMBOL(rte_bpf_exec)
uint64_t
rte_bpf_exec(const struct rte_bpf *bpf, void *ctx)
{
diff --git a/lib/bpf/bpf_load.c b/lib/bpf/bpf_load.c
index de43347405..02413a7b7b 100644
--- a/lib/bpf/bpf_load.c
+++ b/lib/bpf/bpf_load.c
@@ -79,6 +79,7 @@ bpf_check_xsym(const struct rte_bpf_xsym *xsym)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bpf_load)
struct rte_bpf *
rte_bpf_load(const struct rte_bpf_prm *prm)
{
diff --git a/lib/bpf/bpf_load_elf.c b/lib/bpf/bpf_load_elf.c
index e0abd3c856..d4f79d97d3 100644
--- a/lib/bpf/bpf_load_elf.c
+++ b/lib/bpf/bpf_load_elf.c
@@ -294,6 +294,7 @@ bpf_load_elf(const struct rte_bpf_prm *prm, int32_t fd, const char *section)
return bpf;
}
+RTE_EXPORT_SYMBOL(rte_bpf_elf_load)
struct rte_bpf *
rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
const char *sname)
diff --git a/lib/bpf/bpf_pkt.c b/lib/bpf/bpf_pkt.c
index aaca935f2d..18f7e61208 100644
--- a/lib/bpf/bpf_pkt.c
+++ b/lib/bpf/bpf_pkt.c
@@ -465,6 +465,7 @@ bpf_eth_unload(struct bpf_eth_cbh *cbh, uint16_t port, uint16_t queue)
}
+RTE_EXPORT_SYMBOL(rte_bpf_eth_rx_unload)
void
rte_bpf_eth_rx_unload(uint16_t port, uint16_t queue)
{
@@ -476,6 +477,7 @@ rte_bpf_eth_rx_unload(uint16_t port, uint16_t queue)
rte_spinlock_unlock(&cbh->lock);
}
+RTE_EXPORT_SYMBOL(rte_bpf_eth_tx_unload)
void
rte_bpf_eth_tx_unload(uint16_t port, uint16_t queue)
{
@@ -557,6 +559,7 @@ bpf_eth_elf_load(struct bpf_eth_cbh *cbh, uint16_t port, uint16_t queue,
return rc;
}
+RTE_EXPORT_SYMBOL(rte_bpf_eth_rx_elf_load)
int
rte_bpf_eth_rx_elf_load(uint16_t port, uint16_t queue,
const struct rte_bpf_prm *prm, const char *fname, const char *sname,
@@ -573,6 +576,7 @@ rte_bpf_eth_rx_elf_load(uint16_t port, uint16_t queue,
return rc;
}
+RTE_EXPORT_SYMBOL(rte_bpf_eth_tx_elf_load)
int
rte_bpf_eth_tx_elf_load(uint16_t port, uint16_t queue,
const struct rte_bpf_prm *prm, const char *fname, const char *sname,
diff --git a/lib/bpf/bpf_stub.c b/lib/bpf/bpf_stub.c
index 1babb16bde..51a82b433b 100644
--- a/lib/bpf/bpf_stub.c
+++ b/lib/bpf/bpf_stub.c
@@ -10,6 +10,7 @@
*/
#ifndef RTE_LIBRTE_BPF_ELF
+RTE_EXPORT_SYMBOL(rte_bpf_elf_load)
struct rte_bpf *
rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
const char *sname)
@@ -27,6 +28,7 @@ rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
#endif
#ifndef RTE_HAS_LIBPCAP
+RTE_EXPORT_SYMBOL(rte_bpf_convert)
struct rte_bpf_prm *
rte_bpf_convert(const struct bpf_program *prog)
{
diff --git a/lib/cfgfile/rte_cfgfile.c b/lib/cfgfile/rte_cfgfile.c
index 13ba3957bc..4573876cf7 100644
--- a/lib/cfgfile/rte_cfgfile.c
+++ b/lib/cfgfile/rte_cfgfile.c
@@ -158,6 +158,7 @@ rte_cfgfile_check_params(const struct rte_cfgfile_parameters *params)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_load)
struct rte_cfgfile *
rte_cfgfile_load(const char *filename, int flags)
{
@@ -165,6 +166,7 @@ rte_cfgfile_load(const char *filename, int flags)
&default_cfgfile_params);
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_load_with_params)
struct rte_cfgfile *
rte_cfgfile_load_with_params(const char *filename, int flags,
const struct rte_cfgfile_parameters *params)
@@ -269,6 +271,7 @@ rte_cfgfile_load_with_params(const char *filename, int flags,
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_create)
struct rte_cfgfile *
rte_cfgfile_create(int flags)
{
@@ -325,6 +328,7 @@ rte_cfgfile_create(int flags)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_add_section)
int
rte_cfgfile_add_section(struct rte_cfgfile *cfg, const char *sectionname)
{
@@ -366,6 +370,7 @@ rte_cfgfile_add_section(struct rte_cfgfile *cfg, const char *sectionname)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_add_entry)
int rte_cfgfile_add_entry(struct rte_cfgfile *cfg,
const char *sectionname, const char *entryname,
const char *entryvalue)
@@ -390,6 +395,7 @@ int rte_cfgfile_add_entry(struct rte_cfgfile *cfg,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_set_entry)
int rte_cfgfile_set_entry(struct rte_cfgfile *cfg, const char *sectionname,
const char *entryname, const char *entryvalue)
{
@@ -418,6 +424,7 @@ int rte_cfgfile_set_entry(struct rte_cfgfile *cfg, const char *sectionname,
return -EINVAL;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_save)
int rte_cfgfile_save(struct rte_cfgfile *cfg, const char *filename)
{
int i, j;
@@ -442,6 +449,7 @@ int rte_cfgfile_save(struct rte_cfgfile *cfg, const char *filename)
return fclose(f);
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_close)
int rte_cfgfile_close(struct rte_cfgfile *cfg)
{
int i;
@@ -465,6 +473,7 @@ int rte_cfgfile_close(struct rte_cfgfile *cfg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_num_sections)
int
rte_cfgfile_num_sections(struct rte_cfgfile *cfg, const char *sectionname,
size_t length)
@@ -478,6 +487,7 @@ size_t length)
return num_sections;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_sections)
int
rte_cfgfile_sections(struct rte_cfgfile *cfg, char *sections[],
int max_sections)
@@ -490,12 +500,14 @@ rte_cfgfile_sections(struct rte_cfgfile *cfg, char *sections[],
return i;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_has_section)
int
rte_cfgfile_has_section(struct rte_cfgfile *cfg, const char *sectionname)
{
return _get_section(cfg, sectionname) != NULL;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_section_num_entries)
int
rte_cfgfile_section_num_entries(struct rte_cfgfile *cfg,
const char *sectionname)
@@ -506,6 +518,7 @@ rte_cfgfile_section_num_entries(struct rte_cfgfile *cfg,
return s->num_entries;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_section_num_entries_by_index)
int
rte_cfgfile_section_num_entries_by_index(struct rte_cfgfile *cfg,
char *sectionname, int index)
@@ -518,6 +531,7 @@ rte_cfgfile_section_num_entries_by_index(struct rte_cfgfile *cfg,
strlcpy(sectionname, sect->name, CFG_NAME_LEN);
return sect->num_entries;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_section_entries)
int
rte_cfgfile_section_entries(struct rte_cfgfile *cfg, const char *sectionname,
struct rte_cfgfile_entry *entries, int max_entries)
@@ -531,6 +545,7 @@ rte_cfgfile_section_entries(struct rte_cfgfile *cfg, const char *sectionname,
return i;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_section_entries_by_index)
int
rte_cfgfile_section_entries_by_index(struct rte_cfgfile *cfg, int index,
char *sectionname,
@@ -548,6 +563,7 @@ rte_cfgfile_section_entries_by_index(struct rte_cfgfile *cfg, int index,
return i;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_get_entry)
const char *
rte_cfgfile_get_entry(struct rte_cfgfile *cfg, const char *sectionname,
const char *entryname)
@@ -563,6 +579,7 @@ rte_cfgfile_get_entry(struct rte_cfgfile *cfg, const char *sectionname,
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_cfgfile_has_entry)
int
rte_cfgfile_has_entry(struct rte_cfgfile *cfg, const char *sectionname,
const char *entryname)
diff --git a/lib/cmdline/cmdline.c b/lib/cmdline/cmdline.c
index 08721ee919..0831096baa 100644
--- a/lib/cmdline/cmdline.c
+++ b/lib/cmdline/cmdline.c
@@ -39,6 +39,7 @@ cmdline_complete_buffer(struct rdline *rdl, const char *buf,
return cmdline_complete(cl, buf, state, dstbuf, dstsize);
}
+RTE_EXPORT_SYMBOL(cmdline_write_char)
int
cmdline_write_char(struct rdline *rdl, char c)
{
@@ -57,6 +58,7 @@ cmdline_write_char(struct rdline *rdl, char c)
}
+RTE_EXPORT_SYMBOL(cmdline_set_prompt)
void
cmdline_set_prompt(struct cmdline *cl, const char *prompt)
{
@@ -65,6 +67,7 @@ cmdline_set_prompt(struct cmdline *cl, const char *prompt)
strlcpy(cl->prompt, prompt, sizeof(cl->prompt));
}
+RTE_EXPORT_SYMBOL(cmdline_new)
struct cmdline *
cmdline_new(cmdline_parse_ctx_t *ctx, const char *prompt, int s_in, int s_out)
{
@@ -95,12 +98,14 @@ cmdline_new(cmdline_parse_ctx_t *ctx, const char *prompt, int s_in, int s_out)
return cl;
}
+RTE_EXPORT_SYMBOL(cmdline_get_rdline)
struct rdline*
cmdline_get_rdline(struct cmdline *cl)
{
return &cl->rdl;
}
+RTE_EXPORT_SYMBOL(cmdline_free)
void
cmdline_free(struct cmdline *cl)
{
@@ -116,6 +121,7 @@ cmdline_free(struct cmdline *cl)
free(cl);
}
+RTE_EXPORT_SYMBOL(cmdline_printf)
void
cmdline_printf(const struct cmdline *cl, const char *fmt, ...)
{
@@ -131,6 +137,7 @@ cmdline_printf(const struct cmdline *cl, const char *fmt, ...)
va_end(ap);
}
+RTE_EXPORT_SYMBOL(cmdline_in)
int
cmdline_in(struct cmdline *cl, const char *buf, int size)
{
@@ -168,6 +175,7 @@ cmdline_in(struct cmdline *cl, const char *buf, int size)
return i;
}
+RTE_EXPORT_SYMBOL(cmdline_quit)
void
cmdline_quit(struct cmdline *cl)
{
@@ -177,6 +185,7 @@ cmdline_quit(struct cmdline *cl)
rdline_quit(&cl->rdl);
}
+RTE_EXPORT_SYMBOL(cmdline_interact)
void
cmdline_interact(struct cmdline *cl)
{
diff --git a/lib/cmdline/cmdline_cirbuf.c b/lib/cmdline/cmdline_cirbuf.c
index 829a8af563..0f6c942b04 100644
--- a/lib/cmdline/cmdline_cirbuf.c
+++ b/lib/cmdline/cmdline_cirbuf.c
@@ -11,6 +11,7 @@
#include "cmdline_cirbuf.h"
+RTE_EXPORT_SYMBOL(cirbuf_init)
int
cirbuf_init(struct cirbuf *cbuf, char *buf, unsigned int start, unsigned int maxlen)
{
@@ -26,6 +27,7 @@ cirbuf_init(struct cirbuf *cbuf, char *buf, unsigned int start, unsigned int max
/* multiple add */
+RTE_EXPORT_SYMBOL(cirbuf_add_buf_head)
int
cirbuf_add_buf_head(struct cirbuf *cbuf, const char *c, unsigned int n)
{
@@ -57,6 +59,7 @@ cirbuf_add_buf_head(struct cirbuf *cbuf, const char *c, unsigned int n)
/* multiple add */
+RTE_EXPORT_SYMBOL(cirbuf_add_buf_tail)
int
cirbuf_add_buf_tail(struct cirbuf *cbuf, const char *c, unsigned int n)
{
@@ -100,6 +103,7 @@ __cirbuf_add_head(struct cirbuf * cbuf, char c)
cbuf->len ++;
}
+RTE_EXPORT_SYMBOL(cirbuf_add_head_safe)
int
cirbuf_add_head_safe(struct cirbuf * cbuf, char c)
{
@@ -110,6 +114,7 @@ cirbuf_add_head_safe(struct cirbuf * cbuf, char c)
return -EINVAL;
}
+RTE_EXPORT_SYMBOL(cirbuf_add_head)
void
cirbuf_add_head(struct cirbuf * cbuf, char c)
{
@@ -129,6 +134,7 @@ __cirbuf_add_tail(struct cirbuf * cbuf, char c)
cbuf->len ++;
}
+RTE_EXPORT_SYMBOL(cirbuf_add_tail_safe)
int
cirbuf_add_tail_safe(struct cirbuf * cbuf, char c)
{
@@ -139,6 +145,7 @@ cirbuf_add_tail_safe(struct cirbuf * cbuf, char c)
return -EINVAL;
}
+RTE_EXPORT_SYMBOL(cirbuf_add_tail)
void
cirbuf_add_tail(struct cirbuf * cbuf, char c)
{
@@ -181,6 +188,7 @@ __cirbuf_shift_right(struct cirbuf *cbuf)
}
/* XXX we could do a better algorithm here... */
+RTE_EXPORT_SYMBOL(cirbuf_align_left)
int
cirbuf_align_left(struct cirbuf * cbuf)
{
@@ -202,6 +210,7 @@ cirbuf_align_left(struct cirbuf * cbuf)
}
/* XXX we could do a better algorithm here... */
+RTE_EXPORT_SYMBOL(cirbuf_align_right)
int
cirbuf_align_right(struct cirbuf * cbuf)
{
@@ -224,6 +233,7 @@ cirbuf_align_right(struct cirbuf * cbuf)
/* buffer del */
+RTE_EXPORT_SYMBOL(cirbuf_del_buf_head)
int
cirbuf_del_buf_head(struct cirbuf *cbuf, unsigned int size)
{
@@ -244,6 +254,7 @@ cirbuf_del_buf_head(struct cirbuf *cbuf, unsigned int size)
/* buffer del */
+RTE_EXPORT_SYMBOL(cirbuf_del_buf_tail)
int
cirbuf_del_buf_tail(struct cirbuf *cbuf, unsigned int size)
{
@@ -274,6 +285,7 @@ __cirbuf_del_head(struct cirbuf * cbuf)
}
}
+RTE_EXPORT_SYMBOL(cirbuf_del_head_safe)
int
cirbuf_del_head_safe(struct cirbuf * cbuf)
{
@@ -284,6 +296,7 @@ cirbuf_del_head_safe(struct cirbuf * cbuf)
return -EINVAL;
}
+RTE_EXPORT_SYMBOL(cirbuf_del_head)
void
cirbuf_del_head(struct cirbuf * cbuf)
{
@@ -302,6 +315,7 @@ __cirbuf_del_tail(struct cirbuf * cbuf)
}
}
+RTE_EXPORT_SYMBOL(cirbuf_del_tail_safe)
int
cirbuf_del_tail_safe(struct cirbuf * cbuf)
{
@@ -312,6 +326,7 @@ cirbuf_del_tail_safe(struct cirbuf * cbuf)
return -EINVAL;
}
+RTE_EXPORT_SYMBOL(cirbuf_del_tail)
void
cirbuf_del_tail(struct cirbuf * cbuf)
{
@@ -320,6 +335,7 @@ cirbuf_del_tail(struct cirbuf * cbuf)
/* convert to buffer */
+RTE_EXPORT_SYMBOL(cirbuf_get_buf_head)
int
cirbuf_get_buf_head(struct cirbuf *cbuf, char *c, unsigned int size)
{
@@ -358,6 +374,7 @@ cirbuf_get_buf_head(struct cirbuf *cbuf, char *c, unsigned int size)
/* convert to buffer */
+RTE_EXPORT_SYMBOL(cirbuf_get_buf_tail)
int
cirbuf_get_buf_tail(struct cirbuf *cbuf, char *c, unsigned int size)
{
@@ -397,6 +414,7 @@ cirbuf_get_buf_tail(struct cirbuf *cbuf, char *c, unsigned int size)
/* get head or get tail */
+RTE_EXPORT_SYMBOL(cirbuf_get_head)
char
cirbuf_get_head(struct cirbuf * cbuf)
{
@@ -405,6 +423,7 @@ cirbuf_get_head(struct cirbuf * cbuf)
/* get head or get tail */
+RTE_EXPORT_SYMBOL(cirbuf_get_tail)
char
cirbuf_get_tail(struct cirbuf * cbuf)
{
diff --git a/lib/cmdline/cmdline_parse.c b/lib/cmdline/cmdline_parse.c
index 76a212d001..ddedc9c0dc 100644
--- a/lib/cmdline/cmdline_parse.c
+++ b/lib/cmdline/cmdline_parse.c
@@ -49,6 +49,7 @@ iscomment(char c)
return 0;
}
+RTE_EXPORT_SYMBOL(cmdline_isendoftoken)
int
cmdline_isendoftoken(char c)
{
@@ -296,18 +297,21 @@ __cmdline_parse(struct cmdline *cl, const char *buf, bool call_fn)
return linelen;
}
+RTE_EXPORT_SYMBOL(cmdline_parse)
int
cmdline_parse(struct cmdline *cl, const char *buf)
{
return __cmdline_parse(cl, buf, true);
}
+RTE_EXPORT_SYMBOL(cmdline_parse_check)
int
cmdline_parse_check(struct cmdline *cl, const char *buf)
{
return __cmdline_parse(cl, buf, false);
}
+RTE_EXPORT_SYMBOL(cmdline_complete)
int
cmdline_complete(struct cmdline *cl, const char *buf, int *state,
char *dst, unsigned int size)
diff --git a/lib/cmdline/cmdline_parse_bool.c b/lib/cmdline/cmdline_parse_bool.c
index aa7bf88d5a..88864d8750 100644
--- a/lib/cmdline/cmdline_parse_bool.c
+++ b/lib/cmdline/cmdline_parse_bool.c
@@ -13,6 +13,7 @@
#include "cmdline_parse_bool.h"
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(cmdline_token_bool_ops, 25.03)
struct cmdline_token_ops cmdline_token_bool_ops = {
.parse = cmdline_parse_bool,
.complete_get_nb = NULL,
diff --git a/lib/cmdline/cmdline_parse_etheraddr.c b/lib/cmdline/cmdline_parse_etheraddr.c
index 433b828a72..1fa565aee9 100644
--- a/lib/cmdline/cmdline_parse_etheraddr.c
+++ b/lib/cmdline/cmdline_parse_etheraddr.c
@@ -13,6 +13,7 @@
#include "cmdline_parse.h"
#include "cmdline_parse_etheraddr.h"
+RTE_EXPORT_SYMBOL(cmdline_token_etheraddr_ops)
struct cmdline_token_ops cmdline_token_etheraddr_ops = {
.parse = cmdline_parse_etheraddr,
.complete_get_nb = NULL,
@@ -20,6 +21,7 @@ struct cmdline_token_ops cmdline_token_etheraddr_ops = {
.get_help = cmdline_get_help_etheraddr,
};
+RTE_EXPORT_SYMBOL(cmdline_parse_etheraddr)
int
cmdline_parse_etheraddr(__rte_unused cmdline_parse_token_hdr_t *tk,
const char *buf, void *res, unsigned ressize)
@@ -51,6 +53,7 @@ cmdline_parse_etheraddr(__rte_unused cmdline_parse_token_hdr_t *tk,
return token_len;
}
+RTE_EXPORT_SYMBOL(cmdline_get_help_etheraddr)
int
cmdline_get_help_etheraddr(__rte_unused cmdline_parse_token_hdr_t *tk,
char *dstbuf, unsigned int size)
diff --git a/lib/cmdline/cmdline_parse_ipaddr.c b/lib/cmdline/cmdline_parse_ipaddr.c
index 5e278c963f..5cee96c608 100644
--- a/lib/cmdline/cmdline_parse_ipaddr.c
+++ b/lib/cmdline/cmdline_parse_ipaddr.c
@@ -14,6 +14,7 @@
#include "cmdline_parse.h"
#include "cmdline_parse_ipaddr.h"
+RTE_EXPORT_SYMBOL(cmdline_token_ipaddr_ops)
struct cmdline_token_ops cmdline_token_ipaddr_ops = {
.parse = cmdline_parse_ipaddr,
.complete_get_nb = NULL,
@@ -24,6 +25,7 @@ struct cmdline_token_ops cmdline_token_ipaddr_ops = {
#define PREFIXMAX 128
#define V4PREFIXMAX 32
+RTE_EXPORT_SYMBOL(cmdline_parse_ipaddr)
int
cmdline_parse_ipaddr(cmdline_parse_token_hdr_t *tk, const char *buf, void *res,
unsigned ressize)
@@ -90,6 +92,7 @@ cmdline_parse_ipaddr(cmdline_parse_token_hdr_t *tk, const char *buf, void *res,
}
+RTE_EXPORT_SYMBOL(cmdline_get_help_ipaddr)
int cmdline_get_help_ipaddr(cmdline_parse_token_hdr_t *tk, char *dstbuf,
unsigned int size)
{
diff --git a/lib/cmdline/cmdline_parse_num.c b/lib/cmdline/cmdline_parse_num.c
index 6dc325e6da..c5b3d0ef7d 100644
--- a/lib/cmdline/cmdline_parse_num.c
+++ b/lib/cmdline/cmdline_parse_num.c
@@ -20,6 +20,7 @@
#define debug_printf(...) do {} while (0)
#endif
+RTE_EXPORT_SYMBOL(cmdline_token_num_ops)
struct cmdline_token_ops cmdline_token_num_ops = {
.parse = cmdline_parse_num,
.complete_get_nb = NULL,
@@ -92,6 +93,7 @@ check_res_size(struct cmdline_token_num_data *nd, unsigned ressize)
}
/* parse an int */
+RTE_EXPORT_SYMBOL(cmdline_parse_num)
int
cmdline_parse_num(cmdline_parse_token_hdr_t *tk, const char *srcbuf, void *res,
unsigned ressize)
@@ -313,6 +315,7 @@ cmdline_parse_num(cmdline_parse_token_hdr_t *tk, const char *srcbuf, void *res,
/* parse an int */
+RTE_EXPORT_SYMBOL(cmdline_get_help_num)
int
cmdline_get_help_num(cmdline_parse_token_hdr_t *tk, char *dstbuf, unsigned int size)
{
diff --git a/lib/cmdline/cmdline_parse_portlist.c b/lib/cmdline/cmdline_parse_portlist.c
index 2e2294553a..7966a28173 100644
--- a/lib/cmdline/cmdline_parse_portlist.c
+++ b/lib/cmdline/cmdline_parse_portlist.c
@@ -13,6 +13,7 @@
#include "cmdline_parse.h"
#include "cmdline_parse_portlist.h"
+RTE_EXPORT_SYMBOL(cmdline_token_portlist_ops)
struct cmdline_token_ops cmdline_token_portlist_ops = {
.parse = cmdline_parse_portlist,
.complete_get_nb = NULL,
@@ -68,6 +69,7 @@ parse_ports(cmdline_portlist_t *pl, const char *str)
return 0;
}
+RTE_EXPORT_SYMBOL(cmdline_parse_portlist)
int
cmdline_parse_portlist(__rte_unused cmdline_parse_token_hdr_t *tk,
const char *buf, void *res, unsigned ressize)
@@ -104,6 +106,7 @@ cmdline_parse_portlist(__rte_unused cmdline_parse_token_hdr_t *tk,
return token_len;
}
+RTE_EXPORT_SYMBOL(cmdline_get_help_portlist)
int
cmdline_get_help_portlist(__rte_unused cmdline_parse_token_hdr_t *tk,
char *dstbuf, unsigned int size)
diff --git a/lib/cmdline/cmdline_parse_string.c b/lib/cmdline/cmdline_parse_string.c
index d756638905..0f1e9f16a4 100644
--- a/lib/cmdline/cmdline_parse_string.c
+++ b/lib/cmdline/cmdline_parse_string.c
@@ -11,6 +11,7 @@
#include "cmdline_parse.h"
#include "cmdline_parse_string.h"
+RTE_EXPORT_SYMBOL(cmdline_token_string_ops)
struct cmdline_token_ops cmdline_token_string_ops = {
.parse = cmdline_parse_string,
.complete_get_nb = cmdline_complete_get_nb_string,
@@ -47,6 +48,7 @@ get_next_token(const char *s)
return NULL;
}
+RTE_EXPORT_SYMBOL(cmdline_parse_string)
int
cmdline_parse_string(cmdline_parse_token_hdr_t *tk, const char *buf, void *res,
unsigned ressize)
@@ -132,6 +134,7 @@ cmdline_parse_string(cmdline_parse_token_hdr_t *tk, const char *buf, void *res,
return token_len;
}
+RTE_EXPORT_SYMBOL(cmdline_complete_get_nb_string)
int cmdline_complete_get_nb_string(cmdline_parse_token_hdr_t *tk)
{
struct cmdline_token_string *tk2;
@@ -155,6 +158,7 @@ int cmdline_complete_get_nb_string(cmdline_parse_token_hdr_t *tk)
return ret;
}
+RTE_EXPORT_SYMBOL(cmdline_complete_get_elt_string)
int cmdline_complete_get_elt_string(cmdline_parse_token_hdr_t *tk, int idx,
char *dstbuf, unsigned int size)
{
@@ -187,6 +191,7 @@ int cmdline_complete_get_elt_string(cmdline_parse_token_hdr_t *tk, int idx,
}
+RTE_EXPORT_SYMBOL(cmdline_get_help_string)
int cmdline_get_help_string(cmdline_parse_token_hdr_t *tk, char *dstbuf,
unsigned int size)
{
diff --git a/lib/cmdline/cmdline_rdline.c b/lib/cmdline/cmdline_rdline.c
index 5cf723a012..5462ae5bb1 100644
--- a/lib/cmdline/cmdline_rdline.c
+++ b/lib/cmdline/cmdline_rdline.c
@@ -52,6 +52,7 @@ rdline_init(struct rdline *rdl,
return cirbuf_init(&rdl->history, rdl->history_buf, 0, RDLINE_HISTORY_BUF_SIZE);
}
+RTE_EXPORT_SYMBOL(rdline_new)
struct rdline *
rdline_new(rdline_write_char_t *write_char,
rdline_validate_t *validate,
@@ -68,12 +69,14 @@ rdline_new(rdline_write_char_t *write_char,
return rdl;
}
+RTE_EXPORT_SYMBOL(rdline_free)
void
rdline_free(struct rdline *rdl)
{
free(rdl);
}
+RTE_EXPORT_SYMBOL(rdline_newline)
void
rdline_newline(struct rdline *rdl, const char *prompt)
{
@@ -98,6 +101,7 @@ rdline_newline(struct rdline *rdl, const char *prompt)
rdl->history_cur_line = -1;
}
+RTE_EXPORT_SYMBOL(rdline_stop)
void
rdline_stop(struct rdline *rdl)
{
@@ -106,6 +110,7 @@ rdline_stop(struct rdline *rdl)
rdl->status = RDLINE_INIT;
}
+RTE_EXPORT_SYMBOL(rdline_quit)
void
rdline_quit(struct rdline *rdl)
{
@@ -114,6 +119,7 @@ rdline_quit(struct rdline *rdl)
rdl->status = RDLINE_EXITED;
}
+RTE_EXPORT_SYMBOL(rdline_restart)
void
rdline_restart(struct rdline *rdl)
{
@@ -122,6 +128,7 @@ rdline_restart(struct rdline *rdl)
rdl->status = RDLINE_RUNNING;
}
+RTE_EXPORT_SYMBOL(rdline_reset)
void
rdline_reset(struct rdline *rdl)
{
@@ -136,6 +143,7 @@ rdline_reset(struct rdline *rdl)
rdl->history_cur_line = -1;
}
+RTE_EXPORT_SYMBOL(rdline_get_buffer)
const char *
rdline_get_buffer(struct rdline *rdl)
{
@@ -172,6 +180,7 @@ display_right_buffer(struct rdline *rdl, int force)
CIRBUF_GET_LEN(&rdl->right));
}
+RTE_EXPORT_SYMBOL(rdline_redisplay)
void
rdline_redisplay(struct rdline *rdl)
{
@@ -190,6 +199,7 @@ rdline_redisplay(struct rdline *rdl)
display_right_buffer(rdl, 1);
}
+RTE_EXPORT_SYMBOL(rdline_char_in)
int
rdline_char_in(struct rdline *rdl, char c)
{
@@ -561,6 +571,7 @@ rdline_get_history_size(struct rdline * rdl)
return ret;
}
+RTE_EXPORT_SYMBOL(rdline_get_history_item)
char *
rdline_get_history_item(struct rdline * rdl, unsigned int idx)
{
@@ -587,18 +598,21 @@ rdline_get_history_item(struct rdline * rdl, unsigned int idx)
return NULL;
}
+RTE_EXPORT_SYMBOL(rdline_get_history_buffer_size)
size_t
rdline_get_history_buffer_size(struct rdline *rdl)
{
return sizeof(rdl->history_buf);
}
+RTE_EXPORT_SYMBOL(rdline_get_opaque)
void *
rdline_get_opaque(struct rdline *rdl)
{
return rdl != NULL ? rdl->opaque : NULL;
}
+RTE_EXPORT_SYMBOL(rdline_add_history)
int
rdline_add_history(struct rdline * rdl, const char * buf)
{
@@ -628,6 +642,7 @@ rdline_add_history(struct rdline * rdl, const char * buf)
return 0;
}
+RTE_EXPORT_SYMBOL(rdline_clear_history)
void
rdline_clear_history(struct rdline * rdl)
{
diff --git a/lib/cmdline/cmdline_socket.c b/lib/cmdline/cmdline_socket.c
index 78fb67c474..c4e13d2858 100644
--- a/lib/cmdline/cmdline_socket.c
+++ b/lib/cmdline/cmdline_socket.c
@@ -12,6 +12,7 @@
#include "cmdline_private.h"
#include "cmdline_socket.h"
+RTE_EXPORT_SYMBOL(cmdline_file_new)
struct cmdline *
cmdline_file_new(cmdline_parse_ctx_t *ctx, const char *prompt, const char *path)
{
@@ -29,6 +30,7 @@ cmdline_file_new(cmdline_parse_ctx_t *ctx, const char *prompt, const char *path)
return cmdline_new(ctx, prompt, fd, -1);
}
+RTE_EXPORT_SYMBOL(cmdline_stdin_new)
struct cmdline *
cmdline_stdin_new(cmdline_parse_ctx_t *ctx, const char *prompt)
{
@@ -42,6 +44,7 @@ cmdline_stdin_new(cmdline_parse_ctx_t *ctx, const char *prompt)
return cl;
}
+RTE_EXPORT_SYMBOL(cmdline_stdin_exit)
void
cmdline_stdin_exit(struct cmdline *cl)
{
diff --git a/lib/cmdline/cmdline_vt100.c b/lib/cmdline/cmdline_vt100.c
index 4c9a46c953..ebc020c040 100644
--- a/lib/cmdline/cmdline_vt100.c
+++ b/lib/cmdline/cmdline_vt100.c
@@ -40,6 +40,7 @@ const char *cmdline_vt100_commands[] = {
vt100_bs,
};
+RTE_EXPORT_SYMBOL(vt100_init)
void
vt100_init(struct cmdline_vt100 *vt)
{
@@ -69,6 +70,7 @@ match_command(char *buf, unsigned int size)
return -1;
}
+RTE_EXPORT_SYMBOL(vt100_parser)
int
vt100_parser(struct cmdline_vt100 *vt, char ch)
{
diff --git a/lib/compressdev/rte_comp.c b/lib/compressdev/rte_comp.c
index f060c68557..1fb0ae5271 100644
--- a/lib/compressdev/rte_comp.c
+++ b/lib/compressdev/rte_comp.c
@@ -5,6 +5,7 @@
#include "rte_comp.h"
#include "rte_compressdev_internal.h"
+RTE_EXPORT_SYMBOL(rte_comp_get_feature_name)
const char *
rte_comp_get_feature_name(uint64_t flag)
{
@@ -123,6 +124,7 @@ rte_comp_op_init(struct rte_mempool *mempool,
op->mempool = mempool;
}
+RTE_EXPORT_SYMBOL(rte_comp_op_pool_create)
struct rte_mempool *
rte_comp_op_pool_create(const char *name,
unsigned int nb_elts, unsigned int cache_size,
@@ -178,6 +180,7 @@ rte_comp_op_pool_create(const char *name,
return mp;
}
+RTE_EXPORT_SYMBOL(rte_comp_op_alloc)
struct rte_comp_op *
rte_comp_op_alloc(struct rte_mempool *mempool)
{
@@ -193,6 +196,7 @@ rte_comp_op_alloc(struct rte_mempool *mempool)
return op;
}
+RTE_EXPORT_SYMBOL(rte_comp_op_bulk_alloc)
int
rte_comp_op_bulk_alloc(struct rte_mempool *mempool,
struct rte_comp_op **ops, uint16_t nb_ops)
@@ -218,6 +222,7 @@ rte_comp_op_bulk_alloc(struct rte_mempool *mempool,
* @param op
* Compress operation
*/
+RTE_EXPORT_SYMBOL(rte_comp_op_free)
void
rte_comp_op_free(struct rte_comp_op *op)
{
@@ -225,6 +230,7 @@ rte_comp_op_free(struct rte_comp_op *op)
rte_mempool_put(op->mempool, op);
}
+RTE_EXPORT_SYMBOL(rte_comp_op_bulk_free)
void
rte_comp_op_bulk_free(struct rte_comp_op **ops, uint16_t nb_ops)
{
diff --git a/lib/compressdev/rte_compressdev.c b/lib/compressdev/rte_compressdev.c
index 5bc7ea5250..f47d0bf3c4 100644
--- a/lib/compressdev/rte_compressdev.c
+++ b/lib/compressdev/rte_compressdev.c
@@ -28,6 +28,7 @@ static struct rte_compressdev_global compressdev_globals = {
.max_devs = RTE_COMPRESS_MAX_DEVS
};
+RTE_EXPORT_SYMBOL(rte_compressdev_capability_get)
const struct rte_compressdev_capabilities *
rte_compressdev_capability_get(uint8_t dev_id,
enum rte_comp_algorithm algo)
@@ -51,6 +52,7 @@ rte_compressdev_capability_get(uint8_t dev_id,
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_get_feature_name)
const char *
rte_compressdev_get_feature_name(uint64_t flag)
{
@@ -80,6 +82,7 @@ rte_compressdev_get_dev(uint8_t dev_id)
return &compressdev_globals.devs[dev_id];
}
+RTE_EXPORT_SYMBOL(rte_compressdev_pmd_get_named_dev)
struct rte_compressdev *
rte_compressdev_pmd_get_named_dev(const char *name)
{
@@ -116,6 +119,7 @@ rte_compressdev_is_valid_dev(uint8_t dev_id)
}
+RTE_EXPORT_SYMBOL(rte_compressdev_get_dev_id)
int
rte_compressdev_get_dev_id(const char *name)
{
@@ -134,12 +138,14 @@ rte_compressdev_get_dev_id(const char *name)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_count)
uint8_t
rte_compressdev_count(void)
{
return compressdev_globals.nb_devs;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_devices_get)
uint8_t
rte_compressdev_devices_get(const char *driver_name, uint8_t *devices,
uint8_t nb_devices)
@@ -165,6 +171,7 @@ rte_compressdev_devices_get(const char *driver_name, uint8_t *devices,
return count;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_socket_id)
int
rte_compressdev_socket_id(uint8_t dev_id)
{
@@ -222,6 +229,7 @@ rte_compressdev_find_free_device_index(void)
return RTE_COMPRESS_MAX_DEVS;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_pmd_allocate)
struct rte_compressdev *
rte_compressdev_pmd_allocate(const char *name, int socket_id)
{
@@ -268,6 +276,7 @@ rte_compressdev_pmd_allocate(const char *name, int socket_id)
return compressdev;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_pmd_release_device)
int
rte_compressdev_pmd_release_device(struct rte_compressdev *compressdev)
{
@@ -288,6 +297,7 @@ rte_compressdev_pmd_release_device(struct rte_compressdev *compressdev)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_queue_pair_count)
uint16_t
rte_compressdev_queue_pair_count(uint8_t dev_id)
{
@@ -413,6 +423,7 @@ rte_compressdev_queue_pairs_release(struct rte_compressdev *dev)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_configure)
int
rte_compressdev_configure(uint8_t dev_id, struct rte_compressdev_config *config)
{
@@ -448,6 +459,7 @@ rte_compressdev_configure(uint8_t dev_id, struct rte_compressdev_config *config)
return dev->dev_ops->dev_configure(dev, config);
}
+RTE_EXPORT_SYMBOL(rte_compressdev_start)
int
rte_compressdev_start(uint8_t dev_id)
{
@@ -481,6 +493,7 @@ rte_compressdev_start(uint8_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_stop)
void
rte_compressdev_stop(uint8_t dev_id)
{
@@ -506,6 +519,7 @@ rte_compressdev_stop(uint8_t dev_id)
dev->data->dev_started = 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_close)
int
rte_compressdev_close(uint8_t dev_id)
{
@@ -542,6 +556,7 @@ rte_compressdev_close(uint8_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_queue_pair_setup)
int
rte_compressdev_queue_pair_setup(uint8_t dev_id, uint16_t queue_pair_id,
uint32_t max_inflight_ops, int socket_id)
@@ -577,6 +592,7 @@ rte_compressdev_queue_pair_setup(uint8_t dev_id, uint16_t queue_pair_id,
return dev->dev_ops->queue_pair_setup(dev, queue_pair_id, max_inflight_ops, socket_id);
}
+RTE_EXPORT_SYMBOL(rte_compressdev_dequeue_burst)
uint16_t
rte_compressdev_dequeue_burst(uint8_t dev_id, uint16_t qp_id,
struct rte_comp_op **ops, uint16_t nb_ops)
@@ -586,6 +602,7 @@ rte_compressdev_dequeue_burst(uint8_t dev_id, uint16_t qp_id,
return dev->dequeue_burst(dev->data->queue_pairs[qp_id], ops, nb_ops);
}
+RTE_EXPORT_SYMBOL(rte_compressdev_enqueue_burst)
uint16_t
rte_compressdev_enqueue_burst(uint8_t dev_id, uint16_t qp_id,
struct rte_comp_op **ops, uint16_t nb_ops)
@@ -595,6 +612,7 @@ rte_compressdev_enqueue_burst(uint8_t dev_id, uint16_t qp_id,
return dev->enqueue_burst(dev->data->queue_pairs[qp_id], ops, nb_ops);
}
+RTE_EXPORT_SYMBOL(rte_compressdev_stats_get)
int
rte_compressdev_stats_get(uint8_t dev_id, struct rte_compressdev_stats *stats)
{
@@ -619,6 +637,7 @@ rte_compressdev_stats_get(uint8_t dev_id, struct rte_compressdev_stats *stats)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_stats_reset)
void
rte_compressdev_stats_reset(uint8_t dev_id)
{
@@ -637,6 +656,7 @@ rte_compressdev_stats_reset(uint8_t dev_id)
}
+RTE_EXPORT_SYMBOL(rte_compressdev_info_get)
void
rte_compressdev_info_get(uint8_t dev_id, struct rte_compressdev_info *dev_info)
{
@@ -658,6 +678,7 @@ rte_compressdev_info_get(uint8_t dev_id, struct rte_compressdev_info *dev_info)
dev_info->driver_name = dev->device->driver->name;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_private_xform_create)
int
rte_compressdev_private_xform_create(uint8_t dev_id,
const struct rte_comp_xform *xform,
@@ -684,6 +705,7 @@ rte_compressdev_private_xform_create(uint8_t dev_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_private_xform_free)
int
rte_compressdev_private_xform_free(uint8_t dev_id, void *priv_xform)
{
@@ -708,6 +730,7 @@ rte_compressdev_private_xform_free(uint8_t dev_id, void *priv_xform)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_stream_create)
int
rte_compressdev_stream_create(uint8_t dev_id,
const struct rte_comp_xform *xform,
@@ -735,6 +758,7 @@ rte_compressdev_stream_create(uint8_t dev_id,
}
+RTE_EXPORT_SYMBOL(rte_compressdev_stream_free)
int
rte_compressdev_stream_free(uint8_t dev_id, void *stream)
{
@@ -759,6 +783,7 @@ rte_compressdev_stream_free(uint8_t dev_id, void *stream)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_name_get)
const char *
rte_compressdev_name_get(uint8_t dev_id)
{
diff --git a/lib/compressdev/rte_compressdev_pmd.c b/lib/compressdev/rte_compressdev_pmd.c
index 762b44f03e..d0ea84b0c3 100644
--- a/lib/compressdev/rte_compressdev_pmd.c
+++ b/lib/compressdev/rte_compressdev_pmd.c
@@ -55,6 +55,7 @@ rte_compressdev_pmd_parse_uint_arg(const char *key __rte_unused,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_pmd_parse_input_args)
int
rte_compressdev_pmd_parse_input_args(
struct rte_compressdev_pmd_init_params *params,
@@ -91,6 +92,7 @@ rte_compressdev_pmd_parse_input_args(
return ret;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_pmd_create)
struct rte_compressdev *
rte_compressdev_pmd_create(const char *name,
struct rte_device *device,
@@ -140,6 +142,7 @@ rte_compressdev_pmd_create(const char *name,
return compressdev;
}
+RTE_EXPORT_SYMBOL(rte_compressdev_pmd_destroy)
int
rte_compressdev_pmd_destroy(struct rte_compressdev *compressdev)
{
diff --git a/lib/cryptodev/cryptodev_pmd.c b/lib/cryptodev/cryptodev_pmd.c
index 87ced122b4..98cf064813 100644
--- a/lib/cryptodev/cryptodev_pmd.c
+++ b/lib/cryptodev/cryptodev_pmd.c
@@ -55,6 +55,7 @@ rte_cryptodev_pmd_parse_uint_arg(const char *key __rte_unused,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_parse_input_args)
int
rte_cryptodev_pmd_parse_input_args(
struct rte_cryptodev_pmd_init_params *params,
@@ -98,6 +99,7 @@ rte_cryptodev_pmd_parse_input_args(
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_create)
struct rte_cryptodev *
rte_cryptodev_pmd_create(const char *name,
struct rte_device *device,
@@ -148,6 +150,7 @@ rte_cryptodev_pmd_create(const char *name,
return cryptodev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_destroy)
int
rte_cryptodev_pmd_destroy(struct rte_cryptodev *cryptodev)
{
@@ -171,6 +174,7 @@ rte_cryptodev_pmd_destroy(struct rte_cryptodev *cryptodev)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_probing_finish)
void
rte_cryptodev_pmd_probing_finish(struct rte_cryptodev *cryptodev)
{
@@ -209,6 +213,7 @@ dummy_crypto_dequeue_burst(__rte_unused void *qp,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cryptodev_fp_ops_reset)
void
cryptodev_fp_ops_reset(struct rte_crypto_fp_ops *fp_ops)
{
@@ -227,6 +232,7 @@ cryptodev_fp_ops_reset(struct rte_crypto_fp_ops *fp_ops)
*fp_ops = dummy;
}
+RTE_EXPORT_INTERNAL_SYMBOL(cryptodev_fp_ops_set)
void
cryptodev_fp_ops_set(struct rte_crypto_fp_ops *fp_ops,
const struct rte_cryptodev *dev)
@@ -239,6 +245,7 @@ cryptodev_fp_ops_set(struct rte_crypto_fp_ops *fp_ops,
fp_ops->qp_depth_used = dev->qp_depth_used;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_session_event_mdata_get)
void *
rte_cryptodev_session_event_mdata_get(struct rte_crypto_op *op)
{
diff --git a/lib/cryptodev/cryptodev_trace_points.c b/lib/cryptodev/cryptodev_trace_points.c
index 6f37780595..94ac5e14f1 100644
--- a/lib/cryptodev/cryptodev_trace_points.c
+++ b/lib/cryptodev/cryptodev_trace_points.c
@@ -42,9 +42,11 @@ RTE_TRACE_POINT_REGISTER(rte_cryptodev_trace_sym_session_free,
RTE_TRACE_POINT_REGISTER(rte_cryptodev_trace_asym_session_free,
lib.cryptodev.asym.free)
+RTE_EXPORT_SYMBOL(__rte_cryptodev_trace_enqueue_burst)
RTE_TRACE_POINT_REGISTER(rte_cryptodev_trace_enqueue_burst,
lib.cryptodev.enq.burst)
+RTE_EXPORT_SYMBOL(__rte_cryptodev_trace_dequeue_burst)
RTE_TRACE_POINT_REGISTER(rte_cryptodev_trace_dequeue_burst,
lib.cryptodev.deq.burst)
@@ -198,5 +200,6 @@ RTE_TRACE_POINT_REGISTER(rte_cryptodev_trace_op_pool_create,
RTE_TRACE_POINT_REGISTER(rte_cryptodev_trace_count,
lib.cryptodev.count)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_cryptodev_trace_qp_depth_used, 24.03)
RTE_TRACE_POINT_REGISTER(rte_cryptodev_trace_qp_depth_used,
lib.cryptodev.qp_depth_used)
diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c
index 57b0e4ce14..1b3dcf1a3d 100644
--- a/lib/cryptodev/rte_cryptodev.c
+++ b/lib/cryptodev/rte_cryptodev.c
@@ -35,6 +35,7 @@ static uint8_t nb_drivers;
static struct rte_cryptodev rte_crypto_devices[RTE_CRYPTO_MAX_DEVS];
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodevs)
struct rte_cryptodev *rte_cryptodevs = rte_crypto_devices;
static struct rte_cryptodev_global cryptodev_globals = {
@@ -44,11 +45,13 @@ static struct rte_cryptodev_global cryptodev_globals = {
};
/* Public fastpath APIs. */
+RTE_EXPORT_SYMBOL(rte_crypto_fp_ops)
struct rte_crypto_fp_ops rte_crypto_fp_ops[RTE_CRYPTO_MAX_DEVS];
/* spinlock for crypto device callbacks */
static rte_spinlock_t rte_cryptodev_cb_lock = RTE_SPINLOCK_INITIALIZER;
+RTE_EXPORT_SYMBOL(rte_cryptodev_logtype)
RTE_LOG_REGISTER_DEFAULT(rte_cryptodev_logtype, INFO);
/**
@@ -105,6 +108,7 @@ crypto_cipher_algorithm_strings[] = {
* The crypto cipher operation strings identifiers.
* It could be used in application command line.
*/
+RTE_EXPORT_SYMBOL(rte_crypto_cipher_operation_strings)
const char *
rte_crypto_cipher_operation_strings[] = {
[RTE_CRYPTO_CIPHER_OP_ENCRYPT] = "encrypt",
@@ -177,6 +181,7 @@ crypto_aead_algorithm_strings[] = {
* The crypto AEAD operation strings identifiers.
* It could be used in application command line.
*/
+RTE_EXPORT_SYMBOL(rte_crypto_aead_operation_strings)
const char *
rte_crypto_aead_operation_strings[] = {
[RTE_CRYPTO_AEAD_OP_ENCRYPT] = "encrypt",
@@ -204,6 +209,7 @@ crypto_asym_xform_strings[] = {
/**
* Asymmetric crypto operation strings identifiers.
*/
+RTE_EXPORT_SYMBOL(rte_crypto_asym_op_strings)
const char *rte_crypto_asym_op_strings[] = {
[RTE_CRYPTO_ASYM_OP_ENCRYPT] = "encrypt",
[RTE_CRYPTO_ASYM_OP_DECRYPT] = "decrypt",
@@ -214,6 +220,7 @@ const char *rte_crypto_asym_op_strings[] = {
/**
* Asymmetric crypto key exchange operation strings identifiers.
*/
+RTE_EXPORT_SYMBOL(rte_crypto_asym_ke_strings)
const char *rte_crypto_asym_ke_strings[] = {
[RTE_CRYPTO_ASYM_KE_PRIV_KEY_GENERATE] = "priv_key_generate",
[RTE_CRYPTO_ASYM_KE_PUB_KEY_GENERATE] = "pub_key_generate",
@@ -238,6 +245,7 @@ struct rte_cryptodev_asym_session_pool_private_data {
/**< Session user data will be placed after sess_private_data */
};
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_cipher_algo_enum)
int
rte_cryptodev_get_cipher_algo_enum(enum rte_crypto_cipher_algorithm *algo_enum,
const char *algo_string)
@@ -258,6 +266,7 @@ rte_cryptodev_get_cipher_algo_enum(enum rte_crypto_cipher_algorithm *algo_enum,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_auth_algo_enum)
int
rte_cryptodev_get_auth_algo_enum(enum rte_crypto_auth_algorithm *algo_enum,
const char *algo_string)
@@ -278,6 +287,7 @@ rte_cryptodev_get_auth_algo_enum(enum rte_crypto_auth_algorithm *algo_enum,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_aead_algo_enum)
int
rte_cryptodev_get_aead_algo_enum(enum rte_crypto_aead_algorithm *algo_enum,
const char *algo_string)
@@ -298,6 +308,7 @@ rte_cryptodev_get_aead_algo_enum(enum rte_crypto_aead_algorithm *algo_enum,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_get_xform_enum)
int
rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
const char *xform_string)
@@ -319,6 +330,7 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_get_cipher_algo_string, 23.03)
const char *
rte_cryptodev_get_cipher_algo_string(enum rte_crypto_cipher_algorithm algo_enum)
{
@@ -332,6 +344,7 @@ rte_cryptodev_get_cipher_algo_string(enum rte_crypto_cipher_algorithm algo_enum)
return alg_str;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_get_auth_algo_string, 23.03)
const char *
rte_cryptodev_get_auth_algo_string(enum rte_crypto_auth_algorithm algo_enum)
{
@@ -345,6 +358,7 @@ rte_cryptodev_get_auth_algo_string(enum rte_crypto_auth_algorithm algo_enum)
return alg_str;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_get_aead_algo_string, 23.03)
const char *
rte_cryptodev_get_aead_algo_string(enum rte_crypto_aead_algorithm algo_enum)
{
@@ -358,6 +372,7 @@ rte_cryptodev_get_aead_algo_string(enum rte_crypto_aead_algorithm algo_enum)
return alg_str;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_asym_get_xform_string, 23.03)
const char *
rte_cryptodev_asym_get_xform_string(enum rte_crypto_asym_xform_type xform_enum)
{
@@ -375,12 +390,14 @@ rte_cryptodev_asym_get_xform_string(enum rte_crypto_asym_xform_type xform_enum)
* The crypto auth operation strings identifiers.
* It could be used in application command line.
*/
+RTE_EXPORT_SYMBOL(rte_crypto_auth_operation_strings)
const char *
rte_crypto_auth_operation_strings[] = {
[RTE_CRYPTO_AUTH_OP_VERIFY] = "verify",
[RTE_CRYPTO_AUTH_OP_GENERATE] = "generate"
};
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_capability_get)
const struct rte_cryptodev_symmetric_capability *
rte_cryptodev_sym_capability_get(uint8_t dev_id,
const struct rte_cryptodev_sym_capability_idx *idx)
@@ -450,6 +467,7 @@ param_range_check(uint16_t size, const struct rte_crypto_param_range *range)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_capability_get)
const struct rte_cryptodev_asymmetric_xform_capability *
rte_cryptodev_asym_capability_get(uint8_t dev_id,
const struct rte_cryptodev_asym_capability_idx *idx)
@@ -479,6 +497,7 @@ rte_cryptodev_asym_capability_get(uint8_t dev_id,
return asym_cap;
};
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_capability_check_cipher)
int
rte_cryptodev_sym_capability_check_cipher(
const struct rte_cryptodev_symmetric_capability *capability,
@@ -501,6 +520,7 @@ rte_cryptodev_sym_capability_check_cipher(
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_capability_check_auth)
int
rte_cryptodev_sym_capability_check_auth(
const struct rte_cryptodev_symmetric_capability *capability,
@@ -529,6 +549,7 @@ rte_cryptodev_sym_capability_check_auth(
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_capability_check_aead)
int
rte_cryptodev_sym_capability_check_aead(
const struct rte_cryptodev_symmetric_capability *capability,
@@ -563,6 +584,7 @@ rte_cryptodev_sym_capability_check_aead(
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_xform_capability_check_optype)
int
rte_cryptodev_asym_xform_capability_check_optype(
const struct rte_cryptodev_asymmetric_xform_capability *capability,
@@ -579,6 +601,7 @@ rte_cryptodev_asym_xform_capability_check_optype(
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_xform_capability_check_modlen)
int
rte_cryptodev_asym_xform_capability_check_modlen(
const struct rte_cryptodev_asymmetric_xform_capability *capability,
@@ -614,6 +637,7 @@ rte_cryptodev_asym_xform_capability_check_modlen(
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_xform_capability_check_hash)
bool
rte_cryptodev_asym_xform_capability_check_hash(
const struct rte_cryptodev_asymmetric_xform_capability *capability,
@@ -630,6 +654,7 @@ rte_cryptodev_asym_xform_capability_check_hash(
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_asym_xform_capability_check_opcap, 24.11)
int
rte_cryptodev_asym_xform_capability_check_opcap(
const struct rte_cryptodev_asymmetric_xform_capability *capability,
@@ -763,6 +788,7 @@ cryptodev_cb_init(struct rte_cryptodev *dev)
return -ENOMEM;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_feature_name)
const char *
rte_cryptodev_get_feature_name(uint64_t flag)
{
@@ -826,12 +852,14 @@ rte_cryptodev_get_feature_name(uint64_t flag)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_get_dev)
struct rte_cryptodev *
rte_cryptodev_pmd_get_dev(uint8_t dev_id)
{
return &cryptodev_globals.devs[dev_id];
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_get_named_dev)
struct rte_cryptodev *
rte_cryptodev_pmd_get_named_dev(const char *name)
{
@@ -862,6 +890,7 @@ rte_cryptodev_is_valid_device_data(uint8_t dev_id)
return 1;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_is_valid_dev)
unsigned int
rte_cryptodev_is_valid_dev(uint8_t dev_id)
{
@@ -883,6 +912,7 @@ rte_cryptodev_is_valid_dev(uint8_t dev_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_dev_id)
int
rte_cryptodev_get_dev_id(const char *name)
{
@@ -909,6 +939,7 @@ rte_cryptodev_get_dev_id(const char *name)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_count)
uint8_t
rte_cryptodev_count(void)
{
@@ -917,6 +948,7 @@ rte_cryptodev_count(void)
return cryptodev_globals.nb_devs;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_device_count_by_driver)
uint8_t
rte_cryptodev_device_count_by_driver(uint8_t driver_id)
{
@@ -933,6 +965,7 @@ rte_cryptodev_device_count_by_driver(uint8_t driver_id)
return dev_count;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_devices_get)
uint8_t
rte_cryptodev_devices_get(const char *driver_name, uint8_t *devices,
uint8_t nb_devices)
@@ -961,6 +994,7 @@ rte_cryptodev_devices_get(const char *driver_name, uint8_t *devices,
return count;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_sec_ctx)
void *
rte_cryptodev_get_sec_ctx(uint8_t dev_id)
{
@@ -976,6 +1010,7 @@ rte_cryptodev_get_sec_ctx(uint8_t dev_id)
return sec_ctx;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_socket_id)
int
rte_cryptodev_socket_id(uint8_t dev_id)
{
@@ -1070,6 +1105,7 @@ rte_cryptodev_find_free_device_index(void)
return RTE_CRYPTO_MAX_DEVS;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_allocate)
struct rte_cryptodev *
rte_cryptodev_pmd_allocate(const char *name, int socket_id)
{
@@ -1129,6 +1165,7 @@ rte_cryptodev_pmd_allocate(const char *name, int socket_id)
return cryptodev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_release_device)
int
rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev)
{
@@ -1158,6 +1195,7 @@ rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_queue_pair_count)
uint16_t
rte_cryptodev_queue_pair_count(uint8_t dev_id)
{
@@ -1240,6 +1278,7 @@ rte_cryptodev_queue_pairs_config(struct rte_cryptodev *dev, uint16_t nb_qpairs,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_queue_pair_reset, 24.11)
int
rte_cryptodev_queue_pair_reset(uint8_t dev_id, uint16_t queue_pair_id,
const struct rte_cryptodev_qp_conf *qp_conf, int socket_id)
@@ -1264,6 +1303,7 @@ rte_cryptodev_queue_pair_reset(uint8_t dev_id, uint16_t queue_pair_id,
return dev->dev_ops->queue_pair_reset(dev, queue_pair_id, qp_conf, socket_id);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_configure)
int
rte_cryptodev_configure(uint8_t dev_id, struct rte_cryptodev_config *config)
{
@@ -1311,6 +1351,7 @@ rte_cryptodev_configure(uint8_t dev_id, struct rte_cryptodev_config *config)
return dev->dev_ops->dev_configure(dev, config);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_start)
int
rte_cryptodev_start(uint8_t dev_id)
{
@@ -1348,6 +1389,7 @@ rte_cryptodev_start(uint8_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_stop)
void
rte_cryptodev_stop(uint8_t dev_id)
{
@@ -1377,6 +1419,7 @@ rte_cryptodev_stop(uint8_t dev_id)
dev->data->dev_started = 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_close)
int
rte_cryptodev_close(uint8_t dev_id)
{
@@ -1419,6 +1462,7 @@ rte_cryptodev_close(uint8_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_qp_status)
int
rte_cryptodev_get_qp_status(uint8_t dev_id, uint16_t queue_pair_id)
{
@@ -1473,6 +1517,7 @@ rte_cryptodev_sym_is_valid_session_pool(struct rte_mempool *mp,
return 1;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_queue_pair_setup)
int
rte_cryptodev_queue_pair_setup(uint8_t dev_id, uint16_t queue_pair_id,
const struct rte_cryptodev_qp_conf *qp_conf, int socket_id)
@@ -1526,6 +1571,7 @@ rte_cryptodev_queue_pair_setup(uint8_t dev_id, uint16_t queue_pair_id,
return dev->dev_ops->queue_pair_setup(dev, queue_pair_id, qp_conf, socket_id);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_add_enq_callback)
struct rte_cryptodev_cb *
rte_cryptodev_add_enq_callback(uint8_t dev_id,
uint16_t qp_id,
@@ -1596,6 +1642,7 @@ rte_cryptodev_add_enq_callback(uint8_t dev_id,
return cb;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_remove_enq_callback)
int
rte_cryptodev_remove_enq_callback(uint8_t dev_id,
uint16_t qp_id,
@@ -1672,6 +1719,7 @@ rte_cryptodev_remove_enq_callback(uint8_t dev_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_add_deq_callback)
struct rte_cryptodev_cb *
rte_cryptodev_add_deq_callback(uint8_t dev_id,
uint16_t qp_id,
@@ -1743,6 +1791,7 @@ rte_cryptodev_add_deq_callback(uint8_t dev_id,
return cb;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_remove_deq_callback)
int
rte_cryptodev_remove_deq_callback(uint8_t dev_id,
uint16_t qp_id,
@@ -1819,6 +1868,7 @@ rte_cryptodev_remove_deq_callback(uint8_t dev_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_stats_get)
int
rte_cryptodev_stats_get(uint8_t dev_id, struct rte_cryptodev_stats *stats)
{
@@ -1845,6 +1895,7 @@ rte_cryptodev_stats_get(uint8_t dev_id, struct rte_cryptodev_stats *stats)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_stats_reset)
void
rte_cryptodev_stats_reset(uint8_t dev_id)
{
@@ -1864,6 +1915,7 @@ rte_cryptodev_stats_reset(uint8_t dev_id)
dev->dev_ops->stats_reset(dev);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_info_get)
void
rte_cryptodev_info_get(uint8_t dev_id, struct rte_cryptodev_info *dev_info)
{
@@ -1889,6 +1941,7 @@ rte_cryptodev_info_get(uint8_t dev_id, struct rte_cryptodev_info *dev_info)
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_callback_register)
int
rte_cryptodev_callback_register(uint8_t dev_id,
enum rte_cryptodev_event_type event,
@@ -1934,6 +1987,7 @@ rte_cryptodev_callback_register(uint8_t dev_id,
return (user_cb == NULL) ? -ENOMEM : 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_callback_unregister)
int
rte_cryptodev_callback_unregister(uint8_t dev_id,
enum rte_cryptodev_event_type event,
@@ -1982,6 +2036,7 @@ rte_cryptodev_callback_unregister(uint8_t dev_id,
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_callback_process)
void
rte_cryptodev_pmd_callback_process(struct rte_cryptodev *dev,
enum rte_cryptodev_event_type event)
@@ -2004,6 +2059,7 @@ rte_cryptodev_pmd_callback_process(struct rte_cryptodev *dev,
rte_spinlock_unlock(&rte_cryptodev_cb_lock);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_cryptodev_queue_pair_event_error_query, 23.03)
int
rte_cryptodev_queue_pair_event_error_query(uint8_t dev_id, uint16_t qp_id)
{
@@ -2023,6 +2079,7 @@ rte_cryptodev_queue_pair_event_error_query(uint8_t dev_id, uint16_t qp_id)
return dev->dev_ops->queue_pair_event_error_query(dev, qp_id);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_session_pool_create)
struct rte_mempool *
rte_cryptodev_sym_session_pool_create(const char *name, uint32_t nb_elts,
uint32_t elt_size, uint32_t cache_size, uint16_t user_data_size,
@@ -2061,6 +2118,7 @@ rte_cryptodev_sym_session_pool_create(const char *name, uint32_t nb_elts,
return mp;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_session_pool_create)
struct rte_mempool *
rte_cryptodev_asym_session_pool_create(const char *name, uint32_t nb_elts,
uint32_t cache_size, uint16_t user_data_size, int socket_id)
@@ -2111,6 +2169,7 @@ rte_cryptodev_asym_session_pool_create(const char *name, uint32_t nb_elts,
return mp;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_session_create)
void *
rte_cryptodev_sym_session_create(uint8_t dev_id,
struct rte_crypto_sym_xform *xforms,
@@ -2178,6 +2237,7 @@ rte_cryptodev_sym_session_create(uint8_t dev_id,
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_session_create)
int
rte_cryptodev_asym_session_create(uint8_t dev_id,
struct rte_crypto_asym_xform *xforms, struct rte_mempool *mp,
@@ -2254,6 +2314,7 @@ rte_cryptodev_asym_session_create(uint8_t dev_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_session_free)
int
rte_cryptodev_sym_session_free(uint8_t dev_id, void *_sess)
{
@@ -2300,6 +2361,7 @@ rte_cryptodev_sym_session_free(uint8_t dev_id, void *_sess)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_session_free)
int
rte_cryptodev_asym_session_free(uint8_t dev_id, void *sess)
{
@@ -2331,12 +2393,14 @@ rte_cryptodev_asym_session_free(uint8_t dev_id, void *sess)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_get_header_session_size)
unsigned int
rte_cryptodev_asym_get_header_session_size(void)
{
return sizeof(struct rte_cryptodev_asym_session);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_get_private_session_size)
unsigned int
rte_cryptodev_sym_get_private_session_size(uint8_t dev_id)
{
@@ -2359,6 +2423,7 @@ rte_cryptodev_sym_get_private_session_size(uint8_t dev_id)
return priv_sess_size;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_get_private_session_size)
unsigned int
rte_cryptodev_asym_get_private_session_size(uint8_t dev_id)
{
@@ -2381,6 +2446,7 @@ rte_cryptodev_asym_get_private_session_size(uint8_t dev_id)
return priv_sess_size;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_session_set_user_data)
int
rte_cryptodev_sym_session_set_user_data(void *_sess, void *data,
uint16_t size)
@@ -2400,6 +2466,7 @@ rte_cryptodev_sym_session_set_user_data(void *_sess, void *data,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_session_get_user_data)
void *
rte_cryptodev_sym_session_get_user_data(void *_sess)
{
@@ -2416,6 +2483,7 @@ rte_cryptodev_sym_session_get_user_data(void *_sess)
return data;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_session_set_user_data)
int
rte_cryptodev_asym_session_set_user_data(void *session, void *data, uint16_t size)
{
@@ -2435,6 +2503,7 @@ rte_cryptodev_asym_session_set_user_data(void *session, void *data, uint16_t siz
return 0;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_asym_session_get_user_data)
void *
rte_cryptodev_asym_session_get_user_data(void *session)
{
@@ -2459,6 +2528,7 @@ sym_crypto_fill_status(struct rte_crypto_sym_vec *vec, int32_t errnum)
vec->status[i] = errnum;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_sym_cpu_crypto_process)
uint32_t
rte_cryptodev_sym_cpu_crypto_process(uint8_t dev_id,
void *_sess, union rte_crypto_sym_ofs ofs,
@@ -2485,6 +2555,7 @@ rte_cryptodev_sym_cpu_crypto_process(uint8_t dev_id,
return dev->dev_ops->sym_cpu_process(dev, sess, ofs, vec);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_get_raw_dp_ctx_size)
int
rte_cryptodev_get_raw_dp_ctx_size(uint8_t dev_id)
{
@@ -2511,6 +2582,7 @@ rte_cryptodev_get_raw_dp_ctx_size(uint8_t dev_id)
return RTE_ALIGN_CEIL((size + priv_size), 8);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_configure_raw_dp_ctx)
int
rte_cryptodev_configure_raw_dp_ctx(uint8_t dev_id, uint16_t qp_id,
struct rte_crypto_raw_dp_ctx *ctx,
@@ -2534,6 +2606,7 @@ rte_cryptodev_configure_raw_dp_ctx(uint8_t dev_id, uint16_t qp_id,
sess_type, session_ctx, is_update);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_session_event_mdata_set)
int
rte_cryptodev_session_event_mdata_set(uint8_t dev_id, void *sess,
enum rte_crypto_op_type op_type,
@@ -2577,6 +2650,7 @@ rte_cryptodev_session_event_mdata_set(uint8_t dev_id, void *sess,
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_raw_enqueue_burst)
uint32_t
rte_cryptodev_raw_enqueue_burst(struct rte_crypto_raw_dp_ctx *ctx,
struct rte_crypto_sym_vec *vec, union rte_crypto_sym_ofs ofs,
@@ -2586,6 +2660,7 @@ rte_cryptodev_raw_enqueue_burst(struct rte_crypto_raw_dp_ctx *ctx,
ofs, user_data, enqueue_status);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_raw_enqueue_done)
int
rte_cryptodev_raw_enqueue_done(struct rte_crypto_raw_dp_ctx *ctx,
uint32_t n)
@@ -2593,6 +2668,7 @@ rte_cryptodev_raw_enqueue_done(struct rte_crypto_raw_dp_ctx *ctx,
return ctx->enqueue_done(ctx->qp_data, ctx->drv_ctx_data, n);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_raw_dequeue_burst)
uint32_t
rte_cryptodev_raw_dequeue_burst(struct rte_crypto_raw_dp_ctx *ctx,
rte_cryptodev_raw_get_dequeue_count_t get_dequeue_count,
@@ -2606,6 +2682,7 @@ rte_cryptodev_raw_dequeue_burst(struct rte_crypto_raw_dp_ctx *ctx,
out_user_data, is_user_data_array, n_success_jobs, status);
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_raw_dequeue_done)
int
rte_cryptodev_raw_dequeue_done(struct rte_crypto_raw_dp_ctx *ctx,
uint32_t n)
@@ -2632,6 +2709,7 @@ rte_crypto_op_init(struct rte_mempool *mempool,
}
+RTE_EXPORT_SYMBOL(rte_crypto_op_pool_create)
struct rte_mempool *
rte_crypto_op_pool_create(const char *name, enum rte_crypto_op_type type,
unsigned nb_elts, unsigned cache_size, uint16_t priv_size,
@@ -2701,6 +2779,7 @@ rte_crypto_op_pool_create(const char *name, enum rte_crypto_op_type type,
return mp;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_pmd_create_dev_name)
int
rte_cryptodev_pmd_create_dev_name(char *name, const char *dev_name_prefix)
{
@@ -2730,6 +2809,7 @@ TAILQ_HEAD(cryptodev_driver_list, cryptodev_driver);
static struct cryptodev_driver_list cryptodev_driver_list =
TAILQ_HEAD_INITIALIZER(cryptodev_driver_list);
+RTE_EXPORT_SYMBOL(rte_cryptodev_driver_id_get)
int
rte_cryptodev_driver_id_get(const char *name)
{
@@ -2755,6 +2835,7 @@ rte_cryptodev_driver_id_get(const char *name)
return driver_id;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_name_get)
const char *
rte_cryptodev_name_get(uint8_t dev_id)
{
@@ -2774,6 +2855,7 @@ rte_cryptodev_name_get(uint8_t dev_id)
return dev->data->name;
}
+RTE_EXPORT_SYMBOL(rte_cryptodev_driver_name_get)
const char *
rte_cryptodev_driver_name_get(uint8_t driver_id)
{
@@ -2789,6 +2871,7 @@ rte_cryptodev_driver_name_get(uint8_t driver_id)
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_cryptodev_allocate_driver)
uint8_t
rte_cryptodev_allocate_driver(struct cryptodev_driver *crypto_drv,
const struct rte_driver *drv)
diff --git a/lib/dispatcher/rte_dispatcher.c b/lib/dispatcher/rte_dispatcher.c
index 79349172bc..485a111d08 100644
--- a/lib/dispatcher/rte_dispatcher.c
+++ b/lib/dispatcher/rte_dispatcher.c
@@ -266,6 +266,7 @@ evd_service_unregister(struct rte_dispatcher *dispatcher)
return rc;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_create, 23.11)
struct rte_dispatcher *
rte_dispatcher_create(uint8_t event_dev_id)
{
@@ -300,6 +301,7 @@ rte_dispatcher_create(uint8_t event_dev_id)
return dispatcher;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_free, 23.11)
int
rte_dispatcher_free(struct rte_dispatcher *dispatcher)
{
@@ -317,6 +319,7 @@ rte_dispatcher_free(struct rte_dispatcher *dispatcher)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_service_id_get, 23.11)
uint32_t
rte_dispatcher_service_id_get(const struct rte_dispatcher *dispatcher)
{
@@ -340,6 +343,7 @@ lcore_port_index(struct rte_dispatcher_lcore *lcore,
return -1;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_bind_port_to_lcore, 23.11)
int
rte_dispatcher_bind_port_to_lcore(struct rte_dispatcher *dispatcher,
uint8_t event_port_id, uint16_t batch_size, uint64_t timeout,
@@ -369,6 +373,7 @@ rte_dispatcher_bind_port_to_lcore(struct rte_dispatcher *dispatcher,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_unbind_port_from_lcore, 23.11)
int
rte_dispatcher_unbind_port_from_lcore(struct rte_dispatcher *dispatcher,
uint8_t event_port_id, unsigned int lcore_id)
@@ -451,6 +456,7 @@ evd_install_handler(struct rte_dispatcher *dispatcher,
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_register, 23.11)
int
rte_dispatcher_register(struct rte_dispatcher *dispatcher,
rte_dispatcher_match_t match_fun, void *match_data,
@@ -522,6 +528,7 @@ evd_uninstall_handler(struct rte_dispatcher *dispatcher, int handler_id)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_unregister, 23.11)
int
rte_dispatcher_unregister(struct rte_dispatcher *dispatcher, int handler_id)
{
@@ -575,6 +582,7 @@ evd_alloc_finalizer(struct rte_dispatcher *dispatcher)
return finalizer;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_finalize_register, 23.11)
int
rte_dispatcher_finalize_register(struct rte_dispatcher *dispatcher,
rte_dispatcher_finalize_t finalize_fun, void *finalize_data)
@@ -592,6 +600,7 @@ rte_dispatcher_finalize_register(struct rte_dispatcher *dispatcher,
return finalizer->id;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_finalize_unregister, 23.11)
int
rte_dispatcher_finalize_unregister(struct rte_dispatcher *dispatcher,
int finalizer_id)
@@ -643,12 +652,14 @@ evd_set_service_runstate(struct rte_dispatcher *dispatcher, int state)
RTE_VERIFY(rc == 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_start, 23.11)
void
rte_dispatcher_start(struct rte_dispatcher *dispatcher)
{
evd_set_service_runstate(dispatcher, 1);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_stop, 23.11)
void
rte_dispatcher_stop(struct rte_dispatcher *dispatcher)
{
@@ -665,6 +676,7 @@ evd_aggregate_stats(struct rte_dispatcher_stats *result,
result->ev_drop_count += part->ev_drop_count;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_stats_get, 23.11)
void
rte_dispatcher_stats_get(const struct rte_dispatcher *dispatcher,
struct rte_dispatcher_stats *stats)
@@ -681,6 +693,7 @@ rte_dispatcher_stats_get(const struct rte_dispatcher *dispatcher,
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_stats_reset, 23.11)
void
rte_dispatcher_stats_reset(struct rte_dispatcher *dispatcher)
{
diff --git a/lib/distributor/rte_distributor.c b/lib/distributor/rte_distributor.c
index e58727cdc2..1133eac230 100644
--- a/lib/distributor/rte_distributor.c
+++ b/lib/distributor/rte_distributor.c
@@ -31,6 +31,7 @@ EAL_REGISTER_TAILQ(rte_dist_burst_tailq)
/**** Burst Packet APIs called by workers ****/
+RTE_EXPORT_SYMBOL(rte_distributor_request_pkt)
void
rte_distributor_request_pkt(struct rte_distributor *d,
unsigned int worker_id, struct rte_mbuf **oldpkt,
@@ -83,6 +84,7 @@ rte_distributor_request_pkt(struct rte_distributor *d,
rte_memory_order_release);
}
+RTE_EXPORT_SYMBOL(rte_distributor_poll_pkt)
int
rte_distributor_poll_pkt(struct rte_distributor *d,
unsigned int worker_id, struct rte_mbuf **pkts)
@@ -127,6 +129,7 @@ rte_distributor_poll_pkt(struct rte_distributor *d,
return count;
}
+RTE_EXPORT_SYMBOL(rte_distributor_get_pkt)
int
rte_distributor_get_pkt(struct rte_distributor *d,
unsigned int worker_id, struct rte_mbuf **pkts,
@@ -157,6 +160,7 @@ rte_distributor_get_pkt(struct rte_distributor *d,
return count;
}
+RTE_EXPORT_SYMBOL(rte_distributor_return_pkt)
int
rte_distributor_return_pkt(struct rte_distributor *d,
unsigned int worker_id, struct rte_mbuf **oldpkt, int num)
@@ -439,6 +443,7 @@ release(struct rte_distributor *d, unsigned int wkr)
/* process a set of packets to distribute them to workers */
+RTE_EXPORT_SYMBOL(rte_distributor_process)
int
rte_distributor_process(struct rte_distributor *d,
struct rte_mbuf **mbufs, unsigned int num_mbufs)
@@ -609,6 +614,7 @@ rte_distributor_process(struct rte_distributor *d,
}
/* return to the caller, packets returned from workers */
+RTE_EXPORT_SYMBOL(rte_distributor_returned_pkts)
int
rte_distributor_returned_pkts(struct rte_distributor *d,
struct rte_mbuf **mbufs, unsigned int max_mbufs)
@@ -655,6 +661,7 @@ total_outstanding(const struct rte_distributor *d)
* Flush the distributor, so that there are no outstanding packets in flight or
* queued up.
*/
+RTE_EXPORT_SYMBOL(rte_distributor_flush)
int
rte_distributor_flush(struct rte_distributor *d)
{
@@ -687,6 +694,7 @@ rte_distributor_flush(struct rte_distributor *d)
}
/* clears the internal returns array in the distributor */
+RTE_EXPORT_SYMBOL(rte_distributor_clear_returns)
void
rte_distributor_clear_returns(struct rte_distributor *d)
{
@@ -708,6 +716,7 @@ rte_distributor_clear_returns(struct rte_distributor *d)
}
/* creates a distributor instance */
+RTE_EXPORT_SYMBOL(rte_distributor_create)
struct rte_distributor *
rte_distributor_create(const char *name,
unsigned int socket_id,
diff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c
index 4a075ee1c6..1bc852f1e9 100644
--- a/lib/dmadev/rte_dmadev.c
+++ b/lib/dmadev/rte_dmadev.c
@@ -21,6 +21,7 @@
static int16_t dma_devices_max;
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dma_fp_objs)
struct rte_dma_fp_object *rte_dma_fp_objs;
static struct rte_dma_dev *rte_dma_devices;
static struct {
@@ -37,6 +38,7 @@ RTE_LOG_REGISTER_DEFAULT(rte_dma_logtype, INFO);
#define RTE_DMA_LOG(level, ...) \
RTE_LOG_LINE(level, DMADEV, "" __VA_ARGS__)
+RTE_EXPORT_SYMBOL(rte_dma_dev_max)
int
rte_dma_dev_max(size_t dev_max)
{
@@ -54,6 +56,7 @@ rte_dma_dev_max(size_t dev_max)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_dma_next_dev)
int16_t
rte_dma_next_dev(int16_t start_dev_id)
{
@@ -348,6 +351,7 @@ dma_release(struct rte_dma_dev *dev)
memset(dev, 0, sizeof(struct rte_dma_dev));
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dma_pmd_allocate)
struct rte_dma_dev *
rte_dma_pmd_allocate(const char *name, int numa_node, size_t private_data_size)
{
@@ -365,6 +369,7 @@ rte_dma_pmd_allocate(const char *name, int numa_node, size_t private_data_size)
return dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dma_pmd_release)
int
rte_dma_pmd_release(const char *name)
{
@@ -384,6 +389,7 @@ rte_dma_pmd_release(const char *name)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_dma_get_dev_id_by_name)
int
rte_dma_get_dev_id_by_name(const char *name)
{
@@ -399,6 +405,7 @@ rte_dma_get_dev_id_by_name(const char *name)
return dev->data->dev_id;
}
+RTE_EXPORT_SYMBOL(rte_dma_is_valid)
bool
rte_dma_is_valid(int16_t dev_id)
{
@@ -407,6 +414,7 @@ rte_dma_is_valid(int16_t dev_id)
rte_dma_devices[dev_id].state != RTE_DMA_DEV_UNUSED;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_dma_pmd_get_dev_by_id)
struct rte_dma_dev *
rte_dma_pmd_get_dev_by_id(int16_t dev_id)
{
@@ -416,6 +424,7 @@ rte_dma_pmd_get_dev_by_id(int16_t dev_id)
return &rte_dma_devices[dev_id];
}
+RTE_EXPORT_SYMBOL(rte_dma_count_avail)
uint16_t
rte_dma_count_avail(void)
{
@@ -433,6 +442,7 @@ rte_dma_count_avail(void)
return count;
}
+RTE_EXPORT_SYMBOL(rte_dma_info_get)
int
rte_dma_info_get(int16_t dev_id, struct rte_dma_info *dev_info)
{
@@ -464,6 +474,7 @@ rte_dma_info_get(int16_t dev_id, struct rte_dma_info *dev_info)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_dma_configure)
int
rte_dma_configure(int16_t dev_id, const struct rte_dma_conf *dev_conf)
{
@@ -521,6 +532,7 @@ rte_dma_configure(int16_t dev_id, const struct rte_dma_conf *dev_conf)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dma_start)
int
rte_dma_start(int16_t dev_id)
{
@@ -554,6 +566,7 @@ rte_dma_start(int16_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_dma_stop)
int
rte_dma_stop(int16_t dev_id)
{
@@ -582,6 +595,7 @@ rte_dma_stop(int16_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_dma_close)
int
rte_dma_close(int16_t dev_id)
{
@@ -610,6 +624,7 @@ rte_dma_close(int16_t dev_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dma_vchan_setup)
int
rte_dma_vchan_setup(int16_t dev_id, uint16_t vchan,
const struct rte_dma_vchan_conf *conf)
@@ -704,6 +719,7 @@ rte_dma_vchan_setup(int16_t dev_id, uint16_t vchan,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dma_stats_get)
int
rte_dma_stats_get(int16_t dev_id, uint16_t vchan, struct rte_dma_stats *stats)
{
@@ -726,6 +742,7 @@ rte_dma_stats_get(int16_t dev_id, uint16_t vchan, struct rte_dma_stats *stats)
return dev->dev_ops->stats_get(dev, vchan, stats, sizeof(struct rte_dma_stats));
}
+RTE_EXPORT_SYMBOL(rte_dma_stats_reset)
int
rte_dma_stats_reset(int16_t dev_id, uint16_t vchan)
{
@@ -751,6 +768,7 @@ rte_dma_stats_reset(int16_t dev_id, uint16_t vchan)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dma_vchan_status)
int
rte_dma_vchan_status(int16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status *status)
{
@@ -818,6 +836,7 @@ dma_dump_capability(FILE *f, uint64_t dev_capa)
(void)fprintf(f, "\n");
}
+RTE_EXPORT_SYMBOL(rte_dma_dump)
int
rte_dma_dump(int16_t dev_id, FILE *f)
{
diff --git a/lib/dmadev/rte_dmadev_trace_points.c b/lib/dmadev/rte_dmadev_trace_points.c
index 4c74356346..a539d8b39d 100644
--- a/lib/dmadev/rte_dmadev_trace_points.c
+++ b/lib/dmadev/rte_dmadev_trace_points.c
@@ -36,23 +36,30 @@ RTE_TRACE_POINT_REGISTER(rte_dma_trace_vchan_status,
RTE_TRACE_POINT_REGISTER(rte_dma_trace_dump,
lib.dmadev.dump)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_dma_trace_copy, 24.03)
RTE_TRACE_POINT_REGISTER(rte_dma_trace_copy,
lib.dmadev.copy)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_dma_trace_copy_sg, 24.03)
RTE_TRACE_POINT_REGISTER(rte_dma_trace_copy_sg,
lib.dmadev.copy_sg)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_dma_trace_fill, 24.03)
RTE_TRACE_POINT_REGISTER(rte_dma_trace_fill,
lib.dmadev.fill)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_dma_trace_submit, 24.03)
RTE_TRACE_POINT_REGISTER(rte_dma_trace_submit,
lib.dmadev.submit)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_dma_trace_completed, 24.03)
RTE_TRACE_POINT_REGISTER(rte_dma_trace_completed,
lib.dmadev.completed)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_dma_trace_completed_status, 24.03)
RTE_TRACE_POINT_REGISTER(rte_dma_trace_completed_status,
lib.dmadev.completed_status)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_dma_trace_burst_capacity, 24.03)
RTE_TRACE_POINT_REGISTER(rte_dma_trace_burst_capacity,
lib.dmadev.burst_capacity)
diff --git a/lib/eal/arm/rte_cpuflags.c b/lib/eal/arm/rte_cpuflags.c
index 88e10c6da0..c763e25fa8 100644
--- a/lib/eal/arm/rte_cpuflags.c
+++ b/lib/eal/arm/rte_cpuflags.c
@@ -135,6 +135,7 @@ rte_cpu_get_features(hwcap_registers_t out)
/*
* Checks if a particular flag is available on current machine.
*/
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_enabled)
int
rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
{
@@ -152,6 +153,7 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
return (regs[feat->reg] >> feat->bit) & 1;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_name)
const char *
rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
{
@@ -160,6 +162,7 @@ rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
return rte_cpu_feature_table[feature].name;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_intrinsics_support)
void
rte_cpu_get_intrinsics_support(struct rte_cpu_intrinsics *intrinsics)
{
diff --git a/lib/eal/arm/rte_hypervisor.c b/lib/eal/arm/rte_hypervisor.c
index 08a1c97d10..c22cee1319 100644
--- a/lib/eal/arm/rte_hypervisor.c
+++ b/lib/eal/arm/rte_hypervisor.c
@@ -4,6 +4,7 @@
#include "rte_hypervisor.h"
+RTE_EXPORT_SYMBOL(rte_hypervisor_get)
enum rte_hypervisor
rte_hypervisor_get(void)
{
diff --git a/lib/eal/arm/rte_power_intrinsics.c b/lib/eal/arm/rte_power_intrinsics.c
index 6475bbca04..c7093c1bd1 100644
--- a/lib/eal/arm/rte_power_intrinsics.c
+++ b/lib/eal/arm/rte_power_intrinsics.c
@@ -26,6 +26,7 @@ RTE_INIT(rte_power_intrinsics_init)
* This function uses WFE/WFET instruction to make lcore suspend
* execution on ARM.
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor)
int
rte_power_monitor(const struct rte_power_monitor_cond *pmc,
const uint64_t tsc_timestamp)
@@ -78,6 +79,7 @@ rte_power_monitor(const struct rte_power_monitor_cond *pmc,
/**
* This function is not supported on ARM.
*/
+RTE_EXPORT_SYMBOL(rte_power_pause)
int
rte_power_pause(const uint64_t tsc_timestamp)
{
@@ -91,6 +93,7 @@ rte_power_pause(const uint64_t tsc_timestamp)
* on ARM.
* Note that lcore_id is not used here.
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor_wakeup)
int
rte_power_monitor_wakeup(const unsigned int lcore_id)
{
@@ -104,6 +107,7 @@ rte_power_monitor_wakeup(const unsigned int lcore_id)
#endif /* RTE_ARCH_64 */
}
+RTE_EXPORT_SYMBOL(rte_power_monitor_multi)
int
rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[],
const uint32_t num, const uint64_t tsc_timestamp)
diff --git a/lib/eal/common/eal_common_bus.c b/lib/eal/common/eal_common_bus.c
index 7cbd09c421..80a44409b3 100644
--- a/lib/eal/common/eal_common_bus.c
+++ b/lib/eal/common/eal_common_bus.c
@@ -16,12 +16,14 @@
static struct rte_bus_list rte_bus_list =
TAILQ_HEAD_INITIALIZER(rte_bus_list);
+RTE_EXPORT_SYMBOL(rte_bus_name)
const char *
rte_bus_name(const struct rte_bus *bus)
{
return bus->name;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_bus_register)
void
rte_bus_register(struct rte_bus *bus)
{
@@ -38,6 +40,7 @@ rte_bus_register(struct rte_bus *bus)
EAL_LOG(DEBUG, "Registered [%s] bus.", rte_bus_name(bus));
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_bus_unregister)
void
rte_bus_unregister(struct rte_bus *bus)
{
@@ -46,6 +49,7 @@ rte_bus_unregister(struct rte_bus *bus)
}
/* Scan all the buses for registered devices */
+RTE_EXPORT_SYMBOL(rte_bus_scan)
int
rte_bus_scan(void)
{
@@ -63,6 +67,7 @@ rte_bus_scan(void)
}
/* Probe all devices of all buses */
+RTE_EXPORT_SYMBOL(rte_bus_probe)
int
rte_bus_probe(void)
{
@@ -124,6 +129,7 @@ bus_dump_one(FILE *f, struct rte_bus *bus)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_bus_dump)
void
rte_bus_dump(FILE *f)
{
@@ -140,6 +146,7 @@ rte_bus_dump(FILE *f)
}
}
+RTE_EXPORT_SYMBOL(rte_bus_find)
struct rte_bus *
rte_bus_find(const struct rte_bus *start, rte_bus_cmp_t cmp,
const void *data)
@@ -175,6 +182,7 @@ bus_find_device(const struct rte_bus *bus, const void *_dev)
return dev == NULL;
}
+RTE_EXPORT_SYMBOL(rte_bus_find_by_device)
struct rte_bus *
rte_bus_find_by_device(const struct rte_device *dev)
{
@@ -189,6 +197,7 @@ cmp_bus_name(const struct rte_bus *bus, const void *_name)
return strcmp(rte_bus_name(bus), name);
}
+RTE_EXPORT_SYMBOL(rte_bus_find_by_name)
struct rte_bus *
rte_bus_find_by_name(const char *busname)
{
@@ -220,6 +229,7 @@ rte_bus_find_by_device_name(const char *str)
/*
* Get iommu class of devices on the bus.
*/
+RTE_EXPORT_SYMBOL(rte_bus_get_iommu_class)
enum rte_iova_mode
rte_bus_get_iommu_class(void)
{
diff --git a/lib/eal/common/eal_common_class.c b/lib/eal/common/eal_common_class.c
index 4938ec6707..b5c4e4b38e 100644
--- a/lib/eal/common/eal_common_class.c
+++ b/lib/eal/common/eal_common_class.c
@@ -14,6 +14,7 @@
static struct rte_class_list rte_class_list =
TAILQ_HEAD_INITIALIZER(rte_class_list);
+RTE_EXPORT_SYMBOL(rte_class_register)
void
rte_class_register(struct rte_class *class)
{
@@ -24,6 +25,7 @@ rte_class_register(struct rte_class *class)
EAL_LOG(DEBUG, "Registered [%s] device class.", class->name);
}
+RTE_EXPORT_SYMBOL(rte_class_unregister)
void
rte_class_unregister(struct rte_class *class)
{
@@ -31,6 +33,7 @@ rte_class_unregister(struct rte_class *class)
EAL_LOG(DEBUG, "Unregistered [%s] device class.", class->name);
}
+RTE_EXPORT_SYMBOL(rte_class_find)
struct rte_class *
rte_class_find(const struct rte_class *start, rte_class_cmp_t cmp,
const void *data)
@@ -57,6 +60,7 @@ cmp_class_name(const struct rte_class *class, const void *_name)
return strcmp(class->name, name);
}
+RTE_EXPORT_SYMBOL(rte_class_find_by_name)
struct rte_class *
rte_class_find_by_name(const char *name)
{
diff --git a/lib/eal/common/eal_common_config.c b/lib/eal/common/eal_common_config.c
index d3494d6e21..daade14038 100644
--- a/lib/eal/common/eal_common_config.c
+++ b/lib/eal/common/eal_common_config.c
@@ -28,6 +28,7 @@ static char runtime_dir[PATH_MAX];
/* internal configuration */
static struct internal_config internal_config;
+RTE_EXPORT_SYMBOL(rte_eal_get_runtime_dir)
const char *
rte_eal_get_runtime_dir(void)
{
@@ -59,6 +60,7 @@ eal_get_internal_configuration(void)
return &internal_config;
}
+RTE_EXPORT_SYMBOL(rte_eal_iova_mode)
enum rte_iova_mode
rte_eal_iova_mode(void)
{
@@ -66,6 +68,7 @@ rte_eal_iova_mode(void)
}
/* Get the EAL base address */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eal_get_baseaddr)
uint64_t
rte_eal_get_baseaddr(void)
{
@@ -74,6 +77,7 @@ rte_eal_get_baseaddr(void)
eal_get_baseaddr();
}
+RTE_EXPORT_SYMBOL(rte_eal_process_type)
enum rte_proc_type_t
rte_eal_process_type(void)
{
@@ -81,6 +85,7 @@ rte_eal_process_type(void)
}
/* Return user provided mbuf pool ops name */
+RTE_EXPORT_SYMBOL(rte_eal_mbuf_user_pool_ops)
const char *
rte_eal_mbuf_user_pool_ops(void)
{
@@ -88,12 +93,14 @@ rte_eal_mbuf_user_pool_ops(void)
}
/* return non-zero if hugepages are enabled. */
+RTE_EXPORT_SYMBOL(rte_eal_has_hugepages)
int
rte_eal_has_hugepages(void)
{
return !internal_config.no_hugetlbfs;
}
+RTE_EXPORT_SYMBOL(rte_eal_has_pci)
int
rte_eal_has_pci(void)
{
diff --git a/lib/eal/common/eal_common_cpuflags.c b/lib/eal/common/eal_common_cpuflags.c
index dc5f75d053..a6e20227ef 100644
--- a/lib/eal/common/eal_common_cpuflags.c
+++ b/lib/eal/common/eal_common_cpuflags.c
@@ -7,6 +7,7 @@
#include <rte_common.h>
#include <rte_cpuflags.h>
+RTE_EXPORT_SYMBOL(rte_cpu_is_supported)
int
rte_cpu_is_supported(void)
{
diff --git a/lib/eal/common/eal_common_debug.c b/lib/eal/common/eal_common_debug.c
index bcfcd6df6f..5839ba1d23 100644
--- a/lib/eal/common/eal_common_debug.c
+++ b/lib/eal/common/eal_common_debug.c
@@ -13,6 +13,7 @@
#include "eal_private.h"
+RTE_EXPORT_SYMBOL(__rte_panic)
void
__rte_panic(const char *funcname, const char *format, ...)
{
@@ -30,6 +31,7 @@ __rte_panic(const char *funcname, const char *format, ...)
* Like rte_panic this terminates the application. However, no traceback is
* provided and no core-dump is generated.
*/
+RTE_EXPORT_SYMBOL(rte_exit)
void
rte_exit(int exit_code, const char *format, ...)
{
diff --git a/lib/eal/common/eal_common_dev.c b/lib/eal/common/eal_common_dev.c
index 70aa04dcd9..cc063bc106 100644
--- a/lib/eal/common/eal_common_dev.c
+++ b/lib/eal/common/eal_common_dev.c
@@ -20,42 +20,49 @@
#include "eal_private.h"
#include "hotplug_mp.h"
+RTE_EXPORT_SYMBOL(rte_driver_name)
const char *
rte_driver_name(const struct rte_driver *driver)
{
return driver->name;
}
+RTE_EXPORT_SYMBOL(rte_dev_bus)
const struct rte_bus *
rte_dev_bus(const struct rte_device *dev)
{
return dev->bus;
}
+RTE_EXPORT_SYMBOL(rte_dev_bus_info)
const char *
rte_dev_bus_info(const struct rte_device *dev)
{
return dev->bus_info;
}
+RTE_EXPORT_SYMBOL(rte_dev_devargs)
const struct rte_devargs *
rte_dev_devargs(const struct rte_device *dev)
{
return dev->devargs;
}
+RTE_EXPORT_SYMBOL(rte_dev_driver)
const struct rte_driver *
rte_dev_driver(const struct rte_device *dev)
{
return dev->driver;
}
+RTE_EXPORT_SYMBOL(rte_dev_name)
const char *
rte_dev_name(const struct rte_device *dev)
{
return dev->name;
}
+RTE_EXPORT_SYMBOL(rte_dev_numa_node)
int
rte_dev_numa_node(const struct rte_device *dev)
{
@@ -114,6 +121,7 @@ static int cmp_dev_name(const struct rte_device *dev, const void *_name)
return strcmp(dev->name, name);
}
+RTE_EXPORT_SYMBOL(rte_dev_is_probed)
int
rte_dev_is_probed(const struct rte_device *dev)
{
@@ -146,6 +154,7 @@ build_devargs(const char *busname, const char *devname,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eal_hotplug_add)
int
rte_eal_hotplug_add(const char *busname, const char *devname,
const char *drvargs)
@@ -230,6 +239,7 @@ local_dev_probe(const char *devargs, struct rte_device **new_dev)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dev_probe)
int
rte_dev_probe(const char *devargs)
{
@@ -323,6 +333,7 @@ rte_dev_probe(const char *devargs)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eal_hotplug_remove)
int
rte_eal_hotplug_remove(const char *busname, const char *devname)
{
@@ -366,6 +377,7 @@ local_dev_remove(struct rte_device *dev)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_dev_remove)
int
rte_dev_remove(struct rte_device *dev)
{
@@ -463,6 +475,7 @@ rte_dev_remove(struct rte_device *dev)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dev_event_callback_register)
int
rte_dev_event_callback_register(const char *device_name,
rte_dev_event_cb_fn cb_fn,
@@ -531,6 +544,7 @@ rte_dev_event_callback_register(const char *device_name,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dev_event_callback_unregister)
int
rte_dev_event_callback_unregister(const char *device_name,
rte_dev_event_cb_fn cb_fn,
@@ -584,6 +598,7 @@ rte_dev_event_callback_unregister(const char *device_name,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dev_event_callback_process)
void
rte_dev_event_callback_process(const char *device_name,
enum rte_dev_event_type event)
@@ -610,6 +625,7 @@ rte_dev_event_callback_process(const char *device_name,
rte_spinlock_unlock(&dev_event_lock);
}
+RTE_EXPORT_SYMBOL(rte_dev_iterator_init)
int
rte_dev_iterator_init(struct rte_dev_iterator *it,
const char *dev_str)
@@ -762,6 +778,7 @@ bus_next_dev_cmp(const struct rte_bus *bus,
it->device = dev;
return dev == NULL;
}
+RTE_EXPORT_SYMBOL(rte_dev_iterator_next)
struct rte_device *
rte_dev_iterator_next(struct rte_dev_iterator *it)
{
@@ -806,6 +823,7 @@ rte_dev_iterator_next(struct rte_dev_iterator *it)
return it->device;
}
+RTE_EXPORT_SYMBOL(rte_dev_dma_map)
int
rte_dev_dma_map(struct rte_device *dev, void *addr, uint64_t iova,
size_t len)
@@ -823,6 +841,7 @@ rte_dev_dma_map(struct rte_device *dev, void *addr, uint64_t iova,
return dev->bus->dma_map(dev, addr, iova, len);
}
+RTE_EXPORT_SYMBOL(rte_dev_dma_unmap)
int
rte_dev_dma_unmap(struct rte_device *dev, void *addr, uint64_t iova,
size_t len)
diff --git a/lib/eal/common/eal_common_devargs.c b/lib/eal/common/eal_common_devargs.c
index dd857fc839..b80a3d00e6 100644
--- a/lib/eal/common/eal_common_devargs.c
+++ b/lib/eal/common/eal_common_devargs.c
@@ -180,6 +180,7 @@ bus_name_cmp(const struct rte_bus *bus, const void *name)
return strncmp(bus->name, name, strlen(bus->name));
}
+RTE_EXPORT_SYMBOL(rte_devargs_parse)
int
rte_devargs_parse(struct rte_devargs *da, const char *dev)
{
@@ -246,6 +247,7 @@ rte_devargs_parse(struct rte_devargs *da, const char *dev)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_devargs_parsef)
int
rte_devargs_parsef(struct rte_devargs *da, const char *format, ...)
{
@@ -280,6 +282,7 @@ rte_devargs_parsef(struct rte_devargs *da, const char *format, ...)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_devargs_reset)
void
rte_devargs_reset(struct rte_devargs *da)
{
@@ -289,6 +292,7 @@ rte_devargs_reset(struct rte_devargs *da)
da->data = NULL;
}
+RTE_EXPORT_SYMBOL(rte_devargs_insert)
int
rte_devargs_insert(struct rte_devargs **da)
{
@@ -320,6 +324,7 @@ rte_devargs_insert(struct rte_devargs **da)
}
/* store in allowed list parameter for later parsing */
+RTE_EXPORT_SYMBOL(rte_devargs_add)
int
rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
{
@@ -356,6 +361,7 @@ rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_devargs_remove)
int
rte_devargs_remove(struct rte_devargs *devargs)
{
@@ -378,6 +384,7 @@ rte_devargs_remove(struct rte_devargs *devargs)
}
/* count the number of devices of a specified type */
+RTE_EXPORT_SYMBOL(rte_devargs_type_count)
unsigned int
rte_devargs_type_count(enum rte_devtype devtype)
{
@@ -393,6 +400,7 @@ rte_devargs_type_count(enum rte_devtype devtype)
}
/* dump the user devices on the console */
+RTE_EXPORT_SYMBOL(rte_devargs_dump)
void
rte_devargs_dump(FILE *f)
{
@@ -407,6 +415,7 @@ rte_devargs_dump(FILE *f)
}
/* bus-aware rte_devargs iterator. */
+RTE_EXPORT_SYMBOL(rte_devargs_next)
struct rte_devargs *
rte_devargs_next(const char *busname, const struct rte_devargs *start)
{
diff --git a/lib/eal/common/eal_common_errno.c b/lib/eal/common/eal_common_errno.c
index fff8c1ffe4..99ce59c792 100644
--- a/lib/eal/common/eal_common_errno.c
+++ b/lib/eal/common/eal_common_errno.c
@@ -16,8 +16,10 @@
#define strerror_r(errnum, buf, buflen) strerror_s(buf, buflen, errnum)
#endif
+RTE_EXPORT_SYMBOL(per_lcore__rte_errno)
RTE_DEFINE_PER_LCORE(int, _rte_errno);
+RTE_EXPORT_SYMBOL(rte_strerror)
const char *
rte_strerror(int errnum)
{
diff --git a/lib/eal/common/eal_common_fbarray.c b/lib/eal/common/eal_common_fbarray.c
index 22b43073c6..6a5f435b62 100644
--- a/lib/eal/common/eal_common_fbarray.c
+++ b/lib/eal/common/eal_common_fbarray.c
@@ -715,6 +715,7 @@ fully_validate(const char *name, unsigned int elt_sz, unsigned int len)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_init)
int
rte_fbarray_init(struct rte_fbarray *arr, const char *name, unsigned int len,
unsigned int elt_sz)
@@ -841,6 +842,7 @@ rte_fbarray_init(struct rte_fbarray *arr, const char *name, unsigned int len,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_attach)
int
rte_fbarray_attach(struct rte_fbarray *arr)
{
@@ -929,6 +931,7 @@ rte_fbarray_attach(struct rte_fbarray *arr)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_detach)
int
rte_fbarray_detach(struct rte_fbarray *arr)
{
@@ -982,6 +985,7 @@ rte_fbarray_detach(struct rte_fbarray *arr)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_destroy)
int
rte_fbarray_destroy(struct rte_fbarray *arr)
{
@@ -1068,6 +1072,7 @@ rte_fbarray_destroy(struct rte_fbarray *arr)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_get)
void *
rte_fbarray_get(const struct rte_fbarray *arr, unsigned int idx)
{
@@ -1087,18 +1092,21 @@ rte_fbarray_get(const struct rte_fbarray *arr, unsigned int idx)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_set_used)
int
rte_fbarray_set_used(struct rte_fbarray *arr, unsigned int idx)
{
return set_used(arr, idx, true);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_set_free)
int
rte_fbarray_set_free(struct rte_fbarray *arr, unsigned int idx)
{
return set_used(arr, idx, false);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_is_used)
int
rte_fbarray_is_used(struct rte_fbarray *arr, unsigned int idx)
{
@@ -1168,24 +1176,28 @@ fbarray_find(struct rte_fbarray *arr, unsigned int start, bool next, bool used)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_next_free)
int
rte_fbarray_find_next_free(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find(arr, start, true, false);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_next_used)
int
rte_fbarray_find_next_used(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find(arr, start, true, true);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_prev_free)
int
rte_fbarray_find_prev_free(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find(arr, start, false, false);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_prev_used)
int
rte_fbarray_find_prev_used(struct rte_fbarray *arr, unsigned int start)
{
@@ -1244,6 +1256,7 @@ fbarray_find_n(struct rte_fbarray *arr, unsigned int start, unsigned int n,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_next_n_free)
int
rte_fbarray_find_next_n_free(struct rte_fbarray *arr, unsigned int start,
unsigned int n)
@@ -1251,6 +1264,7 @@ rte_fbarray_find_next_n_free(struct rte_fbarray *arr, unsigned int start,
return fbarray_find_n(arr, start, n, true, false);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_next_n_used)
int
rte_fbarray_find_next_n_used(struct rte_fbarray *arr, unsigned int start,
unsigned int n)
@@ -1258,6 +1272,7 @@ rte_fbarray_find_next_n_used(struct rte_fbarray *arr, unsigned int start,
return fbarray_find_n(arr, start, n, true, true);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_prev_n_free)
int
rte_fbarray_find_prev_n_free(struct rte_fbarray *arr, unsigned int start,
unsigned int n)
@@ -1265,6 +1280,7 @@ rte_fbarray_find_prev_n_free(struct rte_fbarray *arr, unsigned int start,
return fbarray_find_n(arr, start, n, false, false);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_prev_n_used)
int
rte_fbarray_find_prev_n_used(struct rte_fbarray *arr, unsigned int start,
unsigned int n)
@@ -1408,24 +1424,28 @@ fbarray_find_biggest(struct rte_fbarray *arr, unsigned int start, bool used,
return biggest_idx;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_biggest_free)
int
rte_fbarray_find_biggest_free(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find_biggest(arr, start, false, false);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_biggest_used)
int
rte_fbarray_find_biggest_used(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find_biggest(arr, start, true, false);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_rev_biggest_free)
int
rte_fbarray_find_rev_biggest_free(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find_biggest(arr, start, false, true);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_rev_biggest_used)
int
rte_fbarray_find_rev_biggest_used(struct rte_fbarray *arr, unsigned int start)
{
@@ -1433,30 +1453,35 @@ rte_fbarray_find_rev_biggest_used(struct rte_fbarray *arr, unsigned int start)
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_contig_free)
int
rte_fbarray_find_contig_free(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find_contig(arr, start, true, false);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_contig_used)
int
rte_fbarray_find_contig_used(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find_contig(arr, start, true, true);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_rev_contig_free)
int
rte_fbarray_find_rev_contig_free(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find_contig(arr, start, false, false);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_rev_contig_used)
int
rte_fbarray_find_rev_contig_used(struct rte_fbarray *arr, unsigned int start)
{
return fbarray_find_contig(arr, start, false, true);
}
+RTE_EXPORT_SYMBOL(rte_fbarray_find_idx)
int
rte_fbarray_find_idx(const struct rte_fbarray *arr, const void *elt)
{
@@ -1483,6 +1508,7 @@ rte_fbarray_find_idx(const struct rte_fbarray *arr, const void *elt)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_fbarray_dump_metadata)
void
rte_fbarray_dump_metadata(struct rte_fbarray *arr, FILE *f)
{
diff --git a/lib/eal/common/eal_common_hexdump.c b/lib/eal/common/eal_common_hexdump.c
index 6fd6e21e1e..d5b753f51e 100644
--- a/lib/eal/common/eal_common_hexdump.c
+++ b/lib/eal/common/eal_common_hexdump.c
@@ -7,6 +7,7 @@
#define LINE_LEN 128
+RTE_EXPORT_SYMBOL(rte_hexdump)
void
rte_hexdump(FILE *f, const char *title, const void *buf, unsigned int len)
{
@@ -45,6 +46,7 @@ rte_hexdump(FILE *f, const char *title, const void *buf, unsigned int len)
fflush(f);
}
+RTE_EXPORT_SYMBOL(rte_memdump)
void
rte_memdump(FILE *f, const char *title, const void *buf, unsigned int len)
{
diff --git a/lib/eal/common/eal_common_hypervisor.c b/lib/eal/common/eal_common_hypervisor.c
index 5388b81a51..dd5c9bb115 100644
--- a/lib/eal/common/eal_common_hypervisor.c
+++ b/lib/eal/common/eal_common_hypervisor.c
@@ -4,6 +4,7 @@
#include "rte_hypervisor.h"
+RTE_EXPORT_SYMBOL(rte_hypervisor_get_name)
const char *
rte_hypervisor_get_name(enum rte_hypervisor id)
{
diff --git a/lib/eal/common/eal_common_interrupts.c b/lib/eal/common/eal_common_interrupts.c
index b4d7b18fae..74171a5b66 100644
--- a/lib/eal/common/eal_common_interrupts.c
+++ b/lib/eal/common/eal_common_interrupts.c
@@ -29,6 +29,7 @@
#define RTE_INTR_INSTANCE_USES_RTE_MEMORY(flags) \
(!!(flags & RTE_INTR_INSTANCE_F_SHARED))
+RTE_EXPORT_SYMBOL(rte_intr_instance_alloc)
struct rte_intr_handle *rte_intr_instance_alloc(uint32_t flags)
{
struct rte_intr_handle *intr_handle;
@@ -96,6 +97,7 @@ struct rte_intr_handle *rte_intr_instance_alloc(uint32_t flags)
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_instance_dup)
struct rte_intr_handle *rte_intr_instance_dup(const struct rte_intr_handle *src)
{
struct rte_intr_handle *intr_handle;
@@ -121,6 +123,7 @@ struct rte_intr_handle *rte_intr_instance_dup(const struct rte_intr_handle *src)
return intr_handle;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_event_list_update)
int rte_intr_event_list_update(struct rte_intr_handle *intr_handle, int size)
{
struct rte_epoll_event *tmp_elist;
@@ -171,6 +174,7 @@ int rte_intr_event_list_update(struct rte_intr_handle *intr_handle, int size)
return -rte_errno;
}
+RTE_EXPORT_SYMBOL(rte_intr_instance_free)
void rte_intr_instance_free(struct rte_intr_handle *intr_handle)
{
if (intr_handle == NULL)
@@ -186,6 +190,7 @@ void rte_intr_instance_free(struct rte_intr_handle *intr_handle)
}
}
+RTE_EXPORT_SYMBOL(rte_intr_fd_set)
int rte_intr_fd_set(struct rte_intr_handle *intr_handle, int fd)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -197,6 +202,7 @@ int rte_intr_fd_set(struct rte_intr_handle *intr_handle, int fd)
return -rte_errno;
}
+RTE_EXPORT_SYMBOL(rte_intr_fd_get)
int rte_intr_fd_get(const struct rte_intr_handle *intr_handle)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -206,6 +212,7 @@ int rte_intr_fd_get(const struct rte_intr_handle *intr_handle)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_intr_type_set)
int rte_intr_type_set(struct rte_intr_handle *intr_handle,
enum rte_intr_handle_type type)
{
@@ -218,6 +225,7 @@ int rte_intr_type_set(struct rte_intr_handle *intr_handle,
return -rte_errno;
}
+RTE_EXPORT_SYMBOL(rte_intr_type_get)
enum rte_intr_handle_type rte_intr_type_get(
const struct rte_intr_handle *intr_handle)
{
@@ -228,6 +236,7 @@ enum rte_intr_handle_type rte_intr_type_get(
return RTE_INTR_HANDLE_UNKNOWN;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_dev_fd_set)
int rte_intr_dev_fd_set(struct rte_intr_handle *intr_handle, int fd)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -239,6 +248,7 @@ int rte_intr_dev_fd_set(struct rte_intr_handle *intr_handle, int fd)
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_dev_fd_get)
int rte_intr_dev_fd_get(const struct rte_intr_handle *intr_handle)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -248,6 +258,7 @@ int rte_intr_dev_fd_get(const struct rte_intr_handle *intr_handle)
return -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_max_intr_set)
int rte_intr_max_intr_set(struct rte_intr_handle *intr_handle,
int max_intr)
{
@@ -268,6 +279,7 @@ int rte_intr_max_intr_set(struct rte_intr_handle *intr_handle,
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_max_intr_get)
int rte_intr_max_intr_get(const struct rte_intr_handle *intr_handle)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -277,6 +289,7 @@ int rte_intr_max_intr_get(const struct rte_intr_handle *intr_handle)
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_nb_efd_set)
int rte_intr_nb_efd_set(struct rte_intr_handle *intr_handle, int nb_efd)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -288,6 +301,7 @@ int rte_intr_nb_efd_set(struct rte_intr_handle *intr_handle, int nb_efd)
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_nb_efd_get)
int rte_intr_nb_efd_get(const struct rte_intr_handle *intr_handle)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -297,6 +311,7 @@ int rte_intr_nb_efd_get(const struct rte_intr_handle *intr_handle)
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_nb_intr_get)
int rte_intr_nb_intr_get(const struct rte_intr_handle *intr_handle)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -306,6 +321,7 @@ int rte_intr_nb_intr_get(const struct rte_intr_handle *intr_handle)
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efd_counter_size_set)
int rte_intr_efd_counter_size_set(struct rte_intr_handle *intr_handle,
uint8_t efd_counter_size)
{
@@ -318,6 +334,7 @@ int rte_intr_efd_counter_size_set(struct rte_intr_handle *intr_handle,
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efd_counter_size_get)
int rte_intr_efd_counter_size_get(const struct rte_intr_handle *intr_handle)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -327,6 +344,7 @@ int rte_intr_efd_counter_size_get(const struct rte_intr_handle *intr_handle)
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efds_index_get)
int rte_intr_efds_index_get(const struct rte_intr_handle *intr_handle,
int index)
{
@@ -344,6 +362,7 @@ int rte_intr_efds_index_get(const struct rte_intr_handle *intr_handle,
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efds_index_set)
int rte_intr_efds_index_set(struct rte_intr_handle *intr_handle,
int index, int fd)
{
@@ -363,6 +382,7 @@ int rte_intr_efds_index_set(struct rte_intr_handle *intr_handle,
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_elist_index_get)
struct rte_epoll_event *rte_intr_elist_index_get(
struct rte_intr_handle *intr_handle, int index)
{
@@ -380,6 +400,7 @@ struct rte_epoll_event *rte_intr_elist_index_get(
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_elist_index_set)
int rte_intr_elist_index_set(struct rte_intr_handle *intr_handle,
int index, struct rte_epoll_event elist)
{
@@ -399,6 +420,7 @@ int rte_intr_elist_index_set(struct rte_intr_handle *intr_handle,
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_vec_list_alloc)
int rte_intr_vec_list_alloc(struct rte_intr_handle *intr_handle,
const char *name, int size)
{
@@ -432,6 +454,7 @@ int rte_intr_vec_list_alloc(struct rte_intr_handle *intr_handle,
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_vec_list_index_get)
int rte_intr_vec_list_index_get(const struct rte_intr_handle *intr_handle,
int index)
{
@@ -449,6 +472,7 @@ int rte_intr_vec_list_index_get(const struct rte_intr_handle *intr_handle,
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_vec_list_index_set)
int rte_intr_vec_list_index_set(struct rte_intr_handle *intr_handle,
int index, int vec)
{
@@ -468,6 +492,7 @@ int rte_intr_vec_list_index_set(struct rte_intr_handle *intr_handle,
return -rte_errno;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_vec_list_free)
void rte_intr_vec_list_free(struct rte_intr_handle *intr_handle)
{
if (intr_handle == NULL)
@@ -480,6 +505,7 @@ void rte_intr_vec_list_free(struct rte_intr_handle *intr_handle)
intr_handle->vec_list_size = 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_instance_windows_handle_get)
void *rte_intr_instance_windows_handle_get(struct rte_intr_handle *intr_handle)
{
CHECK_VALID_INTR_HANDLE(intr_handle);
@@ -489,6 +515,7 @@ void *rte_intr_instance_windows_handle_get(struct rte_intr_handle *intr_handle)
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_instance_windows_handle_set)
int rte_intr_instance_windows_handle_set(struct rte_intr_handle *intr_handle,
void *windows_handle)
{
diff --git a/lib/eal/common/eal_common_launch.c b/lib/eal/common/eal_common_launch.c
index 5320c3bd3c..7d0cc6a359 100644
--- a/lib/eal/common/eal_common_launch.c
+++ b/lib/eal/common/eal_common_launch.c
@@ -15,6 +15,7 @@
/*
* Wait until a lcore finished its job.
*/
+RTE_EXPORT_SYMBOL(rte_eal_wait_lcore)
int
rte_eal_wait_lcore(unsigned worker_id)
{
@@ -30,6 +31,7 @@ rte_eal_wait_lcore(unsigned worker_id)
* function f with argument arg. Once the execution is done, the
* remote lcore switches to WAIT state.
*/
+RTE_EXPORT_SYMBOL(rte_eal_remote_launch)
int
rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned int worker_id)
{
@@ -61,6 +63,7 @@ rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned int worker_id)
* rte_eal_remote_launch() for all of them. If call_main is true
* (set to CALL_MAIN), also call the function on the main lcore.
*/
+RTE_EXPORT_SYMBOL(rte_eal_mp_remote_launch)
int
rte_eal_mp_remote_launch(int (*f)(void *), void *arg,
enum rte_rmt_call_main_t call_main)
@@ -90,6 +93,7 @@ rte_eal_mp_remote_launch(int (*f)(void *), void *arg,
/*
* Return the state of the lcore identified by worker_id.
*/
+RTE_EXPORT_SYMBOL(rte_eal_get_lcore_state)
enum rte_lcore_state_t
rte_eal_get_lcore_state(unsigned lcore_id)
{
@@ -100,6 +104,7 @@ rte_eal_get_lcore_state(unsigned lcore_id)
* Do a rte_eal_wait_lcore() for every lcore. The return values are
* ignored.
*/
+RTE_EXPORT_SYMBOL(rte_eal_mp_wait_lcore)
void
rte_eal_mp_wait_lcore(void)
{
diff --git a/lib/eal/common/eal_common_lcore.c b/lib/eal/common/eal_common_lcore.c
index 2ff9252c52..6a1b9655ad 100644
--- a/lib/eal/common/eal_common_lcore.c
+++ b/lib/eal/common/eal_common_lcore.c
@@ -18,16 +18,19 @@
#include "eal_private.h"
#include "eal_thread.h"
+RTE_EXPORT_SYMBOL(rte_get_main_lcore)
unsigned int rte_get_main_lcore(void)
{
return rte_eal_get_configuration()->main_lcore;
}
+RTE_EXPORT_SYMBOL(rte_lcore_count)
unsigned int rte_lcore_count(void)
{
return rte_eal_get_configuration()->lcore_count;
}
+RTE_EXPORT_SYMBOL(rte_lcore_index)
int rte_lcore_index(int lcore_id)
{
if (unlikely(lcore_id >= RTE_MAX_LCORE))
@@ -43,6 +46,7 @@ int rte_lcore_index(int lcore_id)
return lcore_config[lcore_id].core_index;
}
+RTE_EXPORT_SYMBOL(rte_lcore_to_cpu_id)
int rte_lcore_to_cpu_id(int lcore_id)
{
if (unlikely(lcore_id >= RTE_MAX_LCORE))
@@ -58,11 +62,13 @@ int rte_lcore_to_cpu_id(int lcore_id)
return lcore_config[lcore_id].core_id;
}
+RTE_EXPORT_SYMBOL(rte_lcore_cpuset)
rte_cpuset_t rte_lcore_cpuset(unsigned int lcore_id)
{
return lcore_config[lcore_id].cpuset;
}
+RTE_EXPORT_SYMBOL(rte_eal_lcore_role)
enum rte_lcore_role_t
rte_eal_lcore_role(unsigned int lcore_id)
{
@@ -73,6 +79,7 @@ rte_eal_lcore_role(unsigned int lcore_id)
return cfg->lcore_role[lcore_id];
}
+RTE_EXPORT_SYMBOL(rte_lcore_has_role)
int
rte_lcore_has_role(unsigned int lcore_id, enum rte_lcore_role_t role)
{
@@ -84,6 +91,7 @@ rte_lcore_has_role(unsigned int lcore_id, enum rte_lcore_role_t role)
return cfg->lcore_role[lcore_id] == role;
}
+RTE_EXPORT_SYMBOL(rte_lcore_is_enabled)
int rte_lcore_is_enabled(unsigned int lcore_id)
{
struct rte_config *cfg = rte_eal_get_configuration();
@@ -93,6 +101,7 @@ int rte_lcore_is_enabled(unsigned int lcore_id)
return cfg->lcore_role[lcore_id] == ROLE_RTE;
}
+RTE_EXPORT_SYMBOL(rte_get_next_lcore)
unsigned int rte_get_next_lcore(unsigned int i, int skip_main, int wrap)
{
i++;
@@ -112,6 +121,7 @@ unsigned int rte_get_next_lcore(unsigned int i, int skip_main, int wrap)
return i;
}
+RTE_EXPORT_SYMBOL(rte_lcore_to_socket_id)
unsigned int
rte_lcore_to_socket_id(unsigned int lcore_id)
{
@@ -213,6 +223,7 @@ rte_eal_cpu_init(void)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_socket_count)
unsigned int
rte_socket_count(void)
{
@@ -220,6 +231,7 @@ rte_socket_count(void)
return config->numa_node_count;
}
+RTE_EXPORT_SYMBOL(rte_socket_id_by_idx)
int
rte_socket_id_by_idx(unsigned int idx)
{
@@ -269,6 +281,7 @@ free_callback(struct lcore_callback *callback)
free(callback);
}
+RTE_EXPORT_SYMBOL(rte_lcore_callback_register)
void *
rte_lcore_callback_register(const char *name, rte_lcore_init_cb init,
rte_lcore_uninit_cb uninit, void *arg)
@@ -319,6 +332,7 @@ rte_lcore_callback_register(const char *name, rte_lcore_init_cb init,
return callback;
}
+RTE_EXPORT_SYMBOL(rte_lcore_callback_unregister)
void
rte_lcore_callback_unregister(void *handle)
{
@@ -404,6 +418,7 @@ eal_lcore_non_eal_release(unsigned int lcore_id)
rte_rwlock_write_unlock(&lcore_lock);
}
+RTE_EXPORT_SYMBOL(rte_lcore_iterate)
int
rte_lcore_iterate(rte_lcore_iterate_cb cb, void *arg)
{
@@ -440,6 +455,7 @@ lcore_role_str(enum rte_lcore_role_t role)
static rte_lcore_usage_cb lcore_usage_cb;
+RTE_EXPORT_SYMBOL(rte_lcore_register_usage_cb)
void
rte_lcore_register_usage_cb(rte_lcore_usage_cb cb)
{
@@ -486,6 +502,7 @@ lcore_dump_cb(unsigned int lcore_id, void *arg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_lcore_dump)
void
rte_lcore_dump(FILE *f)
{
diff --git a/lib/eal/common/eal_common_lcore_var.c b/lib/eal/common/eal_common_lcore_var.c
index a1b2458839..9bd5dbc9e5 100644
--- a/lib/eal/common/eal_common_lcore_var.c
+++ b/lib/eal/common/eal_common_lcore_var.c
@@ -75,6 +75,7 @@ lcore_var_alloc(size_t size, size_t align)
return handle;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_lcore_var_alloc, 24.11)
void *
rte_lcore_var_alloc(size_t size, size_t align)
{
diff --git a/lib/eal/common/eal_common_mcfg.c b/lib/eal/common/eal_common_mcfg.c
index dabb80eaf5..1cc0faaa9c 100644
--- a/lib/eal/common/eal_common_mcfg.c
+++ b/lib/eal/common/eal_common_mcfg.c
@@ -69,120 +69,140 @@ eal_mcfg_update_from_internal(void)
mcfg->version = RTE_VERSION;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mcfg_mem_get_lock)
rte_rwlock_t *
rte_mcfg_mem_get_lock(void)
{
return &rte_eal_get_configuration()->mem_config->memory_hotplug_lock;
}
+RTE_EXPORT_SYMBOL(rte_mcfg_mem_read_lock)
void
rte_mcfg_mem_read_lock(void)
{
rte_rwlock_read_lock(rte_mcfg_mem_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_mem_read_unlock)
void
rte_mcfg_mem_read_unlock(void)
{
rte_rwlock_read_unlock(rte_mcfg_mem_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_mem_write_lock)
void
rte_mcfg_mem_write_lock(void)
{
rte_rwlock_write_lock(rte_mcfg_mem_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_mem_write_unlock)
void
rte_mcfg_mem_write_unlock(void)
{
rte_rwlock_write_unlock(rte_mcfg_mem_get_lock());
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mcfg_tailq_get_lock)
rte_rwlock_t *
rte_mcfg_tailq_get_lock(void)
{
return &rte_eal_get_configuration()->mem_config->qlock;
}
+RTE_EXPORT_SYMBOL(rte_mcfg_tailq_read_lock)
void
rte_mcfg_tailq_read_lock(void)
{
rte_rwlock_read_lock(rte_mcfg_tailq_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_tailq_read_unlock)
void
rte_mcfg_tailq_read_unlock(void)
{
rte_rwlock_read_unlock(rte_mcfg_tailq_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_tailq_write_lock)
void
rte_mcfg_tailq_write_lock(void)
{
rte_rwlock_write_lock(rte_mcfg_tailq_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_tailq_write_unlock)
void
rte_mcfg_tailq_write_unlock(void)
{
rte_rwlock_write_unlock(rte_mcfg_tailq_get_lock());
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mcfg_mempool_get_lock)
rte_rwlock_t *
rte_mcfg_mempool_get_lock(void)
{
return &rte_eal_get_configuration()->mem_config->mplock;
}
+RTE_EXPORT_SYMBOL(rte_mcfg_mempool_read_lock)
void
rte_mcfg_mempool_read_lock(void)
{
rte_rwlock_read_lock(rte_mcfg_mempool_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_mempool_read_unlock)
void
rte_mcfg_mempool_read_unlock(void)
{
rte_rwlock_read_unlock(rte_mcfg_mempool_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_mempool_write_lock)
void
rte_mcfg_mempool_write_lock(void)
{
rte_rwlock_write_lock(rte_mcfg_mempool_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_mempool_write_unlock)
void
rte_mcfg_mempool_write_unlock(void)
{
rte_rwlock_write_unlock(rte_mcfg_mempool_get_lock());
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mcfg_timer_get_lock)
rte_spinlock_t *
rte_mcfg_timer_get_lock(void)
{
return &rte_eal_get_configuration()->mem_config->tlock;
}
+RTE_EXPORT_SYMBOL(rte_mcfg_timer_lock)
void
rte_mcfg_timer_lock(void)
{
rte_spinlock_lock(rte_mcfg_timer_get_lock());
}
+RTE_EXPORT_SYMBOL(rte_mcfg_timer_unlock)
void
rte_mcfg_timer_unlock(void)
{
rte_spinlock_unlock(rte_mcfg_timer_get_lock());
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mcfg_ethdev_get_lock)
rte_spinlock_t *
rte_mcfg_ethdev_get_lock(void)
{
return &rte_eal_get_configuration()->mem_config->ethdev_lock;
}
+RTE_EXPORT_SYMBOL(rte_mcfg_get_single_file_segments)
bool
rte_mcfg_get_single_file_segments(void)
{
diff --git a/lib/eal/common/eal_common_memory.c b/lib/eal/common/eal_common_memory.c
index a185e0b580..95a26673c0 100644
--- a/lib/eal/common/eal_common_memory.c
+++ b/lib/eal/common/eal_common_memory.c
@@ -336,6 +336,7 @@ virt2memseg_list(const void *addr)
return msl;
}
+RTE_EXPORT_SYMBOL(rte_mem_virt2memseg_list)
struct rte_memseg_list *
rte_mem_virt2memseg_list(const void *addr)
{
@@ -373,6 +374,7 @@ find_virt_legacy(const struct rte_memseg_list *msl __rte_unused,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_mem_iova2virt)
void *
rte_mem_iova2virt(rte_iova_t iova)
{
@@ -394,6 +396,7 @@ rte_mem_iova2virt(rte_iova_t iova)
return vi.virt;
}
+RTE_EXPORT_SYMBOL(rte_mem_virt2memseg)
struct rte_memseg *
rte_mem_virt2memseg(const void *addr, const struct rte_memseg_list *msl)
{
@@ -415,6 +418,7 @@ physmem_size(const struct rte_memseg_list *msl, void *arg)
}
/* get the total size of memory */
+RTE_EXPORT_SYMBOL(rte_eal_get_physmem_size)
uint64_t
rte_eal_get_physmem_size(void)
{
@@ -463,6 +467,7 @@ dump_memseg(const struct rte_memseg_list *msl, const struct rte_memseg *ms,
* Defining here because declared in rte_memory.h, but the actual implementation
* is in eal_common_memalloc.c, like all other memalloc internals.
*/
+RTE_EXPORT_SYMBOL(rte_mem_event_callback_register)
int
rte_mem_event_callback_register(const char *name, rte_mem_event_callback_t clb,
void *arg)
@@ -479,6 +484,7 @@ rte_mem_event_callback_register(const char *name, rte_mem_event_callback_t clb,
return eal_memalloc_mem_event_callback_register(name, clb, arg);
}
+RTE_EXPORT_SYMBOL(rte_mem_event_callback_unregister)
int
rte_mem_event_callback_unregister(const char *name, void *arg)
{
@@ -494,6 +500,7 @@ rte_mem_event_callback_unregister(const char *name, void *arg)
return eal_memalloc_mem_event_callback_unregister(name, arg);
}
+RTE_EXPORT_SYMBOL(rte_mem_alloc_validator_register)
int
rte_mem_alloc_validator_register(const char *name,
rte_mem_alloc_validator_t clb, int socket_id, size_t limit)
@@ -511,6 +518,7 @@ rte_mem_alloc_validator_register(const char *name,
limit);
}
+RTE_EXPORT_SYMBOL(rte_mem_alloc_validator_unregister)
int
rte_mem_alloc_validator_unregister(const char *name, int socket_id)
{
@@ -527,6 +535,7 @@ rte_mem_alloc_validator_unregister(const char *name, int socket_id)
}
/* Dump the physical memory layout on console */
+RTE_EXPORT_SYMBOL(rte_dump_physmem_layout)
void
rte_dump_physmem_layout(FILE *f)
{
@@ -598,12 +607,14 @@ check_dma_mask(uint8_t maskbits, bool thread_unsafe)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_mem_check_dma_mask)
int
rte_mem_check_dma_mask(uint8_t maskbits)
{
return check_dma_mask(maskbits, false);
}
+RTE_EXPORT_SYMBOL(rte_mem_check_dma_mask_thread_unsafe)
int
rte_mem_check_dma_mask_thread_unsafe(uint8_t maskbits)
{
@@ -617,6 +628,7 @@ rte_mem_check_dma_mask_thread_unsafe(uint8_t maskbits)
* initialization. PMDs should use rte_mem_check_dma_mask if addressing
* limitations by the device.
*/
+RTE_EXPORT_SYMBOL(rte_mem_set_dma_mask)
void
rte_mem_set_dma_mask(uint8_t maskbits)
{
@@ -627,12 +639,14 @@ rte_mem_set_dma_mask(uint8_t maskbits)
}
/* return the number of memory channels */
+RTE_EXPORT_SYMBOL(rte_memory_get_nchannel)
unsigned rte_memory_get_nchannel(void)
{
return rte_eal_get_configuration()->mem_config->nchannel;
}
/* return the number of memory rank */
+RTE_EXPORT_SYMBOL(rte_memory_get_nrank)
unsigned rte_memory_get_nrank(void)
{
return rte_eal_get_configuration()->mem_config->nrank;
@@ -656,6 +670,7 @@ rte_eal_memdevice_init(void)
}
/* Lock page in physical memory and prevent from swapping. */
+RTE_EXPORT_SYMBOL(rte_mem_lock_page)
int
rte_mem_lock_page(const void *virt)
{
@@ -665,6 +680,7 @@ rte_mem_lock_page(const void *virt)
return rte_mem_lock((void *)aligned, page_size);
}
+RTE_EXPORT_SYMBOL(rte_memseg_contig_walk_thread_unsafe)
int
rte_memseg_contig_walk_thread_unsafe(rte_memseg_contig_walk_t func, void *arg)
{
@@ -704,6 +720,7 @@ rte_memseg_contig_walk_thread_unsafe(rte_memseg_contig_walk_t func, void *arg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_memseg_contig_walk)
int
rte_memseg_contig_walk(rte_memseg_contig_walk_t func, void *arg)
{
@@ -717,6 +734,7 @@ rte_memseg_contig_walk(rte_memseg_contig_walk_t func, void *arg)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_memseg_walk_thread_unsafe)
int
rte_memseg_walk_thread_unsafe(rte_memseg_walk_t func, void *arg)
{
@@ -745,6 +763,7 @@ rte_memseg_walk_thread_unsafe(rte_memseg_walk_t func, void *arg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_memseg_walk)
int
rte_memseg_walk(rte_memseg_walk_t func, void *arg)
{
@@ -758,6 +777,7 @@ rte_memseg_walk(rte_memseg_walk_t func, void *arg)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_memseg_list_walk_thread_unsafe)
int
rte_memseg_list_walk_thread_unsafe(rte_memseg_list_walk_t func, void *arg)
{
@@ -777,6 +797,7 @@ rte_memseg_list_walk_thread_unsafe(rte_memseg_list_walk_t func, void *arg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_memseg_list_walk)
int
rte_memseg_list_walk(rte_memseg_list_walk_t func, void *arg)
{
@@ -790,6 +811,7 @@ rte_memseg_list_walk(rte_memseg_list_walk_t func, void *arg)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_memseg_get_fd_thread_unsafe)
int
rte_memseg_get_fd_thread_unsafe(const struct rte_memseg *ms)
{
@@ -832,6 +854,7 @@ rte_memseg_get_fd_thread_unsafe(const struct rte_memseg *ms)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_memseg_get_fd)
int
rte_memseg_get_fd(const struct rte_memseg *ms)
{
@@ -844,6 +867,7 @@ rte_memseg_get_fd(const struct rte_memseg *ms)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_memseg_get_fd_offset_thread_unsafe)
int
rte_memseg_get_fd_offset_thread_unsafe(const struct rte_memseg *ms,
size_t *offset)
@@ -887,6 +911,7 @@ rte_memseg_get_fd_offset_thread_unsafe(const struct rte_memseg *ms,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_memseg_get_fd_offset)
int
rte_memseg_get_fd_offset(const struct rte_memseg *ms, size_t *offset)
{
@@ -899,6 +924,7 @@ rte_memseg_get_fd_offset(const struct rte_memseg *ms, size_t *offset)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_extmem_register)
int
rte_extmem_register(void *va_addr, size_t len, rte_iova_t iova_addrs[],
unsigned int n_pages, size_t page_sz)
@@ -948,6 +974,7 @@ rte_extmem_register(void *va_addr, size_t len, rte_iova_t iova_addrs[],
return ret;
}
+RTE_EXPORT_SYMBOL(rte_extmem_unregister)
int
rte_extmem_unregister(void *va_addr, size_t len)
{
@@ -1003,12 +1030,14 @@ sync_memory(void *va_addr, size_t len, bool attach)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_extmem_attach)
int
rte_extmem_attach(void *va_addr, size_t len)
{
return sync_memory(va_addr, len, true);
}
+RTE_EXPORT_SYMBOL(rte_extmem_detach)
int
rte_extmem_detach(void *va_addr, size_t len)
{
diff --git a/lib/eal/common/eal_common_memzone.c b/lib/eal/common/eal_common_memzone.c
index e7002f8447..acaa0a45fc 100644
--- a/lib/eal/common/eal_common_memzone.c
+++ b/lib/eal/common/eal_common_memzone.c
@@ -25,6 +25,7 @@
/* Default count used until rte_memzone_max_set() is called */
#define DEFAULT_MAX_MEMZONE_COUNT 2560
+RTE_EXPORT_SYMBOL(rte_memzone_max_set)
int
rte_memzone_max_set(size_t max)
{
@@ -46,6 +47,7 @@ rte_memzone_max_set(size_t max)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_memzone_max_get)
size_t
rte_memzone_max_get(void)
{
@@ -263,6 +265,7 @@ rte_memzone_reserve_thread_safe(const char *name, size_t len, int socket_id,
* specified alignment and boundary). If the allocation cannot be done,
* return NULL.
*/
+RTE_EXPORT_SYMBOL(rte_memzone_reserve_bounded)
const struct rte_memzone *
rte_memzone_reserve_bounded(const char *name, size_t len, int socket_id,
unsigned flags, unsigned align, unsigned bound)
@@ -275,6 +278,7 @@ rte_memzone_reserve_bounded(const char *name, size_t len, int socket_id,
* Return a pointer to a correctly filled memzone descriptor (with a
* specified alignment). If the allocation cannot be done, return NULL.
*/
+RTE_EXPORT_SYMBOL(rte_memzone_reserve_aligned)
const struct rte_memzone *
rte_memzone_reserve_aligned(const char *name, size_t len, int socket_id,
unsigned flags, unsigned align)
@@ -287,6 +291,7 @@ rte_memzone_reserve_aligned(const char *name, size_t len, int socket_id,
* Return a pointer to a correctly filled memzone descriptor. If the
* allocation cannot be done, return NULL.
*/
+RTE_EXPORT_SYMBOL(rte_memzone_reserve)
const struct rte_memzone *
rte_memzone_reserve(const char *name, size_t len, int socket_id,
unsigned flags)
@@ -295,6 +300,7 @@ rte_memzone_reserve(const char *name, size_t len, int socket_id,
flags, RTE_CACHE_LINE_SIZE, 0);
}
+RTE_EXPORT_SYMBOL(rte_memzone_free)
int
rte_memzone_free(const struct rte_memzone *mz)
{
@@ -341,6 +347,7 @@ rte_memzone_free(const struct rte_memzone *mz)
/*
* Lookup for the memzone identified by the given name
*/
+RTE_EXPORT_SYMBOL(rte_memzone_lookup)
const struct rte_memzone *
rte_memzone_lookup(const char *name)
{
@@ -417,6 +424,7 @@ dump_memzone(const struct rte_memzone *mz, void *arg)
}
/* Dump all reserved memory zones on console */
+RTE_EXPORT_SYMBOL(rte_memzone_dump)
void
rte_memzone_dump(FILE *f)
{
@@ -458,6 +466,7 @@ rte_eal_memzone_init(void)
}
/* Walk all reserved memory zones */
+RTE_EXPORT_SYMBOL(rte_memzone_walk)
void rte_memzone_walk(void (*func)(const struct rte_memzone *, void *),
void *arg)
{
diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c
index 79db9a47dd..6b660decf7 100644
--- a/lib/eal/common/eal_common_options.c
+++ b/lib/eal/common/eal_common_options.c
@@ -164,6 +164,7 @@ eal_get_application_usage_hook(void)
}
/* Set a per-application usage message */
+RTE_EXPORT_SYMBOL(rte_set_application_usage_hook)
rte_usage_hook_t
rte_set_application_usage_hook(rte_usage_hook_t usage_func)
{
@@ -760,6 +761,7 @@ check_core_list(int *lcores, unsigned int count)
return -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eal_parse_coremask)
int
rte_eal_parse_coremask(const char *coremask, int *cores)
{
@@ -2171,6 +2173,7 @@ eal_check_common_options(struct internal_config *internal_cfg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vect_get_max_simd_bitwidth)
uint16_t
rte_vect_get_max_simd_bitwidth(void)
{
@@ -2179,6 +2182,7 @@ rte_vect_get_max_simd_bitwidth(void)
return internal_conf->max_simd_bitwidth.bitwidth;
}
+RTE_EXPORT_SYMBOL(rte_vect_set_max_simd_bitwidth)
int
rte_vect_set_max_simd_bitwidth(uint16_t bitwidth)
{
diff --git a/lib/eal/common/eal_common_proc.c b/lib/eal/common/eal_common_proc.c
index 201973c5db..a9757459a2 100644
--- a/lib/eal/common/eal_common_proc.c
+++ b/lib/eal/common/eal_common_proc.c
@@ -142,6 +142,7 @@ create_socket_path(const char *name, char *buf, int len)
strlcpy(buf, prefix, len);
}
+RTE_EXPORT_SYMBOL(rte_eal_primary_proc_alive)
int
rte_eal_primary_proc_alive(const char *config_file_path)
{
@@ -197,6 +198,7 @@ validate_action_name(const char *name)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_mp_action_register)
int
rte_mp_action_register(const char *name, rte_mp_t action)
{
@@ -233,6 +235,7 @@ rte_mp_action_register(const char *name, rte_mp_t action)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_mp_action_unregister)
void
rte_mp_action_unregister(const char *name)
{
@@ -836,6 +839,7 @@ check_input(const struct rte_mp_msg *msg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_mp_sendmsg)
int
rte_mp_sendmsg(struct rte_mp_msg *msg)
{
@@ -989,6 +993,7 @@ mp_request_sync(const char *dst, struct rte_mp_msg *req,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_mp_request_sync)
int
rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply,
const struct timespec *ts)
@@ -1086,6 +1091,7 @@ rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_mp_request_async)
int
rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts,
rte_mp_async_reply_t clb)
@@ -1238,6 +1244,7 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_mp_reply)
int
rte_mp_reply(struct rte_mp_msg *msg, const char *peer)
{
@@ -1290,6 +1297,7 @@ set_mp_status(enum mp_status status)
return rte_atomic_load_explicit(&mcfg->mp_status, rte_memory_order_relaxed) == desired;
}
+RTE_EXPORT_SYMBOL(rte_mp_disable)
bool
rte_mp_disable(void)
{
diff --git a/lib/eal/common/eal_common_string_fns.c b/lib/eal/common/eal_common_string_fns.c
index 9ca2045b18..dea55e4045 100644
--- a/lib/eal/common/eal_common_string_fns.c
+++ b/lib/eal/common/eal_common_string_fns.c
@@ -11,6 +11,7 @@
#include <rte_errno.h>
/* split string into tokens */
+RTE_EXPORT_SYMBOL(rte_strsplit)
int
rte_strsplit(char *string, int stringlen,
char **tokens, int maxtokens, char delim)
@@ -45,6 +46,7 @@ rte_strsplit(char *string, int stringlen,
* Return negative value and NUL-terminate if dst is too short,
* Otherwise return number of bytes copied.
*/
+RTE_EXPORT_SYMBOL(rte_strscpy)
ssize_t
rte_strscpy(char *dst, const char *src, size_t dsize)
{
@@ -67,6 +69,7 @@ rte_strscpy(char *dst, const char *src, size_t dsize)
return -rte_errno;
}
+RTE_EXPORT_SYMBOL(rte_str_to_size)
uint64_t
rte_str_to_size(const char *str)
{
diff --git a/lib/eal/common/eal_common_tailqs.c b/lib/eal/common/eal_common_tailqs.c
index 56bb2bd91c..941ffd9596 100644
--- a/lib/eal/common/eal_common_tailqs.c
+++ b/lib/eal/common/eal_common_tailqs.c
@@ -22,6 +22,7 @@ static struct rte_tailq_elem_head rte_tailq_elem_head =
/* number of tailqs registered, -1 before call to rte_eal_tailqs_init */
static int rte_tailqs_count = -1;
+RTE_EXPORT_SYMBOL(rte_eal_tailq_lookup)
struct rte_tailq_head *
rte_eal_tailq_lookup(const char *name)
{
@@ -40,6 +41,7 @@ rte_eal_tailq_lookup(const char *name)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_dump_tailq)
void
rte_dump_tailq(FILE *f)
{
@@ -105,6 +107,7 @@ rte_eal_tailq_update(struct rte_tailq_elem *t)
}
}
+RTE_EXPORT_SYMBOL(rte_eal_tailq_register)
int
rte_eal_tailq_register(struct rte_tailq_elem *t)
{
diff --git a/lib/eal/common/eal_common_thread.c b/lib/eal/common/eal_common_thread.c
index a53bc639ae..427967611d 100644
--- a/lib/eal/common/eal_common_thread.c
+++ b/lib/eal/common/eal_common_thread.c
@@ -22,12 +22,15 @@
#include "eal_thread.h"
#include "eal_trace.h"
+RTE_EXPORT_SYMBOL(per_lcore__lcore_id)
RTE_DEFINE_PER_LCORE(unsigned int, _lcore_id) = LCORE_ID_ANY;
+RTE_EXPORT_SYMBOL(per_lcore__thread_id)
RTE_DEFINE_PER_LCORE(int, _thread_id) = -1;
static RTE_DEFINE_PER_LCORE(unsigned int, _socket_id) =
(unsigned int)SOCKET_ID_ANY;
static RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset);
+RTE_EXPORT_SYMBOL(rte_socket_id)
unsigned rte_socket_id(void)
{
return RTE_PER_LCORE(_socket_id);
@@ -82,6 +85,7 @@ thread_update_affinity(rte_cpuset_t *cpusetp)
}
}
+RTE_EXPORT_SYMBOL(rte_thread_set_affinity)
int
rte_thread_set_affinity(rte_cpuset_t *cpusetp)
{
@@ -94,6 +98,7 @@ rte_thread_set_affinity(rte_cpuset_t *cpusetp)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_get_affinity)
void
rte_thread_get_affinity(rte_cpuset_t *cpusetp)
{
@@ -282,6 +287,7 @@ static uint32_t control_thread_start(void *arg)
return start_routine(start_arg);
}
+RTE_EXPORT_SYMBOL(rte_thread_create_control)
int
rte_thread_create_control(rte_thread_t *thread, const char *name,
rte_thread_func start_routine, void *arg)
@@ -341,6 +347,7 @@ add_internal_prefix(char *prefixed_name, const char *name, size_t size)
strlcpy(prefixed_name + prefixlen, name, size - prefixlen);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_thread_create_internal_control)
int
rte_thread_create_internal_control(rte_thread_t *id, const char *name,
rte_thread_func func, void *arg)
@@ -351,6 +358,7 @@ rte_thread_create_internal_control(rte_thread_t *id, const char *name,
return rte_thread_create_control(id, prefixed_name, func, arg);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_thread_set_prefixed_name)
void
rte_thread_set_prefixed_name(rte_thread_t id, const char *name)
{
@@ -360,6 +368,7 @@ rte_thread_set_prefixed_name(rte_thread_t id, const char *name)
rte_thread_set_name(id, prefixed_name);
}
+RTE_EXPORT_SYMBOL(rte_thread_register)
int
rte_thread_register(void)
{
@@ -392,6 +401,7 @@ rte_thread_register(void)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_unregister)
void
rte_thread_unregister(void)
{
@@ -405,6 +415,7 @@ rte_thread_unregister(void)
lcore_id);
}
+RTE_EXPORT_SYMBOL(rte_thread_attr_init)
int
rte_thread_attr_init(rte_thread_attr_t *attr)
{
@@ -417,6 +428,7 @@ rte_thread_attr_init(rte_thread_attr_t *attr)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_attr_set_priority)
int
rte_thread_attr_set_priority(rte_thread_attr_t *thread_attr,
enum rte_thread_priority priority)
@@ -429,6 +441,7 @@ rte_thread_attr_set_priority(rte_thread_attr_t *thread_attr,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_attr_set_affinity)
int
rte_thread_attr_set_affinity(rte_thread_attr_t *thread_attr,
rte_cpuset_t *cpuset)
@@ -444,6 +457,7 @@ rte_thread_attr_set_affinity(rte_thread_attr_t *thread_attr,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_attr_get_affinity)
int
rte_thread_attr_get_affinity(rte_thread_attr_t *thread_attr,
rte_cpuset_t *cpuset)
diff --git a/lib/eal/common/eal_common_timer.c b/lib/eal/common/eal_common_timer.c
index e00be0a5c8..92a426cc03 100644
--- a/lib/eal/common/eal_common_timer.c
+++ b/lib/eal/common/eal_common_timer.c
@@ -18,8 +18,10 @@
static uint64_t eal_tsc_resolution_hz;
/* Pointer to user delay function */
+RTE_EXPORT_SYMBOL(rte_delay_us)
void (*rte_delay_us)(unsigned int) = NULL;
+RTE_EXPORT_SYMBOL(rte_delay_us_block)
void
rte_delay_us_block(unsigned int us)
{
@@ -29,6 +31,7 @@ rte_delay_us_block(unsigned int us)
rte_pause();
}
+RTE_EXPORT_SYMBOL(rte_get_tsc_hz)
uint64_t
rte_get_tsc_hz(void)
{
@@ -75,6 +78,7 @@ set_tsc_freq(void)
mcfg->tsc_hz = freq;
}
+RTE_EXPORT_SYMBOL(rte_delay_us_callback_register)
void rte_delay_us_callback_register(void (*userfunc)(unsigned int))
{
rte_delay_us = userfunc;
diff --git a/lib/eal/common/eal_common_trace.c b/lib/eal/common/eal_common_trace.c
index 918f49bf4f..09ba4ef24a 100644
--- a/lib/eal/common/eal_common_trace.c
+++ b/lib/eal/common/eal_common_trace.c
@@ -16,7 +16,9 @@
#include "eal_trace.h"
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(per_lcore_trace_point_sz, 20.05)
RTE_DEFINE_PER_LCORE(volatile int, trace_point_sz);
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(per_lcore_trace_mem, 20.05)
RTE_DEFINE_PER_LCORE(void *, trace_mem);
static RTE_DEFINE_PER_LCORE(char *, ctf_field);
@@ -94,6 +96,7 @@ eal_trace_fini(void)
eal_trace_args_free();
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_is_enabled, 20.05)
bool
rte_trace_is_enabled(void)
{
@@ -111,6 +114,7 @@ trace_mode_set(rte_trace_point_t *t, enum rte_trace_mode mode)
rte_memory_order_release);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_mode_set, 20.05)
void
rte_trace_mode_set(enum rte_trace_mode mode)
{
@@ -122,6 +126,7 @@ rte_trace_mode_set(enum rte_trace_mode mode)
trace.mode = mode;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_mode_get, 20.05)
enum
rte_trace_mode rte_trace_mode_get(void)
{
@@ -134,6 +139,7 @@ trace_point_is_invalid(rte_trace_point_t *t)
return (t == NULL) || (trace_id_get(t) >= trace.nb_trace_points);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_point_is_enabled, 20.05)
bool
rte_trace_point_is_enabled(rte_trace_point_t *t)
{
@@ -146,6 +152,7 @@ rte_trace_point_is_enabled(rte_trace_point_t *t)
return (val & __RTE_TRACE_FIELD_ENABLE_MASK) != 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_point_enable, 20.05)
int
rte_trace_point_enable(rte_trace_point_t *t)
{
@@ -161,6 +168,7 @@ rte_trace_point_enable(rte_trace_point_t *t)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_point_disable, 20.05)
int
rte_trace_point_disable(rte_trace_point_t *t)
{
@@ -176,6 +184,7 @@ rte_trace_point_disable(rte_trace_point_t *t)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_pattern, 20.05)
int
rte_trace_pattern(const char *pattern, bool enable)
{
@@ -200,6 +209,7 @@ rte_trace_pattern(const char *pattern, bool enable)
return rc | found;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_regexp, 20.05)
int
rte_trace_regexp(const char *regex, bool enable)
{
@@ -229,6 +239,7 @@ rte_trace_regexp(const char *regex, bool enable)
return rc | found;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_point_lookup, 20.05)
rte_trace_point_t *
rte_trace_point_lookup(const char *name)
{
@@ -279,6 +290,7 @@ trace_lcore_mem_dump(FILE *f)
rte_spinlock_unlock(&trace->lock);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_dump, 20.05)
void
rte_trace_dump(FILE *f)
{
@@ -314,6 +326,7 @@ thread_get_name(rte_thread_t id, char *name, size_t len)
RTE_SET_USED(len);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_trace_mem_per_thread_alloc, 20.05)
void
__rte_trace_mem_per_thread_alloc(void)
{
@@ -435,6 +448,7 @@ trace_mem_free(void)
rte_spinlock_unlock(&trace->lock);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_trace_point_emit_field, 20.05)
void
__rte_trace_point_emit_field(size_t sz, const char *in, const char *datatype)
{
@@ -461,6 +475,7 @@ __rte_trace_point_emit_field(size_t sz, const char *in, const char *datatype)
RTE_PER_LCORE(ctf_field) = field;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_trace_point_register, 20.05)
int
__rte_trace_point_register(rte_trace_point_t *handle, const char *name,
void (*register_fn)(void))
diff --git a/lib/eal/common/eal_common_trace_ctf.c b/lib/eal/common/eal_common_trace_ctf.c
index 04c4f71462..dec416b494 100644
--- a/lib/eal/common/eal_common_trace_ctf.c
+++ b/lib/eal/common/eal_common_trace_ctf.c
@@ -351,6 +351,7 @@ meta_fixup(struct trace *trace, char *meta)
meta_fix_freq_offset(trace, meta);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_metadata_dump, 20.05)
int
rte_trace_metadata_dump(FILE *f)
{
diff --git a/lib/eal/common/eal_common_trace_points.c b/lib/eal/common/eal_common_trace_points.c
index 0f1240ea3a..800c5e8c46 100644
--- a/lib/eal/common/eal_common_trace_points.c
+++ b/lib/eal/common/eal_common_trace_points.c
@@ -8,40 +8,58 @@
#include <eal_trace_internal.h>
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_void, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_void,
lib.eal.generic.void)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_u64, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_u64,
lib.eal.generic.u64)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_u32, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_u32,
lib.eal.generic.u32)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_u16, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_u16,
lib.eal.generic.u16)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_u8, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_u8,
lib.eal.generic.u8)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_i64, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_i64,
lib.eal.generic.i64)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_i32, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_i32,
lib.eal.generic.i32)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_i16, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_i16,
lib.eal.generic.i16)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_i8, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_i8,
lib.eal.generic.i8)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_int, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_int,
lib.eal.generic.int)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_long, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_long,
lib.eal.generic.long)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_float, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_float,
lib.eal.generic.float)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_double, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_double,
lib.eal.generic.double)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_ptr, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_ptr,
lib.eal.generic.ptr)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_str, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_str,
lib.eal.generic.string)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_size_t, 20.11)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_size_t,
lib.eal.generic.size_t)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_func, 20.05)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_func,
lib.eal.generic.func)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eal_trace_generic_blob, 23.03)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_blob,
lib.eal.generic.blob)
diff --git a/lib/eal/common/eal_common_trace_utils.c b/lib/eal/common/eal_common_trace_utils.c
index 7282715b11..0c71070290 100644
--- a/lib/eal/common/eal_common_trace_utils.c
+++ b/lib/eal/common/eal_common_trace_utils.c
@@ -409,6 +409,7 @@ trace_mem_save(struct trace *trace, struct __rte_trace_header *hdr,
return rc;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_trace_save, 20.05)
int
rte_trace_save(void)
{
diff --git a/lib/eal/common/eal_common_uuid.c b/lib/eal/common/eal_common_uuid.c
index 0a80bfbb38..b89a8c0377 100644
--- a/lib/eal/common/eal_common_uuid.c
+++ b/lib/eal/common/eal_common_uuid.c
@@ -77,6 +77,7 @@ static void uuid_unpack(const rte_uuid_t in, struct uuid *uu)
memcpy(uu->node, ptr, 6);
}
+RTE_EXPORT_SYMBOL(rte_uuid_is_null)
bool rte_uuid_is_null(const rte_uuid_t uu)
{
const uint8_t *cp = uu;
@@ -91,6 +92,7 @@ bool rte_uuid_is_null(const rte_uuid_t uu)
/*
* rte_uuid_compare() - compare two UUIDs.
*/
+RTE_EXPORT_SYMBOL(rte_uuid_compare)
int rte_uuid_compare(const rte_uuid_t uu1, const rte_uuid_t uu2)
{
struct uuid uuid1, uuid2;
@@ -110,6 +112,7 @@ int rte_uuid_compare(const rte_uuid_t uu1, const rte_uuid_t uu2)
return memcmp(uuid1.node, uuid2.node, 6);
}
+RTE_EXPORT_SYMBOL(rte_uuid_parse)
int rte_uuid_parse(const char *in, rte_uuid_t uu)
{
struct uuid uuid;
@@ -152,6 +155,7 @@ int rte_uuid_parse(const char *in, rte_uuid_t uu)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_uuid_unparse)
void rte_uuid_unparse(const rte_uuid_t uu, char *out, size_t len)
{
struct uuid uuid;
diff --git a/lib/eal/common/rte_bitset.c b/lib/eal/common/rte_bitset.c
index e25008519e..183b793635 100644
--- a/lib/eal/common/rte_bitset.c
+++ b/lib/eal/common/rte_bitset.c
@@ -9,6 +9,7 @@
#include "rte_bitset.h"
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_bitset_to_str, 24.11)
ssize_t
rte_bitset_to_str(const uint64_t *bitset, size_t num_bits, char *buf, size_t capacity)
{
diff --git a/lib/eal/common/rte_keepalive.c b/lib/eal/common/rte_keepalive.c
index 473d30dd13..2ef333731b 100644
--- a/lib/eal/common/rte_keepalive.c
+++ b/lib/eal/common/rte_keepalive.c
@@ -63,6 +63,7 @@ print_trace(const char *msg, struct rte_keepalive *keepcfg, int idx_core)
);
}
+RTE_EXPORT_SYMBOL(rte_keepalive_dispatch_pings)
void
rte_keepalive_dispatch_pings(__rte_unused void *ptr_timer,
void *ptr_data)
@@ -117,6 +118,7 @@ rte_keepalive_dispatch_pings(__rte_unused void *ptr_timer,
}
}
+RTE_EXPORT_SYMBOL(rte_keepalive_create)
struct rte_keepalive *
rte_keepalive_create(rte_keepalive_failure_callback_t callback,
void *data)
@@ -135,6 +137,7 @@ rte_keepalive_create(rte_keepalive_failure_callback_t callback,
return keepcfg;
}
+RTE_EXPORT_SYMBOL(rte_keepalive_register_relay_callback)
void rte_keepalive_register_relay_callback(struct rte_keepalive *keepcfg,
rte_keepalive_relay_callback_t callback,
void *data)
@@ -143,6 +146,7 @@ void rte_keepalive_register_relay_callback(struct rte_keepalive *keepcfg,
keepcfg->relay_callback_data = data;
}
+RTE_EXPORT_SYMBOL(rte_keepalive_register_core)
void
rte_keepalive_register_core(struct rte_keepalive *keepcfg, const int id_core)
{
@@ -152,12 +156,14 @@ rte_keepalive_register_core(struct rte_keepalive *keepcfg, const int id_core)
}
}
+RTE_EXPORT_SYMBOL(rte_keepalive_mark_alive)
void
rte_keepalive_mark_alive(struct rte_keepalive *keepcfg)
{
keepcfg->live_data[rte_lcore_id()].core_state = RTE_KA_STATE_ALIVE;
}
+RTE_EXPORT_SYMBOL(rte_keepalive_mark_sleep)
void
rte_keepalive_mark_sleep(struct rte_keepalive *keepcfg)
{
diff --git a/lib/eal/common/rte_malloc.c b/lib/eal/common/rte_malloc.c
index 3eed4d4be6..7b40b8c211 100644
--- a/lib/eal/common/rte_malloc.c
+++ b/lib/eal/common/rte_malloc.c
@@ -38,6 +38,7 @@ mem_free(void *addr, const bool trace_ena)
EAL_LOG(ERR, "Error: Invalid memory");
}
+RTE_EXPORT_SYMBOL(rte_free)
void
rte_free(void *addr)
{
@@ -80,6 +81,7 @@ malloc_socket(const char *type, size_t size, unsigned int align,
/*
* Allocate memory on specified heap.
*/
+RTE_EXPORT_SYMBOL(rte_malloc_socket)
void *
rte_malloc_socket(const char *type, size_t size, unsigned int align,
int socket_arg)
@@ -96,6 +98,7 @@ eal_malloc_no_trace(const char *type, size_t size, unsigned int align)
/*
* Allocate memory on default heap.
*/
+RTE_EXPORT_SYMBOL(rte_malloc)
void *
rte_malloc(const char *type, size_t size, unsigned align)
{
@@ -105,6 +108,7 @@ rte_malloc(const char *type, size_t size, unsigned align)
/*
* Allocate zero'd memory on specified heap.
*/
+RTE_EXPORT_SYMBOL(rte_zmalloc_socket)
void *
rte_zmalloc_socket(const char *type, size_t size, unsigned align, int socket)
{
@@ -134,6 +138,7 @@ rte_zmalloc_socket(const char *type, size_t size, unsigned align, int socket)
/*
* Allocate zero'd memory on default heap.
*/
+RTE_EXPORT_SYMBOL(rte_zmalloc)
void *
rte_zmalloc(const char *type, size_t size, unsigned align)
{
@@ -143,6 +148,7 @@ rte_zmalloc(const char *type, size_t size, unsigned align)
/*
* Allocate zero'd memory on specified heap.
*/
+RTE_EXPORT_SYMBOL(rte_calloc_socket)
void *
rte_calloc_socket(const char *type, size_t num, size_t size, unsigned align, int socket)
{
@@ -152,6 +158,7 @@ rte_calloc_socket(const char *type, size_t num, size_t size, unsigned align, int
/*
* Allocate zero'd memory on default heap.
*/
+RTE_EXPORT_SYMBOL(rte_calloc)
void *
rte_calloc(const char *type, size_t num, size_t size, unsigned align)
{
@@ -161,6 +168,7 @@ rte_calloc(const char *type, size_t num, size_t size, unsigned align)
/*
* Resize allocated memory on specified heap.
*/
+RTE_EXPORT_SYMBOL(rte_realloc_socket)
void *
rte_realloc_socket(void *ptr, size_t size, unsigned int align, int socket)
{
@@ -212,12 +220,14 @@ rte_realloc_socket(void *ptr, size_t size, unsigned int align, int socket)
/*
* Resize allocated memory.
*/
+RTE_EXPORT_SYMBOL(rte_realloc)
void *
rte_realloc(void *ptr, size_t size, unsigned int align)
{
return rte_realloc_socket(ptr, size, align, SOCKET_ID_ANY);
}
+RTE_EXPORT_SYMBOL(rte_malloc_validate)
int
rte_malloc_validate(const void *ptr, size_t *size)
{
@@ -232,6 +242,7 @@ rte_malloc_validate(const void *ptr, size_t *size)
/*
* Function to retrieve data for heap on given socket
*/
+RTE_EXPORT_SYMBOL(rte_malloc_get_socket_stats)
int
rte_malloc_get_socket_stats(int socket,
struct rte_malloc_socket_stats *socket_stats)
@@ -250,6 +261,7 @@ rte_malloc_get_socket_stats(int socket,
/*
* Function to dump contents of all heaps
*/
+RTE_EXPORT_SYMBOL(rte_malloc_dump_heaps)
void
rte_malloc_dump_heaps(FILE *f)
{
@@ -262,6 +274,7 @@ rte_malloc_dump_heaps(FILE *f)
}
}
+RTE_EXPORT_SYMBOL(rte_malloc_heap_get_socket)
int
rte_malloc_heap_get_socket(const char *name)
{
@@ -298,6 +311,7 @@ rte_malloc_heap_get_socket(const char *name)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_malloc_heap_socket_is_external)
int
rte_malloc_heap_socket_is_external(int socket_id)
{
@@ -326,6 +340,7 @@ rte_malloc_heap_socket_is_external(int socket_id)
/*
* Print stats on memory type. If type is NULL, info on all types is printed
*/
+RTE_EXPORT_SYMBOL(rte_malloc_dump_stats)
void
rte_malloc_dump_stats(FILE *f, __rte_unused const char *type)
{
@@ -355,6 +370,7 @@ rte_malloc_dump_stats(FILE *f, __rte_unused const char *type)
/*
* Return the IO address of a virtual address obtained through rte_malloc
*/
+RTE_EXPORT_SYMBOL(rte_malloc_virt2iova)
rte_iova_t
rte_malloc_virt2iova(const void *addr)
{
@@ -392,6 +408,7 @@ find_named_heap(const char *name)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_malloc_heap_memory_add)
int
rte_malloc_heap_memory_add(const char *heap_name, void *va_addr, size_t len,
rte_iova_t iova_addrs[], unsigned int n_pages, size_t page_sz)
@@ -447,6 +464,7 @@ rte_malloc_heap_memory_add(const char *heap_name, void *va_addr, size_t len,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_malloc_heap_memory_remove)
int
rte_malloc_heap_memory_remove(const char *heap_name, void *va_addr, size_t len)
{
@@ -562,18 +580,21 @@ sync_memory(const char *heap_name, void *va_addr, size_t len, bool attach)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_malloc_heap_memory_attach)
int
rte_malloc_heap_memory_attach(const char *heap_name, void *va_addr, size_t len)
{
return sync_memory(heap_name, va_addr, len, true);
}
+RTE_EXPORT_SYMBOL(rte_malloc_heap_memory_detach)
int
rte_malloc_heap_memory_detach(const char *heap_name, void *va_addr, size_t len)
{
return sync_memory(heap_name, va_addr, len, false);
}
+RTE_EXPORT_SYMBOL(rte_malloc_heap_create)
int
rte_malloc_heap_create(const char *heap_name)
{
@@ -625,6 +646,7 @@ rte_malloc_heap_create(const char *heap_name)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_malloc_heap_destroy)
int
rte_malloc_heap_destroy(const char *heap_name)
{
diff --git a/lib/eal/common/rte_random.c b/lib/eal/common/rte_random.c
index 9354358818..d701d5faf8 100644
--- a/lib/eal/common/rte_random.c
+++ b/lib/eal/common/rte_random.c
@@ -82,6 +82,7 @@ __rte_srand_lfsr258(uint64_t seed, struct rte_rand_state *state)
state->z5 = __rte_rand_lfsr258_gen_seed(&lcg_seed, 8388608UL);
}
+RTE_EXPORT_SYMBOL(rte_srand)
void
rte_srand(uint64_t seed)
{
@@ -142,6 +143,7 @@ struct rte_rand_state *__rte_rand_get_state(void)
return RTE_LCORE_VAR(rand_state);
}
+RTE_EXPORT_SYMBOL(rte_rand)
uint64_t
rte_rand(void)
{
@@ -152,6 +154,7 @@ rte_rand(void)
return __rte_rand_lfsr258(state);
}
+RTE_EXPORT_SYMBOL(rte_rand_max)
uint64_t
rte_rand_max(uint64_t upper_bound)
{
@@ -191,6 +194,7 @@ rte_rand_max(uint64_t upper_bound)
return res;
}
+RTE_EXPORT_SYMBOL(rte_drand)
double
rte_drand(void)
{
diff --git a/lib/eal/common/rte_reciprocal.c b/lib/eal/common/rte_reciprocal.c
index 87c67e6d49..f8da18b082 100644
--- a/lib/eal/common/rte_reciprocal.c
+++ b/lib/eal/common/rte_reciprocal.c
@@ -12,6 +12,7 @@
#include "rte_reciprocal.h"
+RTE_EXPORT_SYMBOL(rte_reciprocal_value)
struct rte_reciprocal rte_reciprocal_value(uint32_t d)
{
struct rte_reciprocal R;
@@ -99,6 +100,7 @@ divide_128_div_64_to_64(uint64_t u1, uint64_t u0, uint64_t v, uint64_t *r)
return q1*b + q0;
}
+RTE_EXPORT_SYMBOL(rte_reciprocal_value_u64)
struct rte_reciprocal_u64
rte_reciprocal_value_u64(uint64_t d)
{
diff --git a/lib/eal/common/rte_service.c b/lib/eal/common/rte_service.c
index 1821746337..a3ea1bf41e 100644
--- a/lib/eal/common/rte_service.c
+++ b/lib/eal/common/rte_service.c
@@ -120,6 +120,7 @@ rte_service_init(void)
return -ENOMEM;
}
+RTE_EXPORT_SYMBOL(rte_service_finalize)
void
rte_service_finalize(void)
{
@@ -174,6 +175,7 @@ service_mt_safe(struct rte_service_spec_impl *s)
return !!(s->spec.capabilities & RTE_SERVICE_CAP_MT_SAFE);
}
+RTE_EXPORT_SYMBOL(rte_service_set_stats_enable)
int32_t
rte_service_set_stats_enable(uint32_t id, int32_t enabled)
{
@@ -188,6 +190,7 @@ rte_service_set_stats_enable(uint32_t id, int32_t enabled)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_set_runstate_mapped_check)
int32_t
rte_service_set_runstate_mapped_check(uint32_t id, int32_t enabled)
{
@@ -202,12 +205,14 @@ rte_service_set_runstate_mapped_check(uint32_t id, int32_t enabled)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_get_count)
uint32_t
rte_service_get_count(void)
{
return rte_service_count;
}
+RTE_EXPORT_SYMBOL(rte_service_get_by_name)
int32_t
rte_service_get_by_name(const char *name, uint32_t *service_id)
{
@@ -226,6 +231,7 @@ rte_service_get_by_name(const char *name, uint32_t *service_id)
return -ENODEV;
}
+RTE_EXPORT_SYMBOL(rte_service_get_name)
const char *
rte_service_get_name(uint32_t id)
{
@@ -234,6 +240,7 @@ rte_service_get_name(uint32_t id)
return s->spec.name;
}
+RTE_EXPORT_SYMBOL(rte_service_probe_capability)
int32_t
rte_service_probe_capability(uint32_t id, uint32_t capability)
{
@@ -242,6 +249,7 @@ rte_service_probe_capability(uint32_t id, uint32_t capability)
return !!(s->spec.capabilities & capability);
}
+RTE_EXPORT_SYMBOL(rte_service_component_register)
int32_t
rte_service_component_register(const struct rte_service_spec *spec,
uint32_t *id_ptr)
@@ -276,6 +284,7 @@ rte_service_component_register(const struct rte_service_spec *spec,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_component_unregister)
int32_t
rte_service_component_unregister(uint32_t id)
{
@@ -297,6 +306,7 @@ rte_service_component_unregister(uint32_t id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_component_runstate_set)
int32_t
rte_service_component_runstate_set(uint32_t id, uint32_t runstate)
{
@@ -317,6 +327,7 @@ rte_service_component_runstate_set(uint32_t id, uint32_t runstate)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_runstate_set)
int32_t
rte_service_runstate_set(uint32_t id, uint32_t runstate)
{
@@ -338,6 +349,7 @@ rte_service_runstate_set(uint32_t id, uint32_t runstate)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_runstate_get)
int32_t
rte_service_runstate_get(uint32_t id)
{
@@ -448,6 +460,7 @@ service_run(uint32_t i, struct core_state *cs, const uint64_t *mapped_services,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_may_be_active)
int32_t
rte_service_may_be_active(uint32_t id)
{
@@ -469,6 +482,7 @@ rte_service_may_be_active(uint32_t id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_run_iter_on_app_lcore)
int32_t
rte_service_run_iter_on_app_lcore(uint32_t id, uint32_t serialize_mt_unsafe)
{
@@ -528,6 +542,7 @@ service_runner_func(void *arg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_may_be_active)
int32_t
rte_service_lcore_may_be_active(uint32_t lcore)
{
@@ -543,6 +558,7 @@ rte_service_lcore_may_be_active(uint32_t lcore)
rte_memory_order_acquire);
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_count)
int32_t
rte_service_lcore_count(void)
{
@@ -556,6 +572,7 @@ rte_service_lcore_count(void)
return count;
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_list)
int32_t
rte_service_lcore_list(uint32_t array[], uint32_t n)
{
@@ -580,6 +597,7 @@ rte_service_lcore_list(uint32_t array[], uint32_t n)
return count;
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_count_services)
int32_t
rte_service_lcore_count_services(uint32_t lcore)
{
@@ -593,6 +611,7 @@ rte_service_lcore_count_services(uint32_t lcore)
return rte_bitset_count_set(cs->mapped_services, RTE_SERVICE_NUM_MAX);
}
+RTE_EXPORT_SYMBOL(rte_service_start_with_defaults)
int32_t
rte_service_start_with_defaults(void)
{
@@ -666,6 +685,7 @@ service_update(uint32_t sid, uint32_t lcore, uint32_t *set, uint32_t *enabled)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_map_lcore_set)
int32_t
rte_service_map_lcore_set(uint32_t id, uint32_t lcore, uint32_t enabled)
{
@@ -674,6 +694,7 @@ rte_service_map_lcore_set(uint32_t id, uint32_t lcore, uint32_t enabled)
return service_update(id, lcore, &on, 0);
}
+RTE_EXPORT_SYMBOL(rte_service_map_lcore_get)
int32_t
rte_service_map_lcore_get(uint32_t id, uint32_t lcore)
{
@@ -701,6 +722,7 @@ set_lcore_state(uint32_t lcore, int32_t state)
rte_eal_trace_service_lcore_state_change(lcore, state);
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_reset_all)
int32_t
rte_service_lcore_reset_all(void)
{
@@ -727,6 +749,7 @@ rte_service_lcore_reset_all(void)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_add)
int32_t
rte_service_lcore_add(uint32_t lcore)
{
@@ -750,6 +773,7 @@ rte_service_lcore_add(uint32_t lcore)
return rte_eal_wait_lcore(lcore);
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_del)
int32_t
rte_service_lcore_del(uint32_t lcore)
{
@@ -774,6 +798,7 @@ rte_service_lcore_del(uint32_t lcore)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_start)
int32_t
rte_service_lcore_start(uint32_t lcore)
{
@@ -807,6 +832,7 @@ rte_service_lcore_start(uint32_t lcore)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_stop)
int32_t
rte_service_lcore_stop(uint32_t lcore)
{
@@ -947,6 +973,7 @@ attr_get_service_cycles(uint32_t service_id)
return attr_get(service_id, lcore_attr_get_service_cycles);
}
+RTE_EXPORT_SYMBOL(rte_service_attr_get)
int32_t
rte_service_attr_get(uint32_t id, uint32_t attr_id, uint64_t *attr_value)
{
@@ -974,6 +1001,7 @@ rte_service_attr_get(uint32_t id, uint32_t attr_id, uint64_t *attr_value)
}
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_attr_get)
int32_t
rte_service_lcore_attr_get(uint32_t lcore, uint32_t attr_id,
uint64_t *attr_value)
@@ -998,6 +1026,7 @@ rte_service_lcore_attr_get(uint32_t lcore, uint32_t attr_id,
}
}
+RTE_EXPORT_SYMBOL(rte_service_attr_reset_all)
int32_t
rte_service_attr_reset_all(uint32_t id)
{
@@ -1016,6 +1045,7 @@ rte_service_attr_reset_all(uint32_t id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_service_lcore_attr_reset_all)
int32_t
rte_service_lcore_attr_reset_all(uint32_t lcore)
{
@@ -1069,6 +1099,7 @@ service_dump_calls_per_lcore(FILE *f, uint32_t lcore)
fprintf(f, "\n");
}
+RTE_EXPORT_SYMBOL(rte_service_dump)
int32_t
rte_service_dump(FILE *f, uint32_t id)
{
diff --git a/lib/eal/common/rte_version.c b/lib/eal/common/rte_version.c
index 4ae5d66c89..456c0a955f 100644
--- a/lib/eal/common/rte_version.c
+++ b/lib/eal/common/rte_version.c
@@ -4,24 +4,31 @@
#include <rte_version.h>
+RTE_EXPORT_SYMBOL(rte_version_prefix)
const char *
rte_version_prefix(void) { return RTE_VER_PREFIX; }
+RTE_EXPORT_SYMBOL(rte_version_year)
unsigned int
rte_version_year(void) { return RTE_VER_YEAR; }
+RTE_EXPORT_SYMBOL(rte_version_month)
unsigned int
rte_version_month(void) { return RTE_VER_MONTH; }
+RTE_EXPORT_SYMBOL(rte_version_minor)
unsigned int
rte_version_minor(void) { return RTE_VER_MINOR; }
+RTE_EXPORT_SYMBOL(rte_version_suffix)
const char *
rte_version_suffix(void) { return RTE_VER_SUFFIX; }
+RTE_EXPORT_SYMBOL(rte_version_release)
unsigned int
rte_version_release(void) { return RTE_VER_RELEASE; }
+RTE_EXPORT_SYMBOL(rte_version)
const char *
rte_version(void)
{
diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c
index d07cff8651..a4aa3fb665 100644
--- a/lib/eal/freebsd/eal.c
+++ b/lib/eal/freebsd/eal.c
@@ -72,6 +72,7 @@ static struct flock wr_lock = {
struct lcore_config lcore_config[RTE_MAX_LCORE];
/* used by rte_rdtsc() */
+RTE_EXPORT_SYMBOL(rte_cycles_vmware_tsc_map)
int rte_cycles_vmware_tsc_map;
@@ -514,6 +515,7 @@ sync_func(__rte_unused void *arg)
return 0;
}
/* Abstraction for port I/0 privilege */
+RTE_EXPORT_SYMBOL(rte_eal_iopl_init)
int
rte_eal_iopl_init(void)
{
@@ -534,6 +536,7 @@ static void rte_eal_init_alert(const char *msg)
}
/* Launch threads, called at application init(). */
+RTE_EXPORT_SYMBOL(rte_eal_init)
int
rte_eal_init(int argc, char **argv)
{
@@ -883,6 +886,7 @@ rte_eal_init(int argc, char **argv)
return fctret;
}
+RTE_EXPORT_SYMBOL(rte_eal_cleanup)
int
rte_eal_cleanup(void)
{
@@ -911,6 +915,7 @@ rte_eal_cleanup(void)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eal_create_uio_dev)
int rte_eal_create_uio_dev(void)
{
const struct internal_config *internal_conf =
@@ -918,17 +923,20 @@ int rte_eal_create_uio_dev(void)
return internal_conf->create_uio_dev;
}
+RTE_EXPORT_SYMBOL(rte_eal_vfio_intr_mode)
enum rte_intr_mode
rte_eal_vfio_intr_mode(void)
{
return RTE_INTR_MODE_NONE;
}
+RTE_EXPORT_SYMBOL(rte_eal_vfio_get_vf_token)
void
rte_eal_vfio_get_vf_token(__rte_unused rte_uuid_t vf_token)
{
}
+RTE_EXPORT_SYMBOL(rte_vfio_setup_device)
int rte_vfio_setup_device(__rte_unused const char *sysfs_base,
__rte_unused const char *dev_addr,
__rte_unused int *vfio_dev_fd,
@@ -938,6 +946,7 @@ int rte_vfio_setup_device(__rte_unused const char *sysfs_base,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_release_device)
int rte_vfio_release_device(__rte_unused const char *sysfs_base,
__rte_unused const char *dev_addr,
__rte_unused int fd)
@@ -946,28 +955,33 @@ int rte_vfio_release_device(__rte_unused const char *sysfs_base,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_enable)
int rte_vfio_enable(__rte_unused const char *modname)
{
rte_errno = ENOTSUP;
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_is_enabled)
int rte_vfio_is_enabled(__rte_unused const char *modname)
{
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vfio_noiommu_is_enabled)
int rte_vfio_noiommu_is_enabled(void)
{
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vfio_clear_group)
int rte_vfio_clear_group(__rte_unused int vfio_group_fd)
{
rte_errno = ENOTSUP;
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_get_group_num)
int
rte_vfio_get_group_num(__rte_unused const char *sysfs_base,
__rte_unused const char *dev_addr,
@@ -977,6 +991,7 @@ rte_vfio_get_group_num(__rte_unused const char *sysfs_base,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_get_container_fd)
int
rte_vfio_get_container_fd(void)
{
@@ -984,6 +999,7 @@ rte_vfio_get_container_fd(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_get_group_fd)
int
rte_vfio_get_group_fd(__rte_unused int iommu_group_num)
{
@@ -991,6 +1007,7 @@ rte_vfio_get_group_fd(__rte_unused int iommu_group_num)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_create)
int
rte_vfio_container_create(void)
{
@@ -998,6 +1015,7 @@ rte_vfio_container_create(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_destroy)
int
rte_vfio_container_destroy(__rte_unused int container_fd)
{
@@ -1005,6 +1023,7 @@ rte_vfio_container_destroy(__rte_unused int container_fd)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_group_bind)
int
rte_vfio_container_group_bind(__rte_unused int container_fd,
__rte_unused int iommu_group_num)
@@ -1013,6 +1032,7 @@ rte_vfio_container_group_bind(__rte_unused int container_fd,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_group_unbind)
int
rte_vfio_container_group_unbind(__rte_unused int container_fd,
__rte_unused int iommu_group_num)
@@ -1021,6 +1041,7 @@ rte_vfio_container_group_unbind(__rte_unused int container_fd,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_dma_map)
int
rte_vfio_container_dma_map(__rte_unused int container_fd,
__rte_unused uint64_t vaddr,
@@ -1031,6 +1052,7 @@ rte_vfio_container_dma_map(__rte_unused int container_fd,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_dma_unmap)
int
rte_vfio_container_dma_unmap(__rte_unused int container_fd,
__rte_unused uint64_t vaddr,
diff --git a/lib/eal/freebsd/eal_alarm.c b/lib/eal/freebsd/eal_alarm.c
index 3680f5caba..69a88ecb93 100644
--- a/lib/eal/freebsd/eal_alarm.c
+++ b/lib/eal/freebsd/eal_alarm.c
@@ -200,6 +200,7 @@ eal_alarm_callback(void *arg __rte_unused)
}
+RTE_EXPORT_SYMBOL(rte_eal_alarm_set)
int
rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback cb_fn, void *cb_arg)
{
@@ -252,6 +253,7 @@ rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback cb_fn, void *cb_arg)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eal_alarm_cancel)
int
rte_eal_alarm_cancel(rte_eal_alarm_callback cb_fn, void *cb_arg)
{
diff --git a/lib/eal/freebsd/eal_dev.c b/lib/eal/freebsd/eal_dev.c
index d8659cc7fc..09316c16c2 100644
--- a/lib/eal/freebsd/eal_dev.c
+++ b/lib/eal/freebsd/eal_dev.c
@@ -7,6 +7,7 @@
#include "eal_private.h"
+RTE_EXPORT_SYMBOL(rte_dev_event_monitor_start)
int
rte_dev_event_monitor_start(void)
{
@@ -14,6 +15,7 @@ rte_dev_event_monitor_start(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_dev_event_monitor_stop)
int
rte_dev_event_monitor_stop(void)
{
@@ -21,6 +23,7 @@ rte_dev_event_monitor_stop(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_dev_hotplug_handle_enable)
int
rte_dev_hotplug_handle_enable(void)
{
@@ -28,6 +31,7 @@ rte_dev_hotplug_handle_enable(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_dev_hotplug_handle_disable)
int
rte_dev_hotplug_handle_disable(void)
{
diff --git a/lib/eal/freebsd/eal_interrupts.c b/lib/eal/freebsd/eal_interrupts.c
index 23747babc2..ed3b1c432e 100644
--- a/lib/eal/freebsd/eal_interrupts.c
+++ b/lib/eal/freebsd/eal_interrupts.c
@@ -80,6 +80,7 @@ intr_source_to_kevent(const struct rte_intr_handle *ih, struct kevent *ke)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_register)
int
rte_intr_callback_register(const struct rte_intr_handle *intr_handle,
rte_intr_callback_fn cb, void *cb_arg)
@@ -211,6 +212,7 @@ rte_intr_callback_register(const struct rte_intr_handle *intr_handle,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_unregister_pending)
int
rte_intr_callback_unregister_pending(const struct rte_intr_handle *intr_handle,
rte_intr_callback_fn cb_fn, void *cb_arg,
@@ -267,6 +269,7 @@ rte_intr_callback_unregister_pending(const struct rte_intr_handle *intr_handle,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_unregister)
int
rte_intr_callback_unregister(const struct rte_intr_handle *intr_handle,
rte_intr_callback_fn cb_fn, void *cb_arg)
@@ -354,6 +357,7 @@ rte_intr_callback_unregister(const struct rte_intr_handle *intr_handle,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_unregister_sync)
int
rte_intr_callback_unregister_sync(const struct rte_intr_handle *intr_handle,
rte_intr_callback_fn cb_fn, void *cb_arg)
@@ -366,6 +370,7 @@ rte_intr_callback_unregister_sync(const struct rte_intr_handle *intr_handle,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_intr_enable)
int
rte_intr_enable(const struct rte_intr_handle *intr_handle)
{
@@ -407,6 +412,7 @@ rte_intr_enable(const struct rte_intr_handle *intr_handle)
return rc;
}
+RTE_EXPORT_SYMBOL(rte_intr_disable)
int
rte_intr_disable(const struct rte_intr_handle *intr_handle)
{
@@ -447,6 +453,7 @@ rte_intr_disable(const struct rte_intr_handle *intr_handle)
return rc;
}
+RTE_EXPORT_SYMBOL(rte_intr_ack)
int
rte_intr_ack(const struct rte_intr_handle *intr_handle)
{
@@ -648,6 +655,7 @@ rte_eal_intr_init(void)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_rx_ctl)
int
rte_intr_rx_ctl(struct rte_intr_handle *intr_handle,
int epfd, int op, unsigned int vec, void *data)
@@ -661,6 +669,7 @@ rte_intr_rx_ctl(struct rte_intr_handle *intr_handle,
return -ENOTSUP;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efd_enable)
int
rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd)
{
@@ -670,12 +679,14 @@ rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efd_disable)
void
rte_intr_efd_disable(struct rte_intr_handle *intr_handle)
{
RTE_SET_USED(intr_handle);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_dp_is_en)
int
rte_intr_dp_is_en(struct rte_intr_handle *intr_handle)
{
@@ -683,6 +694,7 @@ rte_intr_dp_is_en(struct rte_intr_handle *intr_handle)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_allow_others)
int
rte_intr_allow_others(struct rte_intr_handle *intr_handle)
{
@@ -690,6 +702,7 @@ rte_intr_allow_others(struct rte_intr_handle *intr_handle)
return 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_cap_multiple)
int
rte_intr_cap_multiple(struct rte_intr_handle *intr_handle)
{
@@ -697,6 +710,7 @@ rte_intr_cap_multiple(struct rte_intr_handle *intr_handle)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_epoll_wait)
int
rte_epoll_wait(int epfd, struct rte_epoll_event *events,
int maxevents, int timeout)
@@ -709,6 +723,7 @@ rte_epoll_wait(int epfd, struct rte_epoll_event *events,
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_epoll_wait_interruptible)
int
rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events,
int maxevents, int timeout)
@@ -721,6 +736,7 @@ rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events,
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_epoll_ctl)
int
rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event)
{
@@ -732,18 +748,21 @@ rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event)
return -ENOTSUP;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_tls_epfd)
int
rte_intr_tls_epfd(void)
{
return -ENOTSUP;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_free_epoll_fd)
void
rte_intr_free_epoll_fd(struct rte_intr_handle *intr_handle)
{
RTE_SET_USED(intr_handle);
}
+RTE_EXPORT_SYMBOL(rte_thread_is_intr)
int rte_thread_is_intr(void)
{
return rte_thread_equal(intr_thread, rte_thread_self());
diff --git a/lib/eal/freebsd/eal_memory.c b/lib/eal/freebsd/eal_memory.c
index a6f3ba226e..c50b62e500 100644
--- a/lib/eal/freebsd/eal_memory.c
+++ b/lib/eal/freebsd/eal_memory.c
@@ -36,6 +36,7 @@ uint64_t eal_get_baseaddr(void)
/*
* Get physical address of any mapped virtual address in the current process.
*/
+RTE_EXPORT_SYMBOL(rte_mem_virt2phy)
phys_addr_t
rte_mem_virt2phy(const void *virtaddr)
{
@@ -44,6 +45,7 @@ rte_mem_virt2phy(const void *virtaddr)
(void)virtaddr;
return RTE_BAD_IOVA;
}
+RTE_EXPORT_SYMBOL(rte_mem_virt2iova)
rte_iova_t
rte_mem_virt2iova(const void *virtaddr)
{
@@ -295,6 +297,7 @@ rte_eal_hugepage_attach(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_eal_using_phys_addrs)
int
rte_eal_using_phys_addrs(void)
{
diff --git a/lib/eal/freebsd/eal_thread.c b/lib/eal/freebsd/eal_thread.c
index 77b7621908..108cfdb5f5 100644
--- a/lib/eal/freebsd/eal_thread.c
+++ b/lib/eal/freebsd/eal_thread.c
@@ -25,6 +25,7 @@
#include "eal_thread.h"
/* require calling thread tid by gettid() */
+RTE_EXPORT_SYMBOL(rte_sys_gettid)
int rte_sys_gettid(void)
{
long lwpid;
@@ -32,6 +33,7 @@ int rte_sys_gettid(void)
return (int)lwpid;
}
+RTE_EXPORT_SYMBOL(rte_thread_set_name)
void rte_thread_set_name(rte_thread_t thread_id, const char *thread_name)
{
char truncated[RTE_THREAD_NAME_SIZE];
diff --git a/lib/eal/freebsd/eal_timer.c b/lib/eal/freebsd/eal_timer.c
index 4eba66eadb..6e5d974f18 100644
--- a/lib/eal/freebsd/eal_timer.c
+++ b/lib/eal/freebsd/eal_timer.c
@@ -23,6 +23,7 @@
#warning HPET is not supported in FreeBSD
#endif
+RTE_EXPORT_SYMBOL(eal_timer_source)
enum timer_source eal_timer_source = EAL_TIMER_TSC;
uint64_t
diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c
index b1e63e37fc..5637770408 100644
--- a/lib/eal/linux/eal.c
+++ b/lib/eal/linux/eal.c
@@ -77,6 +77,7 @@ static struct flock wr_lock = {
struct lcore_config lcore_config[RTE_MAX_LCORE];
/* used by rte_rdtsc() */
+RTE_EXPORT_SYMBOL(rte_cycles_vmware_tsc_map)
int rte_cycles_vmware_tsc_map;
@@ -819,6 +820,7 @@ sync_func(__rte_unused void *arg)
* iopl() call is mostly for the i386 architecture. For other architectures,
* return -1 to indicate IO privilege can't be changed in this way.
*/
+RTE_EXPORT_SYMBOL(rte_eal_iopl_init)
int
rte_eal_iopl_init(void)
{
@@ -914,6 +916,7 @@ eal_worker_thread_create(unsigned int lcore_id)
}
/* Launch threads, called at application init(). */
+RTE_EXPORT_SYMBOL(rte_eal_init)
int
rte_eal_init(int argc, char **argv)
{
@@ -1294,6 +1297,7 @@ mark_freeable(const struct rte_memseg_list *msl, const struct rte_memseg *ms,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eal_cleanup)
int
rte_eal_cleanup(void)
{
@@ -1336,6 +1340,7 @@ rte_eal_cleanup(void)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eal_create_uio_dev)
int rte_eal_create_uio_dev(void)
{
const struct internal_config *internal_conf =
@@ -1344,6 +1349,7 @@ int rte_eal_create_uio_dev(void)
return internal_conf->create_uio_dev;
}
+RTE_EXPORT_SYMBOL(rte_eal_vfio_intr_mode)
enum rte_intr_mode
rte_eal_vfio_intr_mode(void)
{
@@ -1353,6 +1359,7 @@ rte_eal_vfio_intr_mode(void)
return internal_conf->vfio_intr_mode;
}
+RTE_EXPORT_SYMBOL(rte_eal_vfio_get_vf_token)
void
rte_eal_vfio_get_vf_token(rte_uuid_t vf_token)
{
diff --git a/lib/eal/linux/eal_alarm.c b/lib/eal/linux/eal_alarm.c
index 9fe14ade63..9c5e23e663 100644
--- a/lib/eal/linux/eal_alarm.c
+++ b/lib/eal/linux/eal_alarm.c
@@ -127,6 +127,7 @@ eal_alarm_callback(void *arg __rte_unused)
rte_spinlock_unlock(&alarm_list_lk);
}
+RTE_EXPORT_SYMBOL(rte_eal_alarm_set)
int
rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback cb_fn, void *cb_arg)
{
@@ -191,6 +192,7 @@ rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback cb_fn, void *cb_arg)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eal_alarm_cancel)
int
rte_eal_alarm_cancel(rte_eal_alarm_callback cb_fn, void *cb_arg)
{
diff --git a/lib/eal/linux/eal_dev.c b/lib/eal/linux/eal_dev.c
index be97f56424..6265d7fb45 100644
--- a/lib/eal/linux/eal_dev.c
+++ b/lib/eal/linux/eal_dev.c
@@ -303,6 +303,7 @@ dev_uev_handler(__rte_unused void *param)
free(uevent.devname);
}
+RTE_EXPORT_SYMBOL(rte_dev_event_monitor_start)
int
rte_dev_event_monitor_start(void)
{
@@ -353,6 +354,7 @@ rte_dev_event_monitor_start(void)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dev_event_monitor_stop)
int
rte_dev_event_monitor_stop(void)
{
@@ -421,6 +423,7 @@ dev_sigbus_handler_unregister(void)
return rte_errno;
}
+RTE_EXPORT_SYMBOL(rte_dev_hotplug_handle_enable)
int
rte_dev_hotplug_handle_enable(void)
{
@@ -436,6 +439,7 @@ rte_dev_hotplug_handle_enable(void)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_dev_hotplug_handle_disable)
int
rte_dev_hotplug_handle_disable(void)
{
diff --git a/lib/eal/linux/eal_interrupts.c b/lib/eal/linux/eal_interrupts.c
index 23039964fc..d2831dad39 100644
--- a/lib/eal/linux/eal_interrupts.c
+++ b/lib/eal/linux/eal_interrupts.c
@@ -482,6 +482,7 @@ uio_intr_enable(const struct rte_intr_handle *intr_handle)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_register)
int
rte_intr_callback_register(const struct rte_intr_handle *intr_handle,
rte_intr_callback_fn cb, void *cb_arg)
@@ -566,6 +567,7 @@ rte_intr_callback_register(const struct rte_intr_handle *intr_handle,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_unregister_pending)
int
rte_intr_callback_unregister_pending(const struct rte_intr_handle *intr_handle,
rte_intr_callback_fn cb_fn, void *cb_arg,
@@ -617,6 +619,7 @@ rte_intr_callback_unregister_pending(const struct rte_intr_handle *intr_handle,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_unregister)
int
rte_intr_callback_unregister(const struct rte_intr_handle *intr_handle,
rte_intr_callback_fn cb_fn, void *cb_arg)
@@ -683,6 +686,7 @@ rte_intr_callback_unregister(const struct rte_intr_handle *intr_handle,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_unregister_sync)
int
rte_intr_callback_unregister_sync(const struct rte_intr_handle *intr_handle,
rte_intr_callback_fn cb_fn, void *cb_arg)
@@ -695,6 +699,7 @@ rte_intr_callback_unregister_sync(const struct rte_intr_handle *intr_handle,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_intr_enable)
int
rte_intr_enable(const struct rte_intr_handle *intr_handle)
{
@@ -775,6 +780,7 @@ rte_intr_enable(const struct rte_intr_handle *intr_handle)
* auto-masked. In fact, for interrupt handle types VFIO_MSIX and VFIO_MSI,
* this function is no-op.
*/
+RTE_EXPORT_SYMBOL(rte_intr_ack)
int
rte_intr_ack(const struct rte_intr_handle *intr_handle)
{
@@ -827,6 +833,7 @@ rte_intr_ack(const struct rte_intr_handle *intr_handle)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_intr_disable)
int
rte_intr_disable(const struct rte_intr_handle *intr_handle)
{
@@ -1305,6 +1312,7 @@ eal_init_tls_epfd(void)
return pfd;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_tls_epfd)
int
rte_intr_tls_epfd(void)
{
@@ -1377,6 +1385,7 @@ eal_epoll_wait(int epfd, struct rte_epoll_event *events,
return rc;
}
+RTE_EXPORT_SYMBOL(rte_epoll_wait)
int
rte_epoll_wait(int epfd, struct rte_epoll_event *events,
int maxevents, int timeout)
@@ -1384,6 +1393,7 @@ rte_epoll_wait(int epfd, struct rte_epoll_event *events,
return eal_epoll_wait(epfd, events, maxevents, timeout, false);
}
+RTE_EXPORT_SYMBOL(rte_epoll_wait_interruptible)
int
rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events,
int maxevents, int timeout)
@@ -1408,6 +1418,7 @@ eal_epoll_data_safe_free(struct rte_epoll_event *ev)
ev->epfd = -1;
}
+RTE_EXPORT_SYMBOL(rte_epoll_ctl)
int
rte_epoll_ctl(int epfd, int op, int fd,
struct rte_epoll_event *event)
@@ -1449,6 +1460,7 @@ rte_epoll_ctl(int epfd, int op, int fd,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_rx_ctl)
int
rte_intr_rx_ctl(struct rte_intr_handle *intr_handle, int epfd,
int op, unsigned int vec, void *data)
@@ -1514,6 +1526,7 @@ rte_intr_rx_ctl(struct rte_intr_handle *intr_handle, int epfd,
return rc;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_free_epoll_fd)
void
rte_intr_free_epoll_fd(struct rte_intr_handle *intr_handle)
{
@@ -1532,6 +1545,7 @@ rte_intr_free_epoll_fd(struct rte_intr_handle *intr_handle)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efd_enable)
int
rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd)
{
@@ -1579,6 +1593,7 @@ rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efd_disable)
void
rte_intr_efd_disable(struct rte_intr_handle *intr_handle)
{
@@ -1593,12 +1608,14 @@ rte_intr_efd_disable(struct rte_intr_handle *intr_handle)
rte_intr_max_intr_set(intr_handle, 0);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_dp_is_en)
int
rte_intr_dp_is_en(struct rte_intr_handle *intr_handle)
{
return !(!rte_intr_nb_efd_get(intr_handle));
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_allow_others)
int
rte_intr_allow_others(struct rte_intr_handle *intr_handle)
{
@@ -1609,6 +1626,7 @@ rte_intr_allow_others(struct rte_intr_handle *intr_handle)
rte_intr_nb_efd_get(intr_handle));
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_cap_multiple)
int
rte_intr_cap_multiple(struct rte_intr_handle *intr_handle)
{
@@ -1621,6 +1639,7 @@ rte_intr_cap_multiple(struct rte_intr_handle *intr_handle)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_is_intr)
int rte_thread_is_intr(void)
{
return rte_thread_equal(intr_thread, rte_thread_self());
diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c
index 9dda60c0e1..7dec1baa0a 100644
--- a/lib/eal/linux/eal_memory.c
+++ b/lib/eal/linux/eal_memory.c
@@ -87,6 +87,7 @@ uint64_t eal_get_baseaddr(void)
/*
* Get physical address of any mapped virtual address in the current process.
*/
+RTE_EXPORT_SYMBOL(rte_mem_virt2phy)
phys_addr_t
rte_mem_virt2phy(const void *virtaddr)
{
@@ -144,6 +145,7 @@ rte_mem_virt2phy(const void *virtaddr)
return physaddr;
}
+RTE_EXPORT_SYMBOL(rte_mem_virt2iova)
rte_iova_t
rte_mem_virt2iova(const void *virtaddr)
{
@@ -1673,6 +1675,7 @@ rte_eal_hugepage_attach(void)
eal_hugepage_attach();
}
+RTE_EXPORT_SYMBOL(rte_eal_using_phys_addrs)
int
rte_eal_using_phys_addrs(void)
{
diff --git a/lib/eal/linux/eal_thread.c b/lib/eal/linux/eal_thread.c
index 7051840cdf..9db0a1af38 100644
--- a/lib/eal/linux/eal_thread.c
+++ b/lib/eal/linux/eal_thread.c
@@ -16,11 +16,13 @@
#include "eal_private.h"
/* require calling thread tid by gettid() */
+RTE_EXPORT_SYMBOL(rte_sys_gettid)
int rte_sys_gettid(void)
{
return (int)syscall(SYS_gettid);
}
+RTE_EXPORT_SYMBOL(rte_thread_set_name)
void rte_thread_set_name(rte_thread_t thread_id, const char *thread_name)
{
int ret = ENOSYS;
diff --git a/lib/eal/linux/eal_timer.c b/lib/eal/linux/eal_timer.c
index 489732c116..5c6f6687d5 100644
--- a/lib/eal/linux/eal_timer.c
+++ b/lib/eal/linux/eal_timer.c
@@ -18,6 +18,7 @@
#include "eal_private.h"
+RTE_EXPORT_SYMBOL(eal_timer_source)
enum timer_source eal_timer_source = EAL_TIMER_HPET;
#ifdef RTE_LIBEAL_USE_HPET
@@ -93,6 +94,7 @@ hpet_msb_inc(__rte_unused void *arg)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_get_hpet_hz)
uint64_t
rte_get_hpet_hz(void)
{
@@ -105,6 +107,7 @@ rte_get_hpet_hz(void)
return eal_hpet_resolution_hz;
}
+RTE_EXPORT_SYMBOL(rte_get_hpet_cycles)
uint64_t
rte_get_hpet_cycles(void)
{
@@ -131,6 +134,7 @@ rte_get_hpet_cycles(void)
* Open and mmap /dev/hpet (high precision event timer) that will
* provide our time reference.
*/
+RTE_EXPORT_SYMBOL(rte_eal_hpet_init)
int
rte_eal_hpet_init(int make_default)
{
diff --git a/lib/eal/linux/eal_vfio.c b/lib/eal/linux/eal_vfio.c
index 7132e24cba..1b69fc35e1 100644
--- a/lib/eal/linux/eal_vfio.c
+++ b/lib/eal/linux/eal_vfio.c
@@ -515,6 +515,7 @@ get_vfio_cfg_by_container_fd(int container_fd)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_vfio_get_group_fd)
int
rte_vfio_get_group_fd(int iommu_group_num)
{
@@ -713,6 +714,7 @@ vfio_sync_default_container(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_clear_group)
int
rte_vfio_clear_group(int vfio_group_fd)
{
@@ -736,6 +738,7 @@ rte_vfio_clear_group(int vfio_group_fd)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vfio_setup_device)
int
rte_vfio_setup_device(const char *sysfs_base, const char *dev_addr,
int *vfio_dev_fd, struct vfio_device_info *device_info)
@@ -989,6 +992,7 @@ rte_vfio_setup_device(const char *sysfs_base, const char *dev_addr,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vfio_release_device)
int
rte_vfio_release_device(const char *sysfs_base, const char *dev_addr,
int vfio_dev_fd)
@@ -1077,6 +1081,7 @@ rte_vfio_release_device(const char *sysfs_base, const char *dev_addr,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vfio_enable)
int
rte_vfio_enable(const char *modname)
{
@@ -1143,6 +1148,7 @@ rte_vfio_enable(const char *modname)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vfio_is_enabled)
int
rte_vfio_is_enabled(const char *modname)
{
@@ -1225,6 +1231,7 @@ vfio_set_iommu_type(int vfio_container_fd)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vfio_get_device_info, 24.03)
int
rte_vfio_get_device_info(const char *sysfs_base, const char *dev_addr,
int *vfio_dev_fd, struct vfio_device_info *device_info)
@@ -1284,6 +1291,7 @@ vfio_has_supported_extensions(int vfio_container_fd)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vfio_get_container_fd)
int
rte_vfio_get_container_fd(void)
{
@@ -1355,6 +1363,7 @@ rte_vfio_get_container_fd(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_get_group_num)
int
rte_vfio_get_group_num(const char *sysfs_base,
const char *dev_addr, int *iommu_group_num)
@@ -2024,6 +2033,7 @@ container_dma_unmap(struct vfio_config *vfio_cfg, uint64_t vaddr, uint64_t iova,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vfio_noiommu_is_enabled)
int
rte_vfio_noiommu_is_enabled(void)
{
@@ -2056,6 +2066,7 @@ rte_vfio_noiommu_is_enabled(void)
return c == 'Y';
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_create)
int
rte_vfio_container_create(void)
{
@@ -2081,6 +2092,7 @@ rte_vfio_container_create(void)
return vfio_cfgs[i].vfio_container_fd;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_destroy)
int
rte_vfio_container_destroy(int container_fd)
{
@@ -2106,6 +2118,7 @@ rte_vfio_container_destroy(int container_fd)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_group_bind)
int
rte_vfio_container_group_bind(int container_fd, int iommu_group_num)
{
@@ -2120,6 +2133,7 @@ rte_vfio_container_group_bind(int container_fd, int iommu_group_num)
return vfio_get_group_fd(vfio_cfg, iommu_group_num);
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_group_unbind)
int
rte_vfio_container_group_unbind(int container_fd, int iommu_group_num)
{
@@ -2160,6 +2174,7 @@ rte_vfio_container_group_unbind(int container_fd, int iommu_group_num)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_dma_map)
int
rte_vfio_container_dma_map(int container_fd, uint64_t vaddr, uint64_t iova,
uint64_t len)
@@ -2180,6 +2195,7 @@ rte_vfio_container_dma_map(int container_fd, uint64_t vaddr, uint64_t iova,
return container_dma_map(vfio_cfg, vaddr, iova, len);
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_dma_unmap)
int
rte_vfio_container_dma_unmap(int container_fd, uint64_t vaddr, uint64_t iova,
uint64_t len)
diff --git a/lib/eal/loongarch/rte_cpuflags.c b/lib/eal/loongarch/rte_cpuflags.c
index db9e28ef20..4a3671505f 100644
--- a/lib/eal/loongarch/rte_cpuflags.c
+++ b/lib/eal/loongarch/rte_cpuflags.c
@@ -61,6 +61,7 @@ rte_cpu_get_features(hwcap_registers_t out)
/*
* Checks if a particular flag is available on current machine.
*/
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_enabled)
int
rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
{
@@ -78,6 +79,7 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
return (regs[feat->reg] >> feat->bit) & 1;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_name)
const char *
rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
{
@@ -86,6 +88,7 @@ rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
return rte_cpu_feature_table[feature].name;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_intrinsics_support)
void
rte_cpu_get_intrinsics_support(struct rte_cpu_intrinsics *intrinsics)
{
diff --git a/lib/eal/loongarch/rte_hypervisor.c b/lib/eal/loongarch/rte_hypervisor.c
index d044906f71..d105c33888 100644
--- a/lib/eal/loongarch/rte_hypervisor.c
+++ b/lib/eal/loongarch/rte_hypervisor.c
@@ -4,6 +4,7 @@
#include "rte_hypervisor.h"
+RTE_EXPORT_SYMBOL(rte_hypervisor_get)
enum rte_hypervisor
rte_hypervisor_get(void)
{
diff --git a/lib/eal/loongarch/rte_power_intrinsics.c b/lib/eal/loongarch/rte_power_intrinsics.c
index a8969c260e..7c4a51c14d 100644
--- a/lib/eal/loongarch/rte_power_intrinsics.c
+++ b/lib/eal/loongarch/rte_power_intrinsics.c
@@ -9,6 +9,7 @@
/**
* This function is not supported on LOONGARCH.
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor)
int
rte_power_monitor(const struct rte_power_monitor_cond *pmc,
const uint64_t tsc_timestamp)
@@ -22,6 +23,7 @@ rte_power_monitor(const struct rte_power_monitor_cond *pmc,
/**
* This function is not supported on LOONGARCH.
*/
+RTE_EXPORT_SYMBOL(rte_power_pause)
int
rte_power_pause(const uint64_t tsc_timestamp)
{
@@ -33,6 +35,7 @@ rte_power_pause(const uint64_t tsc_timestamp)
/**
* This function is not supported on LOONGARCH.
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor_wakeup)
int
rte_power_monitor_wakeup(const unsigned int lcore_id)
{
@@ -41,6 +44,7 @@ rte_power_monitor_wakeup(const unsigned int lcore_id)
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_power_monitor_multi)
int
rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[],
const uint32_t num, const uint64_t tsc_timestamp)
diff --git a/lib/eal/ppc/rte_cpuflags.c b/lib/eal/ppc/rte_cpuflags.c
index d276c2cf88..9580cbb869 100644
--- a/lib/eal/ppc/rte_cpuflags.c
+++ b/lib/eal/ppc/rte_cpuflags.c
@@ -85,6 +85,7 @@ rte_cpu_get_features(hwcap_registers_t out)
/*
* Checks if a particular flag is available on current machine.
*/
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_enabled)
int
rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
{
@@ -102,6 +103,7 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
return (regs[feat->reg] >> feat->bit) & 1;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_name)
const char *
rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
{
@@ -110,6 +112,7 @@ rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
return rte_cpu_feature_table[feature].name;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_intrinsics_support)
void
rte_cpu_get_intrinsics_support(struct rte_cpu_intrinsics *intrinsics)
{
diff --git a/lib/eal/ppc/rte_hypervisor.c b/lib/eal/ppc/rte_hypervisor.c
index 08a1c97d10..c22cee1319 100644
--- a/lib/eal/ppc/rte_hypervisor.c
+++ b/lib/eal/ppc/rte_hypervisor.c
@@ -4,6 +4,7 @@
#include "rte_hypervisor.h"
+RTE_EXPORT_SYMBOL(rte_hypervisor_get)
enum rte_hypervisor
rte_hypervisor_get(void)
{
diff --git a/lib/eal/ppc/rte_power_intrinsics.c b/lib/eal/ppc/rte_power_intrinsics.c
index d6bdc58911..94c8281ea4 100644
--- a/lib/eal/ppc/rte_power_intrinsics.c
+++ b/lib/eal/ppc/rte_power_intrinsics.c
@@ -9,6 +9,7 @@
/**
* This function is not supported on PPC64.
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor)
int
rte_power_monitor(const struct rte_power_monitor_cond *pmc,
const uint64_t tsc_timestamp)
@@ -22,6 +23,7 @@ rte_power_monitor(const struct rte_power_monitor_cond *pmc,
/**
* This function is not supported on PPC64.
*/
+RTE_EXPORT_SYMBOL(rte_power_pause)
int
rte_power_pause(const uint64_t tsc_timestamp)
{
@@ -33,6 +35,7 @@ rte_power_pause(const uint64_t tsc_timestamp)
/**
* This function is not supported on PPC64.
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor_wakeup)
int
rte_power_monitor_wakeup(const unsigned int lcore_id)
{
@@ -41,6 +44,7 @@ rte_power_monitor_wakeup(const unsigned int lcore_id)
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_power_monitor_multi)
int
rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[],
const uint32_t num, const uint64_t tsc_timestamp)
diff --git a/lib/eal/riscv/rte_cpuflags.c b/lib/eal/riscv/rte_cpuflags.c
index eb4105c18b..6b5be23c36 100644
--- a/lib/eal/riscv/rte_cpuflags.c
+++ b/lib/eal/riscv/rte_cpuflags.c
@@ -90,6 +90,7 @@ rte_cpu_get_features(hwcap_registers_t out)
/*
* Checks if a particular flag is available on current machine.
*/
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_enabled)
int
rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
{
@@ -107,6 +108,7 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
return (regs[feat->reg] >> feat->bit) & 1;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_name)
const char *
rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
{
@@ -115,6 +117,7 @@ rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
return rte_cpu_feature_table[feature].name;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_intrinsics_support)
void
rte_cpu_get_intrinsics_support(struct rte_cpu_intrinsics *intrinsics)
{
diff --git a/lib/eal/riscv/rte_hypervisor.c b/lib/eal/riscv/rte_hypervisor.c
index 92b5435993..1d32c8bd93 100644
--- a/lib/eal/riscv/rte_hypervisor.c
+++ b/lib/eal/riscv/rte_hypervisor.c
@@ -6,6 +6,7 @@
#include "rte_hypervisor.h"
+RTE_EXPORT_SYMBOL(rte_hypervisor_get)
enum rte_hypervisor
rte_hypervisor_get(void)
{
diff --git a/lib/eal/riscv/rte_power_intrinsics.c b/lib/eal/riscv/rte_power_intrinsics.c
index 1c86573c19..06a4d0f52c 100644
--- a/lib/eal/riscv/rte_power_intrinsics.c
+++ b/lib/eal/riscv/rte_power_intrinsics.c
@@ -11,6 +11,7 @@
/**
* This function is not supported on RISC-V 64
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor)
int
rte_power_monitor(const struct rte_power_monitor_cond *pmc,
const uint64_t tsc_timestamp)
@@ -24,6 +25,7 @@ rte_power_monitor(const struct rte_power_monitor_cond *pmc,
/**
* This function is not supported on RISC-V 64
*/
+RTE_EXPORT_SYMBOL(rte_power_pause)
int
rte_power_pause(const uint64_t tsc_timestamp)
{
@@ -35,6 +37,7 @@ rte_power_pause(const uint64_t tsc_timestamp)
/**
* This function is not supported on RISC-V 64
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor_wakeup)
int
rte_power_monitor_wakeup(const unsigned int lcore_id)
{
@@ -46,6 +49,7 @@ rte_power_monitor_wakeup(const unsigned int lcore_id)
/**
* This function is not supported on RISC-V 64
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor_multi)
int
rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[],
const uint32_t num, const uint64_t tsc_timestamp)
diff --git a/lib/eal/unix/eal_debug.c b/lib/eal/unix/eal_debug.c
index 69ba3758c2..6e955afbff 100644
--- a/lib/eal/unix/eal_debug.c
+++ b/lib/eal/unix/eal_debug.c
@@ -46,6 +46,7 @@ static char *safe_itoa(long val, char *buf, size_t len, unsigned int radix)
* Most of libc is therefore not safe, include RTE_LOG (calls syslog);
* backtrace_symbols (calls malloc), etc.
*/
+RTE_EXPORT_SYMBOL(rte_dump_stack)
void rte_dump_stack(void)
{
void *func[BACKTRACE_SIZE];
@@ -122,6 +123,7 @@ void rte_dump_stack(void)
#else /* !RTE_BACKTRACE */
/* stub if not enabled */
+RTE_EXPORT_SYMBOL(rte_dump_stack)
void rte_dump_stack(void) { }
#endif /* RTE_BACKTRACE */
diff --git a/lib/eal/unix/eal_filesystem.c b/lib/eal/unix/eal_filesystem.c
index 6cd5f1492c..94c0fdb73a 100644
--- a/lib/eal/unix/eal_filesystem.c
+++ b/lib/eal/unix/eal_filesystem.c
@@ -77,6 +77,7 @@ int eal_create_runtime_dir(void)
}
/* parse a sysfs (or other) file containing one integer value */
+RTE_EXPORT_SYMBOL(eal_parse_sysfs_value)
int eal_parse_sysfs_value(const char *filename, unsigned long *val)
{
FILE *f;
diff --git a/lib/eal/unix/eal_firmware.c b/lib/eal/unix/eal_firmware.c
index 0d69b1e3f0..f0ea6d99cf 100644
--- a/lib/eal/unix/eal_firmware.c
+++ b/lib/eal/unix/eal_firmware.c
@@ -146,6 +146,7 @@ firmware_read(const char *name, void **buf, size_t *bufsz)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_firmware_read)
int
rte_firmware_read(const char *name, void **buf, size_t *bufsz)
{
diff --git a/lib/eal/unix/eal_unix_memory.c b/lib/eal/unix/eal_unix_memory.c
index 97969a401b..9dd585cf6b 100644
--- a/lib/eal/unix/eal_unix_memory.c
+++ b/lib/eal/unix/eal_unix_memory.c
@@ -105,6 +105,7 @@ mem_rte_to_sys_prot(int prot)
return sys_prot;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mem_map)
void *
rte_mem_map(void *requested_addr, size_t size, int prot, int flags,
int fd, uint64_t offset)
@@ -126,12 +127,14 @@ rte_mem_map(void *requested_addr, size_t size, int prot, int flags,
return mem_map(requested_addr, size, sys_prot, sys_flags, fd, offset);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mem_unmap)
int
rte_mem_unmap(void *virt, size_t size)
{
return mem_unmap(virt, size);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mem_page_size)
size_t
rte_mem_page_size(void)
{
@@ -143,6 +146,7 @@ rte_mem_page_size(void)
return page_size;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mem_lock)
int
rte_mem_lock(const void *virt, size_t size)
{
diff --git a/lib/eal/unix/eal_unix_timer.c b/lib/eal/unix/eal_unix_timer.c
index e71602b3a1..4db28f6f2a 100644
--- a/lib/eal/unix/eal_unix_timer.c
+++ b/lib/eal/unix/eal_unix_timer.c
@@ -7,6 +7,7 @@
#include <rte_cycles.h>
+RTE_EXPORT_SYMBOL(rte_delay_us_sleep)
void
rte_delay_us_sleep(unsigned int us)
{
diff --git a/lib/eal/unix/rte_thread.c b/lib/eal/unix/rte_thread.c
index ea629c2065..c478fbb111 100644
--- a/lib/eal/unix/rte_thread.c
+++ b/lib/eal/unix/rte_thread.c
@@ -118,6 +118,7 @@ thread_start_wrapper(void *arg)
}
#endif
+RTE_EXPORT_SYMBOL(rte_thread_create)
int
rte_thread_create(rte_thread_t *thread_id,
const rte_thread_attr_t *thread_attr,
@@ -226,6 +227,7 @@ rte_thread_create(rte_thread_t *thread_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_thread_join)
int
rte_thread_join(rte_thread_t thread_id, uint32_t *value_ptr)
{
@@ -248,18 +250,21 @@ rte_thread_join(rte_thread_t thread_id, uint32_t *value_ptr)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_detach)
int
rte_thread_detach(rte_thread_t thread_id)
{
return pthread_detach((pthread_t)thread_id.opaque_id);
}
+RTE_EXPORT_SYMBOL(rte_thread_equal)
int
rte_thread_equal(rte_thread_t t1, rte_thread_t t2)
{
return pthread_equal((pthread_t)t1.opaque_id, (pthread_t)t2.opaque_id);
}
+RTE_EXPORT_SYMBOL(rte_thread_self)
rte_thread_t
rte_thread_self(void)
{
@@ -272,6 +277,7 @@ rte_thread_self(void)
return thread_id;
}
+RTE_EXPORT_SYMBOL(rte_thread_get_priority)
int
rte_thread_get_priority(rte_thread_t thread_id,
enum rte_thread_priority *priority)
@@ -294,6 +300,7 @@ rte_thread_get_priority(rte_thread_t thread_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_thread_set_priority)
int
rte_thread_set_priority(rte_thread_t thread_id,
enum rte_thread_priority priority)
@@ -315,6 +322,7 @@ rte_thread_set_priority(rte_thread_t thread_id,
¶m);
}
+RTE_EXPORT_SYMBOL(rte_thread_key_create)
int
rte_thread_key_create(rte_thread_key *key, void (*destructor)(void *))
{
@@ -337,6 +345,7 @@ rte_thread_key_create(rte_thread_key *key, void (*destructor)(void *))
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_key_delete)
int
rte_thread_key_delete(rte_thread_key key)
{
@@ -359,6 +368,7 @@ rte_thread_key_delete(rte_thread_key key)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_value_set)
int
rte_thread_value_set(rte_thread_key key, const void *value)
{
@@ -379,6 +389,7 @@ rte_thread_value_set(rte_thread_key key, const void *value)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_value_get)
void *
rte_thread_value_get(rte_thread_key key)
{
@@ -390,6 +401,7 @@ rte_thread_value_get(rte_thread_key key)
return pthread_getspecific(key->thread_index);
}
+RTE_EXPORT_SYMBOL(rte_thread_set_affinity_by_id)
int
rte_thread_set_affinity_by_id(rte_thread_t thread_id,
const rte_cpuset_t *cpuset)
@@ -398,6 +410,7 @@ rte_thread_set_affinity_by_id(rte_thread_t thread_id,
sizeof(*cpuset), cpuset);
}
+RTE_EXPORT_SYMBOL(rte_thread_get_affinity_by_id)
int
rte_thread_get_affinity_by_id(rte_thread_t thread_id,
rte_cpuset_t *cpuset)
diff --git a/lib/eal/windows/eal.c b/lib/eal/windows/eal.c
index 5c7526f922..de540d8d2a 100644
--- a/lib/eal/windows/eal.c
+++ b/lib/eal/windows/eal.c
@@ -74,6 +74,7 @@ eal_proc_type_detect(void)
return ptype;
}
+RTE_EXPORT_SYMBOL(rte_mp_disable)
bool
rte_mp_disable(void)
{
@@ -189,9 +190,12 @@ rte_eal_init_alert(const char *msg)
* until eal_common_trace.c can be compiled.
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(per_lcore_trace_point_sz, 20.05)
RTE_DEFINE_PER_LCORE(volatile int, trace_point_sz);
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(per_lcore_trace_mem, 20.05)
RTE_DEFINE_PER_LCORE(void *, trace_mem);
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_trace_mem_per_thread_alloc, 20.05)
void
__rte_trace_mem_per_thread_alloc(void)
{
@@ -202,6 +206,7 @@ trace_mem_per_thread_free(void)
{
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_trace_point_emit_field, 20.05)
void
__rte_trace_point_emit_field(size_t sz, const char *field,
const char *type)
@@ -211,6 +216,7 @@ __rte_trace_point_emit_field(size_t sz, const char *field,
RTE_SET_USED(type);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_trace_point_register, 20.05)
int
__rte_trace_point_register(rte_trace_point_t *trace, const char *name,
void (*register_fn)(void))
@@ -221,6 +227,7 @@ __rte_trace_point_register(rte_trace_point_t *trace, const char *name,
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_eal_cleanup)
int
rte_eal_cleanup(void)
{
@@ -238,6 +245,7 @@ rte_eal_cleanup(void)
}
/* Launch threads, called at application init(). */
+RTE_EXPORT_SYMBOL(rte_eal_init)
int
rte_eal_init(int argc, char **argv)
{
@@ -511,6 +519,7 @@ eal_asprintf(char **buffer, const char *format, ...)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_dma_map)
int
rte_vfio_container_dma_map(__rte_unused int container_fd,
__rte_unused uint64_t vaddr,
@@ -521,6 +530,7 @@ rte_vfio_container_dma_map(__rte_unused int container_fd,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vfio_container_dma_unmap)
int
rte_vfio_container_dma_unmap(__rte_unused int container_fd,
__rte_unused uint64_t vaddr,
@@ -531,6 +541,7 @@ rte_vfio_container_dma_unmap(__rte_unused int container_fd,
return -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_firmware_read)
int
rte_firmware_read(__rte_unused const char *name,
__rte_unused void **buf,
diff --git a/lib/eal/windows/eal_alarm.c b/lib/eal/windows/eal_alarm.c
index 5cd7b254a1..120ade1153 100644
--- a/lib/eal/windows/eal_alarm.c
+++ b/lib/eal/windows/eal_alarm.c
@@ -83,6 +83,7 @@ alarm_task_exec(void *arg)
task->ret = alarm_set(task->entry, task->deadline);
}
+RTE_EXPORT_SYMBOL(rte_eal_alarm_set)
int
rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback cb_fn, void *cb_arg)
{
@@ -184,6 +185,7 @@ alarm_matches(const struct alarm_entry *ap,
return (ap->cb_fn == cb_fn) && (any_arg || ap->cb_arg == cb_arg);
}
+RTE_EXPORT_SYMBOL(rte_eal_alarm_cancel)
int
rte_eal_alarm_cancel(rte_eal_alarm_callback cb_fn, void *cb_arg)
{
diff --git a/lib/eal/windows/eal_debug.c b/lib/eal/windows/eal_debug.c
index 4a6303a2a9..37c01357cd 100644
--- a/lib/eal/windows/eal_debug.c
+++ b/lib/eal/windows/eal_debug.c
@@ -14,6 +14,7 @@
#define BACKTRACE_SIZE 256
/* dump the stack of the calling core */
+RTE_EXPORT_SYMBOL(rte_dump_stack)
void
rte_dump_stack(void)
{
diff --git a/lib/eal/windows/eal_dev.c b/lib/eal/windows/eal_dev.c
index e0b8c54dc5..661ea36417 100644
--- a/lib/eal/windows/eal_dev.c
+++ b/lib/eal/windows/eal_dev.c
@@ -6,6 +6,7 @@
#include "eal_private.h"
+RTE_EXPORT_SYMBOL(rte_dev_event_monitor_start)
int
rte_dev_event_monitor_start(void)
{
@@ -13,6 +14,7 @@ rte_dev_event_monitor_start(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_dev_event_monitor_stop)
int
rte_dev_event_monitor_stop(void)
{
@@ -20,6 +22,7 @@ rte_dev_event_monitor_stop(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_dev_hotplug_handle_enable)
int
rte_dev_hotplug_handle_enable(void)
{
@@ -27,6 +30,7 @@ rte_dev_hotplug_handle_enable(void)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_dev_hotplug_handle_disable)
int
rte_dev_hotplug_handle_disable(void)
{
diff --git a/lib/eal/windows/eal_interrupts.c b/lib/eal/windows/eal_interrupts.c
index c97118d231..36a88cfb65 100644
--- a/lib/eal/windows/eal_interrupts.c
+++ b/lib/eal/windows/eal_interrupts.c
@@ -108,12 +108,14 @@ rte_eal_intr_init(void)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_thread_is_intr)
int
rte_thread_is_intr(void)
{
return rte_thread_equal(intr_thread, rte_thread_self());
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_rx_ctl)
int
rte_intr_rx_ctl(__rte_unused struct rte_intr_handle *intr_handle,
__rte_unused int epfd, __rte_unused int op,
@@ -147,6 +149,7 @@ eal_intr_thread_cancel(void)
WaitForSingleObject(intr_thread_handle, INFINITE);
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_register)
int
rte_intr_callback_register(
__rte_unused const struct rte_intr_handle *intr_handle,
@@ -155,6 +158,7 @@ rte_intr_callback_register(
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_unregister_pending)
int
rte_intr_callback_unregister_pending(
__rte_unused const struct rte_intr_handle *intr_handle,
@@ -164,6 +168,7 @@ rte_intr_callback_unregister_pending(
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_unregister)
int
rte_intr_callback_unregister(
__rte_unused const struct rte_intr_handle *intr_handle,
@@ -172,6 +177,7 @@ rte_intr_callback_unregister(
return 0;
}
+RTE_EXPORT_SYMBOL(rte_intr_callback_unregister_sync)
int
rte_intr_callback_unregister_sync(
__rte_unused const struct rte_intr_handle *intr_handle,
@@ -180,24 +186,28 @@ rte_intr_callback_unregister_sync(
return 0;
}
+RTE_EXPORT_SYMBOL(rte_intr_enable)
int
rte_intr_enable(__rte_unused const struct rte_intr_handle *intr_handle)
{
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_intr_ack)
int
rte_intr_ack(__rte_unused const struct rte_intr_handle *intr_handle)
{
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_intr_disable)
int
rte_intr_disable(__rte_unused const struct rte_intr_handle *intr_handle)
{
return -ENOTSUP;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efd_enable)
int
rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd)
{
@@ -207,12 +217,14 @@ rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_efd_disable)
void
rte_intr_efd_disable(struct rte_intr_handle *intr_handle)
{
RTE_SET_USED(intr_handle);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_dp_is_en)
int
rte_intr_dp_is_en(struct rte_intr_handle *intr_handle)
{
@@ -221,6 +233,7 @@ rte_intr_dp_is_en(struct rte_intr_handle *intr_handle)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_allow_others)
int
rte_intr_allow_others(struct rte_intr_handle *intr_handle)
{
@@ -229,6 +242,7 @@ rte_intr_allow_others(struct rte_intr_handle *intr_handle)
return 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_cap_multiple)
int
rte_intr_cap_multiple(struct rte_intr_handle *intr_handle)
{
@@ -237,6 +251,7 @@ rte_intr_cap_multiple(struct rte_intr_handle *intr_handle)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_epoll_wait)
int
rte_epoll_wait(int epfd, struct rte_epoll_event *events,
int maxevents, int timeout)
@@ -249,6 +264,7 @@ rte_epoll_wait(int epfd, struct rte_epoll_event *events,
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_epoll_wait_interruptible)
int
rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events,
int maxevents, int timeout)
@@ -261,6 +277,7 @@ rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events,
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_epoll_ctl)
int
rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event)
{
@@ -272,12 +289,14 @@ rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event)
return -ENOTSUP;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_tls_epfd)
int
rte_intr_tls_epfd(void)
{
return -ENOTSUP;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_intr_free_epoll_fd)
void
rte_intr_free_epoll_fd(struct rte_intr_handle *intr_handle)
{
diff --git a/lib/eal/windows/eal_memory.c b/lib/eal/windows/eal_memory.c
index 8de92d4089..47acb4c953 100644
--- a/lib/eal/windows/eal_memory.c
+++ b/lib/eal/windows/eal_memory.c
@@ -212,6 +212,7 @@ eal_mem_virt2iova_cleanup(void)
CloseHandle(virt2phys_device);
}
+RTE_EXPORT_SYMBOL(rte_mem_virt2phy)
phys_addr_t
rte_mem_virt2phy(const void *virt)
{
@@ -232,6 +233,7 @@ rte_mem_virt2phy(const void *virt)
return phys.QuadPart;
}
+RTE_EXPORT_SYMBOL(rte_mem_virt2iova)
rte_iova_t
rte_mem_virt2iova(const void *virt)
{
@@ -247,6 +249,7 @@ rte_mem_virt2iova(const void *virt)
}
/* Always using physical addresses under Windows if they can be obtained. */
+RTE_EXPORT_SYMBOL(rte_eal_using_phys_addrs)
int
rte_eal_using_phys_addrs(void)
{
@@ -518,6 +521,7 @@ eal_mem_set_dump(void *virt, size_t size, bool dump)
return -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mem_map)
void *
rte_mem_map(void *requested_addr, size_t size, int prot, int flags,
int fd, uint64_t offset)
@@ -601,6 +605,7 @@ rte_mem_map(void *requested_addr, size_t size, int prot, int flags,
return virt;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mem_unmap)
int
rte_mem_unmap(void *virt, size_t size)
{
@@ -624,6 +629,7 @@ eal_get_baseaddr(void)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mem_page_size)
size_t
rte_mem_page_size(void)
{
@@ -635,6 +641,7 @@ rte_mem_page_size(void)
return info.dwPageSize;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mem_lock)
int
rte_mem_lock(const void *virt, size_t size)
{
diff --git a/lib/eal/windows/eal_mp.c b/lib/eal/windows/eal_mp.c
index 76413f49a3..7be7de870a 100644
--- a/lib/eal/windows/eal_mp.c
+++ b/lib/eal/windows/eal_mp.c
@@ -24,6 +24,7 @@ rte_mp_channel_cleanup(void)
EAL_LOG_NOT_IMPLEMENTED();
}
+RTE_EXPORT_SYMBOL(rte_mp_action_register)
int
rte_mp_action_register(const char *name, rte_mp_t action)
{
@@ -33,6 +34,7 @@ rte_mp_action_register(const char *name, rte_mp_t action)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_mp_action_unregister)
void
rte_mp_action_unregister(const char *name)
{
@@ -40,6 +42,7 @@ rte_mp_action_unregister(const char *name)
EAL_LOG_NOT_IMPLEMENTED();
}
+RTE_EXPORT_SYMBOL(rte_mp_sendmsg)
int
rte_mp_sendmsg(struct rte_mp_msg *msg)
{
@@ -48,6 +51,7 @@ rte_mp_sendmsg(struct rte_mp_msg *msg)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_mp_request_sync)
int
rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply,
const struct timespec *ts)
@@ -59,6 +63,7 @@ rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_mp_request_async)
int
rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts,
rte_mp_async_reply_t clb)
@@ -70,6 +75,7 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_mp_reply)
int
rte_mp_reply(struct rte_mp_msg *msg, const char *peer)
{
diff --git a/lib/eal/windows/eal_thread.c b/lib/eal/windows/eal_thread.c
index 9e3df200b9..648dd862bb 100644
--- a/lib/eal/windows/eal_thread.c
+++ b/lib/eal/windows/eal_thread.c
@@ -71,6 +71,7 @@ eal_thread_ack_command(void)
}
/* get current thread ID */
+RTE_EXPORT_SYMBOL(rte_sys_gettid)
int
rte_sys_gettid(void)
{
diff --git a/lib/eal/windows/eal_timer.c b/lib/eal/windows/eal_timer.c
index 020035c4cc..9c1576d91c 100644
--- a/lib/eal/windows/eal_timer.c
+++ b/lib/eal/windows/eal_timer.c
@@ -14,6 +14,7 @@
#define US_PER_SEC 1E6
#define CYC_PER_100KHZ 1E5
+RTE_EXPORT_SYMBOL(rte_delay_us_sleep)
void
rte_delay_us_sleep(unsigned int us)
{
diff --git a/lib/eal/windows/rte_thread.c b/lib/eal/windows/rte_thread.c
index 6f991dfa5d..023202978c 100644
--- a/lib/eal/windows/rte_thread.c
+++ b/lib/eal/windows/rte_thread.c
@@ -181,6 +181,7 @@ thread_func_wrapper(void *arg)
return (DWORD)ctx.thread_func(ctx.routine_args);
}
+RTE_EXPORT_SYMBOL(rte_thread_create)
int
rte_thread_create(rte_thread_t *thread_id,
const rte_thread_attr_t *thread_attr,
@@ -258,6 +259,7 @@ rte_thread_create(rte_thread_t *thread_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_thread_join)
int
rte_thread_join(rte_thread_t thread_id, uint32_t *value_ptr)
{
@@ -298,6 +300,7 @@ rte_thread_join(rte_thread_t thread_id, uint32_t *value_ptr)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_thread_detach)
int
rte_thread_detach(rte_thread_t thread_id)
{
@@ -307,12 +310,14 @@ rte_thread_detach(rte_thread_t thread_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_equal)
int
rte_thread_equal(rte_thread_t t1, rte_thread_t t2)
{
return t1.opaque_id == t2.opaque_id;
}
+RTE_EXPORT_SYMBOL(rte_thread_self)
rte_thread_t
rte_thread_self(void)
{
@@ -323,6 +328,7 @@ rte_thread_self(void)
return thread_id;
}
+RTE_EXPORT_SYMBOL(rte_thread_set_name)
void
rte_thread_set_name(rte_thread_t thread_id, const char *thread_name)
{
@@ -364,6 +370,7 @@ rte_thread_set_name(rte_thread_t thread_id, const char *thread_name)
EAL_LOG(DEBUG, "Failed to set thread name");
}
+RTE_EXPORT_SYMBOL(rte_thread_get_priority)
int
rte_thread_get_priority(rte_thread_t thread_id,
enum rte_thread_priority *priority)
@@ -403,6 +410,7 @@ rte_thread_get_priority(rte_thread_t thread_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_thread_set_priority)
int
rte_thread_set_priority(rte_thread_t thread_id,
enum rte_thread_priority priority)
@@ -441,6 +449,7 @@ rte_thread_set_priority(rte_thread_t thread_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_thread_key_create)
int
rte_thread_key_create(rte_thread_key *key,
__rte_unused void (*destructor)(void *))
@@ -461,6 +470,7 @@ rte_thread_key_create(rte_thread_key *key,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_key_delete)
int
rte_thread_key_delete(rte_thread_key key)
{
@@ -479,6 +489,7 @@ rte_thread_key_delete(rte_thread_key key)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_value_set)
int
rte_thread_value_set(rte_thread_key key, const void *value)
{
@@ -499,6 +510,7 @@ rte_thread_value_set(rte_thread_key key, const void *value)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thread_value_get)
void *
rte_thread_value_get(rte_thread_key key)
{
@@ -518,6 +530,7 @@ rte_thread_value_get(rte_thread_key key)
return output;
}
+RTE_EXPORT_SYMBOL(rte_thread_set_affinity_by_id)
int
rte_thread_set_affinity_by_id(rte_thread_t thread_id,
const rte_cpuset_t *cpuset)
@@ -558,6 +571,7 @@ rte_thread_set_affinity_by_id(rte_thread_t thread_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_thread_get_affinity_by_id)
int
rte_thread_get_affinity_by_id(rte_thread_t thread_id,
rte_cpuset_t *cpuset)
diff --git a/lib/eal/x86/rte_cpuflags.c b/lib/eal/x86/rte_cpuflags.c
index 90389c66fc..d45fd5c0e5 100644
--- a/lib/eal/x86/rte_cpuflags.c
+++ b/lib/eal/x86/rte_cpuflags.c
@@ -148,6 +148,7 @@ struct feature_entry rte_cpu_feature_table[] = {
FEAT_DEF(INVTSC, 0x80000007, 0, RTE_REG_EDX, 8)
};
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_enabled)
int
rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
{
@@ -190,6 +191,7 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)
return feat->value;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_flag_name)
const char *
rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
{
@@ -198,6 +200,7 @@ rte_cpu_get_flag_name(enum rte_cpu_flag_t feature)
return rte_cpu_feature_table[feature].name;
}
+RTE_EXPORT_SYMBOL(rte_cpu_get_intrinsics_support)
void
rte_cpu_get_intrinsics_support(struct rte_cpu_intrinsics *intrinsics)
{
diff --git a/lib/eal/x86/rte_hypervisor.c b/lib/eal/x86/rte_hypervisor.c
index 04fe76751a..acf3920dbb 100644
--- a/lib/eal/x86/rte_hypervisor.c
+++ b/lib/eal/x86/rte_hypervisor.c
@@ -13,6 +13,7 @@
/* See http://lwn.net/Articles/301888/ */
#define HYPERVISOR_INFO_LEAF 0x40000000
+RTE_EXPORT_SYMBOL(rte_hypervisor_get)
enum rte_hypervisor
rte_hypervisor_get(void)
{
diff --git a/lib/eal/x86/rte_power_intrinsics.c b/lib/eal/x86/rte_power_intrinsics.c
index f7d558153e..1c3676c794 100644
--- a/lib/eal/x86/rte_power_intrinsics.c
+++ b/lib/eal/x86/rte_power_intrinsics.c
@@ -158,6 +158,7 @@ __check_val_size(const uint8_t sz)
* For more information about usage of these instructions, please refer to
* Intel(R) 64 and IA-32 Architectures Software Developer's Manual.
*/
+RTE_EXPORT_SYMBOL(rte_power_monitor)
int
rte_power_monitor(const struct rte_power_monitor_cond *pmc,
const uint64_t tsc_timestamp)
@@ -219,6 +220,7 @@ rte_power_monitor(const struct rte_power_monitor_cond *pmc,
* information about usage of this instruction, please refer to Intel(R) 64 and
* IA-32 Architectures Software Developer's Manual.
*/
+RTE_EXPORT_SYMBOL(rte_power_pause)
int
rte_power_pause(const uint64_t tsc_timestamp)
{
@@ -263,6 +265,7 @@ RTE_INIT(rte_power_intrinsics_init) {
}
}
+RTE_EXPORT_SYMBOL(rte_power_monitor_wakeup)
int
rte_power_monitor_wakeup(const unsigned int lcore_id)
{
@@ -312,6 +315,7 @@ rte_power_monitor_wakeup(const unsigned int lcore_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_power_monitor_multi)
int
rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[],
const uint32_t num, const uint64_t tsc_timestamp)
diff --git a/lib/eal/x86/rte_spinlock.c b/lib/eal/x86/rte_spinlock.c
index 34890ea87c..83592b0b9e 100644
--- a/lib/eal/x86/rte_spinlock.c
+++ b/lib/eal/x86/rte_spinlock.c
@@ -6,6 +6,7 @@
#include "rte_cpuflags.h"
+RTE_EXPORT_SYMBOL(rte_rtm_supported)
uint8_t rte_rtm_supported; /* cache the flag to avoid the overhead
of the rte_cpu_get_flag_enabled function */
diff --git a/lib/efd/rte_efd.c b/lib/efd/rte_efd.c
index 3cbb3c2719..97dfc133af 100644
--- a/lib/efd/rte_efd.c
+++ b/lib/efd/rte_efd.c
@@ -496,6 +496,7 @@ efd_search_hash(struct rte_efd_table * const table,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_efd_create)
struct rte_efd_table *
rte_efd_create(const char *name, uint32_t max_num_rules, uint32_t key_len,
uint64_t online_cpu_socket_bitmask, uint8_t offline_cpu_socket)
@@ -720,6 +721,7 @@ rte_efd_create(const char *name, uint32_t max_num_rules, uint32_t key_len,
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_efd_find_existing)
struct rte_efd_table *
rte_efd_find_existing(const char *name)
{
@@ -746,6 +748,7 @@ rte_efd_find_existing(const char *name)
return table;
}
+RTE_EXPORT_SYMBOL(rte_efd_free)
void
rte_efd_free(struct rte_efd_table *table)
{
@@ -1162,6 +1165,7 @@ efd_compute_update(struct rte_efd_table * const table,
return RTE_EFD_UPDATE_FAILED;
}
+RTE_EXPORT_SYMBOL(rte_efd_update)
int
rte_efd_update(struct rte_efd_table * const table, const unsigned int socket_id,
const void *key, const efd_value_t value)
@@ -1185,6 +1189,7 @@ rte_efd_update(struct rte_efd_table * const table, const unsigned int socket_id,
return status;
}
+RTE_EXPORT_SYMBOL(rte_efd_delete)
int
rte_efd_delete(struct rte_efd_table * const table, const unsigned int socket_id,
const void *key, efd_value_t * const prev_value)
@@ -1301,6 +1306,7 @@ efd_lookup_internal(const struct efd_online_group_entry * const group,
return value;
}
+RTE_EXPORT_SYMBOL(rte_efd_lookup)
efd_value_t
rte_efd_lookup(const struct rte_efd_table * const table,
const unsigned int socket_id, const void *key)
@@ -1322,6 +1328,7 @@ rte_efd_lookup(const struct rte_efd_table * const table,
table->lookup_fn);
}
+RTE_EXPORT_SYMBOL(rte_efd_lookup_bulk)
void rte_efd_lookup_bulk(const struct rte_efd_table * const table,
const unsigned int socket_id, const int num_keys,
const void **key_list, efd_value_t * const value_list)
diff --git a/lib/ethdev/ethdev_driver.c b/lib/ethdev/ethdev_driver.c
index e1976db05f..5846f3c298 100644
--- a/lib/ethdev/ethdev_driver.c
+++ b/lib/ethdev/ethdev_driver.c
@@ -74,6 +74,7 @@ eth_dev_get(uint16_t port_id)
return eth_dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_allocate)
struct rte_eth_dev *
rte_eth_dev_allocate(const char *name)
{
@@ -128,6 +129,7 @@ rte_eth_dev_allocate(const char *name)
return eth_dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_allocated)
struct rte_eth_dev *
rte_eth_dev_allocated(const char *name)
{
@@ -150,6 +152,7 @@ rte_eth_dev_allocated(const char *name)
* makes sure that the same device would have the same port ID both
* in the primary and secondary process.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_attach_secondary)
struct rte_eth_dev *
rte_eth_dev_attach_secondary(const char *name)
{
@@ -180,6 +183,7 @@ rte_eth_dev_attach_secondary(const char *name)
return eth_dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_callback_process)
int
rte_eth_dev_callback_process(struct rte_eth_dev *dev,
enum rte_eth_event_type event, void *ret_param)
@@ -207,6 +211,7 @@ rte_eth_dev_callback_process(struct rte_eth_dev *dev,
return rc;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_probing_finish)
void
rte_eth_dev_probing_finish(struct rte_eth_dev *dev)
{
@@ -226,6 +231,7 @@ rte_eth_dev_probing_finish(struct rte_eth_dev *dev)
dev->state = RTE_ETH_DEV_ATTACHED;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_release_port)
int
rte_eth_dev_release_port(struct rte_eth_dev *eth_dev)
{
@@ -284,6 +290,7 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_create)
int
rte_eth_dev_create(struct rte_device *device, const char *name,
size_t priv_data_size,
@@ -359,6 +366,7 @@ rte_eth_dev_create(struct rte_device *device, const char *name,
return retval;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_destroy)
int
rte_eth_dev_destroy(struct rte_eth_dev *ethdev,
ethdev_uninit_t ethdev_uninit)
@@ -379,6 +387,7 @@ rte_eth_dev_destroy(struct rte_eth_dev *ethdev,
return rte_eth_dev_release_port(ethdev);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_get_by_name)
struct rte_eth_dev *
rte_eth_dev_get_by_name(const char *name)
{
@@ -390,6 +399,7 @@ rte_eth_dev_get_by_name(const char *name)
return &rte_eth_devices[pid];
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_is_rx_hairpin_queue)
int
rte_eth_dev_is_rx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id)
{
@@ -398,6 +408,7 @@ rte_eth_dev_is_rx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_is_tx_hairpin_queue)
int
rte_eth_dev_is_tx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id)
{
@@ -406,6 +417,7 @@ rte_eth_dev_is_tx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dev_internal_reset)
void
rte_eth_dev_internal_reset(struct rte_eth_dev *dev)
{
@@ -616,6 +628,7 @@ eth_dev_tokenise_representor_list(char *p_val, struct rte_eth_devargs *eth_devar
return result;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_devargs_parse)
int
rte_eth_devargs_parse(const char *dargs, struct rte_eth_devargs *eth_devargs,
unsigned int nb_da)
@@ -678,6 +691,7 @@ eth_dev_dma_mzone_name(char *name, size_t len, uint16_t port_id, uint16_t queue_
port_id, queue_id, ring_name);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dma_zone_free)
int
rte_eth_dma_zone_free(const struct rte_eth_dev *dev, const char *ring_name,
uint16_t queue_id)
@@ -702,6 +716,7 @@ rte_eth_dma_zone_free(const struct rte_eth_dev *dev, const char *ring_name,
return rc;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_dma_zone_reserve)
const struct rte_memzone *
rte_eth_dma_zone_reserve(const struct rte_eth_dev *dev, const char *ring_name,
uint16_t queue_id, size_t size, unsigned int align,
@@ -737,6 +752,7 @@ rte_eth_dma_zone_reserve(const struct rte_eth_dev *dev, const char *ring_name,
RTE_MEMZONE_IOVA_CONTIG, align);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_hairpin_queue_peer_bind)
int
rte_eth_hairpin_queue_peer_bind(uint16_t cur_port, uint16_t cur_queue,
struct rte_hairpin_peer_info *peer_info,
@@ -755,6 +771,7 @@ rte_eth_hairpin_queue_peer_bind(uint16_t cur_port, uint16_t cur_queue,
return dev->dev_ops->hairpin_queue_peer_bind(dev, cur_queue, peer_info, direction);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_hairpin_queue_peer_unbind)
int
rte_eth_hairpin_queue_peer_unbind(uint16_t cur_port, uint16_t cur_queue,
uint32_t direction)
@@ -769,6 +786,7 @@ rte_eth_hairpin_queue_peer_unbind(uint16_t cur_port, uint16_t cur_queue,
return dev->dev_ops->hairpin_queue_peer_unbind(dev, cur_queue, direction);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_hairpin_queue_peer_update)
int
rte_eth_hairpin_queue_peer_update(uint16_t peer_port, uint16_t peer_queue,
struct rte_hairpin_peer_info *cur_info,
@@ -790,6 +808,7 @@ rte_eth_hairpin_queue_peer_update(uint16_t peer_port, uint16_t peer_queue,
cur_info, peer_info, direction);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_ip_reassembly_dynfield_register)
int
rte_eth_ip_reassembly_dynfield_register(int *field_offset, int *flag_offset)
{
@@ -818,6 +837,7 @@ rte_eth_ip_reassembly_dynfield_register(int *field_offset, int *flag_offset)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_pkt_burst_dummy)
uint16_t
rte_eth_pkt_burst_dummy(void *queue __rte_unused,
struct rte_mbuf **pkts __rte_unused,
@@ -826,6 +846,7 @@ rte_eth_pkt_burst_dummy(void *queue __rte_unused,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_representor_id_get)
int
rte_eth_representor_id_get(uint16_t port_id,
enum rte_eth_representor_type type,
@@ -921,6 +942,7 @@ rte_eth_representor_id_get(uint16_t port_id,
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_switch_domain_alloc)
int
rte_eth_switch_domain_alloc(uint16_t *domain_id)
{
@@ -941,6 +963,7 @@ rte_eth_switch_domain_alloc(uint16_t *domain_id)
return -ENOSPC;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_switch_domain_free)
int
rte_eth_switch_domain_free(uint16_t domain_id)
{
@@ -957,6 +980,7 @@ rte_eth_switch_domain_free(uint16_t domain_id)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_get_restore_flags)
uint64_t
rte_eth_get_restore_flags(struct rte_eth_dev *dev, enum rte_eth_dev_operation op)
{
diff --git a/lib/ethdev/ethdev_linux_ethtool.c b/lib/ethdev/ethdev_linux_ethtool.c
index e792204b01..7c144bd800 100644
--- a/lib/ethdev/ethdev_linux_ethtool.c
+++ b/lib/ethdev/ethdev_linux_ethtool.c
@@ -111,6 +111,7 @@ static const uint32_t link_modes[] = {
[101] = 11, /* ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT */
};
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_link_speed_ethtool)
uint32_t
rte_eth_link_speed_ethtool(enum ethtool_link_mode_bit_indices bit)
{
@@ -134,6 +135,7 @@ rte_eth_link_speed_ethtool(enum ethtool_link_mode_bit_indices bit)
return rte_eth_speed_bitflag(speed, duplex);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_link_speed_glink)
uint32_t
rte_eth_link_speed_glink(const uint32_t *bitmap, int8_t nwords)
{
@@ -154,6 +156,7 @@ rte_eth_link_speed_glink(const uint32_t *bitmap, int8_t nwords)
return ethdev_bitmap;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_link_speed_gset)
uint32_t
rte_eth_link_speed_gset(uint32_t legacy_bitmap)
{
diff --git a/lib/ethdev/ethdev_private.c b/lib/ethdev/ethdev_private.c
index cc7fd97d4a..67ea0f1fd9 100644
--- a/lib/ethdev/ethdev_private.c
+++ b/lib/ethdev/ethdev_private.c
@@ -285,6 +285,7 @@ eth_dev_fp_ops_setup(struct rte_eth_fp_ops *fpo,
fpo->txq.clbk = (void * __rte_atomic *)(uintptr_t)dev->pre_tx_burst_cbs;
}
+RTE_EXPORT_SYMBOL(rte_eth_call_rx_callbacks)
uint16_t
rte_eth_call_rx_callbacks(uint16_t port_id, uint16_t queue_id,
struct rte_mbuf **rx_pkts, uint16_t nb_rx, uint16_t nb_pkts,
@@ -308,6 +309,7 @@ rte_eth_call_rx_callbacks(uint16_t port_id, uint16_t queue_id,
return nb_rx;
}
+RTE_EXPORT_SYMBOL(rte_eth_call_tx_callbacks)
uint16_t
rte_eth_call_tx_callbacks(uint16_t port_id, uint16_t queue_id,
struct rte_mbuf **tx_pkts, uint16_t nb_pkts, void *opaque)
diff --git a/lib/ethdev/ethdev_trace_points.c b/lib/ethdev/ethdev_trace_points.c
index cb99cf91fc..67dc878eb6 100644
--- a/lib/ethdev/ethdev_trace_points.c
+++ b/lib/ethdev/ethdev_trace_points.c
@@ -25,24 +25,30 @@ RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_stop,
RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_close,
lib.ethdev.close)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_ethdev_trace_rx_burst_empty, 24.11)
RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rx_burst_empty,
lib.ethdev.rx.burst.empty)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_ethdev_trace_rx_burst_nonempty, 24.11)
RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rx_burst_nonempty,
lib.ethdev.rx.burst.nonempty)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_ethdev_trace_tx_burst, 20.05)
RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_tx_burst,
lib.ethdev.tx.burst)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eth_trace_call_rx_callbacks_empty, 24.11)
RTE_TRACE_POINT_REGISTER(rte_eth_trace_call_rx_callbacks_empty,
lib.ethdev.call_rx_callbacks.empty)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eth_trace_call_rx_callbacks_nonempty, 24.11)
RTE_TRACE_POINT_REGISTER(rte_eth_trace_call_rx_callbacks_nonempty,
lib.ethdev.call_rx_callbacks.nonempty)
RTE_TRACE_POINT_REGISTER(rte_eth_trace_call_tx_callbacks,
lib.ethdev.call_tx_callbacks)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eth_trace_tx_queue_count, 24.03)
RTE_TRACE_POINT_REGISTER(rte_eth_trace_tx_queue_count,
lib.ethdev.tx_queue_count)
diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index 85798d0ebc..db8e44ad61 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -38,9 +38,11 @@
#define ETH_XSTATS_ITER_NUM 0x100
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eth_devices)
struct rte_eth_dev rte_eth_devices[RTE_MAX_ETHPORTS];
/* public fast-path API */
+RTE_EXPORT_SYMBOL(rte_eth_fp_ops)
struct rte_eth_fp_ops rte_eth_fp_ops[RTE_MAX_ETHPORTS];
/* spinlock for add/remove Rx callbacks */
@@ -173,6 +175,7 @@ static const struct {
{RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, "symmetric_toeplitz_sort"},
};
+RTE_EXPORT_SYMBOL(rte_eth_iterator_init)
int
rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs_str)
{
@@ -289,6 +292,7 @@ rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs_str)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_iterator_next)
uint16_t
rte_eth_iterator_next(struct rte_dev_iterator *iter)
{
@@ -329,6 +333,7 @@ rte_eth_iterator_next(struct rte_dev_iterator *iter)
return RTE_MAX_ETHPORTS;
}
+RTE_EXPORT_SYMBOL(rte_eth_iterator_cleanup)
void
rte_eth_iterator_cleanup(struct rte_dev_iterator *iter)
{
@@ -347,6 +352,7 @@ rte_eth_iterator_cleanup(struct rte_dev_iterator *iter)
memset(iter, 0, sizeof(*iter));
}
+RTE_EXPORT_SYMBOL(rte_eth_find_next)
uint16_t
rte_eth_find_next(uint16_t port_id)
{
@@ -371,6 +377,7 @@ rte_eth_find_next(uint16_t port_id)
port_id < RTE_MAX_ETHPORTS; \
port_id = rte_eth_find_next(port_id + 1))
+RTE_EXPORT_SYMBOL(rte_eth_find_next_of)
uint16_t
rte_eth_find_next_of(uint16_t port_id, const struct rte_device *parent)
{
@@ -384,6 +391,7 @@ rte_eth_find_next_of(uint16_t port_id, const struct rte_device *parent)
return port_id;
}
+RTE_EXPORT_SYMBOL(rte_eth_find_next_sibling)
uint16_t
rte_eth_find_next_sibling(uint16_t port_id, uint16_t ref_port_id)
{
@@ -404,6 +412,7 @@ eth_dev_is_allocated(const struct rte_eth_dev *ethdev)
return ethdev->data != NULL && ethdev->data->name[0] != '\0';
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_is_valid_port)
int
rte_eth_dev_is_valid_port(uint16_t port_id)
{
@@ -430,6 +439,7 @@ eth_is_valid_owner_id(uint64_t owner_id)
return 1;
}
+RTE_EXPORT_SYMBOL(rte_eth_find_next_owned_by)
uint64_t
rte_eth_find_next_owned_by(uint16_t port_id, const uint64_t owner_id)
{
@@ -443,6 +453,7 @@ rte_eth_find_next_owned_by(uint16_t port_id, const uint64_t owner_id)
return port_id;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_owner_new)
int
rte_eth_dev_owner_new(uint64_t *owner_id)
{
@@ -518,6 +529,7 @@ eth_dev_owner_set(const uint16_t port_id, const uint64_t old_owner_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_owner_set)
int
rte_eth_dev_owner_set(const uint16_t port_id,
const struct rte_eth_dev_owner *owner)
@@ -538,6 +550,7 @@ rte_eth_dev_owner_set(const uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_owner_unset)
int
rte_eth_dev_owner_unset(const uint16_t port_id, const uint64_t owner_id)
{
@@ -559,6 +572,7 @@ rte_eth_dev_owner_unset(const uint16_t port_id, const uint64_t owner_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_owner_delete)
int
rte_eth_dev_owner_delete(const uint64_t owner_id)
{
@@ -596,6 +610,7 @@ rte_eth_dev_owner_delete(const uint64_t owner_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_owner_get)
int
rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
{
@@ -634,6 +649,7 @@ rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_socket_id)
int
rte_eth_dev_socket_id(uint16_t port_id)
{
@@ -659,6 +675,7 @@ rte_eth_dev_socket_id(uint16_t port_id)
return socket_id;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_sec_ctx)
void *
rte_eth_dev_get_sec_ctx(uint16_t port_id)
{
@@ -672,6 +689,7 @@ rte_eth_dev_get_sec_ctx(uint16_t port_id)
return ctx;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_count_avail)
uint16_t
rte_eth_dev_count_avail(void)
{
@@ -688,6 +706,7 @@ rte_eth_dev_count_avail(void)
return count;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_count_total)
uint16_t
rte_eth_dev_count_total(void)
{
@@ -701,6 +720,7 @@ rte_eth_dev_count_total(void)
return count;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_name_by_port)
int
rte_eth_dev_get_name_by_port(uint16_t port_id, char *name)
{
@@ -727,6 +747,7 @@ rte_eth_dev_get_name_by_port(uint16_t port_id, char *name)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_port_by_name)
int
rte_eth_dev_get_port_by_name(const char *name, uint16_t *port_id)
{
@@ -817,6 +838,7 @@ eth_dev_validate_tx_queue(const struct rte_eth_dev *dev, uint16_t tx_queue_id)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_rx_queue_is_valid, 23.07)
int
rte_eth_rx_queue_is_valid(uint16_t port_id, uint16_t queue_id)
{
@@ -828,6 +850,7 @@ rte_eth_rx_queue_is_valid(uint16_t port_id, uint16_t queue_id)
return eth_dev_validate_rx_queue(dev, queue_id);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_tx_queue_is_valid, 23.07)
int
rte_eth_tx_queue_is_valid(uint16_t port_id, uint16_t queue_id)
{
@@ -839,6 +862,7 @@ rte_eth_tx_queue_is_valid(uint16_t port_id, uint16_t queue_id)
return eth_dev_validate_tx_queue(dev, queue_id);
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rx_queue_start)
int
rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id)
{
@@ -883,6 +907,7 @@ rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rx_queue_stop)
int
rte_eth_dev_rx_queue_stop(uint16_t port_id, uint16_t rx_queue_id)
{
@@ -920,6 +945,7 @@ rte_eth_dev_rx_queue_stop(uint16_t port_id, uint16_t rx_queue_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_tx_queue_start)
int
rte_eth_dev_tx_queue_start(uint16_t port_id, uint16_t tx_queue_id)
{
@@ -964,6 +990,7 @@ rte_eth_dev_tx_queue_start(uint16_t port_id, uint16_t tx_queue_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_tx_queue_stop)
int
rte_eth_dev_tx_queue_stop(uint16_t port_id, uint16_t tx_queue_id)
{
@@ -1001,6 +1028,7 @@ rte_eth_dev_tx_queue_stop(uint16_t port_id, uint16_t tx_queue_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_speed_bitflag)
uint32_t
rte_eth_speed_bitflag(uint32_t speed, int duplex)
{
@@ -1058,6 +1086,7 @@ rte_eth_speed_bitflag(uint32_t speed, int duplex)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rx_offload_name)
const char *
rte_eth_dev_rx_offload_name(uint64_t offload)
{
@@ -1076,6 +1105,7 @@ rte_eth_dev_rx_offload_name(uint64_t offload)
return name;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_tx_offload_name)
const char *
rte_eth_dev_tx_offload_name(uint64_t offload)
{
@@ -1137,6 +1167,7 @@ eth_dev_offload_names(uint64_t bitmask, char *buf, size_t size,
return buf;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_capability_name, 21.11)
const char *
rte_eth_dev_capability_name(uint64_t capability)
{
@@ -1286,6 +1317,7 @@ eth_dev_validate_mtu(uint16_t port_id, struct rte_eth_dev_info *dev_info,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_configure)
int
rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
const struct rte_eth_conf *dev_conf)
@@ -1749,6 +1781,7 @@ eth_dev_config_restore(struct rte_eth_dev *dev,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_start)
int
rte_eth_dev_start(uint16_t port_id)
{
@@ -1823,6 +1856,7 @@ rte_eth_dev_start(uint16_t port_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_stop)
int
rte_eth_dev_stop(uint16_t port_id)
{
@@ -1853,6 +1887,7 @@ rte_eth_dev_stop(uint16_t port_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_link_up)
int
rte_eth_dev_set_link_up(uint16_t port_id)
{
@@ -1871,6 +1906,7 @@ rte_eth_dev_set_link_up(uint16_t port_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_link_down)
int
rte_eth_dev_set_link_down(uint16_t port_id)
{
@@ -1889,6 +1925,7 @@ rte_eth_dev_set_link_down(uint16_t port_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_speed_lanes_get, 24.11)
int
rte_eth_speed_lanes_get(uint16_t port_id, uint32_t *lane)
{
@@ -1902,6 +1939,7 @@ rte_eth_speed_lanes_get(uint16_t port_id, uint32_t *lane)
return eth_err(port_id, dev->dev_ops->speed_lanes_get(dev, lane));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_speed_lanes_get_capability, 24.11)
int
rte_eth_speed_lanes_get_capability(uint16_t port_id,
struct rte_eth_speed_lanes_capa *speed_lanes_capa,
@@ -1928,6 +1966,7 @@ rte_eth_speed_lanes_get_capability(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_speed_lanes_set, 24.11)
int
rte_eth_speed_lanes_set(uint16_t port_id, uint32_t speed_lanes_capa)
{
@@ -1941,6 +1980,7 @@ rte_eth_speed_lanes_set(uint16_t port_id, uint32_t speed_lanes_capa)
return eth_err(port_id, dev->dev_ops->speed_lanes_set(dev, speed_lanes_capa));
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_close)
int
rte_eth_dev_close(uint16_t port_id)
{
@@ -1975,6 +2015,7 @@ rte_eth_dev_close(uint16_t port_id)
return firsterr;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_reset)
int
rte_eth_dev_reset(uint16_t port_id)
{
@@ -2000,6 +2041,7 @@ rte_eth_dev_reset(uint16_t port_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_is_removed)
int
rte_eth_dev_is_removed(uint16_t port_id)
{
@@ -2227,6 +2269,7 @@ rte_eth_rx_queue_check_mempools(struct rte_mempool **rx_mempools,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_rx_queue_setup)
int
rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,
uint16_t nb_rx_desc, unsigned int socket_id,
@@ -2452,6 +2495,7 @@ rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,
return eth_err(port_id, ret);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_rx_hairpin_queue_setup, 19.11)
int
rte_eth_rx_hairpin_queue_setup(uint16_t port_id, uint16_t rx_queue_id,
uint16_t nb_rx_desc,
@@ -2557,6 +2601,7 @@ rte_eth_rx_hairpin_queue_setup(uint16_t port_id, uint16_t rx_queue_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_tx_queue_setup)
int
rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id,
uint16_t nb_tx_desc, unsigned int socket_id,
@@ -2668,6 +2713,7 @@ rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id,
tx_queue_id, nb_tx_desc, socket_id, &local_conf));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_tx_hairpin_queue_setup, 19.11)
int
rte_eth_tx_hairpin_queue_setup(uint16_t port_id, uint16_t tx_queue_id,
uint16_t nb_tx_desc,
@@ -2767,6 +2813,7 @@ rte_eth_tx_hairpin_queue_setup(uint16_t port_id, uint16_t tx_queue_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_hairpin_bind, 20.11)
int
rte_eth_hairpin_bind(uint16_t tx_port, uint16_t rx_port)
{
@@ -2794,6 +2841,7 @@ rte_eth_hairpin_bind(uint16_t tx_port, uint16_t rx_port)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_hairpin_unbind, 20.11)
int
rte_eth_hairpin_unbind(uint16_t tx_port, uint16_t rx_port)
{
@@ -2821,6 +2869,7 @@ rte_eth_hairpin_unbind(uint16_t tx_port, uint16_t rx_port)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_hairpin_get_peer_ports, 20.11)
int
rte_eth_hairpin_get_peer_ports(uint16_t port_id, uint16_t *peer_ports,
size_t len, uint32_t direction)
@@ -2859,6 +2908,7 @@ rte_eth_hairpin_get_peer_ports(uint16_t port_id, uint16_t *peer_ports,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_tx_buffer_drop_callback)
void
rte_eth_tx_buffer_drop_callback(struct rte_mbuf **pkts, uint16_t unsent,
void *userdata __rte_unused)
@@ -2868,6 +2918,7 @@ rte_eth_tx_buffer_drop_callback(struct rte_mbuf **pkts, uint16_t unsent,
rte_eth_trace_tx_buffer_drop_callback((void **)pkts, unsent);
}
+RTE_EXPORT_SYMBOL(rte_eth_tx_buffer_count_callback)
void
rte_eth_tx_buffer_count_callback(struct rte_mbuf **pkts, uint16_t unsent,
void *userdata)
@@ -2880,6 +2931,7 @@ rte_eth_tx_buffer_count_callback(struct rte_mbuf **pkts, uint16_t unsent,
rte_eth_trace_tx_buffer_count_callback((void **)pkts, unsent, *count);
}
+RTE_EXPORT_SYMBOL(rte_eth_tx_buffer_set_err_callback)
int
rte_eth_tx_buffer_set_err_callback(struct rte_eth_dev_tx_buffer *buffer,
buffer_tx_error_fn cbfn, void *userdata)
@@ -2898,6 +2950,7 @@ rte_eth_tx_buffer_set_err_callback(struct rte_eth_dev_tx_buffer *buffer,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_tx_buffer_init)
int
rte_eth_tx_buffer_init(struct rte_eth_dev_tx_buffer *buffer, uint16_t size)
{
@@ -2919,6 +2972,7 @@ rte_eth_tx_buffer_init(struct rte_eth_dev_tx_buffer *buffer, uint16_t size)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_tx_done_cleanup)
int
rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt)
{
@@ -2946,6 +3000,7 @@ rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_promiscuous_enable)
int
rte_eth_promiscuous_enable(uint16_t port_id)
{
@@ -2972,6 +3027,7 @@ rte_eth_promiscuous_enable(uint16_t port_id)
return diag;
}
+RTE_EXPORT_SYMBOL(rte_eth_promiscuous_disable)
int
rte_eth_promiscuous_disable(uint16_t port_id)
{
@@ -3000,6 +3056,7 @@ rte_eth_promiscuous_disable(uint16_t port_id)
return diag;
}
+RTE_EXPORT_SYMBOL(rte_eth_promiscuous_get)
int
rte_eth_promiscuous_get(uint16_t port_id)
{
@@ -3013,6 +3070,7 @@ rte_eth_promiscuous_get(uint16_t port_id)
return dev->data->promiscuous;
}
+RTE_EXPORT_SYMBOL(rte_eth_allmulticast_enable)
int
rte_eth_allmulticast_enable(uint16_t port_id)
{
@@ -3038,6 +3096,7 @@ rte_eth_allmulticast_enable(uint16_t port_id)
return diag;
}
+RTE_EXPORT_SYMBOL(rte_eth_allmulticast_disable)
int
rte_eth_allmulticast_disable(uint16_t port_id)
{
@@ -3065,6 +3124,7 @@ rte_eth_allmulticast_disable(uint16_t port_id)
return diag;
}
+RTE_EXPORT_SYMBOL(rte_eth_allmulticast_get)
int
rte_eth_allmulticast_get(uint16_t port_id)
{
@@ -3078,6 +3138,7 @@ rte_eth_allmulticast_get(uint16_t port_id)
return dev->data->all_multicast;
}
+RTE_EXPORT_SYMBOL(rte_eth_link_get)
int
rte_eth_link_get(uint16_t port_id, struct rte_eth_link *eth_link)
{
@@ -3106,6 +3167,7 @@ rte_eth_link_get(uint16_t port_id, struct rte_eth_link *eth_link)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_link_get_nowait)
int
rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *eth_link)
{
@@ -3134,6 +3196,7 @@ rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *eth_link)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_link_speed_to_str, 20.11)
const char *
rte_eth_link_speed_to_str(uint32_t link_speed)
{
@@ -3197,6 +3260,7 @@ rte_eth_link_speed_to_str(uint32_t link_speed)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_link_to_str, 20.11)
int
rte_eth_link_to_str(char *str, size_t len, const struct rte_eth_link *eth_link)
{
@@ -3233,6 +3297,7 @@ rte_eth_link_to_str(char *str, size_t len, const struct rte_eth_link *eth_link)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_stats_get)
int
rte_eth_stats_get(uint16_t port_id, struct rte_eth_stats *stats)
{
@@ -3260,6 +3325,7 @@ rte_eth_stats_get(uint16_t port_id, struct rte_eth_stats *stats)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_stats_reset)
int
rte_eth_stats_reset(uint16_t port_id)
{
@@ -3321,6 +3387,7 @@ eth_dev_get_xstats_count(uint16_t port_id)
return count;
}
+RTE_EXPORT_SYMBOL(rte_eth_xstats_get_id_by_name)
int
rte_eth_xstats_get_id_by_name(uint16_t port_id, const char *xstat_name,
uint64_t *id)
@@ -3456,6 +3523,7 @@ eth_xstats_get_by_name_by_id(struct rte_eth_dev *dev, const uint64_t *ids,
/* retrieve ethdev extended statistics names */
+RTE_EXPORT_SYMBOL(rte_eth_xstats_get_names_by_id)
int
rte_eth_xstats_get_names_by_id(uint16_t port_id,
struct rte_eth_xstat_name *xstats_names, unsigned int size,
@@ -3548,6 +3616,7 @@ rte_eth_xstats_get_names_by_id(uint16_t port_id,
return size;
}
+RTE_EXPORT_SYMBOL(rte_eth_xstats_get_names)
int
rte_eth_xstats_get_names(uint16_t port_id,
struct rte_eth_xstat_name *xstats_names,
@@ -3674,6 +3743,7 @@ eth_xtats_get_by_id(struct rte_eth_dev *dev, const uint64_t *ids,
}
/* retrieve ethdev extended statistics */
+RTE_EXPORT_SYMBOL(rte_eth_xstats_get_by_id)
int
rte_eth_xstats_get_by_id(uint16_t port_id, const uint64_t *ids,
uint64_t *values, unsigned int size)
@@ -3760,6 +3830,7 @@ rte_eth_xstats_get_by_id(uint16_t port_id, const uint64_t *ids,
return (i == size) ? (int32_t)size : -1;
}
+RTE_EXPORT_SYMBOL(rte_eth_xstats_get)
int
rte_eth_xstats_get(uint16_t port_id, struct rte_eth_xstat *xstats,
unsigned int n)
@@ -3811,6 +3882,7 @@ rte_eth_xstats_get(uint16_t port_id, struct rte_eth_xstat *xstats,
}
/* reset ethdev extended statistics */
+RTE_EXPORT_SYMBOL(rte_eth_xstats_reset)
int
rte_eth_xstats_reset(uint16_t port_id)
{
@@ -3832,6 +3904,7 @@ rte_eth_xstats_reset(uint16_t port_id)
return rte_eth_stats_reset(port_id);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_xstats_set_counter, 25.03)
int
rte_eth_xstats_set_counter(uint16_t port_id, uint64_t id, int on_off)
{
@@ -3861,6 +3934,7 @@ rte_eth_xstats_set_counter(uint16_t port_id, uint64_t id, int on_off)
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_xstats_query_state, 25.03)
int
rte_eth_xstats_query_state(uint16_t port_id, uint64_t id)
{
@@ -3904,6 +3978,7 @@ eth_dev_set_queue_stats_mapping(uint16_t port_id, uint16_t queue_id,
return dev->dev_ops->queue_stats_mapping_set(dev, queue_id, stat_idx, is_rx);
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_tx_queue_stats_mapping)
int
rte_eth_dev_set_tx_queue_stats_mapping(uint16_t port_id, uint16_t tx_queue_id,
uint8_t stat_idx)
@@ -3920,6 +3995,7 @@ rte_eth_dev_set_tx_queue_stats_mapping(uint16_t port_id, uint16_t tx_queue_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_rx_queue_stats_mapping)
int
rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id, uint16_t rx_queue_id,
uint8_t stat_idx)
@@ -3936,6 +4012,7 @@ rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id, uint16_t rx_queue_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_fw_version_get)
int
rte_eth_dev_fw_version_get(uint16_t port_id, char *fw_version, size_t fw_size)
{
@@ -3961,6 +4038,7 @@ rte_eth_dev_fw_version_get(uint16_t port_id, char *fw_version, size_t fw_size)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_info_get)
int
rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info)
{
@@ -4025,6 +4103,7 @@ rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_conf_get, 21.11)
int
rte_eth_dev_conf_get(uint16_t port_id, struct rte_eth_conf *dev_conf)
{
@@ -4047,6 +4126,7 @@ rte_eth_dev_conf_get(uint16_t port_id, struct rte_eth_conf *dev_conf)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_supported_ptypes)
int
rte_eth_dev_get_supported_ptypes(uint16_t port_id, uint32_t ptype_mask,
uint32_t *ptypes, int num)
@@ -4088,6 +4168,7 @@ rte_eth_dev_get_supported_ptypes(uint16_t port_id, uint32_t ptype_mask,
return j;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_ptypes)
int
rte_eth_dev_set_ptypes(uint16_t port_id, uint32_t ptype_mask,
uint32_t *set_ptypes, unsigned int num)
@@ -4183,6 +4264,7 @@ rte_eth_dev_set_ptypes(uint16_t port_id, uint32_t ptype_mask,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_macaddrs_get, 21.11)
int
rte_eth_macaddrs_get(uint16_t port_id, struct rte_ether_addr *ma,
unsigned int num)
@@ -4210,6 +4292,7 @@ rte_eth_macaddrs_get(uint16_t port_id, struct rte_ether_addr *ma,
return num;
}
+RTE_EXPORT_SYMBOL(rte_eth_macaddr_get)
int
rte_eth_macaddr_get(uint16_t port_id, struct rte_ether_addr *mac_addr)
{
@@ -4232,6 +4315,7 @@ rte_eth_macaddr_get(uint16_t port_id, struct rte_ether_addr *mac_addr)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_mtu)
int
rte_eth_dev_get_mtu(uint16_t port_id, uint16_t *mtu)
{
@@ -4253,6 +4337,7 @@ rte_eth_dev_get_mtu(uint16_t port_id, uint16_t *mtu)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_mtu)
int
rte_eth_dev_set_mtu(uint16_t port_id, uint16_t mtu)
{
@@ -4299,6 +4384,7 @@ rte_eth_dev_set_mtu(uint16_t port_id, uint16_t mtu)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_vlan_filter)
int
rte_eth_dev_vlan_filter(uint16_t port_id, uint16_t vlan_id, int on)
{
@@ -4346,6 +4432,7 @@ rte_eth_dev_vlan_filter(uint16_t port_id, uint16_t vlan_id, int on)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_vlan_strip_on_queue)
int
rte_eth_dev_set_vlan_strip_on_queue(uint16_t port_id, uint16_t rx_queue_id,
int on)
@@ -4369,6 +4456,7 @@ rte_eth_dev_set_vlan_strip_on_queue(uint16_t port_id, uint16_t rx_queue_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_vlan_ether_type)
int
rte_eth_dev_set_vlan_ether_type(uint16_t port_id,
enum rte_vlan_type vlan_type,
@@ -4389,6 +4477,7 @@ rte_eth_dev_set_vlan_ether_type(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_vlan_offload)
int
rte_eth_dev_set_vlan_offload(uint16_t port_id, int offload_mask)
{
@@ -4485,6 +4574,7 @@ rte_eth_dev_set_vlan_offload(uint16_t port_id, int offload_mask)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_vlan_offload)
int
rte_eth_dev_get_vlan_offload(uint16_t port_id)
{
@@ -4513,6 +4603,7 @@ rte_eth_dev_get_vlan_offload(uint16_t port_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_vlan_pvid)
int
rte_eth_dev_set_vlan_pvid(uint16_t port_id, uint16_t pvid, int on)
{
@@ -4531,6 +4622,7 @@ rte_eth_dev_set_vlan_pvid(uint16_t port_id, uint16_t pvid, int on)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_flow_ctrl_get)
int
rte_eth_dev_flow_ctrl_get(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)
{
@@ -4557,6 +4649,7 @@ rte_eth_dev_flow_ctrl_get(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_flow_ctrl_set)
int
rte_eth_dev_flow_ctrl_set(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)
{
@@ -4587,6 +4680,7 @@ rte_eth_dev_flow_ctrl_set(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_priority_flow_ctrl_set)
int
rte_eth_dev_priority_flow_ctrl_set(uint16_t port_id,
struct rte_eth_pfc_conf *pfc_conf)
@@ -4669,6 +4763,7 @@ validate_tx_pause_config(struct rte_eth_dev_info *dev_info, uint8_t tc_max,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_priority_flow_ctrl_queue_info_get, 22.03)
int
rte_eth_dev_priority_flow_ctrl_queue_info_get(uint16_t port_id,
struct rte_eth_pfc_queue_info *pfc_queue_info)
@@ -4696,6 +4791,7 @@ rte_eth_dev_priority_flow_ctrl_queue_info_get(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_priority_flow_ctrl_queue_configure, 22.03)
int
rte_eth_dev_priority_flow_ctrl_queue_configure(uint16_t port_id,
struct rte_eth_pfc_queue_conf *pfc_queue_conf)
@@ -4814,6 +4910,7 @@ eth_check_reta_entry(struct rte_eth_rss_reta_entry64 *reta_conf,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rss_reta_update)
int
rte_eth_dev_rss_reta_update(uint16_t port_id,
struct rte_eth_rss_reta_entry64 *reta_conf,
@@ -4866,6 +4963,7 @@ rte_eth_dev_rss_reta_update(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rss_reta_query)
int
rte_eth_dev_rss_reta_query(uint16_t port_id,
struct rte_eth_rss_reta_entry64 *reta_conf,
@@ -4898,6 +4996,7 @@ rte_eth_dev_rss_reta_query(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rss_hash_update)
int
rte_eth_dev_rss_hash_update(uint16_t port_id,
struct rte_eth_rss_conf *rss_conf)
@@ -4964,6 +5063,7 @@ rte_eth_dev_rss_hash_update(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rss_hash_conf_get)
int
rte_eth_dev_rss_hash_conf_get(uint16_t port_id,
struct rte_eth_rss_conf *rss_conf)
@@ -5005,6 +5105,7 @@ rte_eth_dev_rss_hash_conf_get(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_rss_algo_name, 23.11)
const char *
rte_eth_dev_rss_algo_name(enum rte_eth_hash_function rss_algo)
{
@@ -5019,6 +5120,7 @@ rte_eth_dev_rss_algo_name(enum rte_eth_hash_function rss_algo)
return name;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_find_rss_algo, 24.03)
int
rte_eth_find_rss_algo(const char *name, uint32_t *algo)
{
@@ -5034,6 +5136,7 @@ rte_eth_find_rss_algo(const char *name, uint32_t *algo)
return -EINVAL;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_udp_tunnel_port_add)
int
rte_eth_dev_udp_tunnel_port_add(uint16_t port_id,
struct rte_eth_udp_tunnel *udp_tunnel)
@@ -5065,6 +5168,7 @@ rte_eth_dev_udp_tunnel_port_add(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_udp_tunnel_port_delete)
int
rte_eth_dev_udp_tunnel_port_delete(uint16_t port_id,
struct rte_eth_udp_tunnel *udp_tunnel)
@@ -5096,6 +5200,7 @@ rte_eth_dev_udp_tunnel_port_delete(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_led_on)
int
rte_eth_led_on(uint16_t port_id)
{
@@ -5114,6 +5219,7 @@ rte_eth_led_on(uint16_t port_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_led_off)
int
rte_eth_led_off(uint16_t port_id)
{
@@ -5132,6 +5238,7 @@ rte_eth_led_off(uint16_t port_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_fec_get_capability, 20.11)
int
rte_eth_fec_get_capability(uint16_t port_id,
struct rte_eth_fec_capa *speed_fec_capa,
@@ -5159,6 +5266,7 @@ rte_eth_fec_get_capability(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_fec_get, 20.11)
int
rte_eth_fec_get(uint16_t port_id, uint32_t *fec_capa)
{
@@ -5184,6 +5292,7 @@ rte_eth_fec_get(uint16_t port_id, uint32_t *fec_capa)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_fec_set, 20.11)
int
rte_eth_fec_set(uint16_t port_id, uint32_t fec_capa)
{
@@ -5233,6 +5342,7 @@ eth_dev_get_mac_addr_index(uint16_t port_id, const struct rte_ether_addr *addr)
static const struct rte_ether_addr null_mac_addr;
+RTE_EXPORT_SYMBOL(rte_eth_dev_mac_addr_add)
int
rte_eth_dev_mac_addr_add(uint16_t port_id, struct rte_ether_addr *addr,
uint32_t pool)
@@ -5299,6 +5409,7 @@ rte_eth_dev_mac_addr_add(uint16_t port_id, struct rte_ether_addr *addr,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_mac_addr_remove)
int
rte_eth_dev_mac_addr_remove(uint16_t port_id, struct rte_ether_addr *addr)
{
@@ -5341,6 +5452,7 @@ rte_eth_dev_mac_addr_remove(uint16_t port_id, struct rte_ether_addr *addr)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_default_mac_addr_set)
int
rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *addr)
{
@@ -5414,6 +5526,7 @@ eth_dev_get_hash_mac_addr_index(uint16_t port_id,
return -1;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_uc_hash_table_set)
int
rte_eth_dev_uc_hash_table_set(uint16_t port_id, struct rte_ether_addr *addr,
uint8_t on)
@@ -5479,6 +5592,7 @@ rte_eth_dev_uc_hash_table_set(uint16_t port_id, struct rte_ether_addr *addr,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_uc_all_hash_table_set)
int
rte_eth_dev_uc_all_hash_table_set(uint16_t port_id, uint8_t on)
{
@@ -5497,6 +5611,7 @@ rte_eth_dev_uc_all_hash_table_set(uint16_t port_id, uint8_t on)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_set_queue_rate_limit)
int rte_eth_set_queue_rate_limit(uint16_t port_id, uint16_t queue_idx,
uint32_t tx_rate)
{
@@ -5537,6 +5652,7 @@ int rte_eth_set_queue_rate_limit(uint16_t port_id, uint16_t queue_idx,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_rx_avail_thresh_set, 22.07)
int rte_eth_rx_avail_thresh_set(uint16_t port_id, uint16_t queue_id,
uint8_t avail_thresh)
{
@@ -5569,6 +5685,7 @@ int rte_eth_rx_avail_thresh_set(uint16_t port_id, uint16_t queue_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_rx_avail_thresh_query, 22.07)
int rte_eth_rx_avail_thresh_query(uint16_t port_id, uint16_t *queue_id,
uint8_t *avail_thresh)
{
@@ -5609,6 +5726,7 @@ RTE_INIT(eth_dev_init_cb_lists)
TAILQ_INIT(&rte_eth_devices[i].link_intr_cbs);
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_callback_register)
int
rte_eth_dev_callback_register(uint16_t port_id,
enum rte_eth_event_type event,
@@ -5678,6 +5796,7 @@ rte_eth_dev_callback_register(uint16_t port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_callback_unregister)
int
rte_eth_dev_callback_unregister(uint16_t port_id,
enum rte_eth_event_type event,
@@ -5743,6 +5862,7 @@ rte_eth_dev_callback_unregister(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rx_intr_ctl)
int
rte_eth_dev_rx_intr_ctl(uint16_t port_id, int epfd, int op, void *data)
{
@@ -5782,6 +5902,7 @@ rte_eth_dev_rx_intr_ctl(uint16_t port_id, int epfd, int op, void *data)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rx_intr_ctl_q_get_fd)
int
rte_eth_dev_rx_intr_ctl_q_get_fd(uint16_t port_id, uint16_t queue_id)
{
@@ -5820,6 +5941,7 @@ rte_eth_dev_rx_intr_ctl_q_get_fd(uint16_t port_id, uint16_t queue_id)
return fd;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rx_intr_ctl_q)
int
rte_eth_dev_rx_intr_ctl_q(uint16_t port_id, uint16_t queue_id,
int epfd, int op, void *data)
@@ -5863,6 +5985,7 @@ rte_eth_dev_rx_intr_ctl_q(uint16_t port_id, uint16_t queue_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rx_intr_enable)
int
rte_eth_dev_rx_intr_enable(uint16_t port_id,
uint16_t queue_id)
@@ -5886,6 +6009,7 @@ rte_eth_dev_rx_intr_enable(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_rx_intr_disable)
int
rte_eth_dev_rx_intr_disable(uint16_t port_id,
uint16_t queue_id)
@@ -5910,6 +6034,7 @@ rte_eth_dev_rx_intr_disable(uint16_t port_id,
}
+RTE_EXPORT_SYMBOL(rte_eth_add_rx_callback)
const struct rte_eth_rxtx_callback *
rte_eth_add_rx_callback(uint16_t port_id, uint16_t queue_id,
rte_rx_callback_fn fn, void *user_param)
@@ -5969,6 +6094,7 @@ rte_eth_add_rx_callback(uint16_t port_id, uint16_t queue_id,
return cb;
}
+RTE_EXPORT_SYMBOL(rte_eth_add_first_rx_callback)
const struct rte_eth_rxtx_callback *
rte_eth_add_first_rx_callback(uint16_t port_id, uint16_t queue_id,
rte_rx_callback_fn fn, void *user_param)
@@ -6011,6 +6137,7 @@ rte_eth_add_first_rx_callback(uint16_t port_id, uint16_t queue_id,
return cb;
}
+RTE_EXPORT_SYMBOL(rte_eth_add_tx_callback)
const struct rte_eth_rxtx_callback *
rte_eth_add_tx_callback(uint16_t port_id, uint16_t queue_id,
rte_tx_callback_fn fn, void *user_param)
@@ -6072,6 +6199,7 @@ rte_eth_add_tx_callback(uint16_t port_id, uint16_t queue_id,
return cb;
}
+RTE_EXPORT_SYMBOL(rte_eth_remove_rx_callback)
int
rte_eth_remove_rx_callback(uint16_t port_id, uint16_t queue_id,
const struct rte_eth_rxtx_callback *user_cb)
@@ -6108,6 +6236,7 @@ rte_eth_remove_rx_callback(uint16_t port_id, uint16_t queue_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_remove_tx_callback)
int
rte_eth_remove_tx_callback(uint16_t port_id, uint16_t queue_id,
const struct rte_eth_rxtx_callback *user_cb)
@@ -6144,6 +6273,7 @@ rte_eth_remove_tx_callback(uint16_t port_id, uint16_t queue_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_rx_queue_info_get)
int
rte_eth_rx_queue_info_get(uint16_t port_id, uint16_t queue_id,
struct rte_eth_rxq_info *qinfo)
@@ -6192,6 +6322,7 @@ rte_eth_rx_queue_info_get(uint16_t port_id, uint16_t queue_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_tx_queue_info_get)
int
rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id,
struct rte_eth_txq_info *qinfo)
@@ -6240,6 +6371,7 @@ rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_recycle_rx_queue_info_get, 23.11)
int
rte_eth_recycle_rx_queue_info_get(uint16_t port_id, uint16_t queue_id,
struct rte_eth_recycle_rxq_info *recycle_rxq_info)
@@ -6262,6 +6394,7 @@ rte_eth_recycle_rx_queue_info_get(uint16_t port_id, uint16_t queue_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_eth_rx_burst_mode_get)
int
rte_eth_rx_burst_mode_get(uint16_t port_id, uint16_t queue_id,
struct rte_eth_burst_mode *mode)
@@ -6295,6 +6428,7 @@ rte_eth_rx_burst_mode_get(uint16_t port_id, uint16_t queue_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_tx_burst_mode_get)
int
rte_eth_tx_burst_mode_get(uint16_t port_id, uint16_t queue_id,
struct rte_eth_burst_mode *mode)
@@ -6328,6 +6462,7 @@ rte_eth_tx_burst_mode_get(uint16_t port_id, uint16_t queue_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_get_monitor_addr, 21.02)
int
rte_eth_get_monitor_addr(uint16_t port_id, uint16_t queue_id,
struct rte_power_monitor_cond *pmc)
@@ -6360,6 +6495,7 @@ rte_eth_get_monitor_addr(uint16_t port_id, uint16_t queue_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_mc_addr_list)
int
rte_eth_dev_set_mc_addr_list(uint16_t port_id,
struct rte_ether_addr *mc_addr_set,
@@ -6382,6 +6518,7 @@ rte_eth_dev_set_mc_addr_list(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_timesync_enable)
int
rte_eth_timesync_enable(uint16_t port_id)
{
@@ -6400,6 +6537,7 @@ rte_eth_timesync_enable(uint16_t port_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_timesync_disable)
int
rte_eth_timesync_disable(uint16_t port_id)
{
@@ -6418,6 +6556,7 @@ rte_eth_timesync_disable(uint16_t port_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_timesync_read_rx_timestamp)
int
rte_eth_timesync_read_rx_timestamp(uint16_t port_id, struct timespec *timestamp,
uint32_t flags)
@@ -6446,6 +6585,7 @@ rte_eth_timesync_read_rx_timestamp(uint16_t port_id, struct timespec *timestamp,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_timesync_read_tx_timestamp)
int
rte_eth_timesync_read_tx_timestamp(uint16_t port_id,
struct timespec *timestamp)
@@ -6474,6 +6614,7 @@ rte_eth_timesync_read_tx_timestamp(uint16_t port_id,
}
+RTE_EXPORT_SYMBOL(rte_eth_timesync_adjust_time)
int
rte_eth_timesync_adjust_time(uint16_t port_id, int64_t delta)
{
@@ -6492,6 +6633,7 @@ rte_eth_timesync_adjust_time(uint16_t port_id, int64_t delta)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_timesync_adjust_freq, 24.11)
int
rte_eth_timesync_adjust_freq(uint16_t port_id, int64_t ppm)
{
@@ -6510,6 +6652,7 @@ rte_eth_timesync_adjust_freq(uint16_t port_id, int64_t ppm)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_timesync_read_time)
int
rte_eth_timesync_read_time(uint16_t port_id, struct timespec *timestamp)
{
@@ -6535,6 +6678,7 @@ rte_eth_timesync_read_time(uint16_t port_id, struct timespec *timestamp)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_timesync_write_time)
int
rte_eth_timesync_write_time(uint16_t port_id, const struct timespec *timestamp)
{
@@ -6560,6 +6704,7 @@ rte_eth_timesync_write_time(uint16_t port_id, const struct timespec *timestamp)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_read_clock, 19.08)
int
rte_eth_read_clock(uint16_t port_id, uint64_t *clock)
{
@@ -6584,6 +6729,7 @@ rte_eth_read_clock(uint16_t port_id, uint64_t *clock)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_reg_info)
int
rte_eth_dev_get_reg_info(uint16_t port_id, struct rte_dev_reg_info *info)
{
@@ -6614,6 +6760,7 @@ rte_eth_dev_get_reg_info(uint16_t port_id, struct rte_dev_reg_info *info)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_get_reg_info_ext, 24.11)
int
rte_eth_dev_get_reg_info_ext(uint16_t port_id, struct rte_dev_reg_info *info)
{
@@ -6649,6 +6796,7 @@ rte_eth_dev_get_reg_info_ext(uint16_t port_id, struct rte_dev_reg_info *info)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_eeprom_length)
int
rte_eth_dev_get_eeprom_length(uint16_t port_id)
{
@@ -6667,6 +6815,7 @@ rte_eth_dev_get_eeprom_length(uint16_t port_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_eeprom)
int
rte_eth_dev_get_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info)
{
@@ -6692,6 +6841,7 @@ rte_eth_dev_get_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_set_eeprom)
int
rte_eth_dev_set_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info)
{
@@ -6717,6 +6867,7 @@ rte_eth_dev_set_eeprom(uint16_t port_id, struct rte_dev_eeprom_info *info)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_get_module_info, 18.05)
int
rte_eth_dev_get_module_info(uint16_t port_id,
struct rte_eth_dev_module_info *modinfo)
@@ -6743,6 +6894,7 @@ rte_eth_dev_get_module_info(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_get_module_eeprom, 18.05)
int
rte_eth_dev_get_module_eeprom(uint16_t port_id,
struct rte_dev_eeprom_info *info)
@@ -6783,6 +6935,7 @@ rte_eth_dev_get_module_eeprom(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_get_dcb_info)
int
rte_eth_dev_get_dcb_info(uint16_t port_id,
struct rte_eth_dcb_info *dcb_info)
@@ -6830,6 +6983,7 @@ eth_dev_adjust_nb_desc(uint16_t *nb_desc,
*nb_desc = (uint16_t)nb_desc_32;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_adjust_nb_rx_tx_desc)
int
rte_eth_dev_adjust_nb_rx_tx_desc(uint16_t port_id,
uint16_t *nb_rx_desc,
@@ -6855,6 +7009,7 @@ rte_eth_dev_adjust_nb_rx_tx_desc(uint16_t port_id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_hairpin_capability_get, 19.11)
int
rte_eth_dev_hairpin_capability_get(uint16_t port_id,
struct rte_eth_hairpin_cap *cap)
@@ -6882,6 +7037,7 @@ rte_eth_dev_hairpin_capability_get(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_pool_ops_supported)
int
rte_eth_dev_pool_ops_supported(uint16_t port_id, const char *pool)
{
@@ -6908,6 +7064,7 @@ rte_eth_dev_pool_ops_supported(uint16_t port_id, const char *pool)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_representor_info_get, 21.05)
int
rte_eth_representor_info_get(uint16_t port_id,
struct rte_eth_representor_info *info)
@@ -6927,6 +7084,7 @@ rte_eth_representor_info_get(uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_rx_metadata_negotiate)
int
rte_eth_rx_metadata_negotiate(uint16_t port_id, uint64_t *features)
{
@@ -6962,6 +7120,7 @@ rte_eth_rx_metadata_negotiate(uint16_t port_id, uint64_t *features)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_ip_reassembly_capability_get, 22.03)
int
rte_eth_ip_reassembly_capability_get(uint16_t port_id,
struct rte_eth_ip_reassembly_params *reassembly_capa)
@@ -6997,6 +7156,7 @@ rte_eth_ip_reassembly_capability_get(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_ip_reassembly_conf_get, 22.03)
int
rte_eth_ip_reassembly_conf_get(uint16_t port_id,
struct rte_eth_ip_reassembly_params *conf)
@@ -7030,6 +7190,7 @@ rte_eth_ip_reassembly_conf_get(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_ip_reassembly_conf_set, 22.03)
int
rte_eth_ip_reassembly_conf_set(uint16_t port_id,
const struct rte_eth_ip_reassembly_params *conf)
@@ -7070,6 +7231,7 @@ rte_eth_ip_reassembly_conf_set(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_priv_dump, 22.03)
int
rte_eth_dev_priv_dump(uint16_t port_id, FILE *file)
{
@@ -7088,6 +7250,7 @@ rte_eth_dev_priv_dump(uint16_t port_id, FILE *file)
return eth_err(port_id, dev->dev_ops->eth_dev_priv_dump(dev, file));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_rx_descriptor_dump, 22.11)
int
rte_eth_rx_descriptor_dump(uint16_t port_id, uint16_t queue_id,
uint16_t offset, uint16_t num, FILE *file)
@@ -7114,6 +7277,7 @@ rte_eth_rx_descriptor_dump(uint16_t port_id, uint16_t queue_id,
dev->dev_ops->eth_rx_descriptor_dump(dev, queue_id, offset, num, file));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_tx_descriptor_dump, 22.11)
int
rte_eth_tx_descriptor_dump(uint16_t port_id, uint16_t queue_id,
uint16_t offset, uint16_t num, FILE *file)
@@ -7140,6 +7304,7 @@ rte_eth_tx_descriptor_dump(uint16_t port_id, uint16_t queue_id,
dev->dev_ops->eth_tx_descriptor_dump(dev, queue_id, offset, num, file));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_buffer_split_get_supported_hdr_ptypes, 22.11)
int
rte_eth_buffer_split_get_supported_hdr_ptypes(uint16_t port_id, uint32_t *ptypes, int num)
{
@@ -7179,6 +7344,7 @@ rte_eth_buffer_split_get_supported_hdr_ptypes(uint16_t port_id, uint32_t *ptypes
return j;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_count_aggr_ports, 23.03)
int rte_eth_dev_count_aggr_ports(uint16_t port_id)
{
struct rte_eth_dev *dev;
@@ -7196,6 +7362,7 @@ int rte_eth_dev_count_aggr_ports(uint16_t port_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_map_aggr_tx_affinity, 23.03)
int rte_eth_dev_map_aggr_tx_affinity(uint16_t port_id, uint16_t tx_queue_id,
uint8_t affinity)
{
@@ -7251,4 +7418,5 @@ int rte_eth_dev_map_aggr_tx_affinity(uint16_t port_id, uint16_t tx_queue_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_eth_dev_logtype)
RTE_LOG_REGISTER_DEFAULT(rte_eth_dev_logtype, INFO);
diff --git a/lib/ethdev/rte_ethdev_cman.c b/lib/ethdev/rte_ethdev_cman.c
index 73262ffc5f..1e6c975a55 100644
--- a/lib/ethdev/rte_ethdev_cman.c
+++ b/lib/ethdev/rte_ethdev_cman.c
@@ -11,6 +11,7 @@
#include "ethdev_trace.h"
/* Get congestion management information for a port */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_cman_info_get, 22.11)
int
rte_eth_cman_info_get(uint16_t port_id, struct rte_eth_cman_info *info)
{
@@ -39,6 +40,7 @@ rte_eth_cman_info_get(uint16_t port_id, struct rte_eth_cman_info *info)
}
/* Initialize congestion management structure with default values */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_cman_config_init, 22.11)
int
rte_eth_cman_config_init(uint16_t port_id, struct rte_eth_cman_config *config)
{
@@ -67,6 +69,7 @@ rte_eth_cman_config_init(uint16_t port_id, struct rte_eth_cman_config *config)
}
/* Configure congestion management on a port */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_cman_config_set, 22.11)
int
rte_eth_cman_config_set(uint16_t port_id, const struct rte_eth_cman_config *config)
{
@@ -94,6 +97,7 @@ rte_eth_cman_config_set(uint16_t port_id, const struct rte_eth_cman_config *conf
}
/* Retrieve congestion management configuration of a port */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_cman_config_get, 22.11)
int
rte_eth_cman_config_get(uint16_t port_id, struct rte_eth_cman_config *config)
{
diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
index 4a7735b5ab..ba08c1b6fb 100644
--- a/lib/ethdev/rte_flow.c
+++ b/lib/ethdev/rte_flow.c
@@ -22,9 +22,11 @@
#define FLOW_LOG RTE_ETHDEV_LOG_LINE
/* Mbuf dynamic field name for metadata. */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_offs, 19.11)
int32_t rte_flow_dynf_metadata_offs = -1;
/* Mbuf dynamic field flag bit number for metadata. */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_mask, 19.11)
uint64_t rte_flow_dynf_metadata_mask;
/**
@@ -278,6 +280,7 @@ static const struct rte_flow_desc_data rte_flow_desc_action[] = {
MK_FLOW_ACTION(JUMP_TO_TABLE_INDEX, sizeof(struct rte_flow_action_jump_to_table_index)),
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_register, 19.11)
int
rte_flow_dynf_metadata_register(void)
{
@@ -366,6 +369,7 @@ rte_flow_ops_get(uint16_t port_id, struct rte_flow_error *error)
}
/* Check whether a flow rule can be created on a given port. */
+RTE_EXPORT_SYMBOL(rte_flow_validate)
int
rte_flow_validate(uint16_t port_id,
const struct rte_flow_attr *attr,
@@ -402,6 +406,7 @@ rte_flow_validate(uint16_t port_id,
}
/* Create a flow rule on a given port. */
+RTE_EXPORT_SYMBOL(rte_flow_create)
struct rte_flow *
rte_flow_create(uint16_t port_id,
const struct rte_flow_attr *attr,
@@ -432,6 +437,7 @@ rte_flow_create(uint16_t port_id,
}
/* Destroy a flow rule on a given port. */
+RTE_EXPORT_SYMBOL(rte_flow_destroy)
int
rte_flow_destroy(uint16_t port_id,
struct rte_flow *flow,
@@ -458,6 +464,7 @@ rte_flow_destroy(uint16_t port_id,
NULL, rte_strerror(ENOSYS));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_actions_update, 23.07)
int
rte_flow_actions_update(uint16_t port_id,
struct rte_flow *flow,
@@ -485,6 +492,7 @@ rte_flow_actions_update(uint16_t port_id,
}
/* Destroy all flow rules associated with a port. */
+RTE_EXPORT_SYMBOL(rte_flow_flush)
int
rte_flow_flush(uint16_t port_id,
struct rte_flow_error *error)
@@ -511,6 +519,7 @@ rte_flow_flush(uint16_t port_id,
}
/* Query an existing flow rule. */
+RTE_EXPORT_SYMBOL(rte_flow_query)
int
rte_flow_query(uint16_t port_id,
struct rte_flow *flow,
@@ -540,6 +549,7 @@ rte_flow_query(uint16_t port_id,
}
/* Restrict ingress traffic to the defined flow rules. */
+RTE_EXPORT_SYMBOL(rte_flow_isolate)
int
rte_flow_isolate(uint16_t port_id,
int set,
@@ -567,6 +577,7 @@ rte_flow_isolate(uint16_t port_id,
}
/* Initialize flow error structure. */
+RTE_EXPORT_SYMBOL(rte_flow_error_set)
int
rte_flow_error_set(struct rte_flow_error *error,
int code,
@@ -1102,6 +1113,7 @@ rte_flow_conv_name(int is_action,
}
/** Helper function to convert flow API objects. */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_conv, 18.11)
int
rte_flow_conv(enum rte_flow_conv_op op,
void *dst,
@@ -1173,6 +1185,7 @@ rte_flow_conv(enum rte_flow_conv_op op,
}
/** Store a full rte_flow description. */
+RTE_EXPORT_SYMBOL(rte_flow_copy)
size_t
rte_flow_copy(struct rte_flow_desc *desc, size_t len,
const struct rte_flow_attr *attr,
@@ -1227,6 +1240,7 @@ rte_flow_copy(struct rte_flow_desc *desc, size_t len,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dev_dump, 20.02)
int
rte_flow_dev_dump(uint16_t port_id, struct rte_flow *flow,
FILE *file, struct rte_flow_error *error)
@@ -1248,6 +1262,7 @@ rte_flow_dev_dump(uint16_t port_id, struct rte_flow *flow,
NULL, rte_strerror(ENOSYS));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_get_aged_flows, 20.05)
int
rte_flow_get_aged_flows(uint16_t port_id, void **contexts,
uint32_t nb_contexts, struct rte_flow_error *error)
@@ -1273,6 +1288,7 @@ rte_flow_get_aged_flows(uint16_t port_id, void **contexts,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_get_q_aged_flows, 22.11)
int
rte_flow_get_q_aged_flows(uint16_t port_id, uint32_t queue_id, void **contexts,
uint32_t nb_contexts, struct rte_flow_error *error)
@@ -1300,6 +1316,7 @@ rte_flow_get_q_aged_flows(uint16_t port_id, uint32_t queue_id, void **contexts,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_action_handle_create, 21.05)
struct rte_flow_action_handle *
rte_flow_action_handle_create(uint16_t port_id,
const struct rte_flow_indir_action_conf *conf,
@@ -1327,6 +1344,7 @@ rte_flow_action_handle_create(uint16_t port_id,
return handle;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_action_handle_destroy, 21.05)
int
rte_flow_action_handle_destroy(uint16_t port_id,
struct rte_flow_action_handle *handle,
@@ -1350,6 +1368,7 @@ rte_flow_action_handle_destroy(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_action_handle_update, 21.05)
int
rte_flow_action_handle_update(uint16_t port_id,
struct rte_flow_action_handle *handle,
@@ -1374,6 +1393,7 @@ rte_flow_action_handle_update(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_action_handle_query, 21.05)
int
rte_flow_action_handle_query(uint16_t port_id,
const struct rte_flow_action_handle *handle,
@@ -1398,6 +1418,7 @@ rte_flow_action_handle_query(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_tunnel_decap_set, 20.11)
int
rte_flow_tunnel_decap_set(uint16_t port_id,
struct rte_flow_tunnel *tunnel,
@@ -1427,6 +1448,7 @@ rte_flow_tunnel_decap_set(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_tunnel_match, 20.11)
int
rte_flow_tunnel_match(uint16_t port_id,
struct rte_flow_tunnel *tunnel,
@@ -1456,6 +1478,7 @@ rte_flow_tunnel_match(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_get_restore_info, 20.11)
int
rte_flow_get_restore_info(uint16_t port_id,
struct rte_mbuf *m,
@@ -1490,6 +1513,7 @@ static struct {
.desc = { .name = "RTE_MBUF_F_RX_RESTORE_INFO", },
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_restore_info_dynflag, 23.07)
uint64_t
rte_flow_restore_info_dynflag(void)
{
@@ -1510,6 +1534,7 @@ rte_flow_restore_info_dynflag_register(void)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_tunnel_action_decap_release, 20.11)
int
rte_flow_tunnel_action_decap_release(uint16_t port_id,
struct rte_flow_action *actions,
@@ -1539,6 +1564,7 @@ rte_flow_tunnel_action_decap_release(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_tunnel_item_release, 20.11)
int
rte_flow_tunnel_item_release(uint16_t port_id,
struct rte_flow_item *items,
@@ -1566,6 +1592,7 @@ rte_flow_tunnel_item_release(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_SYMBOL(rte_flow_pick_transfer_proxy)
int
rte_flow_pick_transfer_proxy(uint16_t port_id, uint16_t *proxy_port_id,
struct rte_flow_error *error)
@@ -1593,6 +1620,7 @@ rte_flow_pick_transfer_proxy(uint16_t port_id, uint16_t *proxy_port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_flex_item_create, 21.11)
struct rte_flow_item_flex_handle *
rte_flow_flex_item_create(uint16_t port_id,
const struct rte_flow_item_flex_conf *conf,
@@ -1619,6 +1647,7 @@ rte_flow_flex_item_create(uint16_t port_id,
return handle;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_flex_item_release, 21.11)
int
rte_flow_flex_item_release(uint16_t port_id,
const struct rte_flow_item_flex_handle *handle,
@@ -1640,6 +1669,7 @@ rte_flow_flex_item_release(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_info_get, 22.03)
int
rte_flow_info_get(uint16_t port_id,
struct rte_flow_port_info *port_info,
@@ -1676,6 +1706,7 @@ rte_flow_info_get(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_configure, 22.03)
int
rte_flow_configure(uint16_t port_id,
const struct rte_flow_port_attr *port_attr,
@@ -1730,6 +1761,7 @@ rte_flow_configure(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_pattern_template_create, 22.03)
struct rte_flow_pattern_template *
rte_flow_pattern_template_create(uint16_t port_id,
const struct rte_flow_pattern_template_attr *template_attr,
@@ -1786,6 +1818,7 @@ rte_flow_pattern_template_create(uint16_t port_id,
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_pattern_template_destroy, 22.03)
int
rte_flow_pattern_template_destroy(uint16_t port_id,
struct rte_flow_pattern_template *pattern_template,
@@ -1816,6 +1849,7 @@ rte_flow_pattern_template_destroy(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_actions_template_create, 22.03)
struct rte_flow_actions_template *
rte_flow_actions_template_create(uint16_t port_id,
const struct rte_flow_actions_template_attr *template_attr,
@@ -1882,6 +1916,7 @@ rte_flow_actions_template_create(uint16_t port_id,
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_actions_template_destroy, 22.03)
int
rte_flow_actions_template_destroy(uint16_t port_id,
struct rte_flow_actions_template *actions_template,
@@ -1912,6 +1947,7 @@ rte_flow_actions_template_destroy(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_template_table_create, 22.03)
struct rte_flow_template_table *
rte_flow_template_table_create(uint16_t port_id,
const struct rte_flow_template_table_attr *table_attr,
@@ -1985,6 +2021,7 @@ rte_flow_template_table_create(uint16_t port_id,
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_template_table_destroy, 22.03)
int
rte_flow_template_table_destroy(uint16_t port_id,
struct rte_flow_template_table *template_table,
@@ -2015,6 +2052,7 @@ rte_flow_template_table_destroy(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_group_set_miss_actions, 23.11)
int
rte_flow_group_set_miss_actions(uint16_t port_id,
uint32_t group_id,
@@ -2037,6 +2075,7 @@ rte_flow_group_set_miss_actions(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_create, 22.03)
struct rte_flow *
rte_flow_async_create(uint16_t port_id,
uint32_t queue_id,
@@ -2078,6 +2117,7 @@ rte_flow_async_create(uint16_t port_id,
return flow;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_create_by_index, 23.03)
struct rte_flow *
rte_flow_async_create_by_index(uint16_t port_id,
uint32_t queue_id,
@@ -2116,6 +2156,7 @@ rte_flow_async_create_by_index(uint16_t port_id,
return flow;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_create_by_index_with_pattern, 24.11)
struct rte_flow *
rte_flow_async_create_by_index_with_pattern(uint16_t port_id,
uint32_t queue_id,
@@ -2160,6 +2201,7 @@ rte_flow_async_create_by_index_with_pattern(uint16_t port_id,
return flow;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_destroy, 22.03)
int
rte_flow_async_destroy(uint16_t port_id,
uint32_t queue_id,
@@ -2190,6 +2232,7 @@ rte_flow_async_destroy(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_actions_update, 23.07)
int
rte_flow_async_actions_update(uint16_t port_id,
uint32_t queue_id,
@@ -2224,6 +2267,7 @@ rte_flow_async_actions_update(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_push, 22.03)
int
rte_flow_push(uint16_t port_id,
uint32_t queue_id,
@@ -2248,6 +2292,7 @@ rte_flow_push(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_pull, 22.03)
int
rte_flow_pull(uint16_t port_id,
uint32_t queue_id,
@@ -2274,6 +2319,7 @@ rte_flow_pull(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_action_handle_create, 22.03)
struct rte_flow_action_handle *
rte_flow_async_action_handle_create(uint16_t port_id,
uint32_t queue_id,
@@ -2310,6 +2356,7 @@ rte_flow_async_action_handle_create(uint16_t port_id,
return handle;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_action_handle_destroy, 22.03)
int
rte_flow_async_action_handle_destroy(uint16_t port_id,
uint32_t queue_id,
@@ -2339,6 +2386,7 @@ rte_flow_async_action_handle_destroy(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_action_handle_update, 22.03)
int
rte_flow_async_action_handle_update(uint16_t port_id,
uint32_t queue_id,
@@ -2370,6 +2418,7 @@ rte_flow_async_action_handle_update(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_action_handle_query, 22.11)
int
rte_flow_async_action_handle_query(uint16_t port_id,
uint32_t queue_id,
@@ -2401,6 +2450,7 @@ rte_flow_async_action_handle_query(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_action_handle_query_update, 23.03)
int
rte_flow_action_handle_query_update(uint16_t port_id,
struct rte_flow_action_handle *handle,
@@ -2426,6 +2476,7 @@ rte_flow_action_handle_query_update(uint16_t port_id,
return flow_err(port_id, ret, error);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_action_handle_query_update, 23.03)
int
rte_flow_async_action_handle_query_update(uint16_t port_id, uint32_t queue_id,
const struct rte_flow_op_attr *attr,
@@ -2452,6 +2503,7 @@ rte_flow_async_action_handle_query_update(uint16_t port_id, uint32_t queue_id,
user_data, error);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_action_list_handle_create, 23.07)
struct rte_flow_action_list_handle *
rte_flow_action_list_handle_create(uint16_t port_id,
const
@@ -2479,6 +2531,7 @@ rte_flow_action_list_handle_create(uint16_t port_id,
return handle;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_action_list_handle_destroy, 23.07)
int
rte_flow_action_list_handle_destroy(uint16_t port_id,
struct rte_flow_action_list_handle *handle,
@@ -2501,6 +2554,7 @@ rte_flow_action_list_handle_destroy(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_action_list_handle_create, 23.07)
struct rte_flow_action_list_handle *
rte_flow_async_action_list_handle_create(uint16_t port_id, uint32_t queue_id,
const struct rte_flow_op_attr *attr,
@@ -2537,6 +2591,7 @@ rte_flow_async_action_list_handle_create(uint16_t port_id, uint32_t queue_id,
return handle;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_action_list_handle_destroy, 23.07)
int
rte_flow_async_action_list_handle_destroy(uint16_t port_id, uint32_t queue_id,
const struct rte_flow_op_attr *op_attr,
@@ -2564,6 +2619,7 @@ rte_flow_async_action_list_handle_destroy(uint16_t port_id, uint32_t queue_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_action_list_handle_query_update, 23.07)
int
rte_flow_action_list_handle_query_update(uint16_t port_id,
const struct rte_flow_action_list_handle *handle,
@@ -2590,6 +2646,7 @@ rte_flow_action_list_handle_query_update(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_action_list_handle_query_update, 23.07)
int
rte_flow_async_action_list_handle_query_update(uint16_t port_id, uint32_t queue_id,
const struct rte_flow_op_attr *attr,
@@ -2624,6 +2681,7 @@ rte_flow_async_action_list_handle_query_update(uint16_t port_id, uint32_t queue_
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_calc_table_hash, 23.11)
int
rte_flow_calc_table_hash(uint16_t port_id, const struct rte_flow_template_table *table,
const struct rte_flow_item pattern[], uint8_t pattern_template_index,
@@ -2645,6 +2703,7 @@ rte_flow_calc_table_hash(uint16_t port_id, const struct rte_flow_template_table
return flow_err(port_id, ret, error);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_calc_encap_hash, 24.03)
int
rte_flow_calc_encap_hash(uint16_t port_id, const struct rte_flow_item pattern[],
enum rte_flow_encap_hash_field dest_field, uint8_t hash_len,
@@ -2674,6 +2733,7 @@ rte_flow_calc_encap_hash(uint16_t port_id, const struct rte_flow_item pattern[],
return flow_err(port_id, ret, error);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_template_table_resizable, 24.03)
bool
rte_flow_template_table_resizable(__rte_unused uint16_t port_id,
const struct rte_flow_template_table_attr *tbl_attr)
@@ -2682,6 +2742,7 @@ rte_flow_template_table_resizable(__rte_unused uint16_t port_id,
RTE_FLOW_TABLE_SPECIALIZE_RESIZABLE) != 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_template_table_resize, 24.03)
int
rte_flow_template_table_resize(uint16_t port_id,
struct rte_flow_template_table *table,
@@ -2705,6 +2766,7 @@ rte_flow_template_table_resize(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_async_update_resized, 24.03)
int
rte_flow_async_update_resized(uint16_t port_id, uint32_t queue,
const struct rte_flow_op_attr *attr,
@@ -2729,6 +2791,7 @@ rte_flow_async_update_resized(uint16_t port_id, uint32_t queue,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_template_table_resize_complete, 24.03)
int
rte_flow_template_table_resize_complete(uint16_t port_id,
struct rte_flow_template_table *table,
@@ -2964,6 +3027,7 @@ rte_flow_dummy_async_action_list_handle_query_update(
rte_strerror(ENOSYS));
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_flow_fp_default_ops)
struct rte_flow_fp_ops rte_flow_fp_default_ops = {
.async_create = rte_flow_dummy_async_create,
.async_create_by_index = rte_flow_dummy_async_create_by_index,
diff --git a/lib/ethdev/rte_mtr.c b/lib/ethdev/rte_mtr.c
index 900837bc09..35b6ee3195 100644
--- a/lib/ethdev/rte_mtr.c
+++ b/lib/ethdev/rte_mtr.c
@@ -77,6 +77,7 @@ __extension__ ({ \
})
/* MTR capabilities get */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_capabilities_get, 17.11)
int
rte_mtr_capabilities_get(uint16_t port_id,
struct rte_mtr_capabilities *cap,
@@ -93,6 +94,7 @@ rte_mtr_capabilities_get(uint16_t port_id,
}
/* MTR meter profile add */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_profile_add, 17.11)
int
rte_mtr_meter_profile_add(uint16_t port_id,
uint32_t meter_profile_id,
@@ -111,6 +113,7 @@ rte_mtr_meter_profile_add(uint16_t port_id,
}
/** MTR meter profile delete */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_profile_delete, 17.11)
int
rte_mtr_meter_profile_delete(uint16_t port_id,
uint32_t meter_profile_id,
@@ -127,6 +130,7 @@ rte_mtr_meter_profile_delete(uint16_t port_id,
}
/** MTR meter profile get */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_profile_get, 22.11)
struct rte_flow_meter_profile *
rte_mtr_meter_profile_get(uint16_t port_id,
uint32_t meter_profile_id,
@@ -143,6 +147,7 @@ rte_mtr_meter_profile_get(uint16_t port_id,
}
/* MTR meter policy validate */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_policy_validate, 21.05)
int
rte_mtr_meter_policy_validate(uint16_t port_id,
struct rte_mtr_meter_policy_params *policy,
@@ -159,6 +164,7 @@ rte_mtr_meter_policy_validate(uint16_t port_id,
}
/* MTR meter policy add */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_policy_add, 21.05)
int
rte_mtr_meter_policy_add(uint16_t port_id,
uint32_t policy_id,
@@ -176,6 +182,7 @@ rte_mtr_meter_policy_add(uint16_t port_id,
}
/** MTR meter policy delete */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_policy_delete, 21.05)
int
rte_mtr_meter_policy_delete(uint16_t port_id,
uint32_t policy_id,
@@ -192,6 +199,7 @@ rte_mtr_meter_policy_delete(uint16_t port_id,
}
/** MTR meter policy get */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_policy_get, 22.11)
struct rte_flow_meter_policy *
rte_mtr_meter_policy_get(uint16_t port_id,
uint32_t policy_id,
@@ -208,6 +216,7 @@ rte_mtr_meter_policy_get(uint16_t port_id,
}
/** MTR object create */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_create, 17.11)
int
rte_mtr_create(uint16_t port_id,
uint32_t mtr_id,
@@ -226,6 +235,7 @@ rte_mtr_create(uint16_t port_id,
}
/** MTR object destroy */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_destroy, 17.11)
int
rte_mtr_destroy(uint16_t port_id,
uint32_t mtr_id,
@@ -242,6 +252,7 @@ rte_mtr_destroy(uint16_t port_id,
}
/** MTR object meter enable */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_enable, 17.11)
int
rte_mtr_meter_enable(uint16_t port_id,
uint32_t mtr_id,
@@ -258,6 +269,7 @@ rte_mtr_meter_enable(uint16_t port_id,
}
/** MTR object meter disable */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_disable, 17.11)
int
rte_mtr_meter_disable(uint16_t port_id,
uint32_t mtr_id,
@@ -274,6 +286,7 @@ rte_mtr_meter_disable(uint16_t port_id,
}
/** MTR object meter profile update */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_profile_update, 17.11)
int
rte_mtr_meter_profile_update(uint16_t port_id,
uint32_t mtr_id,
@@ -291,6 +304,7 @@ rte_mtr_meter_profile_update(uint16_t port_id,
}
/** MTR object meter policy update */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_policy_update, 21.05)
int
rte_mtr_meter_policy_update(uint16_t port_id,
uint32_t mtr_id,
@@ -308,6 +322,7 @@ rte_mtr_meter_policy_update(uint16_t port_id,
}
/** MTR object meter DSCP table update */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_dscp_table_update, 17.11)
int
rte_mtr_meter_dscp_table_update(uint16_t port_id,
uint32_t mtr_id, enum rte_mtr_color_in_protocol proto,
@@ -325,6 +340,7 @@ rte_mtr_meter_dscp_table_update(uint16_t port_id,
}
/** MTR object meter VLAN table update */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_meter_vlan_table_update, 22.07)
int
rte_mtr_meter_vlan_table_update(uint16_t port_id,
uint32_t mtr_id, enum rte_mtr_color_in_protocol proto,
@@ -342,6 +358,7 @@ rte_mtr_meter_vlan_table_update(uint16_t port_id,
}
/** Set the input color protocol on MTR object */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_color_in_protocol_set, 22.07)
int
rte_mtr_color_in_protocol_set(uint16_t port_id,
uint32_t mtr_id,
@@ -360,6 +377,7 @@ rte_mtr_color_in_protocol_set(uint16_t port_id,
}
/** Get input color protocols of MTR object */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_color_in_protocol_get, 22.07)
int
rte_mtr_color_in_protocol_get(uint16_t port_id,
uint32_t mtr_id,
@@ -377,6 +395,7 @@ rte_mtr_color_in_protocol_get(uint16_t port_id,
}
/** Get input color protocol priority of MTR object */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_color_in_protocol_priority_get, 22.07)
int
rte_mtr_color_in_protocol_priority_get(uint16_t port_id,
uint32_t mtr_id,
@@ -395,6 +414,7 @@ rte_mtr_color_in_protocol_priority_get(uint16_t port_id,
}
/** MTR object enabled stats update */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_stats_update, 17.11)
int
rte_mtr_stats_update(uint16_t port_id,
uint32_t mtr_id,
@@ -412,6 +432,7 @@ rte_mtr_stats_update(uint16_t port_id,
}
/** MTR object stats read */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mtr_stats_read, 17.11)
int
rte_mtr_stats_read(uint16_t port_id,
uint32_t mtr_id,
diff --git a/lib/ethdev/rte_tm.c b/lib/ethdev/rte_tm.c
index 347dbb81f9..796c582149 100644
--- a/lib/ethdev/rte_tm.c
+++ b/lib/ethdev/rte_tm.c
@@ -58,6 +58,7 @@ __extension__ ({ \
})
/* Get number of leaf nodes */
+RTE_EXPORT_SYMBOL(rte_tm_get_number_of_leaf_nodes)
int
rte_tm_get_number_of_leaf_nodes(uint16_t port_id,
uint32_t *n_leaf_nodes,
@@ -87,6 +88,7 @@ rte_tm_get_number_of_leaf_nodes(uint16_t port_id,
}
/* Check node type (leaf or non-leaf) */
+RTE_EXPORT_SYMBOL(rte_tm_node_type_get)
int
rte_tm_node_type_get(uint16_t port_id,
uint32_t node_id,
@@ -104,6 +106,7 @@ rte_tm_node_type_get(uint16_t port_id,
}
/* Get capabilities */
+RTE_EXPORT_SYMBOL(rte_tm_capabilities_get)
int rte_tm_capabilities_get(uint16_t port_id,
struct rte_tm_capabilities *cap,
struct rte_tm_error *error)
@@ -119,6 +122,7 @@ int rte_tm_capabilities_get(uint16_t port_id,
}
/* Get level capabilities */
+RTE_EXPORT_SYMBOL(rte_tm_level_capabilities_get)
int rte_tm_level_capabilities_get(uint16_t port_id,
uint32_t level_id,
struct rte_tm_level_capabilities *cap,
@@ -135,6 +139,7 @@ int rte_tm_level_capabilities_get(uint16_t port_id,
}
/* Get node capabilities */
+RTE_EXPORT_SYMBOL(rte_tm_node_capabilities_get)
int rte_tm_node_capabilities_get(uint16_t port_id,
uint32_t node_id,
struct rte_tm_node_capabilities *cap,
@@ -151,6 +156,7 @@ int rte_tm_node_capabilities_get(uint16_t port_id,
}
/* Add WRED profile */
+RTE_EXPORT_SYMBOL(rte_tm_wred_profile_add)
int rte_tm_wred_profile_add(uint16_t port_id,
uint32_t wred_profile_id,
const struct rte_tm_wred_params *profile,
@@ -167,6 +173,7 @@ int rte_tm_wred_profile_add(uint16_t port_id,
}
/* Delete WRED profile */
+RTE_EXPORT_SYMBOL(rte_tm_wred_profile_delete)
int rte_tm_wred_profile_delete(uint16_t port_id,
uint32_t wred_profile_id,
struct rte_tm_error *error)
@@ -182,6 +189,7 @@ int rte_tm_wred_profile_delete(uint16_t port_id,
}
/* Add/update shared WRED context */
+RTE_EXPORT_SYMBOL(rte_tm_shared_wred_context_add_update)
int rte_tm_shared_wred_context_add_update(uint16_t port_id,
uint32_t shared_wred_context_id,
uint32_t wred_profile_id,
@@ -200,6 +208,7 @@ int rte_tm_shared_wred_context_add_update(uint16_t port_id,
}
/* Delete shared WRED context */
+RTE_EXPORT_SYMBOL(rte_tm_shared_wred_context_delete)
int rte_tm_shared_wred_context_delete(uint16_t port_id,
uint32_t shared_wred_context_id,
struct rte_tm_error *error)
@@ -216,6 +225,7 @@ int rte_tm_shared_wred_context_delete(uint16_t port_id,
}
/* Add shaper profile */
+RTE_EXPORT_SYMBOL(rte_tm_shaper_profile_add)
int rte_tm_shaper_profile_add(uint16_t port_id,
uint32_t shaper_profile_id,
const struct rte_tm_shaper_params *profile,
@@ -233,6 +243,7 @@ int rte_tm_shaper_profile_add(uint16_t port_id,
}
/* Delete WRED profile */
+RTE_EXPORT_SYMBOL(rte_tm_shaper_profile_delete)
int rte_tm_shaper_profile_delete(uint16_t port_id,
uint32_t shaper_profile_id,
struct rte_tm_error *error)
@@ -248,6 +259,7 @@ int rte_tm_shaper_profile_delete(uint16_t port_id,
}
/* Add shared shaper */
+RTE_EXPORT_SYMBOL(rte_tm_shared_shaper_add_update)
int rte_tm_shared_shaper_add_update(uint16_t port_id,
uint32_t shared_shaper_id,
uint32_t shaper_profile_id,
@@ -265,6 +277,7 @@ int rte_tm_shared_shaper_add_update(uint16_t port_id,
}
/* Delete shared shaper */
+RTE_EXPORT_SYMBOL(rte_tm_shared_shaper_delete)
int rte_tm_shared_shaper_delete(uint16_t port_id,
uint32_t shared_shaper_id,
struct rte_tm_error *error)
@@ -280,6 +293,7 @@ int rte_tm_shared_shaper_delete(uint16_t port_id,
}
/* Add node to port traffic manager hierarchy */
+RTE_EXPORT_SYMBOL(rte_tm_node_add)
int rte_tm_node_add(uint16_t port_id,
uint32_t node_id,
uint32_t parent_node_id,
@@ -301,6 +315,7 @@ int rte_tm_node_add(uint16_t port_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_tm_node_query, 24.11)
int rte_tm_node_query(uint16_t port_id,
uint32_t node_id,
uint32_t *parent_node_id,
@@ -324,6 +339,7 @@ int rte_tm_node_query(uint16_t port_id,
}
/* Delete node from traffic manager hierarchy */
+RTE_EXPORT_SYMBOL(rte_tm_node_delete)
int rte_tm_node_delete(uint16_t port_id,
uint32_t node_id,
struct rte_tm_error *error)
@@ -339,6 +355,7 @@ int rte_tm_node_delete(uint16_t port_id,
}
/* Suspend node */
+RTE_EXPORT_SYMBOL(rte_tm_node_suspend)
int rte_tm_node_suspend(uint16_t port_id,
uint32_t node_id,
struct rte_tm_error *error)
@@ -354,6 +371,7 @@ int rte_tm_node_suspend(uint16_t port_id,
}
/* Resume node */
+RTE_EXPORT_SYMBOL(rte_tm_node_resume)
int rte_tm_node_resume(uint16_t port_id,
uint32_t node_id,
struct rte_tm_error *error)
@@ -369,6 +387,7 @@ int rte_tm_node_resume(uint16_t port_id,
}
/* Commit the initial port traffic manager hierarchy */
+RTE_EXPORT_SYMBOL(rte_tm_hierarchy_commit)
int rte_tm_hierarchy_commit(uint16_t port_id,
int clear_on_fail,
struct rte_tm_error *error)
@@ -384,6 +403,7 @@ int rte_tm_hierarchy_commit(uint16_t port_id,
}
/* Update node parent */
+RTE_EXPORT_SYMBOL(rte_tm_node_parent_update)
int rte_tm_node_parent_update(uint16_t port_id,
uint32_t node_id,
uint32_t parent_node_id,
@@ -403,6 +423,7 @@ int rte_tm_node_parent_update(uint16_t port_id,
}
/* Update node private shaper */
+RTE_EXPORT_SYMBOL(rte_tm_node_shaper_update)
int rte_tm_node_shaper_update(uint16_t port_id,
uint32_t node_id,
uint32_t shaper_profile_id,
@@ -420,6 +441,7 @@ int rte_tm_node_shaper_update(uint16_t port_id,
}
/* Update node shared shapers */
+RTE_EXPORT_SYMBOL(rte_tm_node_shared_shaper_update)
int rte_tm_node_shared_shaper_update(uint16_t port_id,
uint32_t node_id,
uint32_t shared_shaper_id,
@@ -438,6 +460,7 @@ int rte_tm_node_shared_shaper_update(uint16_t port_id,
}
/* Update node stats */
+RTE_EXPORT_SYMBOL(rte_tm_node_stats_update)
int rte_tm_node_stats_update(uint16_t port_id,
uint32_t node_id,
uint64_t stats_mask,
@@ -454,6 +477,7 @@ int rte_tm_node_stats_update(uint16_t port_id,
}
/* Update WFQ weight mode */
+RTE_EXPORT_SYMBOL(rte_tm_node_wfq_weight_mode_update)
int rte_tm_node_wfq_weight_mode_update(uint16_t port_id,
uint32_t node_id,
int *wfq_weight_mode,
@@ -473,6 +497,7 @@ int rte_tm_node_wfq_weight_mode_update(uint16_t port_id,
}
/* Update node congestion management mode */
+RTE_EXPORT_SYMBOL(rte_tm_node_cman_update)
int rte_tm_node_cman_update(uint16_t port_id,
uint32_t node_id,
enum rte_tm_cman_mode cman,
@@ -489,6 +514,7 @@ int rte_tm_node_cman_update(uint16_t port_id,
}
/* Update node private WRED context */
+RTE_EXPORT_SYMBOL(rte_tm_node_wred_context_update)
int rte_tm_node_wred_context_update(uint16_t port_id,
uint32_t node_id,
uint32_t wred_profile_id,
@@ -506,6 +532,7 @@ int rte_tm_node_wred_context_update(uint16_t port_id,
}
/* Update node shared WRED context */
+RTE_EXPORT_SYMBOL(rte_tm_node_shared_wred_context_update)
int rte_tm_node_shared_wred_context_update(uint16_t port_id,
uint32_t node_id,
uint32_t shared_wred_context_id,
@@ -525,6 +552,7 @@ int rte_tm_node_shared_wred_context_update(uint16_t port_id,
}
/* Read and/or clear stats counters for specific node */
+RTE_EXPORT_SYMBOL(rte_tm_node_stats_read)
int rte_tm_node_stats_read(uint16_t port_id,
uint32_t node_id,
struct rte_tm_node_stats *stats,
@@ -544,6 +572,7 @@ int rte_tm_node_stats_read(uint16_t port_id,
}
/* Packet marking - VLAN DEI */
+RTE_EXPORT_SYMBOL(rte_tm_mark_vlan_dei)
int rte_tm_mark_vlan_dei(uint16_t port_id,
int mark_green,
int mark_yellow,
@@ -562,6 +591,7 @@ int rte_tm_mark_vlan_dei(uint16_t port_id,
}
/* Packet marking - IPv4/IPv6 ECN */
+RTE_EXPORT_SYMBOL(rte_tm_mark_ip_ecn)
int rte_tm_mark_ip_ecn(uint16_t port_id,
int mark_green,
int mark_yellow,
@@ -580,6 +610,7 @@ int rte_tm_mark_ip_ecn(uint16_t port_id,
}
/* Packet marking - IPv4/IPv6 DSCP */
+RTE_EXPORT_SYMBOL(rte_tm_mark_ip_dscp)
int rte_tm_mark_ip_dscp(uint16_t port_id,
int mark_green,
int mark_yellow,
diff --git a/lib/eventdev/eventdev_private.c b/lib/eventdev/eventdev_private.c
index 6df129fc2d..bec79952be 100644
--- a/lib/eventdev/eventdev_private.c
+++ b/lib/eventdev/eventdev_private.c
@@ -106,6 +106,7 @@ dummy_event_port_preschedule_hint(__rte_unused void *port,
{
}
+RTE_EXPORT_INTERNAL_SYMBOL(event_dev_fp_ops_reset)
void
event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op)
{
@@ -129,6 +130,7 @@ event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op)
*fp_op = dummy;
}
+RTE_EXPORT_INTERNAL_SYMBOL(event_dev_fp_ops_set)
void
event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op,
const struct rte_eventdev *dev)
diff --git a/lib/eventdev/eventdev_trace_points.c b/lib/eventdev/eventdev_trace_points.c
index 8caf6353a1..c65feabf14 100644
--- a/lib/eventdev/eventdev_trace_points.c
+++ b/lib/eventdev/eventdev_trace_points.c
@@ -37,21 +37,27 @@ RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_stop,
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_close,
lib.eventdev.close)
+RTE_EXPORT_SYMBOL(__rte_eventdev_trace_enq_burst)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_enq_burst,
lib.eventdev.enq.burst)
+RTE_EXPORT_SYMBOL(__rte_eventdev_trace_deq_burst)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_deq_burst,
lib.eventdev.deq.burst)
+RTE_EXPORT_SYMBOL(__rte_eventdev_trace_maintain)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_maintain,
lib.eventdev.maintain)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eventdev_trace_port_profile_switch, 23.11)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_port_profile_switch,
lib.eventdev.port.profile.switch)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eventdev_trace_port_preschedule_modify, 24.11)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_port_preschedule_modify,
lib.eventdev.port.preschedule.modify)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_eventdev_trace_port_preschedule, 24.11)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_port_preschedule,
lib.eventdev.port.preschedule)
@@ -96,6 +102,7 @@ RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_eth_tx_adapter_start,
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_eth_tx_adapter_stop,
lib.eventdev.tx.adapter.stop)
+RTE_EXPORT_SYMBOL(__rte_eventdev_trace_eth_tx_adapter_enqueue)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_eth_tx_adapter_enqueue,
lib.eventdev.tx.adapter.enq)
@@ -112,12 +119,15 @@ RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_timer_adapter_stop,
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_timer_adapter_free,
lib.eventdev.timer.free)
+RTE_EXPORT_SYMBOL(__rte_eventdev_trace_timer_arm_burst)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_timer_arm_burst,
lib.eventdev.timer.burst)
+RTE_EXPORT_SYMBOL(__rte_eventdev_trace_timer_arm_tmo_tick_burst)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_timer_arm_tmo_tick_burst,
lib.eventdev.timer.tick.burst)
+RTE_EXPORT_SYMBOL(__rte_eventdev_trace_timer_cancel_burst)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_timer_cancel_burst,
lib.eventdev.timer.cancel)
@@ -140,6 +150,7 @@ RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_crypto_adapter_start,
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_crypto_adapter_stop,
lib.eventdev.crypto.stop)
+RTE_EXPORT_SYMBOL(__rte_eventdev_trace_crypto_adapter_enqueue)
RTE_TRACE_POINT_REGISTER(rte_eventdev_trace_crypto_adapter_enqueue,
lib.eventdev.crypto.enq)
diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c
index fc43e056d7..ce9aeaa7be 100644
--- a/lib/eventdev/rte_event_crypto_adapter.c
+++ b/lib/eventdev/rte_event_crypto_adapter.c
@@ -362,6 +362,7 @@ eca_default_config_cb(uint8_t id, uint8_t dev_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_create_ext)
int
rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
rte_event_crypto_adapter_conf_cb conf_cb,
@@ -437,6 +438,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_create)
int
rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
struct rte_event_port_conf *port_config,
@@ -465,6 +467,7 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_free)
int
rte_event_crypto_adapter_free(uint8_t id)
{
@@ -1036,6 +1039,7 @@ eca_add_queue_pair(struct event_crypto_adapter *adapter, uint8_t cdev_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_queue_pair_add)
int
rte_event_crypto_adapter_queue_pair_add(uint8_t id,
uint8_t cdev_id,
@@ -1190,6 +1194,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_queue_pair_del)
int
rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
int32_t queue_pair_id)
@@ -1315,6 +1320,7 @@ eca_adapter_ctrl(uint8_t id, int start)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_start)
int
rte_event_crypto_adapter_start(uint8_t id)
{
@@ -1329,6 +1335,7 @@ rte_event_crypto_adapter_start(uint8_t id)
return eca_adapter_ctrl(id, 1);
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_stop)
int
rte_event_crypto_adapter_stop(uint8_t id)
{
@@ -1336,6 +1343,7 @@ rte_event_crypto_adapter_stop(uint8_t id)
return eca_adapter_ctrl(id, 0);
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_stats_get)
int
rte_event_crypto_adapter_stats_get(uint8_t id,
struct rte_event_crypto_adapter_stats *stats)
@@ -1388,6 +1396,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_stats_reset)
int
rte_event_crypto_adapter_stats_reset(uint8_t id)
{
@@ -1420,6 +1429,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_crypto_adapter_runtime_params_init, 23.03)
int
rte_event_crypto_adapter_runtime_params_init(
struct rte_event_crypto_adapter_runtime_params *params)
@@ -1458,6 +1468,7 @@ crypto_adapter_cap_check(struct event_crypto_adapter *adapter)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_crypto_adapter_runtime_params_set, 23.03)
int
rte_event_crypto_adapter_runtime_params_set(uint8_t id,
struct rte_event_crypto_adapter_runtime_params *params)
@@ -1490,6 +1501,7 @@ rte_event_crypto_adapter_runtime_params_set(uint8_t id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_crypto_adapter_runtime_params_get, 23.03)
int
rte_event_crypto_adapter_runtime_params_get(uint8_t id,
struct rte_event_crypto_adapter_runtime_params *params)
@@ -1521,6 +1533,7 @@ rte_event_crypto_adapter_runtime_params_get(uint8_t id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_service_id_get)
int
rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
{
@@ -1540,6 +1553,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
return adapter->service_inited ? 0 : -ESRCH;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_event_port_get)
int
rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
{
@@ -1558,6 +1572,7 @@ rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_vector_limits_get)
int
rte_event_crypto_adapter_vector_limits_get(
uint8_t dev_id, uint16_t cdev_id,
diff --git a/lib/eventdev/rte_event_dma_adapter.c b/lib/eventdev/rte_event_dma_adapter.c
index d9a02a30f2..88ed4d252b 100644
--- a/lib/eventdev/rte_event_dma_adapter.c
+++ b/lib/eventdev/rte_event_dma_adapter.c
@@ -340,6 +340,7 @@ edma_default_config_cb(uint8_t id, uint8_t evdev_id, struct rte_event_dma_adapte
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_create_ext, 23.11)
int
rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
rte_event_dma_adapter_conf_cb conf_cb,
@@ -433,6 +434,7 @@ rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_create, 23.11)
int
rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id, struct rte_event_port_conf *port_config,
enum rte_event_dma_adapter_mode mode)
@@ -457,6 +459,7 @@ rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id, struct rte_event_port
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_free, 23.11)
int
rte_event_dma_adapter_free(uint8_t id)
{
@@ -477,6 +480,7 @@ rte_event_dma_adapter_free(uint8_t id)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_event_port_get, 23.11)
int
rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
{
@@ -983,6 +987,7 @@ edma_add_vchan(struct event_dma_adapter *adapter, int16_t dma_dev_id, uint16_t v
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_vchan_add, 23.11)
int
rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dma_dev_id, uint16_t vchan,
const struct rte_event *event)
@@ -1097,6 +1102,7 @@ rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dma_dev_id, uint16_t vchan,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_vchan_del, 23.11)
int
rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dma_dev_id, uint16_t vchan)
{
@@ -1163,6 +1169,7 @@ rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dma_dev_id, uint16_t vchan)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_service_id_get, 23.11)
int
rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id)
{
@@ -1222,6 +1229,7 @@ edma_adapter_ctrl(uint8_t id, int start)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_start, 23.11)
int
rte_event_dma_adapter_start(uint8_t id)
{
@@ -1236,6 +1244,7 @@ rte_event_dma_adapter_start(uint8_t id)
return edma_adapter_ctrl(id, 1);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_stop, 23.11)
int
rte_event_dma_adapter_stop(uint8_t id)
{
@@ -1244,6 +1253,7 @@ rte_event_dma_adapter_stop(uint8_t id)
#define DEFAULT_MAX_NB 128
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_runtime_params_init, 23.11)
int
rte_event_dma_adapter_runtime_params_init(struct rte_event_dma_adapter_runtime_params *params)
{
@@ -1279,6 +1289,7 @@ dma_adapter_cap_check(struct event_dma_adapter *adapter)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_runtime_params_set, 23.11)
int
rte_event_dma_adapter_runtime_params_set(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params)
@@ -1308,6 +1319,7 @@ rte_event_dma_adapter_runtime_params_set(uint8_t id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_runtime_params_get, 23.11)
int
rte_event_dma_adapter_runtime_params_get(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params)
@@ -1335,6 +1347,7 @@ rte_event_dma_adapter_runtime_params_get(uint8_t id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_stats_get, 23.11)
int
rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *stats)
{
@@ -1380,6 +1393,7 @@ rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_stats_reset, 23.11)
int
rte_event_dma_adapter_stats_reset(uint8_t id)
{
@@ -1412,6 +1426,7 @@ rte_event_dma_adapter_stats_reset(uint8_t id)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_enqueue, 23.11)
uint16_t
rte_event_dma_adapter_enqueue(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
uint16_t nb_events)
diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
index ad832413d6..339fa75c82 100644
--- a/lib/eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/eventdev/rte_event_eth_rx_adapter.c
@@ -2518,6 +2518,7 @@ rxa_config_params_validate(struct rte_event_eth_rx_adapter_params *rxa_params,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_create_ext)
int
rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id,
rte_event_eth_rx_adapter_conf_cb conf_cb,
@@ -2532,6 +2533,7 @@ rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id,
return rxa_create(id, dev_id, &rxa_params, conf_cb, conf_arg);
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_create_with_params)
int
rte_event_eth_rx_adapter_create_with_params(uint8_t id, uint8_t dev_id,
struct rte_event_port_conf *port_config,
@@ -2564,6 +2566,7 @@ rte_event_eth_rx_adapter_create_with_params(uint8_t id, uint8_t dev_id,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_rx_adapter_create_ext_with_params, 23.11)
int
rte_event_eth_rx_adapter_create_ext_with_params(uint8_t id, uint8_t dev_id,
rte_event_eth_rx_adapter_conf_cb conf_cb,
@@ -2580,6 +2583,7 @@ rte_event_eth_rx_adapter_create_ext_with_params(uint8_t id, uint8_t dev_id,
return rxa_create(id, dev_id, &temp_params, conf_cb, conf_arg);
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_create)
int
rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
struct rte_event_port_conf *port_config)
@@ -2605,6 +2609,7 @@ rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_free)
int
rte_event_eth_rx_adapter_free(uint8_t id)
{
@@ -2637,6 +2642,7 @@ rte_event_eth_rx_adapter_free(uint8_t id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_queue_add)
int
rte_event_eth_rx_adapter_queue_add(uint8_t id,
uint16_t eth_dev_id,
@@ -2790,6 +2796,7 @@ rte_event_eth_rx_adapter_queue_add(uint8_t id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_rx_adapter_queues_add, 25.03)
int
rte_event_eth_rx_adapter_queues_add(uint8_t id, uint16_t eth_dev_id, int32_t rx_queue_id[],
const struct rte_event_eth_rx_adapter_queue_conf queue_conf[],
@@ -2961,6 +2968,7 @@ rxa_sw_vector_limits(struct rte_event_eth_rx_adapter_vector_limits *limits)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_queue_del)
int
rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
int32_t rx_queue_id)
@@ -3089,6 +3097,7 @@ rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_vector_limits_get)
int
rte_event_eth_rx_adapter_vector_limits_get(
uint8_t dev_id, uint16_t eth_port_id,
@@ -3130,6 +3139,7 @@ rte_event_eth_rx_adapter_vector_limits_get(
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_start)
int
rte_event_eth_rx_adapter_start(uint8_t id)
{
@@ -3137,6 +3147,7 @@ rte_event_eth_rx_adapter_start(uint8_t id)
return rxa_ctrl(id, 1);
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_stop)
int
rte_event_eth_rx_adapter_stop(uint8_t id)
{
@@ -3153,6 +3164,7 @@ rxa_queue_stats_reset(struct eth_rx_queue_info *queue_info)
memset(q_stats, 0, sizeof(*q_stats));
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_stats_get)
int
rte_event_eth_rx_adapter_stats_get(uint8_t id,
struct rte_event_eth_rx_adapter_stats *stats)
@@ -3227,6 +3239,7 @@ rte_event_eth_rx_adapter_stats_get(uint8_t id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_queue_stats_get)
int
rte_event_eth_rx_adapter_queue_stats_get(uint8_t id,
uint16_t eth_dev_id,
@@ -3291,6 +3304,7 @@ rte_event_eth_rx_adapter_queue_stats_get(uint8_t id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_stats_reset)
int
rte_event_eth_rx_adapter_stats_reset(uint8_t id)
{
@@ -3338,6 +3352,7 @@ rte_event_eth_rx_adapter_stats_reset(uint8_t id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_queue_stats_reset)
int
rte_event_eth_rx_adapter_queue_stats_reset(uint8_t id,
uint16_t eth_dev_id,
@@ -3392,6 +3407,7 @@ rte_event_eth_rx_adapter_queue_stats_reset(uint8_t id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_service_id_get)
int
rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
{
@@ -3414,6 +3430,7 @@ rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
return rx_adapter->service_inited ? 0 : -ESRCH;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_event_port_get)
int
rte_event_eth_rx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
{
@@ -3436,6 +3453,7 @@ rte_event_eth_rx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
return rx_adapter->service_inited ? 0 : -ESRCH;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_cb_register)
int
rte_event_eth_rx_adapter_cb_register(uint8_t id,
uint16_t eth_dev_id,
@@ -3484,6 +3502,7 @@ rte_event_eth_rx_adapter_cb_register(uint8_t id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_queue_conf_get)
int
rte_event_eth_rx_adapter_queue_conf_get(uint8_t id,
uint16_t eth_dev_id,
@@ -3585,6 +3604,7 @@ rxa_is_queue_added(struct event_eth_rx_adapter *rx_adapter,
#define rxa_dev_instance_get(rx_adapter) \
rxa_evdev((rx_adapter))->dev_ops->eth_rx_adapter_instance_get
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_instance_get)
int
rte_event_eth_rx_adapter_instance_get(uint16_t eth_dev_id,
uint16_t rx_queue_id,
@@ -3663,6 +3683,7 @@ rxa_caps_check(struct event_eth_rx_adapter *rxa)
return -ENOTSUP;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_rx_adapter_runtime_params_init, 23.03)
int
rte_event_eth_rx_adapter_runtime_params_init(
struct rte_event_eth_rx_adapter_runtime_params *params)
@@ -3676,6 +3697,7 @@ rte_event_eth_rx_adapter_runtime_params_init(
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_rx_adapter_runtime_params_set, 23.03)
int
rte_event_eth_rx_adapter_runtime_params_set(uint8_t id,
struct rte_event_eth_rx_adapter_runtime_params *params)
@@ -3704,6 +3726,7 @@ rte_event_eth_rx_adapter_runtime_params_set(uint8_t id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_rx_adapter_runtime_params_get, 23.03)
int
rte_event_eth_rx_adapter_runtime_params_get(uint8_t id,
struct rte_event_eth_rx_adapter_runtime_params *params)
diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c
index 67fff8b7d6..0ee12e5eae 100644
--- a/lib/eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/eventdev/rte_event_eth_tx_adapter.c
@@ -1038,6 +1038,7 @@ txa_service_stop(uint8_t id)
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_create)
int
rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
struct rte_event_port_conf *port_conf)
@@ -1082,6 +1083,7 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_create_ext)
int
rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
rte_event_eth_tx_adapter_conf_cb conf_cb,
@@ -1126,6 +1128,7 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_event_port_get)
int
rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
{
@@ -1136,6 +1139,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
return txa_service_event_port_get(id, event_port_id);
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_free)
int
rte_event_eth_tx_adapter_free(uint8_t id)
{
@@ -1155,6 +1159,7 @@ rte_event_eth_tx_adapter_free(uint8_t id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_queue_add)
int
rte_event_eth_tx_adapter_queue_add(uint8_t id,
uint16_t eth_dev_id,
@@ -1188,6 +1193,7 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_queue_del)
int
rte_event_eth_tx_adapter_queue_del(uint8_t id,
uint16_t eth_dev_id,
@@ -1220,6 +1226,7 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_service_id_get)
int
rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
{
@@ -1228,6 +1235,7 @@ rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
return txa_service_id_get(id, service_id);
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_start)
int
rte_event_eth_tx_adapter_start(uint8_t id)
{
@@ -1242,6 +1250,7 @@ rte_event_eth_tx_adapter_start(uint8_t id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_stats_get)
int
rte_event_eth_tx_adapter_stats_get(uint8_t id,
struct rte_event_eth_tx_adapter_stats *stats)
@@ -1278,6 +1287,7 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_stats_reset)
int
rte_event_eth_tx_adapter_stats_reset(uint8_t id)
{
@@ -1295,6 +1305,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_tx_adapter_runtime_params_init, 23.03)
int
rte_event_eth_tx_adapter_runtime_params_init(
struct rte_event_eth_tx_adapter_runtime_params *txa_params)
@@ -1321,6 +1332,7 @@ txa_caps_check(struct txa_service_data *txa)
return -ENOTSUP;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_tx_adapter_runtime_params_set, 23.03)
int
rte_event_eth_tx_adapter_runtime_params_set(uint8_t id,
struct rte_event_eth_tx_adapter_runtime_params *txa_params)
@@ -1352,6 +1364,7 @@ rte_event_eth_tx_adapter_runtime_params_set(uint8_t id,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_tx_adapter_runtime_params_get, 23.03)
int
rte_event_eth_tx_adapter_runtime_params_get(uint8_t id,
struct rte_event_eth_tx_adapter_runtime_params *txa_params)
@@ -1383,6 +1396,7 @@ rte_event_eth_tx_adapter_runtime_params_get(uint8_t id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_stop)
int
rte_event_eth_tx_adapter_stop(uint8_t id)
{
@@ -1397,6 +1411,7 @@ rte_event_eth_tx_adapter_stop(uint8_t id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_instance_get)
int
rte_event_eth_tx_adapter_instance_get(uint16_t eth_dev_id,
uint16_t tx_queue_id,
@@ -1530,6 +1545,7 @@ txa_queue_start_state_set(uint16_t eth_dev_id, uint16_t tx_queue_id,
start_state, txa);
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_queue_start)
int
rte_event_eth_tx_adapter_queue_start(uint16_t eth_dev_id, uint16_t tx_queue_id)
{
@@ -1538,6 +1554,7 @@ rte_event_eth_tx_adapter_queue_start(uint16_t eth_dev_id, uint16_t tx_queue_id)
return txa_queue_start_state_set(eth_dev_id, tx_queue_id, true);
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_queue_stop)
int
rte_event_eth_tx_adapter_queue_stop(uint16_t eth_dev_id, uint16_t tx_queue_id)
{
diff --git a/lib/eventdev/rte_event_ring.c b/lib/eventdev/rte_event_ring.c
index b965970cf9..7b75584aef 100644
--- a/lib/eventdev/rte_event_ring.c
+++ b/lib/eventdev/rte_event_ring.c
@@ -7,6 +7,7 @@
#include "rte_event_ring.h"
#include "eventdev_trace.h"
+RTE_EXPORT_SYMBOL(rte_event_ring_init)
int
rte_event_ring_init(struct rte_event_ring *r, const char *name,
unsigned int count, unsigned int flags)
@@ -22,6 +23,7 @@ rte_event_ring_init(struct rte_event_ring *r, const char *name,
}
/* create the ring */
+RTE_EXPORT_SYMBOL(rte_event_ring_create)
struct rte_event_ring *
rte_event_ring_create(const char *name, unsigned int count, int socket_id,
unsigned int flags)
@@ -34,6 +36,7 @@ rte_event_ring_create(const char *name, unsigned int count, int socket_id,
}
+RTE_EXPORT_SYMBOL(rte_event_ring_lookup)
struct rte_event_ring *
rte_event_ring_lookup(const char *name)
{
@@ -43,6 +46,7 @@ rte_event_ring_lookup(const char *name)
}
/* free the ring */
+RTE_EXPORT_SYMBOL(rte_event_ring_free)
void
rte_event_ring_free(struct rte_event_ring *r)
{
diff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c
index 5886965d14..1fb64ffc2d 100644
--- a/lib/eventdev/rte_event_timer_adapter.c
+++ b/lib/eventdev/rte_event_timer_adapter.c
@@ -132,6 +132,7 @@ default_port_conf_cb(uint16_t id, uint8_t event_dev_id, uint8_t *event_port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_create)
struct rte_event_timer_adapter *
rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf)
{
@@ -139,6 +140,7 @@ rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf)
NULL);
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_create_ext)
struct rte_event_timer_adapter *
rte_event_timer_adapter_create_ext(
const struct rte_event_timer_adapter_conf *conf,
@@ -264,6 +266,7 @@ rte_event_timer_adapter_create_ext(
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_get_info)
int
rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
struct rte_event_timer_adapter_info *adapter_info)
@@ -284,6 +287,7 @@ rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_start)
int
rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
{
@@ -307,6 +311,7 @@ rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_stop)
int
rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
{
@@ -330,6 +335,7 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_lookup)
struct rte_event_timer_adapter *
rte_event_timer_adapter_lookup(uint16_t adapter_id)
{
@@ -397,6 +403,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id)
return adapter;
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_free)
int
rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
{
@@ -438,6 +445,7 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_service_id_get)
int
rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
uint32_t *service_id)
@@ -455,6 +463,7 @@ rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
return adapter->data->service_inited ? 0 : -ESRCH;
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_stats_get)
int
rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
struct rte_event_timer_adapter_stats *stats)
@@ -469,6 +478,7 @@ rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
return adapter->ops->stats_get(adapter, stats);
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_stats_reset)
int
rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter)
{
@@ -479,6 +489,7 @@ rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter)
return adapter->ops->stats_reset(adapter);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_timer_remaining_ticks_get, 23.03)
int
rte_event_timer_remaining_ticks_get(
const struct rte_event_timer_adapter *adapter,
diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c
index 43cd95d765..c16e6672e5 100644
--- a/lib/eventdev/rte_eventdev.c
+++ b/lib/eventdev/rte_eventdev.c
@@ -29,10 +29,12 @@
#include "eventdev_pmd.h"
#include "eventdev_trace.h"
+RTE_EXPORT_INTERNAL_SYMBOL(rte_event_logtype)
RTE_LOG_REGISTER_DEFAULT(rte_event_logtype, INFO);
static struct rte_eventdev rte_event_devices[RTE_EVENT_MAX_DEVS];
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eventdevs)
struct rte_eventdev *rte_eventdevs = rte_event_devices;
static struct rte_eventdev_global eventdev_globals = {
@@ -40,16 +42,19 @@ static struct rte_eventdev_global eventdev_globals = {
};
/* Public fastpath APIs. */
+RTE_EXPORT_SYMBOL(rte_event_fp_ops)
struct rte_event_fp_ops rte_event_fp_ops[RTE_EVENT_MAX_DEVS];
/* Event dev north bound API implementation */
+RTE_EXPORT_SYMBOL(rte_event_dev_count)
uint8_t
rte_event_dev_count(void)
{
return eventdev_globals.nb_devs;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_get_dev_id)
int
rte_event_dev_get_dev_id(const char *name)
{
@@ -74,6 +79,7 @@ rte_event_dev_get_dev_id(const char *name)
return -ENODEV;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_socket_id)
int
rte_event_dev_socket_id(uint8_t dev_id)
{
@@ -87,6 +93,7 @@ rte_event_dev_socket_id(uint8_t dev_id)
return dev->data->socket_id;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_info_get)
int
rte_event_dev_info_get(uint8_t dev_id, struct rte_event_dev_info *dev_info)
{
@@ -115,6 +122,7 @@ rte_event_dev_info_get(uint8_t dev_id, struct rte_event_dev_info *dev_info)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_caps_get)
int
rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
uint32_t *caps)
@@ -141,6 +149,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
: 0;
}
+RTE_EXPORT_SYMBOL(rte_event_timer_adapter_caps_get)
int
rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
{
@@ -166,6 +175,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
: 0;
}
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_caps_get)
int
rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
uint32_t *caps)
@@ -194,6 +204,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
dev->dev_ops->crypto_adapter_caps_get(dev, cdev, caps) : 0;
}
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_caps_get)
int
rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
uint32_t *caps)
@@ -222,6 +233,7 @@ rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
: 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_caps_get, 23.11)
int
rte_event_dma_adapter_caps_get(uint8_t dev_id, uint8_t dma_dev_id, uint32_t *caps)
{
@@ -337,6 +349,7 @@ event_dev_port_config(struct rte_eventdev *dev, uint8_t nb_ports)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_configure)
int
rte_event_dev_configure(uint8_t dev_id,
const struct rte_event_dev_config *dev_conf)
@@ -539,6 +552,7 @@ is_valid_queue(struct rte_eventdev *dev, uint8_t queue_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_queue_default_conf_get)
int
rte_event_queue_default_conf_get(uint8_t dev_id, uint8_t queue_id,
struct rte_event_queue_conf *queue_conf)
@@ -599,6 +613,7 @@ is_valid_ordered_queue_conf(const struct rte_event_queue_conf *queue_conf)
}
+RTE_EXPORT_SYMBOL(rte_event_queue_setup)
int
rte_event_queue_setup(uint8_t dev_id, uint8_t queue_id,
const struct rte_event_queue_conf *queue_conf)
@@ -670,6 +685,7 @@ is_valid_port(struct rte_eventdev *dev, uint8_t port_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_port_default_conf_get)
int
rte_event_port_default_conf_get(uint8_t dev_id, uint8_t port_id,
struct rte_event_port_conf *port_conf)
@@ -697,6 +713,7 @@ rte_event_port_default_conf_get(uint8_t dev_id, uint8_t port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_port_setup)
int
rte_event_port_setup(uint8_t dev_id, uint8_t port_id,
const struct rte_event_port_conf *port_conf)
@@ -787,6 +804,7 @@ rte_event_port_setup(uint8_t dev_id, uint8_t port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_port_quiesce)
void
rte_event_port_quiesce(uint8_t dev_id, uint8_t port_id,
rte_eventdev_port_flush_t release_cb, void *args)
@@ -807,6 +825,7 @@ rte_event_port_quiesce(uint8_t dev_id, uint8_t port_id,
dev->dev_ops->port_quiesce(dev, dev->data->ports[port_id], release_cb, args);
}
+RTE_EXPORT_SYMBOL(rte_event_dev_attr_get)
int
rte_event_dev_attr_get(uint8_t dev_id, uint32_t attr_id,
uint32_t *attr_value)
@@ -837,6 +856,7 @@ rte_event_dev_attr_get(uint8_t dev_id, uint32_t attr_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_port_attr_get)
int
rte_event_port_attr_get(uint8_t dev_id, uint8_t port_id, uint32_t attr_id,
uint32_t *attr_value)
@@ -888,6 +908,7 @@ rte_event_port_attr_get(uint8_t dev_id, uint8_t port_id, uint32_t attr_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_queue_attr_get)
int
rte_event_queue_attr_get(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,
uint32_t *attr_value)
@@ -947,6 +968,7 @@ rte_event_queue_attr_get(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_queue_attr_set)
int
rte_event_queue_attr_set(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,
uint64_t attr_value)
@@ -975,6 +997,7 @@ rte_event_queue_attr_set(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,
return dev->dev_ops->queue_attr_set(dev, queue_id, attr_id, attr_value);
}
+RTE_EXPORT_SYMBOL(rte_event_port_link)
int
rte_event_port_link(uint8_t dev_id, uint8_t port_id,
const uint8_t queues[], const uint8_t priorities[],
@@ -983,6 +1006,7 @@ rte_event_port_link(uint8_t dev_id, uint8_t port_id,
return rte_event_port_profile_links_set(dev_id, port_id, queues, priorities, nb_links, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_port_profile_links_set, 23.11)
int
rte_event_port_profile_links_set(uint8_t dev_id, uint8_t port_id, const uint8_t queues[],
const uint8_t priorities[], uint16_t nb_links, uint8_t profile_id)
@@ -1065,6 +1089,7 @@ rte_event_port_profile_links_set(uint8_t dev_id, uint8_t port_id, const uint8_t
return diag;
}
+RTE_EXPORT_SYMBOL(rte_event_port_unlink)
int
rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
uint8_t queues[], uint16_t nb_unlinks)
@@ -1072,6 +1097,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
return rte_event_port_profile_unlink(dev_id, port_id, queues, nb_unlinks, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_port_profile_unlink, 23.11)
int
rte_event_port_profile_unlink(uint8_t dev_id, uint8_t port_id, uint8_t queues[],
uint16_t nb_unlinks, uint8_t profile_id)
@@ -1158,6 +1184,7 @@ rte_event_port_profile_unlink(uint8_t dev_id, uint8_t port_id, uint8_t queues[],
return diag;
}
+RTE_EXPORT_SYMBOL(rte_event_port_unlinks_in_progress)
int
rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id)
{
@@ -1182,6 +1209,7 @@ rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id)
return dev->dev_ops->port_unlinks_in_progress(dev, dev->data->ports[port_id]);
}
+RTE_EXPORT_SYMBOL(rte_event_port_links_get)
int
rte_event_port_links_get(uint8_t dev_id, uint8_t port_id,
uint8_t queues[], uint8_t priorities[])
@@ -1214,6 +1242,7 @@ rte_event_port_links_get(uint8_t dev_id, uint8_t port_id,
return count;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_port_profile_links_get, 23.11)
int
rte_event_port_profile_links_get(uint8_t dev_id, uint8_t port_id, uint8_t queues[],
uint8_t priorities[], uint8_t profile_id)
@@ -1257,6 +1286,7 @@ rte_event_port_profile_links_get(uint8_t dev_id, uint8_t port_id, uint8_t queues
return count;
}
+RTE_EXPORT_SYMBOL(rte_event_dequeue_timeout_ticks)
int
rte_event_dequeue_timeout_ticks(uint8_t dev_id, uint64_t ns,
uint64_t *timeout_ticks)
@@ -1276,6 +1306,7 @@ rte_event_dequeue_timeout_ticks(uint8_t dev_id, uint64_t ns,
return dev->dev_ops->timeout_ticks(dev, ns, timeout_ticks);
}
+RTE_EXPORT_SYMBOL(rte_event_dev_service_id_get)
int
rte_event_dev_service_id_get(uint8_t dev_id, uint32_t *service_id)
{
@@ -1295,6 +1326,7 @@ rte_event_dev_service_id_get(uint8_t dev_id, uint32_t *service_id)
return dev->data->service_inited ? 0 : -ESRCH;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_dump)
int
rte_event_dev_dump(uint8_t dev_id, FILE *f)
{
@@ -1322,6 +1354,7 @@ xstats_get_count(uint8_t dev_id, enum rte_event_dev_xstats_mode mode,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_xstats_names_get)
int
rte_event_dev_xstats_names_get(uint8_t dev_id,
enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
@@ -1346,6 +1379,7 @@ rte_event_dev_xstats_names_get(uint8_t dev_id,
}
/* retrieve eventdev extended statistics */
+RTE_EXPORT_SYMBOL(rte_event_dev_xstats_get)
int
rte_event_dev_xstats_get(uint8_t dev_id, enum rte_event_dev_xstats_mode mode,
uint8_t queue_port_id, const uint64_t ids[],
@@ -1361,6 +1395,7 @@ rte_event_dev_xstats_get(uint8_t dev_id, enum rte_event_dev_xstats_mode mode,
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_xstats_by_name_get)
uint64_t
rte_event_dev_xstats_by_name_get(uint8_t dev_id, const char *name,
uint64_t *id)
@@ -1380,6 +1415,7 @@ rte_event_dev_xstats_by_name_get(uint8_t dev_id, const char *name,
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_xstats_reset)
int rte_event_dev_xstats_reset(uint8_t dev_id,
enum rte_event_dev_xstats_mode mode, int16_t queue_port_id,
const uint64_t ids[], uint32_t nb_ids)
@@ -1392,8 +1428,10 @@ int rte_event_dev_xstats_reset(uint8_t dev_id,
return -ENOTSUP;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_event_pmd_selftest_seqn_dynfield_offset)
int rte_event_pmd_selftest_seqn_dynfield_offset = -1;
+RTE_EXPORT_SYMBOL(rte_event_dev_selftest)
int rte_event_dev_selftest(uint8_t dev_id)
{
RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);
@@ -1414,6 +1452,7 @@ int rte_event_dev_selftest(uint8_t dev_id)
return -ENOTSUP;
}
+RTE_EXPORT_SYMBOL(rte_event_vector_pool_create)
struct rte_mempool *
rte_event_vector_pool_create(const char *name, unsigned int n,
unsigned int cache_size, uint16_t nb_elem,
@@ -1459,6 +1498,7 @@ rte_event_vector_pool_create(const char *name, unsigned int n,
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_start)
int
rte_event_dev_start(uint8_t dev_id)
{
@@ -1490,6 +1530,7 @@ rte_event_dev_start(uint8_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_stop_flush_callback_register)
int
rte_event_dev_stop_flush_callback_register(uint8_t dev_id,
rte_eventdev_stop_flush_t callback,
@@ -1510,6 +1551,7 @@ rte_event_dev_stop_flush_callback_register(uint8_t dev_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_event_dev_stop)
void
rte_event_dev_stop(uint8_t dev_id)
{
@@ -1534,6 +1576,7 @@ rte_event_dev_stop(uint8_t dev_id)
event_dev_fp_ops_reset(rte_event_fp_ops + dev_id);
}
+RTE_EXPORT_SYMBOL(rte_event_dev_close)
int
rte_event_dev_close(uint8_t dev_id)
{
@@ -1604,6 +1647,7 @@ eventdev_find_free_device_index(void)
return RTE_EVENT_MAX_DEVS;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_event_pmd_allocate)
struct rte_eventdev *
rte_event_pmd_allocate(const char *name, int socket_id)
{
@@ -1652,6 +1696,7 @@ rte_event_pmd_allocate(const char *name, int socket_id)
return eventdev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_event_pmd_release)
int
rte_event_pmd_release(struct rte_eventdev *eventdev)
{
@@ -1688,6 +1733,7 @@ rte_event_pmd_release(struct rte_eventdev *eventdev)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(event_dev_probing_finish)
void
event_dev_probing_finish(struct rte_eventdev *eventdev)
{
diff --git a/lib/fib/rte_fib.c b/lib/fib/rte_fib.c
index 49211fe3fa..b69fda8236 100644
--- a/lib/fib/rte_fib.c
+++ b/lib/fib/rte_fib.c
@@ -120,6 +120,7 @@ init_dataplane(struct rte_fib *fib, __rte_unused int socket_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_fib_add)
int
rte_fib_add(struct rte_fib *fib, uint32_t ip, uint8_t depth, uint64_t next_hop)
{
@@ -129,6 +130,7 @@ rte_fib_add(struct rte_fib *fib, uint32_t ip, uint8_t depth, uint64_t next_hop)
return fib->modify(fib, ip, depth, next_hop, RTE_FIB_ADD);
}
+RTE_EXPORT_SYMBOL(rte_fib_delete)
int
rte_fib_delete(struct rte_fib *fib, uint32_t ip, uint8_t depth)
{
@@ -138,6 +140,7 @@ rte_fib_delete(struct rte_fib *fib, uint32_t ip, uint8_t depth)
return fib->modify(fib, ip, depth, 0, RTE_FIB_DEL);
}
+RTE_EXPORT_SYMBOL(rte_fib_lookup_bulk)
int
rte_fib_lookup_bulk(struct rte_fib *fib, uint32_t *ips,
uint64_t *next_hops, int n)
@@ -149,6 +152,7 @@ rte_fib_lookup_bulk(struct rte_fib *fib, uint32_t *ips,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_fib_create)
struct rte_fib *
rte_fib_create(const char *name, int socket_id, struct rte_fib_conf *conf)
{
@@ -245,6 +249,7 @@ rte_fib_create(const char *name, int socket_id, struct rte_fib_conf *conf)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_fib_find_existing)
struct rte_fib *
rte_fib_find_existing(const char *name)
{
@@ -283,6 +288,7 @@ free_dataplane(struct rte_fib *fib)
}
}
+RTE_EXPORT_SYMBOL(rte_fib_free)
void
rte_fib_free(struct rte_fib *fib)
{
@@ -312,18 +318,21 @@ rte_fib_free(struct rte_fib *fib)
rte_free(te);
}
+RTE_EXPORT_SYMBOL(rte_fib_get_dp)
void *
rte_fib_get_dp(struct rte_fib *fib)
{
return (fib == NULL) ? NULL : fib->dp;
}
+RTE_EXPORT_SYMBOL(rte_fib_get_rib)
struct rte_rib *
rte_fib_get_rib(struct rte_fib *fib)
{
return (fib == NULL) ? NULL : fib->rib;
}
+RTE_EXPORT_SYMBOL(rte_fib_select_lookup)
int
rte_fib_select_lookup(struct rte_fib *fib,
enum rte_fib_lookup_type type)
@@ -343,6 +352,7 @@ rte_fib_select_lookup(struct rte_fib *fib,
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_fib_rcu_qsbr_add, 24.11)
int
rte_fib_rcu_qsbr_add(struct rte_fib *fib, struct rte_fib_rcu_config *cfg)
{
diff --git a/lib/fib/rte_fib6.c b/lib/fib/rte_fib6.c
index 9c7d4fde43..30c545cc1f 100644
--- a/lib/fib/rte_fib6.c
+++ b/lib/fib/rte_fib6.c
@@ -118,6 +118,7 @@ init_dataplane(struct rte_fib6 *fib, __rte_unused int socket_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_fib6_add)
int
rte_fib6_add(struct rte_fib6 *fib, const struct rte_ipv6_addr *ip,
uint8_t depth, uint64_t next_hop)
@@ -128,6 +129,7 @@ rte_fib6_add(struct rte_fib6 *fib, const struct rte_ipv6_addr *ip,
return fib->modify(fib, ip, depth, next_hop, RTE_FIB6_ADD);
}
+RTE_EXPORT_SYMBOL(rte_fib6_delete)
int
rte_fib6_delete(struct rte_fib6 *fib, const struct rte_ipv6_addr *ip,
uint8_t depth)
@@ -138,6 +140,7 @@ rte_fib6_delete(struct rte_fib6 *fib, const struct rte_ipv6_addr *ip,
return fib->modify(fib, ip, depth, 0, RTE_FIB6_DEL);
}
+RTE_EXPORT_SYMBOL(rte_fib6_lookup_bulk)
int
rte_fib6_lookup_bulk(struct rte_fib6 *fib,
const struct rte_ipv6_addr *ips,
@@ -149,6 +152,7 @@ rte_fib6_lookup_bulk(struct rte_fib6 *fib,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_fib6_create)
struct rte_fib6 *
rte_fib6_create(const char *name, int socket_id, struct rte_fib6_conf *conf)
{
@@ -243,6 +247,7 @@ rte_fib6_create(const char *name, int socket_id, struct rte_fib6_conf *conf)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_fib6_find_existing)
struct rte_fib6 *
rte_fib6_find_existing(const char *name)
{
@@ -281,6 +286,7 @@ free_dataplane(struct rte_fib6 *fib)
}
}
+RTE_EXPORT_SYMBOL(rte_fib6_free)
void
rte_fib6_free(struct rte_fib6 *fib)
{
@@ -310,18 +316,21 @@ rte_fib6_free(struct rte_fib6 *fib)
rte_free(te);
}
+RTE_EXPORT_SYMBOL(rte_fib6_get_dp)
void *
rte_fib6_get_dp(struct rte_fib6 *fib)
{
return (fib == NULL) ? NULL : fib->dp;
}
+RTE_EXPORT_SYMBOL(rte_fib6_get_rib)
struct rte_rib6 *
rte_fib6_get_rib(struct rte_fib6 *fib)
{
return (fib == NULL) ? NULL : fib->rib;
}
+RTE_EXPORT_SYMBOL(rte_fib6_select_lookup)
int
rte_fib6_select_lookup(struct rte_fib6 *fib,
enum rte_fib6_lookup_type type)
diff --git a/lib/gpudev/gpudev.c b/lib/gpudev/gpudev.c
index 1c2011b856..df91fbf0af 100644
--- a/lib/gpudev/gpudev.c
+++ b/lib/gpudev/gpudev.c
@@ -49,6 +49,7 @@ struct rte_gpu_callback {
static rte_rwlock_t gpu_callback_lock = RTE_RWLOCK_INITIALIZER;
static void gpu_free_callbacks(struct rte_gpu *dev);
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_init, 21.11)
int
rte_gpu_init(size_t dev_max)
{
@@ -76,12 +77,14 @@ rte_gpu_init(size_t dev_max)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_count_avail, 21.11)
uint16_t
rte_gpu_count_avail(void)
{
return gpu_count;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_is_valid, 21.11)
bool
rte_gpu_is_valid(int16_t dev_id)
{
@@ -99,6 +102,7 @@ gpu_match_parent(int16_t dev_id, int16_t parent)
return gpus[dev_id].mpshared->info.parent == parent;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_find_next, 21.11)
int16_t
rte_gpu_find_next(int16_t dev_id, int16_t parent)
{
@@ -134,6 +138,7 @@ gpu_get_by_id(int16_t dev_id)
return &gpus[dev_id];
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_gpu_get_by_name)
struct rte_gpu *
rte_gpu_get_by_name(const char *name)
{
@@ -176,6 +181,7 @@ gpu_shared_mem_init(void)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_gpu_allocate)
struct rte_gpu *
rte_gpu_allocate(const char *name)
{
@@ -237,6 +243,7 @@ rte_gpu_allocate(const char *name)
return dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_gpu_attach)
struct rte_gpu *
rte_gpu_attach(const char *name)
{
@@ -286,6 +293,7 @@ rte_gpu_attach(const char *name)
return dev;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_add_child, 21.11)
int16_t
rte_gpu_add_child(const char *name, int16_t parent, uint64_t child_context)
{
@@ -308,6 +316,7 @@ rte_gpu_add_child(const char *name, int16_t parent, uint64_t child_context)
return dev->mpshared->info.dev_id;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_gpu_complete_new)
void
rte_gpu_complete_new(struct rte_gpu *dev)
{
@@ -318,6 +327,7 @@ rte_gpu_complete_new(struct rte_gpu *dev)
rte_gpu_notify(dev, RTE_GPU_EVENT_NEW);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_gpu_release)
int
rte_gpu_release(struct rte_gpu *dev)
{
@@ -347,6 +357,7 @@ rte_gpu_release(struct rte_gpu *dev)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_close, 21.11)
int
rte_gpu_close(int16_t dev_id)
{
@@ -373,6 +384,7 @@ rte_gpu_close(int16_t dev_id)
return firsterr;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_callback_register, 21.11)
int
rte_gpu_callback_register(int16_t dev_id, enum rte_gpu_event event,
rte_gpu_callback_t *function, void *user_data)
@@ -432,6 +444,7 @@ rte_gpu_callback_register(int16_t dev_id, enum rte_gpu_event event,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_callback_unregister, 21.11)
int
rte_gpu_callback_unregister(int16_t dev_id, enum rte_gpu_event event,
rte_gpu_callback_t *function, void *user_data)
@@ -491,6 +504,7 @@ gpu_free_callbacks(struct rte_gpu *dev)
rte_rwlock_write_unlock(&gpu_callback_lock);
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_gpu_notify)
void
rte_gpu_notify(struct rte_gpu *dev, enum rte_gpu_event event)
{
@@ -507,6 +521,7 @@ rte_gpu_notify(struct rte_gpu *dev, enum rte_gpu_event event)
rte_rwlock_read_unlock(&gpu_callback_lock);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_info_get, 21.11)
int
rte_gpu_info_get(int16_t dev_id, struct rte_gpu_info *info)
{
@@ -531,6 +546,7 @@ rte_gpu_info_get(int16_t dev_id, struct rte_gpu_info *info)
return GPU_DRV_RET(dev->ops.dev_info_get(dev, info));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_mem_alloc, 21.11)
void *
rte_gpu_mem_alloc(int16_t dev_id, size_t size, unsigned int align)
{
@@ -575,6 +591,7 @@ rte_gpu_mem_alloc(int16_t dev_id, size_t size, unsigned int align)
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_mem_free, 21.11)
int
rte_gpu_mem_free(int16_t dev_id, void *ptr)
{
@@ -598,6 +615,7 @@ rte_gpu_mem_free(int16_t dev_id, void *ptr)
return GPU_DRV_RET(dev->ops.mem_free(dev, ptr));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_mem_register, 21.11)
int
rte_gpu_mem_register(int16_t dev_id, size_t size, void *ptr)
{
@@ -622,6 +640,7 @@ rte_gpu_mem_register(int16_t dev_id, size_t size, void *ptr)
return GPU_DRV_RET(dev->ops.mem_register(dev, size, ptr));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_mem_unregister, 21.11)
int
rte_gpu_mem_unregister(int16_t dev_id, void *ptr)
{
@@ -645,6 +664,7 @@ rte_gpu_mem_unregister(int16_t dev_id, void *ptr)
return GPU_DRV_RET(dev->ops.mem_unregister(dev, ptr));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_mem_cpu_map, 21.11)
void *
rte_gpu_mem_cpu_map(int16_t dev_id, size_t size, void *ptr)
{
@@ -683,6 +703,7 @@ rte_gpu_mem_cpu_map(int16_t dev_id, size_t size, void *ptr)
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_mem_cpu_unmap, 21.11)
int
rte_gpu_mem_cpu_unmap(int16_t dev_id, void *ptr)
{
@@ -706,6 +727,7 @@ rte_gpu_mem_cpu_unmap(int16_t dev_id, void *ptr)
return GPU_DRV_RET(dev->ops.mem_cpu_unmap(dev, ptr));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_wmb, 21.11)
int
rte_gpu_wmb(int16_t dev_id)
{
@@ -725,6 +747,7 @@ rte_gpu_wmb(int16_t dev_id)
return GPU_DRV_RET(dev->ops.wmb(dev));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_create_flag, 21.11)
int
rte_gpu_comm_create_flag(uint16_t dev_id, struct rte_gpu_comm_flag *devflag,
enum rte_gpu_comm_flag_type mtype)
@@ -761,6 +784,7 @@ rte_gpu_comm_create_flag(uint16_t dev_id, struct rte_gpu_comm_flag *devflag,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_destroy_flag, 21.11)
int
rte_gpu_comm_destroy_flag(struct rte_gpu_comm_flag *devflag)
{
@@ -782,6 +806,7 @@ rte_gpu_comm_destroy_flag(struct rte_gpu_comm_flag *devflag)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_set_flag, 21.11)
int
rte_gpu_comm_set_flag(struct rte_gpu_comm_flag *devflag, uint32_t val)
{
@@ -800,6 +825,7 @@ rte_gpu_comm_set_flag(struct rte_gpu_comm_flag *devflag, uint32_t val)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_get_flag_value, 21.11)
int
rte_gpu_comm_get_flag_value(struct rte_gpu_comm_flag *devflag, uint32_t *val)
{
@@ -817,6 +843,7 @@ rte_gpu_comm_get_flag_value(struct rte_gpu_comm_flag *devflag, uint32_t *val)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_create_list, 21.11)
struct rte_gpu_comm_list *
rte_gpu_comm_create_list(uint16_t dev_id,
uint32_t num_comm_items)
@@ -940,6 +967,7 @@ rte_gpu_comm_create_list(uint16_t dev_id,
return comm_list;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_destroy_list, 21.11)
int
rte_gpu_comm_destroy_list(struct rte_gpu_comm_list *comm_list,
uint32_t num_comm_items)
@@ -985,6 +1013,7 @@ rte_gpu_comm_destroy_list(struct rte_gpu_comm_list *comm_list,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_populate_list_pkts, 21.11)
int
rte_gpu_comm_populate_list_pkts(struct rte_gpu_comm_list *comm_list_item,
struct rte_mbuf **mbufs, uint32_t num_mbufs)
@@ -1023,6 +1052,7 @@ rte_gpu_comm_populate_list_pkts(struct rte_gpu_comm_list *comm_list_item,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_set_status, 21.11)
int
rte_gpu_comm_set_status(struct rte_gpu_comm_list *comm_list_item,
enum rte_gpu_comm_list_status status)
@@ -1037,6 +1067,7 @@ rte_gpu_comm_set_status(struct rte_gpu_comm_list *comm_list_item,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_get_status, 21.11)
int
rte_gpu_comm_get_status(struct rte_gpu_comm_list *comm_list_item,
enum rte_gpu_comm_list_status *status)
@@ -1051,6 +1082,7 @@ rte_gpu_comm_get_status(struct rte_gpu_comm_list *comm_list_item,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_gpu_comm_cleanup_list, 21.11)
int
rte_gpu_comm_cleanup_list(struct rte_gpu_comm_list *comm_list_item)
{
diff --git a/lib/graph/graph.c b/lib/graph/graph.c
index dff8e690a8..828cf3168b 100644
--- a/lib/graph/graph.c
+++ b/lib/graph/graph.c
@@ -317,6 +317,7 @@ graph_src_node_avail(struct graph *graph)
return false;
}
+RTE_EXPORT_SYMBOL(rte_graph_model_mcore_dispatch_core_bind)
int
rte_graph_model_mcore_dispatch_core_bind(rte_graph_t id, int lcore)
{
@@ -348,6 +349,7 @@ rte_graph_model_mcore_dispatch_core_bind(rte_graph_t id, int lcore)
return -rte_errno;
}
+RTE_EXPORT_SYMBOL(rte_graph_model_mcore_dispatch_core_unbind)
void
rte_graph_model_mcore_dispatch_core_unbind(rte_graph_t id)
{
@@ -366,6 +368,7 @@ rte_graph_model_mcore_dispatch_core_unbind(rte_graph_t id)
return;
}
+RTE_EXPORT_SYMBOL(rte_graph_lookup)
struct rte_graph *
rte_graph_lookup(const char *name)
{
@@ -379,6 +382,7 @@ rte_graph_lookup(const char *name)
return graph_mem_fixup_secondary(rc);
}
+RTE_EXPORT_SYMBOL(rte_graph_create)
rte_graph_t
rte_graph_create(const char *name, struct rte_graph_param *prm)
{
@@ -483,6 +487,7 @@ rte_graph_create(const char *name, struct rte_graph_param *prm)
return RTE_GRAPH_ID_INVALID;
}
+RTE_EXPORT_SYMBOL(rte_graph_destroy)
int
rte_graph_destroy(rte_graph_t id)
{
@@ -598,6 +603,7 @@ graph_clone(struct graph *parent_graph, const char *name, struct rte_graph_param
return RTE_GRAPH_ID_INVALID;
}
+RTE_EXPORT_SYMBOL(rte_graph_clone)
rte_graph_t
rte_graph_clone(rte_graph_t id, const char *name, struct rte_graph_param *prm)
{
@@ -613,6 +619,7 @@ rte_graph_clone(rte_graph_t id, const char *name, struct rte_graph_param *prm)
return RTE_GRAPH_ID_INVALID;
}
+RTE_EXPORT_SYMBOL(rte_graph_from_name)
rte_graph_t
rte_graph_from_name(const char *name)
{
@@ -625,6 +632,7 @@ rte_graph_from_name(const char *name)
return RTE_GRAPH_ID_INVALID;
}
+RTE_EXPORT_SYMBOL(rte_graph_id_to_name)
char *
rte_graph_id_to_name(rte_graph_t id)
{
@@ -640,6 +648,7 @@ rte_graph_id_to_name(rte_graph_t id)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_graph_node_get)
struct rte_node *
rte_graph_node_get(rte_graph_t gid, uint32_t nid)
{
@@ -663,6 +672,7 @@ rte_graph_node_get(rte_graph_t gid, uint32_t nid)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_graph_node_get_by_name)
struct rte_node *
rte_graph_node_get_by_name(const char *graph_name, const char *node_name)
{
@@ -685,6 +695,7 @@ rte_graph_node_get_by_name(const char *graph_name, const char *node_name)
return NULL;
}
+RTE_EXPORT_SYMBOL(__rte_node_stream_alloc)
void __rte_noinline
__rte_node_stream_alloc(struct rte_graph *graph, struct rte_node *node)
{
@@ -700,6 +711,7 @@ __rte_node_stream_alloc(struct rte_graph *graph, struct rte_node *node)
node->realloc_count++;
}
+RTE_EXPORT_SYMBOL(__rte_node_stream_alloc_size)
void __rte_noinline
__rte_node_stream_alloc_size(struct rte_graph *graph, struct rte_node *node,
uint16_t req_size)
@@ -773,6 +785,7 @@ graph_to_dot(FILE *f, struct graph *graph)
return -rte_errno;
}
+RTE_EXPORT_SYMBOL(rte_graph_export)
int
rte_graph_export(const char *name, FILE *f)
{
@@ -810,18 +823,21 @@ graph_scan_dump(FILE *f, rte_graph_t id, bool all)
return;
}
+RTE_EXPORT_SYMBOL(rte_graph_dump)
void
rte_graph_dump(FILE *f, rte_graph_t id)
{
graph_scan_dump(f, id, false);
}
+RTE_EXPORT_SYMBOL(rte_graph_list_dump)
void
rte_graph_list_dump(FILE *f)
{
graph_scan_dump(f, 0, true);
}
+RTE_EXPORT_SYMBOL(rte_graph_max_count)
rte_graph_t
rte_graph_max_count(void)
{
diff --git a/lib/graph/graph_debug.c b/lib/graph/graph_debug.c
index 37088ce2cf..dc0048a385 100644
--- a/lib/graph/graph_debug.c
+++ b/lib/graph/graph_debug.c
@@ -50,6 +50,7 @@ node_dump(FILE *f, struct node *n)
fprintf(f, " edge[%d] <%s>\n", i, n->next_nodes[i]);
}
+RTE_EXPORT_SYMBOL(rte_graph_obj_dump)
void
rte_graph_obj_dump(FILE *f, struct rte_graph *g, bool all)
{
diff --git a/lib/graph/graph_stats.c b/lib/graph/graph_stats.c
index 0bbbd9fb7c..75a0f62a60 100644
--- a/lib/graph/graph_stats.c
+++ b/lib/graph/graph_stats.c
@@ -375,6 +375,7 @@ expand_pattern_to_cluster(struct cluster *cluster, const char *pattern)
return -rte_errno;
}
+RTE_EXPORT_SYMBOL(rte_graph_cluster_stats_create)
struct rte_graph_cluster_stats *
rte_graph_cluster_stats_create(const struct rte_graph_cluster_stats_param *prm)
{
@@ -438,6 +439,7 @@ rte_graph_cluster_stats_create(const struct rte_graph_cluster_stats_param *prm)
return rc;
}
+RTE_EXPORT_SYMBOL(rte_graph_cluster_stats_destroy)
void
rte_graph_cluster_stats_destroy(struct rte_graph_cluster_stats *stat)
{
@@ -512,6 +514,7 @@ cluster_node_store_prev_stats(struct cluster_node *cluster)
stat->prev_cycles = stat->cycles;
}
+RTE_EXPORT_SYMBOL(rte_graph_cluster_stats_get)
void
rte_graph_cluster_stats_get(struct rte_graph_cluster_stats *stat, bool skip_cb)
{
@@ -533,6 +536,7 @@ rte_graph_cluster_stats_get(struct rte_graph_cluster_stats *stat, bool skip_cb)
}
}
+RTE_EXPORT_SYMBOL(rte_graph_cluster_stats_reset)
void
rte_graph_cluster_stats_reset(struct rte_graph_cluster_stats *stat)
{
diff --git a/lib/graph/node.c b/lib/graph/node.c
index 63db629da8..d4096ce606 100644
--- a/lib/graph/node.c
+++ b/lib/graph/node.c
@@ -54,6 +54,7 @@ node_has_duplicate_entry(const char *name)
}
/* Public functions */
+RTE_EXPORT_SYMBOL(__rte_node_register)
rte_node_t
__rte_node_register(const struct rte_node_register *reg)
{
@@ -189,6 +190,7 @@ node_clone(struct node *node, const char *name)
return rc;
}
+RTE_EXPORT_SYMBOL(rte_node_clone)
rte_node_t
rte_node_clone(rte_node_t id, const char *name)
{
@@ -203,6 +205,7 @@ rte_node_clone(rte_node_t id, const char *name)
return RTE_NODE_ID_INVALID;
}
+RTE_EXPORT_SYMBOL(rte_node_from_name)
rte_node_t
rte_node_from_name(const char *name)
{
@@ -215,6 +218,7 @@ rte_node_from_name(const char *name)
return RTE_NODE_ID_INVALID;
}
+RTE_EXPORT_SYMBOL(rte_node_id_to_name)
char *
rte_node_id_to_name(rte_node_t id)
{
@@ -229,6 +233,7 @@ rte_node_id_to_name(rte_node_t id)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_node_edge_count)
rte_edge_t
rte_node_edge_count(rte_node_t id)
{
@@ -297,6 +302,7 @@ edge_update(struct node *node, struct node *prev, rte_edge_t from,
return count;
}
+RTE_EXPORT_SYMBOL(rte_node_edge_shrink)
rte_edge_t
rte_node_edge_shrink(rte_node_t id, rte_edge_t size)
{
@@ -323,6 +329,7 @@ rte_node_edge_shrink(rte_node_t id, rte_edge_t size)
return rc;
}
+RTE_EXPORT_SYMBOL(rte_node_edge_update)
rte_edge_t
rte_node_edge_update(rte_node_t id, rte_edge_t from, const char **next_nodes,
uint16_t nb_edges)
@@ -358,6 +365,7 @@ node_copy_edges(struct node *node, char *next_nodes[])
return i;
}
+RTE_EXPORT_SYMBOL(rte_node_edge_get)
rte_node_t
rte_node_edge_get(rte_node_t id, char *next_nodes[])
{
@@ -402,18 +410,21 @@ node_scan_dump(FILE *f, rte_node_t id, bool all)
return;
}
+RTE_EXPORT_SYMBOL(rte_node_dump)
void
rte_node_dump(FILE *f, rte_node_t id)
{
node_scan_dump(f, id, false);
}
+RTE_EXPORT_SYMBOL(rte_node_list_dump)
void
rte_node_list_dump(FILE *f)
{
node_scan_dump(f, 0, true);
}
+RTE_EXPORT_SYMBOL(rte_node_max_count)
rte_node_t
rte_node_max_count(void)
{
diff --git a/lib/graph/rte_graph_model_mcore_dispatch.c b/lib/graph/rte_graph_model_mcore_dispatch.c
index a590fc9497..68d951fca7 100644
--- a/lib/graph/rte_graph_model_mcore_dispatch.c
+++ b/lib/graph/rte_graph_model_mcore_dispatch.c
@@ -113,6 +113,7 @@ __graph_sched_node_enqueue(struct rte_node *node, struct rte_graph *graph)
return false;
}
+RTE_EXPORT_SYMBOL(__rte_graph_mcore_dispatch_sched_node_enqueue)
bool __rte_noinline
__rte_graph_mcore_dispatch_sched_node_enqueue(struct rte_node *node,
struct rte_graph_rq_head *rq)
@@ -127,6 +128,7 @@ __rte_graph_mcore_dispatch_sched_node_enqueue(struct rte_node *node,
return graph != NULL ? __graph_sched_node_enqueue(node, graph) : false;
}
+RTE_EXPORT_SYMBOL(__rte_graph_mcore_dispatch_sched_wq_process)
void
__rte_graph_mcore_dispatch_sched_wq_process(struct rte_graph *graph)
{
@@ -166,6 +168,7 @@ __rte_graph_mcore_dispatch_sched_wq_process(struct rte_graph *graph)
rte_mempool_put_bulk(mp, (void **)wq_nodes, n);
}
+RTE_EXPORT_SYMBOL(rte_graph_model_mcore_dispatch_node_lcore_affinity_set)
int
rte_graph_model_mcore_dispatch_node_lcore_affinity_set(const char *name, unsigned int lcore_id)
{
diff --git a/lib/graph/rte_graph_worker.c b/lib/graph/rte_graph_worker.c
index 7e2a918fae..2641d4f446 100644
--- a/lib/graph/rte_graph_worker.c
+++ b/lib/graph/rte_graph_worker.c
@@ -5,6 +5,7 @@
#include "rte_graph_worker_common.h"
#include "graph_private.h"
+RTE_EXPORT_SYMBOL(rte_graph_model_is_valid)
bool
rte_graph_model_is_valid(uint8_t model)
{
@@ -14,6 +15,7 @@ rte_graph_model_is_valid(uint8_t model)
return true;
}
+RTE_EXPORT_SYMBOL(rte_graph_worker_model_set)
int
rte_graph_worker_model_set(uint8_t model)
{
@@ -29,6 +31,7 @@ rte_graph_worker_model_set(uint8_t model)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_graph_worker_model_get)
uint8_t
rte_graph_worker_model_get(struct rte_graph *graph)
{
diff --git a/lib/gro/rte_gro.c b/lib/gro/rte_gro.c
index 6d5aadf32a..0c9ac326b4 100644
--- a/lib/gro/rte_gro.c
+++ b/lib/gro/rte_gro.c
@@ -88,6 +88,7 @@ struct gro_ctx {
void *tbls[RTE_GRO_TYPE_MAX_NUM];
};
+RTE_EXPORT_SYMBOL(rte_gro_ctx_create)
void *
rte_gro_ctx_create(const struct rte_gro_param *param)
{
@@ -129,6 +130,7 @@ rte_gro_ctx_create(const struct rte_gro_param *param)
return gro_ctx;
}
+RTE_EXPORT_SYMBOL(rte_gro_ctx_destroy)
void
rte_gro_ctx_destroy(void *ctx)
{
@@ -148,6 +150,7 @@ rte_gro_ctx_destroy(void *ctx)
rte_free(gro_ctx);
}
+RTE_EXPORT_SYMBOL(rte_gro_reassemble_burst)
uint16_t
rte_gro_reassemble_burst(struct rte_mbuf **pkts,
uint16_t nb_pkts,
@@ -348,6 +351,7 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts,
return nb_after_gro;
}
+RTE_EXPORT_SYMBOL(rte_gro_reassemble)
uint16_t
rte_gro_reassemble(struct rte_mbuf **pkts,
uint16_t nb_pkts,
@@ -416,6 +420,7 @@ rte_gro_reassemble(struct rte_mbuf **pkts,
return unprocess_num;
}
+RTE_EXPORT_SYMBOL(rte_gro_timeout_flush)
uint16_t
rte_gro_timeout_flush(void *ctx,
uint64_t timeout_cycles,
@@ -474,6 +479,7 @@ rte_gro_timeout_flush(void *ctx,
return num;
}
+RTE_EXPORT_SYMBOL(rte_gro_get_pkt_count)
uint64_t
rte_gro_get_pkt_count(void *ctx)
{
diff --git a/lib/gso/rte_gso.c b/lib/gso/rte_gso.c
index e29c7d884a..34394c652e 100644
--- a/lib/gso/rte_gso.c
+++ b/lib/gso/rte_gso.c
@@ -24,6 +24,7 @@
RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO)) == 0) || \
(ctx)->gso_size < RTE_GSO_SEG_SIZE_MIN)
+RTE_EXPORT_SYMBOL(rte_gso_segment)
int
rte_gso_segment(struct rte_mbuf *pkt,
const struct rte_gso_ctx *gso_ctx,
diff --git a/lib/hash/rte_cuckoo_hash.c b/lib/hash/rte_cuckoo_hash.c
index e55e6e1c81..201443f3fe 100644
--- a/lib/hash/rte_cuckoo_hash.c
+++ b/lib/hash/rte_cuckoo_hash.c
@@ -76,6 +76,7 @@ struct __rte_hash_rcu_dq_entry {
uint32_t ext_bkt_idx;
};
+RTE_EXPORT_SYMBOL(rte_hash_find_existing)
struct rte_hash *
rte_hash_find_existing(const char *name)
{
@@ -108,6 +109,7 @@ rte_hash_get_last_bkt(struct rte_hash_bucket *lst_bkt)
return lst_bkt;
}
+RTE_EXPORT_SYMBOL(rte_hash_set_cmp_func)
void rte_hash_set_cmp_func(struct rte_hash *h, rte_hash_cmp_eq_t func)
{
h->cmp_jump_table_idx = KEY_CUSTOM;
@@ -153,6 +155,7 @@ get_alt_bucket_index(const struct rte_hash *h,
return (cur_bkt_idx ^ sig) & h->bucket_bitmask;
}
+RTE_EXPORT_SYMBOL(rte_hash_create)
struct rte_hash *
rte_hash_create(const struct rte_hash_parameters *params)
{
@@ -524,6 +527,7 @@ rte_hash_create(const struct rte_hash_parameters *params)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_hash_free)
void
rte_hash_free(struct rte_hash *h)
{
@@ -571,6 +575,7 @@ rte_hash_free(struct rte_hash *h)
rte_free(te);
}
+RTE_EXPORT_SYMBOL(rte_hash_hash)
hash_sig_t
rte_hash_hash(const struct rte_hash *h, const void *key)
{
@@ -578,6 +583,7 @@ rte_hash_hash(const struct rte_hash *h, const void *key)
return h->hash_func(key, h->key_len, h->hash_func_init_val);
}
+RTE_EXPORT_SYMBOL(rte_hash_max_key_id)
int32_t
rte_hash_max_key_id(const struct rte_hash *h)
{
@@ -593,6 +599,7 @@ rte_hash_max_key_id(const struct rte_hash *h)
return h->entries;
}
+RTE_EXPORT_SYMBOL(rte_hash_count)
int32_t
rte_hash_count(const struct rte_hash *h)
{
@@ -662,6 +669,7 @@ __hash_rw_reader_unlock(const struct rte_hash *h)
rte_rwlock_read_unlock(h->readwrite_lock);
}
+RTE_EXPORT_SYMBOL(rte_hash_reset)
void
rte_hash_reset(struct rte_hash *h)
{
@@ -1245,6 +1253,7 @@ __rte_hash_add_key_with_hash(const struct rte_hash *h, const void *key,
}
+RTE_EXPORT_SYMBOL(rte_hash_add_key_with_hash)
int32_t
rte_hash_add_key_with_hash(const struct rte_hash *h,
const void *key, hash_sig_t sig)
@@ -1253,6 +1262,7 @@ rte_hash_add_key_with_hash(const struct rte_hash *h,
return __rte_hash_add_key_with_hash(h, key, sig, 0);
}
+RTE_EXPORT_SYMBOL(rte_hash_add_key)
int32_t
rte_hash_add_key(const struct rte_hash *h, const void *key)
{
@@ -1260,6 +1270,7 @@ rte_hash_add_key(const struct rte_hash *h, const void *key)
return __rte_hash_add_key_with_hash(h, key, rte_hash_hash(h, key), 0);
}
+RTE_EXPORT_SYMBOL(rte_hash_add_key_with_hash_data)
int
rte_hash_add_key_with_hash_data(const struct rte_hash *h,
const void *key, hash_sig_t sig, void *data)
@@ -1274,6 +1285,7 @@ rte_hash_add_key_with_hash_data(const struct rte_hash *h,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_hash_add_key_data)
int
rte_hash_add_key_data(const struct rte_hash *h, const void *key, void *data)
{
@@ -1467,6 +1479,7 @@ __rte_hash_lookup_with_hash(const struct rte_hash *h, const void *key,
return __rte_hash_lookup_with_hash_l(h, key, sig, data);
}
+RTE_EXPORT_SYMBOL(rte_hash_lookup_with_hash)
int32_t
rte_hash_lookup_with_hash(const struct rte_hash *h,
const void *key, hash_sig_t sig)
@@ -1475,6 +1488,7 @@ rte_hash_lookup_with_hash(const struct rte_hash *h,
return __rte_hash_lookup_with_hash(h, key, sig, NULL);
}
+RTE_EXPORT_SYMBOL(rte_hash_lookup)
int32_t
rte_hash_lookup(const struct rte_hash *h, const void *key)
{
@@ -1482,6 +1496,7 @@ rte_hash_lookup(const struct rte_hash *h, const void *key)
return __rte_hash_lookup_with_hash(h, key, rte_hash_hash(h, key), NULL);
}
+RTE_EXPORT_SYMBOL(rte_hash_lookup_with_hash_data)
int
rte_hash_lookup_with_hash_data(const struct rte_hash *h,
const void *key, hash_sig_t sig, void **data)
@@ -1490,6 +1505,7 @@ rte_hash_lookup_with_hash_data(const struct rte_hash *h,
return __rte_hash_lookup_with_hash(h, key, sig, data);
}
+RTE_EXPORT_SYMBOL(rte_hash_lookup_data)
int
rte_hash_lookup_data(const struct rte_hash *h, const void *key, void **data)
{
@@ -1557,6 +1573,7 @@ __hash_rcu_qsbr_free_resource(void *p, void *e, unsigned int n)
}
}
+RTE_EXPORT_SYMBOL(rte_hash_rcu_qsbr_add)
int
rte_hash_rcu_qsbr_add(struct rte_hash *h, struct rte_hash_rcu_config *cfg)
{
@@ -1627,6 +1644,7 @@ rte_hash_rcu_qsbr_add(struct rte_hash *h, struct rte_hash_rcu_config *cfg)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_hash_rcu_qsbr_dq_reclaim, 24.07)
int rte_hash_rcu_qsbr_dq_reclaim(struct rte_hash *h, unsigned int *freed, unsigned int *pending,
unsigned int *available)
{
@@ -1851,6 +1869,7 @@ __rte_hash_del_key_with_hash(const struct rte_hash *h, const void *key,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_hash_del_key_with_hash)
int32_t
rte_hash_del_key_with_hash(const struct rte_hash *h,
const void *key, hash_sig_t sig)
@@ -1859,6 +1878,7 @@ rte_hash_del_key_with_hash(const struct rte_hash *h,
return __rte_hash_del_key_with_hash(h, key, sig);
}
+RTE_EXPORT_SYMBOL(rte_hash_del_key)
int32_t
rte_hash_del_key(const struct rte_hash *h, const void *key)
{
@@ -1866,6 +1886,7 @@ rte_hash_del_key(const struct rte_hash *h, const void *key)
return __rte_hash_del_key_with_hash(h, key, rte_hash_hash(h, key));
}
+RTE_EXPORT_SYMBOL(rte_hash_get_key_with_position)
int
rte_hash_get_key_with_position(const struct rte_hash *h, const int32_t position,
void **key)
@@ -1886,6 +1907,7 @@ rte_hash_get_key_with_position(const struct rte_hash *h, const int32_t position,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_hash_free_key_with_position)
int
rte_hash_free_key_with_position(const struct rte_hash *h,
const int32_t position)
@@ -2398,6 +2420,7 @@ __rte_hash_lookup_bulk(const struct rte_hash *h, const void **keys,
hit_mask, data);
}
+RTE_EXPORT_SYMBOL(rte_hash_lookup_bulk)
int
rte_hash_lookup_bulk(const struct rte_hash *h, const void **keys,
uint32_t num_keys, int32_t *positions)
@@ -2410,6 +2433,7 @@ rte_hash_lookup_bulk(const struct rte_hash *h, const void **keys,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_hash_lookup_bulk_data)
int
rte_hash_lookup_bulk_data(const struct rte_hash *h, const void **keys,
uint32_t num_keys, uint64_t *hit_mask, void *data[])
@@ -2510,6 +2534,7 @@ __rte_hash_lookup_with_hash_bulk(const struct rte_hash *h, const void **keys,
num_keys, positions, hit_mask, data);
}
+RTE_EXPORT_SYMBOL(rte_hash_lookup_with_hash_bulk)
int
rte_hash_lookup_with_hash_bulk(const struct rte_hash *h, const void **keys,
hash_sig_t *sig, uint32_t num_keys, int32_t *positions)
@@ -2524,6 +2549,7 @@ rte_hash_lookup_with_hash_bulk(const struct rte_hash *h, const void **keys,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_hash_lookup_with_hash_bulk_data)
int
rte_hash_lookup_with_hash_bulk_data(const struct rte_hash *h,
const void **keys, hash_sig_t *sig,
@@ -2543,6 +2569,7 @@ rte_hash_lookup_with_hash_bulk_data(const struct rte_hash *h,
return rte_popcount64(*hit_mask);
}
+RTE_EXPORT_SYMBOL(rte_hash_iterate)
int32_t
rte_hash_iterate(const struct rte_hash *h, const void **key, void **data, uint32_t *next)
{
diff --git a/lib/hash/rte_fbk_hash.c b/lib/hash/rte_fbk_hash.c
index dacb7e8b09..00d603ff9b 100644
--- a/lib/hash/rte_fbk_hash.c
+++ b/lib/hash/rte_fbk_hash.c
@@ -41,6 +41,7 @@ EAL_REGISTER_TAILQ(rte_fbk_hash_tailq)
* @return
* pointer to hash table structure or NULL on error.
*/
+RTE_EXPORT_SYMBOL(rte_fbk_hash_find_existing)
struct rte_fbk_hash_table *
rte_fbk_hash_find_existing(const char *name)
{
@@ -75,6 +76,7 @@ rte_fbk_hash_find_existing(const char *name)
* Pointer to hash table structure that is used in future hash table
* operations, or NULL on error.
*/
+RTE_EXPORT_SYMBOL(rte_fbk_hash_create)
struct rte_fbk_hash_table *
rte_fbk_hash_create(const struct rte_fbk_hash_params *params)
{
@@ -177,6 +179,7 @@ rte_fbk_hash_create(const struct rte_fbk_hash_params *params)
* @param ht
* Hash table to deallocate.
*/
+RTE_EXPORT_SYMBOL(rte_fbk_hash_free)
void
rte_fbk_hash_free(struct rte_fbk_hash_table *ht)
{
diff --git a/lib/hash/rte_hash_crc.c b/lib/hash/rte_hash_crc.c
index c037cdb0f0..fc5868a26e 100644
--- a/lib/hash/rte_hash_crc.c
+++ b/lib/hash/rte_hash_crc.c
@@ -12,6 +12,7 @@ RTE_LOG_REGISTER_SUFFIX(hash_crc_logtype, crc, INFO);
#define HASH_CRC_LOG(level, ...) \
RTE_LOG_LINE(level, HASH_CRC, "" __VA_ARGS__)
+RTE_EXPORT_SYMBOL(rte_hash_crc32_alg)
uint8_t rte_hash_crc32_alg = CRC32_SW;
/**
@@ -26,6 +27,7 @@ uint8_t rte_hash_crc32_alg = CRC32_SW;
* - (CRC32_ARM64) Use ARMv8 CRC intrinsic if available (default ARMv8)
*
*/
+RTE_EXPORT_SYMBOL(rte_hash_crc_set_alg)
void
rte_hash_crc_set_alg(uint8_t alg)
{
diff --git a/lib/hash/rte_thash.c b/lib/hash/rte_thash.c
index 1f9700258d..2712310548 100644
--- a/lib/hash/rte_thash.c
+++ b/lib/hash/rte_thash.c
@@ -70,6 +70,7 @@ struct rte_thash_ctx {
uint8_t hash_key[];
};
+RTE_EXPORT_SYMBOL(rte_thash_gfni_supported)
int
rte_thash_gfni_supported(void)
{
@@ -83,6 +84,7 @@ rte_thash_gfni_supported(void)
return 0;
};
+RTE_EXPORT_SYMBOL(rte_thash_complete_matrix)
void
rte_thash_complete_matrix(uint64_t *matrixes, const uint8_t *rss_key, int size)
{
@@ -203,6 +205,7 @@ free_lfsr(struct thash_lfsr *lfsr)
rte_free(lfsr);
}
+RTE_EXPORT_SYMBOL(rte_thash_init_ctx)
struct rte_thash_ctx *
rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz,
uint8_t *key, uint32_t flags)
@@ -293,6 +296,7 @@ rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz,
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_thash_find_existing)
struct rte_thash_ctx *
rte_thash_find_existing(const char *name)
{
@@ -319,6 +323,7 @@ rte_thash_find_existing(const char *name)
return ctx;
}
+RTE_EXPORT_SYMBOL(rte_thash_free_ctx)
void
rte_thash_free_ctx(struct rte_thash_ctx *ctx)
{
@@ -540,6 +545,7 @@ insert_after(struct rte_thash_ctx *ctx,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thash_add_helper)
int
rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len,
uint32_t offset)
@@ -630,6 +636,7 @@ rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_thash_get_helper)
struct rte_thash_subtuple_helper *
rte_thash_get_helper(struct rte_thash_ctx *ctx, const char *name)
{
@@ -646,6 +653,7 @@ rte_thash_get_helper(struct rte_thash_ctx *ctx, const char *name)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_thash_get_complement)
uint32_t
rte_thash_get_complement(struct rte_thash_subtuple_helper *h,
uint32_t hash, uint32_t desired_hash)
@@ -653,12 +661,14 @@ rte_thash_get_complement(struct rte_thash_subtuple_helper *h,
return h->compl_table[(hash ^ desired_hash) & h->lsb_msk];
}
+RTE_EXPORT_SYMBOL(rte_thash_get_key)
const uint8_t *
rte_thash_get_key(struct rte_thash_ctx *ctx)
{
return ctx->hash_key;
}
+RTE_EXPORT_SYMBOL(rte_thash_get_gfni_matrices)
const uint64_t *
rte_thash_get_gfni_matrices(struct rte_thash_ctx *ctx)
{
@@ -754,6 +764,7 @@ write_unaligned_bits(uint8_t *ptr, int len, int offset, uint32_t val)
}
}
+RTE_EXPORT_SYMBOL(rte_thash_adjust_tuple)
int
rte_thash_adjust_tuple(struct rte_thash_ctx *ctx,
struct rte_thash_subtuple_helper *h,
@@ -823,6 +834,7 @@ rte_thash_adjust_tuple(struct rte_thash_ctx *ctx,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_thash_gen_key, 24.11)
int
rte_thash_gen_key(uint8_t *key, size_t key_len, size_t reta_sz_log,
uint32_t entropy_start, size_t entropy_sz)
diff --git a/lib/hash/rte_thash_gf2_poly_math.c b/lib/hash/rte_thash_gf2_poly_math.c
index 858884b4d4..467a610c79 100644
--- a/lib/hash/rte_thash_gf2_poly_math.c
+++ b/lib/hash/rte_thash_gf2_poly_math.c
@@ -241,6 +241,7 @@ thash_test_poly_order(uint32_t poly, int degree)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(thash_get_rand_poly)
uint32_t
thash_get_rand_poly(uint32_t poly_degree)
{
diff --git a/lib/hash/rte_thash_gfni.c b/lib/hash/rte_thash_gfni.c
index c94640d30d..8dd747bd4d 100644
--- a/lib/hash/rte_thash_gfni.c
+++ b/lib/hash/rte_thash_gfni.c
@@ -12,6 +12,7 @@ RTE_LOG_REGISTER_SUFFIX(hash_gfni_logtype, gfni, INFO);
#define HASH_LOG(level, ...) \
RTE_LOG_LINE(level, HASH, "" __VA_ARGS__)
+RTE_EXPORT_INTERNAL_SYMBOL(rte_thash_gfni_stub)
uint32_t
rte_thash_gfni_stub(const uint64_t *mtrx __rte_unused,
const uint8_t *key __rte_unused, int len __rte_unused)
@@ -27,6 +28,7 @@ rte_thash_gfni_stub(const uint64_t *mtrx __rte_unused,
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_thash_gfni_bulk_stub)
void
rte_thash_gfni_bulk_stub(const uint64_t *mtrx __rte_unused,
int len __rte_unused, uint8_t *tuple[] __rte_unused,
diff --git a/lib/ip_frag/rte_ip_frag_common.c b/lib/ip_frag/rte_ip_frag_common.c
index 05f9e479c2..4d83f1536c 100644
--- a/lib/ip_frag/rte_ip_frag_common.c
+++ b/lib/ip_frag/rte_ip_frag_common.c
@@ -14,6 +14,7 @@ RTE_LOG_REGISTER_DEFAULT(ipfrag_logtype, INFO);
#define IP_FRAG_HASH_FNUM 2
/* free mbufs from death row */
+RTE_EXPORT_SYMBOL(rte_ip_frag_free_death_row)
void
rte_ip_frag_free_death_row(struct rte_ip_frag_death_row *dr,
uint32_t prefetch)
@@ -38,6 +39,7 @@ rte_ip_frag_free_death_row(struct rte_ip_frag_death_row *dr,
}
/* create fragmentation table */
+RTE_EXPORT_SYMBOL(rte_ip_frag_table_create)
struct rte_ip_frag_tbl *
rte_ip_frag_table_create(uint32_t bucket_num, uint32_t bucket_entries,
uint32_t max_entries, uint64_t max_cycles, int socket_id)
@@ -82,6 +84,7 @@ rte_ip_frag_table_create(uint32_t bucket_num, uint32_t bucket_entries,
}
/* delete fragmentation table */
+RTE_EXPORT_SYMBOL(rte_ip_frag_table_destroy)
void
rte_ip_frag_table_destroy(struct rte_ip_frag_tbl *tbl)
{
@@ -95,6 +98,7 @@ rte_ip_frag_table_destroy(struct rte_ip_frag_tbl *tbl)
}
/* dump frag table statistics to file */
+RTE_EXPORT_SYMBOL(rte_ip_frag_table_statistics_dump)
void
rte_ip_frag_table_statistics_dump(FILE *f, const struct rte_ip_frag_tbl *tbl)
{
@@ -124,6 +128,7 @@ rte_ip_frag_table_statistics_dump(FILE *f, const struct rte_ip_frag_tbl *tbl)
}
/* Delete expired fragments */
+RTE_EXPORT_SYMBOL(rte_ip_frag_table_del_expired_entries)
void
rte_ip_frag_table_del_expired_entries(struct rte_ip_frag_tbl *tbl,
struct rte_ip_frag_death_row *dr, uint64_t tms)
diff --git a/lib/ip_frag/rte_ipv4_fragmentation.c b/lib/ip_frag/rte_ipv4_fragmentation.c
index e04cf5738e..47a2aa86d6 100644
--- a/lib/ip_frag/rte_ipv4_fragmentation.c
+++ b/lib/ip_frag/rte_ipv4_fragmentation.c
@@ -104,6 +104,7 @@ static inline uint16_t __create_ipopt_frag_hdr(uint8_t *iph,
* in the pkts_out array.
* Otherwise - (-1) * <errno>.
*/
+RTE_EXPORT_SYMBOL(rte_ipv4_fragment_packet)
int32_t
rte_ipv4_fragment_packet(struct rte_mbuf *pkt_in,
struct rte_mbuf **pkts_out,
@@ -286,6 +287,7 @@ rte_ipv4_fragment_packet(struct rte_mbuf *pkt_in,
* in the pkts_out array.
* Otherwise - (-1) * errno.
*/
+RTE_EXPORT_SYMBOL(rte_ipv4_fragment_copy_nonseg_packet)
int32_t
rte_ipv4_fragment_copy_nonseg_packet(struct rte_mbuf *pkt_in,
struct rte_mbuf **pkts_out,
diff --git a/lib/ip_frag/rte_ipv4_reassembly.c b/lib/ip_frag/rte_ipv4_reassembly.c
index 5818f50f40..ee41877aaa 100644
--- a/lib/ip_frag/rte_ipv4_reassembly.c
+++ b/lib/ip_frag/rte_ipv4_reassembly.c
@@ -94,6 +94,7 @@ ipv4_frag_reassemble(struct ip_frag_pkt *fp)
* - an error occurred.
* - not all fragments of the packet are collected yet.
*/
+RTE_EXPORT_SYMBOL(rte_ipv4_frag_reassemble_packet)
struct rte_mbuf *
rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
struct rte_ip_frag_death_row *dr, struct rte_mbuf *mb, uint64_t tms,
diff --git a/lib/ip_frag/rte_ipv6_fragmentation.c b/lib/ip_frag/rte_ipv6_fragmentation.c
index 56696f32f8..53da1a6129 100644
--- a/lib/ip_frag/rte_ipv6_fragmentation.c
+++ b/lib/ip_frag/rte_ipv6_fragmentation.c
@@ -63,6 +63,7 @@ __free_fragments(struct rte_mbuf *mb[], uint32_t num)
* in the pkts_out array.
* Otherwise - (-1) * <errno>.
*/
+RTE_EXPORT_SYMBOL(rte_ipv6_fragment_packet)
int32_t
rte_ipv6_fragment_packet(struct rte_mbuf *pkt_in,
struct rte_mbuf **pkts_out,
diff --git a/lib/ip_frag/rte_ipv6_reassembly.c b/lib/ip_frag/rte_ipv6_reassembly.c
index 9471ce5333..96cb275912 100644
--- a/lib/ip_frag/rte_ipv6_reassembly.c
+++ b/lib/ip_frag/rte_ipv6_reassembly.c
@@ -132,6 +132,7 @@ ipv6_frag_reassemble(struct ip_frag_pkt *fp)
*/
#define MORE_FRAGS(x) (((x) & 0x100) >> 8)
#define FRAG_OFFSET(x) (rte_cpu_to_be_16(x) >> 3)
+RTE_EXPORT_SYMBOL(rte_ipv6_frag_reassemble_packet)
struct rte_mbuf *
rte_ipv6_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
struct rte_ip_frag_death_row *dr, struct rte_mbuf *mb, uint64_t tms,
diff --git a/lib/ipsec/ipsec_sad.c b/lib/ipsec/ipsec_sad.c
index 7e147e729c..680cc7fc5b 100644
--- a/lib/ipsec/ipsec_sad.c
+++ b/lib/ipsec/ipsec_sad.c
@@ -113,6 +113,7 @@ add_specific(struct rte_ipsec_sad *sad, const void *key,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sad_add)
int
rte_ipsec_sad_add(struct rte_ipsec_sad *sad,
const union rte_ipsec_sad_key *key,
@@ -212,6 +213,7 @@ del_specific(struct rte_ipsec_sad *sad, const void *key, int key_type)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sad_del)
int
rte_ipsec_sad_del(struct rte_ipsec_sad *sad,
const union rte_ipsec_sad_key *key,
@@ -251,6 +253,7 @@ rte_ipsec_sad_del(struct rte_ipsec_sad *sad,
}
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sad_create)
struct rte_ipsec_sad *
rte_ipsec_sad_create(const char *name, const struct rte_ipsec_sad_conf *conf)
{
@@ -380,6 +383,7 @@ rte_ipsec_sad_create(const char *name, const struct rte_ipsec_sad_conf *conf)
return sad;
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sad_find_existing)
struct rte_ipsec_sad *
rte_ipsec_sad_find_existing(const char *name)
{
@@ -414,6 +418,7 @@ rte_ipsec_sad_find_existing(const char *name)
return sad;
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sad_destroy)
void
rte_ipsec_sad_destroy(struct rte_ipsec_sad *sad)
{
@@ -536,6 +541,7 @@ __ipsec_sad_lookup(const struct rte_ipsec_sad *sad,
return found;
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sad_lookup)
int
rte_ipsec_sad_lookup(const struct rte_ipsec_sad *sad,
const union rte_ipsec_sad_key *keys[], void *sa[], uint32_t n)
diff --git a/lib/ipsec/ipsec_telemetry.c b/lib/ipsec/ipsec_telemetry.c
index 68a91108dd..6fd41d6afa 100644
--- a/lib/ipsec/ipsec_telemetry.c
+++ b/lib/ipsec/ipsec_telemetry.c
@@ -204,6 +204,7 @@ handle_telemetry_cmd_ipsec_sa_details(const char *cmd __rte_unused,
}
+RTE_EXPORT_SYMBOL(rte_ipsec_telemetry_sa_add)
int
rte_ipsec_telemetry_sa_add(const struct rte_ipsec_sa *sa)
{
@@ -216,6 +217,7 @@ rte_ipsec_telemetry_sa_add(const struct rte_ipsec_sa *sa)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_ipsec_telemetry_sa_del)
void
rte_ipsec_telemetry_sa_del(const struct rte_ipsec_sa *sa)
{
diff --git a/lib/ipsec/sa.c b/lib/ipsec/sa.c
index 741e079831..c211213d12 100644
--- a/lib/ipsec/sa.c
+++ b/lib/ipsec/sa.c
@@ -84,6 +84,7 @@ fill_crypto_xform(struct crypto_xform *xform, uint64_t type,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sa_type)
uint64_t
rte_ipsec_sa_type(const struct rte_ipsec_sa *sa)
{
@@ -156,6 +157,7 @@ ipsec_sa_size(uint64_t type, uint32_t *wnd_sz, uint32_t *nb_bucket)
return sz;
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sa_fini)
void
rte_ipsec_sa_fini(struct rte_ipsec_sa *sa)
{
@@ -525,6 +527,7 @@ fill_sa_replay(struct rte_ipsec_sa *sa, uint32_t wnd_sz, uint32_t nb_bucket,
}
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sa_size)
int
rte_ipsec_sa_size(const struct rte_ipsec_sa_prm *prm)
{
@@ -545,6 +548,7 @@ rte_ipsec_sa_size(const struct rte_ipsec_sa_prm *prm)
return ipsec_sa_size(type, &wsz, &nb);
}
+RTE_EXPORT_SYMBOL(rte_ipsec_sa_init)
int
rte_ipsec_sa_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm,
uint32_t size)
diff --git a/lib/ipsec/ses.c b/lib/ipsec/ses.c
index d9ab1e6d2b..97dc126f60 100644
--- a/lib/ipsec/ses.c
+++ b/lib/ipsec/ses.c
@@ -28,6 +28,7 @@ session_check(struct rte_ipsec_session *ss)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_ipsec_session_prepare)
int
rte_ipsec_session_prepare(struct rte_ipsec_session *ss)
{
diff --git a/lib/jobstats/rte_jobstats.c b/lib/jobstats/rte_jobstats.c
index af565a14ea..f3012f4bd0 100644
--- a/lib/jobstats/rte_jobstats.c
+++ b/lib/jobstats/rte_jobstats.c
@@ -63,6 +63,7 @@ default_update_function(struct rte_jobstats *job, int64_t result)
}
}
+RTE_EXPORT_SYMBOL(rte_jobstats_context_init)
int
rte_jobstats_context_init(struct rte_jobstats_context *ctx)
{
@@ -77,6 +78,7 @@ rte_jobstats_context_init(struct rte_jobstats_context *ctx)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_context_start)
void
rte_jobstats_context_start(struct rte_jobstats_context *ctx)
{
@@ -89,6 +91,7 @@ rte_jobstats_context_start(struct rte_jobstats_context *ctx)
ctx->state_time = now;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_context_finish)
void
rte_jobstats_context_finish(struct rte_jobstats_context *ctx)
{
@@ -102,6 +105,7 @@ rte_jobstats_context_finish(struct rte_jobstats_context *ctx)
ctx->state_time = now;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_context_reset)
void
rte_jobstats_context_reset(struct rte_jobstats_context *ctx)
{
@@ -113,12 +117,14 @@ rte_jobstats_context_reset(struct rte_jobstats_context *ctx)
ctx->loop_cnt = 0;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_set_target)
void
rte_jobstats_set_target(struct rte_jobstats *job, int64_t target)
{
job->target = target;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_start)
int
rte_jobstats_start(struct rte_jobstats_context *ctx, struct rte_jobstats *job)
{
@@ -138,6 +144,7 @@ rte_jobstats_start(struct rte_jobstats_context *ctx, struct rte_jobstats *job)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_abort)
int
rte_jobstats_abort(struct rte_jobstats *job)
{
@@ -158,6 +165,7 @@ rte_jobstats_abort(struct rte_jobstats *job)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_finish)
int
rte_jobstats_finish(struct rte_jobstats *job, int64_t job_value)
{
@@ -194,6 +202,7 @@ rte_jobstats_finish(struct rte_jobstats *job, int64_t job_value)
return need_update;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_set_period)
void
rte_jobstats_set_period(struct rte_jobstats *job, uint64_t period,
uint8_t saturate)
@@ -208,6 +217,7 @@ rte_jobstats_set_period(struct rte_jobstats *job, uint64_t period,
job->period = period;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_set_min)
void
rte_jobstats_set_min(struct rte_jobstats *job, uint64_t period)
{
@@ -216,6 +226,7 @@ rte_jobstats_set_min(struct rte_jobstats *job, uint64_t period)
job->period = period;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_set_max)
void
rte_jobstats_set_max(struct rte_jobstats *job, uint64_t period)
{
@@ -224,6 +235,7 @@ rte_jobstats_set_max(struct rte_jobstats *job, uint64_t period)
job->period = period;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_init)
int
rte_jobstats_init(struct rte_jobstats *job, const char *name,
uint64_t min_period, uint64_t max_period, uint64_t initial_period,
@@ -244,6 +256,7 @@ rte_jobstats_init(struct rte_jobstats *job, const char *name,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_set_update_period_function)
void
rte_jobstats_set_update_period_function(struct rte_jobstats *job,
rte_job_update_period_cb_t update_period_cb)
@@ -254,6 +267,7 @@ rte_jobstats_set_update_period_function(struct rte_jobstats *job,
job->update_period_cb = update_period_cb;
}
+RTE_EXPORT_SYMBOL(rte_jobstats_reset)
void
rte_jobstats_reset(struct rte_jobstats *job)
{
diff --git a/lib/kvargs/rte_kvargs.c b/lib/kvargs/rte_kvargs.c
index 1d355516bc..cce7d823fe 100644
--- a/lib/kvargs/rte_kvargs.c
+++ b/lib/kvargs/rte_kvargs.c
@@ -151,6 +151,7 @@ check_for_valid_keys(struct rte_kvargs *kvlist,
* E.g. given a list = { rx = 0, rx = 1, tx = 2 } the number of args for
* arg "rx" will be 2.
*/
+RTE_EXPORT_SYMBOL(rte_kvargs_count)
unsigned
rte_kvargs_count(const struct rte_kvargs *kvlist, const char *key_match)
{
@@ -193,6 +194,7 @@ kvargs_process_common(const struct rte_kvargs *kvlist, const char *key_match,
/*
* For each matching key in key=value, call the given handler function.
*/
+RTE_EXPORT_SYMBOL(rte_kvargs_process)
int
rte_kvargs_process(const struct rte_kvargs *kvlist, const char *key_match, arg_handler_t handler,
void *opaque_arg)
@@ -203,6 +205,7 @@ rte_kvargs_process(const struct rte_kvargs *kvlist, const char *key_match, arg_h
/*
* For each matching key in key=value or only-key, call the given handler function.
*/
+RTE_EXPORT_SYMBOL(rte_kvargs_process_opt)
int
rte_kvargs_process_opt(const struct rte_kvargs *kvlist, const char *key_match,
arg_handler_t handler, void *opaque_arg)
@@ -211,6 +214,7 @@ rte_kvargs_process_opt(const struct rte_kvargs *kvlist, const char *key_match,
}
/* free the rte_kvargs structure */
+RTE_EXPORT_SYMBOL(rte_kvargs_free)
void
rte_kvargs_free(struct rte_kvargs *kvlist)
{
@@ -222,6 +226,7 @@ rte_kvargs_free(struct rte_kvargs *kvlist)
}
/* Lookup a value in an rte_kvargs list by its key and value. */
+RTE_EXPORT_SYMBOL(rte_kvargs_get_with_value)
const char *
rte_kvargs_get_with_value(const struct rte_kvargs *kvlist, const char *key,
const char *value)
@@ -241,6 +246,7 @@ rte_kvargs_get_with_value(const struct rte_kvargs *kvlist, const char *key,
}
/* Lookup a value in an rte_kvargs list by its key. */
+RTE_EXPORT_SYMBOL(rte_kvargs_get)
const char *
rte_kvargs_get(const struct rte_kvargs *kvlist, const char *key)
{
@@ -254,6 +260,7 @@ rte_kvargs_get(const struct rte_kvargs *kvlist, const char *key)
* an allocated structure that contains a key/value list. Also
* check if only valid keys were used.
*/
+RTE_EXPORT_SYMBOL(rte_kvargs_parse)
struct rte_kvargs *
rte_kvargs_parse(const char *args, const char * const valid_keys[])
{
@@ -277,6 +284,7 @@ rte_kvargs_parse(const char *args, const char * const valid_keys[])
return kvlist;
}
+RTE_EXPORT_SYMBOL(rte_kvargs_parse_delim)
struct rte_kvargs *
rte_kvargs_parse_delim(const char *args, const char * const valid_keys[],
const char *valid_ends)
diff --git a/lib/latencystats/rte_latencystats.c b/lib/latencystats/rte_latencystats.c
index 6a261309f9..c19b671b33 100644
--- a/lib/latencystats/rte_latencystats.c
+++ b/lib/latencystats/rte_latencystats.c
@@ -78,6 +78,7 @@ static const struct latency_stats_nameoff lat_stats_strings[] = {
#define NUM_LATENCY_STATS (sizeof(lat_stats_strings) / \
sizeof(lat_stats_strings[0]))
+RTE_EXPORT_SYMBOL(rte_latencystats_update)
int32_t
rte_latencystats_update(void)
{
@@ -210,6 +211,7 @@ calc_latency(uint16_t pid __rte_unused,
return nb_pkts;
}
+RTE_EXPORT_SYMBOL(rte_latencystats_init)
int
rte_latencystats_init(uint64_t app_samp_intvl,
rte_latency_stats_flow_type_fn user_cb)
@@ -295,6 +297,7 @@ rte_latencystats_init(uint64_t app_samp_intvl,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_latencystats_uninit)
int
rte_latencystats_uninit(void)
{
@@ -342,6 +345,7 @@ rte_latencystats_uninit(void)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_latencystats_get_names)
int
rte_latencystats_get_names(struct rte_metric_name *names, uint16_t size)
{
@@ -357,6 +361,7 @@ rte_latencystats_get_names(struct rte_metric_name *names, uint16_t size)
return NUM_LATENCY_STATS;
}
+RTE_EXPORT_SYMBOL(rte_latencystats_get)
int
rte_latencystats_get(struct rte_metric_value *values, uint16_t size)
{
diff --git a/lib/log/log.c b/lib/log/log.c
index e1c18a8e53..3fd0e5d3d8 100644
--- a/lib/log/log.c
+++ b/lib/log/log.c
@@ -78,6 +78,7 @@ struct log_cur_msg {
static RTE_DEFINE_PER_LCORE(struct log_cur_msg, log_cur_msg);
/* Change the stream that will be used by logging system */
+RTE_EXPORT_SYMBOL(rte_openlog_stream)
int
rte_openlog_stream(FILE *f)
{
@@ -89,6 +90,7 @@ rte_openlog_stream(FILE *f)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_log_get_stream)
FILE *
rte_log_get_stream(void)
{
@@ -98,6 +100,7 @@ rte_log_get_stream(void)
}
/* Set global log level */
+RTE_EXPORT_SYMBOL(rte_log_set_global_level)
void
rte_log_set_global_level(uint32_t level)
{
@@ -105,12 +108,14 @@ rte_log_set_global_level(uint32_t level)
}
/* Get global log level */
+RTE_EXPORT_SYMBOL(rte_log_get_global_level)
uint32_t
rte_log_get_global_level(void)
{
return rte_logs.level;
}
+RTE_EXPORT_SYMBOL(rte_log_get_level)
int
rte_log_get_level(uint32_t type)
{
@@ -120,6 +125,7 @@ rte_log_get_level(uint32_t type)
return rte_logs.dynamic_types[type].loglevel;
}
+RTE_EXPORT_SYMBOL(rte_log_can_log)
bool
rte_log_can_log(uint32_t logtype, uint32_t level)
{
@@ -153,6 +159,7 @@ logtype_set_level(uint32_t type, uint32_t level)
}
}
+RTE_EXPORT_SYMBOL(rte_log_set_level)
int
rte_log_set_level(uint32_t type, uint32_t level)
{
@@ -167,6 +174,7 @@ rte_log_set_level(uint32_t type, uint32_t level)
}
/* set log level by regular expression */
+RTE_EXPORT_SYMBOL(rte_log_set_level_regexp)
int
rte_log_set_level_regexp(const char *regex, uint32_t level)
{
@@ -225,6 +233,7 @@ log_save_level(uint32_t priority, const char *regex, const char *pattern)
return -1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(eal_log_save_regexp)
int
eal_log_save_regexp(const char *regex, uint32_t level)
{
@@ -232,6 +241,7 @@ eal_log_save_regexp(const char *regex, uint32_t level)
}
/* set log level based on globbing pattern */
+RTE_EXPORT_SYMBOL(rte_log_set_level_pattern)
int
rte_log_set_level_pattern(const char *pattern, uint32_t level)
{
@@ -251,6 +261,7 @@ rte_log_set_level_pattern(const char *pattern, uint32_t level)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(eal_log_save_pattern)
int
eal_log_save_pattern(const char *pattern, uint32_t level)
{
@@ -258,12 +269,14 @@ eal_log_save_pattern(const char *pattern, uint32_t level)
}
/* get the current loglevel for the message being processed */
+RTE_EXPORT_SYMBOL(rte_log_cur_msg_loglevel)
int rte_log_cur_msg_loglevel(void)
{
return RTE_PER_LCORE(log_cur_msg).loglevel;
}
/* get the current logtype for the message being processed */
+RTE_EXPORT_SYMBOL(rte_log_cur_msg_logtype)
int rte_log_cur_msg_logtype(void)
{
return RTE_PER_LCORE(log_cur_msg).logtype;
@@ -315,6 +328,7 @@ log_register(const char *name, uint32_t level)
}
/* register an extended log type */
+RTE_EXPORT_SYMBOL(rte_log_register)
int
rte_log_register(const char *name)
{
@@ -322,6 +336,7 @@ rte_log_register(const char *name)
}
/* Register an extended log type and try to pick its level from EAL options */
+RTE_EXPORT_SYMBOL(rte_log_register_type_and_pick_level)
int
rte_log_register_type_and_pick_level(const char *name, uint32_t level_def)
{
@@ -384,6 +399,7 @@ RTE_INIT_PRIO(log_init, LOG)
rte_logs.dynamic_types_len = RTE_LOGTYPE_FIRST_EXT_ID;
}
+RTE_EXPORT_INTERNAL_SYMBOL(eal_log_level2str)
const char *
eal_log_level2str(uint32_t level)
{
@@ -417,6 +433,7 @@ log_type_compare(const void *a, const void *b)
}
/* Dump name of each logtype, one per line. */
+RTE_EXPORT_SYMBOL(rte_log_list_types)
void
rte_log_list_types(FILE *out, const char *prefix)
{
@@ -446,6 +463,7 @@ rte_log_list_types(FILE *out, const char *prefix)
}
/* dump global level and registered log types */
+RTE_EXPORT_SYMBOL(rte_log_dump)
void
rte_log_dump(FILE *f)
{
@@ -467,6 +485,7 @@ rte_log_dump(FILE *f)
* Generates a log message The message will be sent in the stream
* defined by the previous call to rte_openlog_stream().
*/
+RTE_EXPORT_SYMBOL(rte_vlog)
int
rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap)
{
@@ -492,6 +511,7 @@ rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap)
* defined by the previous call to rte_openlog_stream().
* No need to check level here, done by rte_vlog().
*/
+RTE_EXPORT_SYMBOL(rte_log)
int
rte_log(uint32_t level, uint32_t logtype, const char *format, ...)
{
@@ -507,6 +527,7 @@ rte_log(uint32_t level, uint32_t logtype, const char *format, ...)
/*
* Called by rte_eal_init
*/
+RTE_EXPORT_INTERNAL_SYMBOL(eal_log_init)
void
eal_log_init(const char *id)
{
@@ -552,6 +573,7 @@ eal_log_init(const char *id)
/*
* Called by eal_cleanup
*/
+RTE_EXPORT_INTERNAL_SYMBOL(rte_eal_log_cleanup)
void
rte_eal_log_cleanup(void)
{
diff --git a/lib/log/log_color.c b/lib/log/log_color.c
index 04eb5aa485..603fbdcf35 100644
--- a/lib/log/log_color.c
+++ b/lib/log/log_color.c
@@ -99,6 +99,7 @@ color_snprintf(char *buf, size_t len, enum log_field field,
* auto - enable if stderr is a terminal
* never - color output is disabled.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(eal_log_color)
int
eal_log_color(const char *mode)
{
diff --git a/lib/log/log_syslog.c b/lib/log/log_syslog.c
index 6b34831bf3..ca52c336ee 100644
--- a/lib/log/log_syslog.c
+++ b/lib/log/log_syslog.c
@@ -45,6 +45,7 @@ static const struct {
{ "local7", LOG_LOCAL7 },
};
+RTE_EXPORT_INTERNAL_SYMBOL(eal_log_syslog)
int
eal_log_syslog(const char *name)
{
diff --git a/lib/log/log_timestamp.c b/lib/log/log_timestamp.c
index b4b0bca6a8..02ddadb454 100644
--- a/lib/log/log_timestamp.c
+++ b/lib/log/log_timestamp.c
@@ -40,6 +40,7 @@ static struct {
} log_time;
/* Set the log timestamp format */
+RTE_EXPORT_INTERNAL_SYMBOL(eal_log_timestamp)
int
eal_log_timestamp(const char *str)
{
diff --git a/lib/lpm/rte_lpm.c b/lib/lpm/rte_lpm.c
index a5c9e7c9fc..e1d9303116 100644
--- a/lib/lpm/rte_lpm.c
+++ b/lib/lpm/rte_lpm.c
@@ -117,6 +117,7 @@ depth_to_range(uint8_t depth)
/*
* Find an existing lpm table and return a pointer to it.
*/
+RTE_EXPORT_SYMBOL(rte_lpm_find_existing)
struct rte_lpm *
rte_lpm_find_existing(const char *name)
{
@@ -145,6 +146,7 @@ rte_lpm_find_existing(const char *name)
/*
* Allocates memory for LPM object
*/
+RTE_EXPORT_SYMBOL(rte_lpm_create)
struct rte_lpm *
rte_lpm_create(const char *name, int socket_id,
const struct rte_lpm_config *config)
@@ -251,6 +253,7 @@ rte_lpm_create(const char *name, int socket_id,
/*
* Deallocates memory for given LPM table.
*/
+RTE_EXPORT_SYMBOL(rte_lpm_free)
void
rte_lpm_free(struct rte_lpm *lpm)
{
@@ -300,6 +303,7 @@ __lpm_rcu_qsbr_free_resource(void *p, void *data, unsigned int n)
/* Associate QSBR variable with an LPM object.
*/
+RTE_EXPORT_SYMBOL(rte_lpm_rcu_qsbr_add)
int
rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg)
{
@@ -798,6 +802,7 @@ add_depth_big(struct __rte_lpm *i_lpm, uint32_t ip_masked, uint8_t depth,
/*
* Add a route
*/
+RTE_EXPORT_SYMBOL(rte_lpm_add)
int
rte_lpm_add(struct rte_lpm *lpm, uint32_t ip, uint8_t depth,
uint32_t next_hop)
@@ -849,6 +854,7 @@ rte_lpm_add(struct rte_lpm *lpm, uint32_t ip, uint8_t depth,
/*
* Look for a rule in the high-level rules table
*/
+RTE_EXPORT_SYMBOL(rte_lpm_is_rule_present)
int
rte_lpm_is_rule_present(struct rte_lpm *lpm, uint32_t ip, uint8_t depth,
uint32_t *next_hop)
@@ -1142,6 +1148,7 @@ delete_depth_big(struct __rte_lpm *i_lpm, uint32_t ip_masked,
/*
* Deletes a rule
*/
+RTE_EXPORT_SYMBOL(rte_lpm_delete)
int
rte_lpm_delete(struct rte_lpm *lpm, uint32_t ip, uint8_t depth)
{
@@ -1200,6 +1207,7 @@ rte_lpm_delete(struct rte_lpm *lpm, uint32_t ip, uint8_t depth)
/*
* Delete all rules from the LPM table.
*/
+RTE_EXPORT_SYMBOL(rte_lpm_delete_all)
void
rte_lpm_delete_all(struct rte_lpm *lpm)
{
diff --git a/lib/lpm/rte_lpm6.c b/lib/lpm/rte_lpm6.c
index 8beb394c47..60d27903e4 100644
--- a/lib/lpm/rte_lpm6.c
+++ b/lib/lpm/rte_lpm6.c
@@ -207,6 +207,7 @@ rebuild_lpm(struct rte_lpm6 *lpm)
/*
* Allocates memory for LPM object
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_create)
struct rte_lpm6 *
rte_lpm6_create(const char *name, int socket_id,
const struct rte_lpm6_config *config)
@@ -347,6 +348,7 @@ rte_lpm6_create(const char *name, int socket_id,
/*
* Find an existing lpm table and return a pointer to it.
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_find_existing)
struct rte_lpm6 *
rte_lpm6_find_existing(const char *name)
{
@@ -375,6 +377,7 @@ rte_lpm6_find_existing(const char *name)
/*
* Deallocates memory for given LPM table.
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_free)
void
rte_lpm6_free(struct rte_lpm6 *lpm)
{
@@ -819,6 +822,7 @@ simulate_add(struct rte_lpm6 *lpm, const struct rte_ipv6_addr *masked_ip, uint8_
/*
* Add a route
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_add)
int
rte_lpm6_add(struct rte_lpm6 *lpm, const struct rte_ipv6_addr *ip, uint8_t depth,
uint32_t next_hop)
@@ -908,6 +912,7 @@ lookup_step(const struct rte_lpm6 *lpm, const struct rte_lpm6_tbl_entry *tbl,
/*
* Looks up an IP
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_lookup)
int
rte_lpm6_lookup(const struct rte_lpm6 *lpm, const struct rte_ipv6_addr *ip,
uint32_t *next_hop)
@@ -940,6 +945,7 @@ rte_lpm6_lookup(const struct rte_lpm6 *lpm, const struct rte_ipv6_addr *ip,
/*
* Looks up a group of IP addresses
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_lookup_bulk_func)
int
rte_lpm6_lookup_bulk_func(const struct rte_lpm6 *lpm,
struct rte_ipv6_addr *ips,
@@ -985,6 +991,7 @@ rte_lpm6_lookup_bulk_func(const struct rte_lpm6 *lpm,
/*
* Look for a rule in the high-level rules table
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_is_rule_present)
int
rte_lpm6_is_rule_present(struct rte_lpm6 *lpm, const struct rte_ipv6_addr *ip, uint8_t depth,
uint32_t *next_hop)
@@ -1034,6 +1041,7 @@ rule_delete(struct rte_lpm6 *lpm, struct rte_ipv6_addr *ip, uint8_t depth)
* rather than doing incremental updates like
* the regular delete function
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_delete_bulk_func)
int
rte_lpm6_delete_bulk_func(struct rte_lpm6 *lpm,
struct rte_ipv6_addr *ips, uint8_t *depths,
@@ -1073,6 +1081,7 @@ rte_lpm6_delete_bulk_func(struct rte_lpm6 *lpm,
/*
* Delete all rules from the LPM table.
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_delete_all)
void
rte_lpm6_delete_all(struct rte_lpm6 *lpm)
{
@@ -1257,6 +1266,7 @@ remove_tbl(struct rte_lpm6 *lpm, struct rte_lpm_tbl8_hdr *tbl_hdr,
/*
* Deletes a rule
*/
+RTE_EXPORT_SYMBOL(rte_lpm6_delete)
int
rte_lpm6_delete(struct rte_lpm6 *lpm, const struct rte_ipv6_addr *ip, uint8_t depth)
{
diff --git a/lib/mbuf/rte_mbuf.c b/lib/mbuf/rte_mbuf.c
index 559d5ad8a7..908822fdd7 100644
--- a/lib/mbuf/rte_mbuf.c
+++ b/lib/mbuf/rte_mbuf.c
@@ -29,6 +29,7 @@ RTE_LOG_REGISTER_DEFAULT(mbuf_logtype, INFO);
* rte_mempool_create(), or called directly if using
* rte_mempool_create_empty()/rte_mempool_populate()
*/
+RTE_EXPORT_SYMBOL(rte_pktmbuf_pool_init)
void
rte_pktmbuf_pool_init(struct rte_mempool *mp, void *opaque_arg)
{
@@ -69,6 +70,7 @@ rte_pktmbuf_pool_init(struct rte_mempool *mp, void *opaque_arg)
* rte_mempool_obj_iter() or rte_mempool_create().
* Set the fields of a packet mbuf to their default values.
*/
+RTE_EXPORT_SYMBOL(rte_pktmbuf_init)
void
rte_pktmbuf_init(struct rte_mempool *mp,
__rte_unused void *opaque_arg,
@@ -219,6 +221,7 @@ __rte_pktmbuf_init_extmem(struct rte_mempool *mp,
}
/* Helper to create a mbuf pool with given mempool ops name*/
+RTE_EXPORT_SYMBOL(rte_pktmbuf_pool_create_by_ops)
struct rte_mempool *
rte_pktmbuf_pool_create_by_ops(const char *name, unsigned int n,
unsigned int cache_size, uint16_t priv_size, uint16_t data_room_size,
@@ -271,6 +274,7 @@ rte_pktmbuf_pool_create_by_ops(const char *name, unsigned int n,
}
/* helper to create a mbuf pool */
+RTE_EXPORT_SYMBOL(rte_pktmbuf_pool_create)
struct rte_mempool *
rte_pktmbuf_pool_create(const char *name, unsigned int n,
unsigned int cache_size, uint16_t priv_size, uint16_t data_room_size,
@@ -281,6 +285,7 @@ rte_pktmbuf_pool_create(const char *name, unsigned int n,
}
/* Helper to create a mbuf pool with pinned external data buffers. */
+RTE_EXPORT_SYMBOL(rte_pktmbuf_pool_create_extbuf)
struct rte_mempool *
rte_pktmbuf_pool_create_extbuf(const char *name, unsigned int n,
unsigned int cache_size, uint16_t priv_size,
@@ -368,6 +373,7 @@ rte_pktmbuf_pool_create_extbuf(const char *name, unsigned int n,
}
/* do some sanity checks on a mbuf: panic if it fails */
+RTE_EXPORT_SYMBOL(rte_mbuf_sanity_check)
void
rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header)
{
@@ -377,6 +383,7 @@ rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header)
rte_panic("%s\n", reason);
}
+RTE_EXPORT_SYMBOL(rte_mbuf_check)
int rte_mbuf_check(const struct rte_mbuf *m, int is_header,
const char **reason)
{
@@ -486,6 +493,7 @@ __rte_pktmbuf_free_seg_via_array(struct rte_mbuf *m,
#define RTE_PKTMBUF_FREE_PENDING_SZ 64
/* Free a bulk of packet mbufs back into their original mempools. */
+RTE_EXPORT_SYMBOL(rte_pktmbuf_free_bulk)
void rte_pktmbuf_free_bulk(struct rte_mbuf **mbufs, unsigned int count)
{
struct rte_mbuf *m, *m_next, *pending[RTE_PKTMBUF_FREE_PENDING_SZ];
@@ -512,6 +520,7 @@ void rte_pktmbuf_free_bulk(struct rte_mbuf **mbufs, unsigned int count)
}
/* Creates a shallow copy of mbuf */
+RTE_EXPORT_SYMBOL(rte_pktmbuf_clone)
struct rte_mbuf *
rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp)
{
@@ -551,6 +560,7 @@ rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp)
}
/* convert multi-segment mbuf to single mbuf */
+RTE_EXPORT_SYMBOL(__rte_pktmbuf_linearize)
int
__rte_pktmbuf_linearize(struct rte_mbuf *mbuf)
{
@@ -588,6 +598,7 @@ __rte_pktmbuf_linearize(struct rte_mbuf *mbuf)
}
/* Create a deep copy of mbuf */
+RTE_EXPORT_SYMBOL(rte_pktmbuf_copy)
struct rte_mbuf *
rte_pktmbuf_copy(const struct rte_mbuf *m, struct rte_mempool *mp,
uint32_t off, uint32_t len)
@@ -665,6 +676,7 @@ rte_pktmbuf_copy(const struct rte_mbuf *m, struct rte_mempool *mp,
}
/* dump a mbuf on console */
+RTE_EXPORT_SYMBOL(rte_pktmbuf_dump)
void
rte_pktmbuf_dump(FILE *f, const struct rte_mbuf *m, unsigned dump_len)
{
@@ -707,6 +719,7 @@ rte_pktmbuf_dump(FILE *f, const struct rte_mbuf *m, unsigned dump_len)
}
/* read len data bytes in a mbuf at specified offset (internal) */
+RTE_EXPORT_SYMBOL(__rte_pktmbuf_read)
const void *__rte_pktmbuf_read(const struct rte_mbuf *m, uint32_t off,
uint32_t len, void *buf)
{
@@ -744,6 +757,7 @@ const void *__rte_pktmbuf_read(const struct rte_mbuf *m, uint32_t off,
* Get the name of a RX offload flag. Must be kept synchronized with flag
* definitions in rte_mbuf.h.
*/
+RTE_EXPORT_SYMBOL(rte_get_rx_ol_flag_name)
const char *rte_get_rx_ol_flag_name(uint64_t mask)
{
switch (mask) {
@@ -783,6 +797,7 @@ struct flag_mask {
};
/* write the list of rx ol flags in buffer buf */
+RTE_EXPORT_SYMBOL(rte_get_rx_ol_flag_list)
int
rte_get_rx_ol_flag_list(uint64_t mask, char *buf, size_t buflen)
{
@@ -849,6 +864,7 @@ rte_get_rx_ol_flag_list(uint64_t mask, char *buf, size_t buflen)
* Get the name of a TX offload flag. Must be kept synchronized with flag
* definitions in rte_mbuf.h.
*/
+RTE_EXPORT_SYMBOL(rte_get_tx_ol_flag_name)
const char *rte_get_tx_ol_flag_name(uint64_t mask)
{
switch (mask) {
@@ -883,6 +899,7 @@ const char *rte_get_tx_ol_flag_name(uint64_t mask)
}
/* write the list of tx ol flags in buffer buf */
+RTE_EXPORT_SYMBOL(rte_get_tx_ol_flag_list)
int
rte_get_tx_ol_flag_list(uint64_t mask, char *buf, size_t buflen)
{
diff --git a/lib/mbuf/rte_mbuf_dyn.c b/lib/mbuf/rte_mbuf_dyn.c
index 1cfb329c3a..3adac4a4a8 100644
--- a/lib/mbuf/rte_mbuf_dyn.c
+++ b/lib/mbuf/rte_mbuf_dyn.c
@@ -189,6 +189,7 @@ __mbuf_dynfield_lookup(const char *name)
return mbuf_dynfield;
}
+RTE_EXPORT_SYMBOL(rte_mbuf_dynfield_lookup)
int
rte_mbuf_dynfield_lookup(const char *name, struct rte_mbuf_dynfield *params)
{
@@ -325,6 +326,7 @@ __rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params,
return offset;
}
+RTE_EXPORT_SYMBOL(rte_mbuf_dynfield_register_offset)
int
rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params,
size_t req)
@@ -351,6 +353,7 @@ rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_mbuf_dynfield_register)
int
rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params)
{
@@ -383,6 +386,7 @@ __mbuf_dynflag_lookup(const char *name)
return mbuf_dynflag;
}
+RTE_EXPORT_SYMBOL(rte_mbuf_dynflag_lookup)
int
rte_mbuf_dynflag_lookup(const char *name,
struct rte_mbuf_dynflag *params)
@@ -498,6 +502,7 @@ __rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params,
return bitnum;
}
+RTE_EXPORT_SYMBOL(rte_mbuf_dynflag_register_bitnum)
int
rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params,
unsigned int req)
@@ -521,12 +526,14 @@ rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_mbuf_dynflag_register)
int
rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params)
{
return rte_mbuf_dynflag_register_bitnum(params, UINT_MAX);
}
+RTE_EXPORT_SYMBOL(rte_mbuf_dyn_dump)
void rte_mbuf_dyn_dump(FILE *out)
{
struct mbuf_dynfield_list *mbuf_dynfield_list;
@@ -614,6 +621,7 @@ rte_mbuf_dyn_timestamp_register(int *field_offset, uint64_t *flag,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_mbuf_dyn_rx_timestamp_register)
int
rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag)
{
@@ -621,6 +629,7 @@ rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag)
"Rx", RTE_MBUF_DYNFLAG_RX_TIMESTAMP_NAME);
}
+RTE_EXPORT_SYMBOL(rte_mbuf_dyn_tx_timestamp_register)
int
rte_mbuf_dyn_tx_timestamp_register(int *field_offset, uint64_t *tx_flag)
{
diff --git a/lib/mbuf/rte_mbuf_pool_ops.c b/lib/mbuf/rte_mbuf_pool_ops.c
index 8e93c6acbd..79d6ee5561 100644
--- a/lib/mbuf/rte_mbuf_pool_ops.c
+++ b/lib/mbuf/rte_mbuf_pool_ops.c
@@ -10,6 +10,7 @@
#include "mbuf_log.h"
+RTE_EXPORT_SYMBOL(rte_mbuf_set_platform_mempool_ops)
int
rte_mbuf_set_platform_mempool_ops(const char *ops_name)
{
@@ -39,6 +40,7 @@ rte_mbuf_set_platform_mempool_ops(const char *ops_name)
return -EEXIST;
}
+RTE_EXPORT_SYMBOL(rte_mbuf_platform_mempool_ops)
const char *
rte_mbuf_platform_mempool_ops(void)
{
@@ -50,6 +52,7 @@ rte_mbuf_platform_mempool_ops(void)
return mz->addr;
}
+RTE_EXPORT_SYMBOL(rte_mbuf_set_user_mempool_ops)
int
rte_mbuf_set_user_mempool_ops(const char *ops_name)
{
@@ -74,6 +77,7 @@ rte_mbuf_set_user_mempool_ops(const char *ops_name)
}
+RTE_EXPORT_SYMBOL(rte_mbuf_user_mempool_ops)
const char *
rte_mbuf_user_mempool_ops(void)
{
@@ -86,6 +90,7 @@ rte_mbuf_user_mempool_ops(void)
}
/* Return mbuf pool ops name */
+RTE_EXPORT_SYMBOL(rte_mbuf_best_mempool_ops)
const char *
rte_mbuf_best_mempool_ops(void)
{
diff --git a/lib/mbuf/rte_mbuf_ptype.c b/lib/mbuf/rte_mbuf_ptype.c
index ab180b3dda..7e111e000f 100644
--- a/lib/mbuf/rte_mbuf_ptype.c
+++ b/lib/mbuf/rte_mbuf_ptype.c
@@ -8,6 +8,7 @@
#include <rte_mbuf_ptype.h>
/* get the name of the l2 packet type */
+RTE_EXPORT_SYMBOL(rte_get_ptype_l2_name)
const char *rte_get_ptype_l2_name(uint32_t ptype)
{
switch (ptype & RTE_PTYPE_L2_MASK) {
@@ -26,6 +27,7 @@ const char *rte_get_ptype_l2_name(uint32_t ptype)
}
/* get the name of the l3 packet type */
+RTE_EXPORT_SYMBOL(rte_get_ptype_l3_name)
const char *rte_get_ptype_l3_name(uint32_t ptype)
{
switch (ptype & RTE_PTYPE_L3_MASK) {
@@ -40,6 +42,7 @@ const char *rte_get_ptype_l3_name(uint32_t ptype)
}
/* get the name of the l4 packet type */
+RTE_EXPORT_SYMBOL(rte_get_ptype_l4_name)
const char *rte_get_ptype_l4_name(uint32_t ptype)
{
switch (ptype & RTE_PTYPE_L4_MASK) {
@@ -56,6 +59,7 @@ const char *rte_get_ptype_l4_name(uint32_t ptype)
}
/* get the name of the tunnel packet type */
+RTE_EXPORT_SYMBOL(rte_get_ptype_tunnel_name)
const char *rte_get_ptype_tunnel_name(uint32_t ptype)
{
switch (ptype & RTE_PTYPE_TUNNEL_MASK) {
@@ -77,6 +81,7 @@ const char *rte_get_ptype_tunnel_name(uint32_t ptype)
}
/* get the name of the inner_l2 packet type */
+RTE_EXPORT_SYMBOL(rte_get_ptype_inner_l2_name)
const char *rte_get_ptype_inner_l2_name(uint32_t ptype)
{
switch (ptype & RTE_PTYPE_INNER_L2_MASK) {
@@ -88,6 +93,7 @@ const char *rte_get_ptype_inner_l2_name(uint32_t ptype)
}
/* get the name of the inner_l3 packet type */
+RTE_EXPORT_SYMBOL(rte_get_ptype_inner_l3_name)
const char *rte_get_ptype_inner_l3_name(uint32_t ptype)
{
switch (ptype & RTE_PTYPE_INNER_L3_MASK) {
@@ -104,6 +110,7 @@ const char *rte_get_ptype_inner_l3_name(uint32_t ptype)
}
/* get the name of the inner_l4 packet type */
+RTE_EXPORT_SYMBOL(rte_get_ptype_inner_l4_name)
const char *rte_get_ptype_inner_l4_name(uint32_t ptype)
{
switch (ptype & RTE_PTYPE_INNER_L4_MASK) {
@@ -119,6 +126,7 @@ const char *rte_get_ptype_inner_l4_name(uint32_t ptype)
}
/* write the packet type name into the buffer */
+RTE_EXPORT_SYMBOL(rte_get_ptype_name)
int rte_get_ptype_name(uint32_t ptype, char *buf, size_t buflen)
{
int ret;
diff --git a/lib/member/rte_member.c b/lib/member/rte_member.c
index 57eb7affab..2756fd3327 100644
--- a/lib/member/rte_member.c
+++ b/lib/member/rte_member.c
@@ -23,6 +23,7 @@ static struct rte_tailq_elem rte_member_tailq = {
};
EAL_REGISTER_TAILQ(rte_member_tailq)
+RTE_EXPORT_SYMBOL(rte_member_find_existing)
struct rte_member_setsum *
rte_member_find_existing(const char *name)
{
@@ -47,6 +48,7 @@ rte_member_find_existing(const char *name)
return setsum;
}
+RTE_EXPORT_SYMBOL(rte_member_free)
void
rte_member_free(struct rte_member_setsum *setsum)
{
@@ -85,6 +87,7 @@ rte_member_free(struct rte_member_setsum *setsum)
rte_free(te);
}
+RTE_EXPORT_SYMBOL(rte_member_create)
struct rte_member_setsum *
rte_member_create(const struct rte_member_parameters *params)
{
@@ -188,6 +191,7 @@ rte_member_create(const struct rte_member_parameters *params)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_member_add)
int
rte_member_add(const struct rte_member_setsum *setsum, const void *key,
member_set_t set_id)
@@ -207,6 +211,7 @@ rte_member_add(const struct rte_member_setsum *setsum, const void *key,
}
}
+RTE_EXPORT_SYMBOL(rte_member_add_byte_count)
int
rte_member_add_byte_count(const struct rte_member_setsum *setsum,
const void *key, uint32_t byte_count)
@@ -222,6 +227,7 @@ rte_member_add_byte_count(const struct rte_member_setsum *setsum,
}
}
+RTE_EXPORT_SYMBOL(rte_member_lookup)
int
rte_member_lookup(const struct rte_member_setsum *setsum, const void *key,
member_set_t *set_id)
@@ -241,6 +247,7 @@ rte_member_lookup(const struct rte_member_setsum *setsum, const void *key,
}
}
+RTE_EXPORT_SYMBOL(rte_member_lookup_bulk)
int
rte_member_lookup_bulk(const struct rte_member_setsum *setsum,
const void **keys, uint32_t num_keys,
@@ -261,6 +268,7 @@ rte_member_lookup_bulk(const struct rte_member_setsum *setsum,
}
}
+RTE_EXPORT_SYMBOL(rte_member_lookup_multi)
int
rte_member_lookup_multi(const struct rte_member_setsum *setsum, const void *key,
uint32_t match_per_key, member_set_t *set_id)
@@ -280,6 +288,7 @@ rte_member_lookup_multi(const struct rte_member_setsum *setsum, const void *key,
}
}
+RTE_EXPORT_SYMBOL(rte_member_lookup_multi_bulk)
int
rte_member_lookup_multi_bulk(const struct rte_member_setsum *setsum,
const void **keys, uint32_t num_keys,
@@ -302,6 +311,7 @@ rte_member_lookup_multi_bulk(const struct rte_member_setsum *setsum,
}
}
+RTE_EXPORT_SYMBOL(rte_member_query_count)
int
rte_member_query_count(const struct rte_member_setsum *setsum,
const void *key, uint64_t *output)
@@ -317,6 +327,7 @@ rte_member_query_count(const struct rte_member_setsum *setsum,
}
}
+RTE_EXPORT_SYMBOL(rte_member_report_heavyhitter)
int
rte_member_report_heavyhitter(const struct rte_member_setsum *setsum,
void **key, uint64_t *count)
@@ -332,6 +343,7 @@ rte_member_report_heavyhitter(const struct rte_member_setsum *setsum,
}
}
+RTE_EXPORT_SYMBOL(rte_member_delete)
int
rte_member_delete(const struct rte_member_setsum *setsum, const void *key,
member_set_t set_id)
@@ -351,6 +363,7 @@ rte_member_delete(const struct rte_member_setsum *setsum, const void *key,
}
}
+RTE_EXPORT_SYMBOL(rte_member_reset)
void
rte_member_reset(const struct rte_member_setsum *setsum)
{
diff --git a/lib/mempool/mempool_trace_points.c b/lib/mempool/mempool_trace_points.c
index 307018094d..6667a75f28 100644
--- a/lib/mempool/mempool_trace_points.c
+++ b/lib/mempool/mempool_trace_points.c
@@ -6,27 +6,35 @@
#include "mempool_trace.h"
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_ops_dequeue_bulk, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_ops_dequeue_bulk,
lib.mempool.ops.deq.bulk)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_ops_dequeue_contig_blocks, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_ops_dequeue_contig_blocks,
lib.mempool.ops.deq.contig)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_ops_enqueue_bulk, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_ops_enqueue_bulk,
lib.mempool.ops.enq.bulk)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_generic_put, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_generic_put,
lib.mempool.generic.put)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_put_bulk, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_put_bulk,
lib.mempool.put.bulk)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_generic_get, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_generic_get,
lib.mempool.generic.get)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_get_bulk, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_get_bulk,
lib.mempool.get.bulk)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_get_contig_blocks, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_get_contig_blocks,
lib.mempool.get.blocks)
@@ -57,12 +65,14 @@ RTE_TRACE_POINT_REGISTER(rte_mempool_trace_cache_create,
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_cache_free,
lib.mempool.cache.free)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_default_cache, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_default_cache,
lib.mempool.default.cache)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_get_page_size,
lib.mempool.get.page.size)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(__rte_mempool_trace_cache_flush, 20.05)
RTE_TRACE_POINT_REGISTER(rte_mempool_trace_cache_flush,
lib.mempool.cache.flush)
diff --git a/lib/mempool/rte_mempool.c b/lib/mempool/rte_mempool.c
index 1e4f24783c..aa38157e05 100644
--- a/lib/mempool/rte_mempool.c
+++ b/lib/mempool/rte_mempool.c
@@ -31,6 +31,7 @@
#include "mempool_trace.h"
#include "rte_mempool.h"
+RTE_EXPORT_SYMBOL(rte_mempool_logtype)
RTE_LOG_REGISTER_DEFAULT(rte_mempool_logtype, INFO);
TAILQ_HEAD(rte_mempool_list, rte_tailq_entry);
@@ -179,6 +180,7 @@ mempool_add_elem(struct rte_mempool *mp, __rte_unused void *opaque,
}
/* call obj_cb() for each mempool element */
+RTE_EXPORT_SYMBOL(rte_mempool_obj_iter)
uint32_t
rte_mempool_obj_iter(struct rte_mempool *mp,
rte_mempool_obj_cb_t *obj_cb, void *obj_cb_arg)
@@ -197,6 +199,7 @@ rte_mempool_obj_iter(struct rte_mempool *mp,
}
/* call mem_cb() for each mempool memory chunk */
+RTE_EXPORT_SYMBOL(rte_mempool_mem_iter)
uint32_t
rte_mempool_mem_iter(struct rte_mempool *mp,
rte_mempool_mem_cb_t *mem_cb, void *mem_cb_arg)
@@ -213,6 +216,7 @@ rte_mempool_mem_iter(struct rte_mempool *mp,
}
/* get the header, trailer and total size of a mempool element. */
+RTE_EXPORT_SYMBOL(rte_mempool_calc_obj_size)
uint32_t
rte_mempool_calc_obj_size(uint32_t elt_size, uint32_t flags,
struct rte_mempool_objsz *sz)
@@ -313,6 +317,7 @@ mempool_ops_alloc_once(struct rte_mempool *mp)
* zone. Return the number of objects added, or a negative value
* on error.
*/
+RTE_EXPORT_SYMBOL(rte_mempool_populate_iova)
int
rte_mempool_populate_iova(struct rte_mempool *mp, char *vaddr,
rte_iova_t iova, size_t len, rte_mempool_memchunk_free_cb_t *free_cb,
@@ -398,6 +403,7 @@ get_iova(void *addr)
/* Populate the mempool with a virtual area. Return the number of
* objects added, or a negative value on error.
*/
+RTE_EXPORT_SYMBOL(rte_mempool_populate_virt)
int
rte_mempool_populate_virt(struct rte_mempool *mp, char *addr,
size_t len, size_t pg_sz, rte_mempool_memchunk_free_cb_t *free_cb,
@@ -452,6 +458,7 @@ rte_mempool_populate_virt(struct rte_mempool *mp, char *addr,
}
/* Get the minimal page size used in a mempool before populating it. */
+RTE_EXPORT_SYMBOL(rte_mempool_get_page_size)
int
rte_mempool_get_page_size(struct rte_mempool *mp, size_t *pg_sz)
{
@@ -481,6 +488,7 @@ rte_mempool_get_page_size(struct rte_mempool *mp, size_t *pg_sz)
* and populate them. Return the number of objects added, or a negative
* value on error.
*/
+RTE_EXPORT_SYMBOL(rte_mempool_populate_default)
int
rte_mempool_populate_default(struct rte_mempool *mp)
{
@@ -659,6 +667,7 @@ rte_mempool_memchunk_anon_free(struct rte_mempool_memhdr *memhdr,
}
/* populate the mempool with an anonymous mapping */
+RTE_EXPORT_SYMBOL(rte_mempool_populate_anon)
int
rte_mempool_populate_anon(struct rte_mempool *mp)
{
@@ -713,6 +722,7 @@ rte_mempool_populate_anon(struct rte_mempool *mp)
}
/* free a mempool */
+RTE_EXPORT_SYMBOL(rte_mempool_free)
void
rte_mempool_free(struct rte_mempool *mp)
{
@@ -761,6 +771,7 @@ mempool_cache_init(struct rte_mempool_cache *cache, uint32_t size)
* returned to an underlying mempool. This structure is identical to the
* local_cache[lcore_id] pointed to by the mempool structure.
*/
+RTE_EXPORT_SYMBOL(rte_mempool_cache_create)
struct rte_mempool_cache *
rte_mempool_cache_create(uint32_t size, int socket_id)
{
@@ -790,6 +801,7 @@ rte_mempool_cache_create(uint32_t size, int socket_id)
* remaining objects in the cache are flushed to the corresponding
* mempool.
*/
+RTE_EXPORT_SYMBOL(rte_mempool_cache_free)
void
rte_mempool_cache_free(struct rte_mempool_cache *cache)
{
@@ -798,6 +810,7 @@ rte_mempool_cache_free(struct rte_mempool_cache *cache)
}
/* create an empty mempool */
+RTE_EXPORT_SYMBOL(rte_mempool_create_empty)
struct rte_mempool *
rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size,
unsigned cache_size, unsigned private_data_size,
@@ -966,6 +979,7 @@ rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size,
}
/* create the mempool */
+RTE_EXPORT_SYMBOL(rte_mempool_create)
struct rte_mempool *
rte_mempool_create(const char *name, unsigned n, unsigned elt_size,
unsigned cache_size, unsigned private_data_size,
@@ -1002,6 +1016,7 @@ rte_mempool_create(const char *name, unsigned n, unsigned elt_size,
}
/* Return the number of entries in the mempool */
+RTE_EXPORT_SYMBOL(rte_mempool_avail_count)
unsigned int
rte_mempool_avail_count(const struct rte_mempool *mp)
{
@@ -1026,6 +1041,7 @@ rte_mempool_avail_count(const struct rte_mempool *mp)
}
/* return the number of entries allocated from the mempool */
+RTE_EXPORT_SYMBOL(rte_mempool_in_use_count)
unsigned int
rte_mempool_in_use_count(const struct rte_mempool *mp)
{
@@ -1057,6 +1073,7 @@ rte_mempool_dump_cache(FILE *f, const struct rte_mempool *mp)
}
/* check and update cookies or panic (internal) */
+RTE_EXPORT_SYMBOL(rte_mempool_check_cookies)
void rte_mempool_check_cookies(const struct rte_mempool *mp,
void * const *obj_table_const, unsigned n, int free)
{
@@ -1125,6 +1142,7 @@ void rte_mempool_check_cookies(const struct rte_mempool *mp,
#endif
}
+RTE_EXPORT_SYMBOL(rte_mempool_contig_blocks_check_cookies)
void
rte_mempool_contig_blocks_check_cookies(const struct rte_mempool *mp,
void * const *first_obj_table_const, unsigned int n, int free)
@@ -1201,6 +1219,7 @@ mempool_audit_cache(const struct rte_mempool *mp)
}
/* check the consistency of mempool (size, cookies, ...) */
+RTE_EXPORT_SYMBOL(rte_mempool_audit)
void
rte_mempool_audit(struct rte_mempool *mp)
{
@@ -1212,6 +1231,7 @@ rte_mempool_audit(struct rte_mempool *mp)
}
/* dump the status of the mempool on the console */
+RTE_EXPORT_SYMBOL(rte_mempool_dump)
void
rte_mempool_dump(FILE *f, struct rte_mempool *mp)
{
@@ -1316,6 +1336,7 @@ rte_mempool_dump(FILE *f, struct rte_mempool *mp)
}
/* dump the status of all mempools on the console */
+RTE_EXPORT_SYMBOL(rte_mempool_list_dump)
void
rte_mempool_list_dump(FILE *f)
{
@@ -1336,6 +1357,7 @@ rte_mempool_list_dump(FILE *f)
}
/* search a mempool from its name */
+RTE_EXPORT_SYMBOL(rte_mempool_lookup)
struct rte_mempool *
rte_mempool_lookup(const char *name)
{
@@ -1363,6 +1385,7 @@ rte_mempool_lookup(const char *name)
return mp;
}
+RTE_EXPORT_SYMBOL(rte_mempool_walk)
void rte_mempool_walk(void (*func)(struct rte_mempool *, void *),
void *arg)
{
@@ -1381,6 +1404,7 @@ void rte_mempool_walk(void (*func)(struct rte_mempool *, void *),
rte_mcfg_mempool_read_unlock();
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mempool_get_mem_range, 24.07)
int rte_mempool_get_mem_range(const struct rte_mempool *mp,
struct rte_mempool_mem_range_info *mem_range)
{
@@ -1415,6 +1439,7 @@ int rte_mempool_get_mem_range(const struct rte_mempool *mp,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_mempool_get_obj_alignment, 24.07)
size_t rte_mempool_get_obj_alignment(const struct rte_mempool *mp)
{
if (mp == NULL)
@@ -1448,6 +1473,7 @@ mempool_event_callback_invoke(enum rte_mempool_event event,
rte_mcfg_tailq_read_unlock();
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mempool_event_callback_register)
int
rte_mempool_event_callback_register(rte_mempool_event_callback *func,
void *user_data)
@@ -1486,6 +1512,7 @@ rte_mempool_event_callback_register(rte_mempool_event_callback *func,
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_mempool_event_callback_unregister)
int
rte_mempool_event_callback_unregister(rte_mempool_event_callback *func,
void *user_data)
diff --git a/lib/mempool/rte_mempool_ops.c b/lib/mempool/rte_mempool_ops.c
index 1b33380259..74bd0fd7e1 100644
--- a/lib/mempool/rte_mempool_ops.c
+++ b/lib/mempool/rte_mempool_ops.c
@@ -14,12 +14,14 @@
#include "mempool_trace.h"
/* indirect jump table to support external memory pools. */
+RTE_EXPORT_SYMBOL(rte_mempool_ops_table)
struct rte_mempool_ops_table rte_mempool_ops_table = {
.sl = RTE_SPINLOCK_INITIALIZER,
.num_ops = 0
};
/* add a new ops struct in rte_mempool_ops_table, return its index. */
+RTE_EXPORT_SYMBOL(rte_mempool_register_ops)
int
rte_mempool_register_ops(const struct rte_mempool_ops *h)
{
@@ -146,6 +148,7 @@ rte_mempool_ops_populate(struct rte_mempool *mp, unsigned int max_objs,
}
/* wrapper to get additional mempool info */
+RTE_EXPORT_SYMBOL(rte_mempool_ops_get_info)
int
rte_mempool_ops_get_info(const struct rte_mempool *mp,
struct rte_mempool_info *info)
@@ -161,6 +164,7 @@ rte_mempool_ops_get_info(const struct rte_mempool *mp,
/* sets mempool ops previously registered by rte_mempool_register_ops. */
+RTE_EXPORT_SYMBOL(rte_mempool_set_ops_byname)
int
rte_mempool_set_ops_byname(struct rte_mempool *mp, const char *name,
void *pool_config)
diff --git a/lib/mempool/rte_mempool_ops_default.c b/lib/mempool/rte_mempool_ops_default.c
index 22fccf9d76..b82713ca5e 100644
--- a/lib/mempool/rte_mempool_ops_default.c
+++ b/lib/mempool/rte_mempool_ops_default.c
@@ -6,6 +6,7 @@
#include <rte_mempool.h>
+RTE_EXPORT_SYMBOL(rte_mempool_op_calc_mem_size_helper)
ssize_t
rte_mempool_op_calc_mem_size_helper(const struct rte_mempool *mp,
uint32_t obj_num, uint32_t pg_shift,
@@ -65,6 +66,7 @@ rte_mempool_op_calc_mem_size_helper(const struct rte_mempool *mp,
return mem_size;
}
+RTE_EXPORT_SYMBOL(rte_mempool_op_calc_mem_size_default)
ssize_t
rte_mempool_op_calc_mem_size_default(const struct rte_mempool *mp,
uint32_t obj_num, uint32_t pg_shift,
@@ -87,6 +89,7 @@ check_obj_bounds(char *obj, size_t pg_sz, size_t elt_sz)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_mempool_op_populate_helper)
int
rte_mempool_op_populate_helper(struct rte_mempool *mp, unsigned int flags,
unsigned int max_objs, void *vaddr, rte_iova_t iova,
@@ -134,6 +137,7 @@ rte_mempool_op_populate_helper(struct rte_mempool *mp, unsigned int flags,
return i;
}
+RTE_EXPORT_SYMBOL(rte_mempool_op_populate_default)
int
rte_mempool_op_populate_default(struct rte_mempool *mp, unsigned int max_objs,
void *vaddr, rte_iova_t iova, size_t len,
diff --git a/lib/meter/rte_meter.c b/lib/meter/rte_meter.c
index 6545803d36..58166bc974 100644
--- a/lib/meter/rte_meter.c
+++ b/lib/meter/rte_meter.c
@@ -36,6 +36,7 @@ rte_meter_get_tb_params(uint64_t hz, uint64_t rate, uint64_t *tb_period, uint64_
}
}
+RTE_EXPORT_SYMBOL(rte_meter_srtcm_profile_config)
int
rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
struct rte_meter_srtcm_params *params)
@@ -58,6 +59,7 @@ rte_meter_srtcm_profile_config(struct rte_meter_srtcm_profile *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_meter_srtcm_config)
int
rte_meter_srtcm_config(struct rte_meter_srtcm *m,
struct rte_meter_srtcm_profile *p)
@@ -74,6 +76,7 @@ rte_meter_srtcm_config(struct rte_meter_srtcm *m,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_meter_trtcm_profile_config)
int
rte_meter_trtcm_profile_config(struct rte_meter_trtcm_profile *p,
struct rte_meter_trtcm_params *params)
@@ -101,6 +104,7 @@ rte_meter_trtcm_profile_config(struct rte_meter_trtcm_profile *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_meter_trtcm_config)
int
rte_meter_trtcm_config(struct rte_meter_trtcm *m,
struct rte_meter_trtcm_profile *p)
@@ -117,6 +121,7 @@ rte_meter_trtcm_config(struct rte_meter_trtcm *m,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_meter_trtcm_rfc4115_profile_config)
int
rte_meter_trtcm_rfc4115_profile_config(
struct rte_meter_trtcm_rfc4115_profile *p,
@@ -142,6 +147,7 @@ rte_meter_trtcm_rfc4115_profile_config(
return 0;
}
+RTE_EXPORT_SYMBOL(rte_meter_trtcm_rfc4115_config)
int
rte_meter_trtcm_rfc4115_config(
struct rte_meter_trtcm_rfc4115 *m,
diff --git a/lib/metrics/rte_metrics.c b/lib/metrics/rte_metrics.c
index 0ccdbabc04..30a8aeaf5c 100644
--- a/lib/metrics/rte_metrics.c
+++ b/lib/metrics/rte_metrics.c
@@ -55,6 +55,7 @@ struct rte_metrics_data_s {
rte_spinlock_t lock;
};
+RTE_EXPORT_SYMBOL(rte_metrics_init)
int
rte_metrics_init(int socket_id)
{
@@ -80,6 +81,7 @@ rte_metrics_init(int socket_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_metrics_deinit)
int
rte_metrics_deinit(void)
{
@@ -103,6 +105,7 @@ rte_metrics_deinit(void)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_metrics_reg_name)
int
rte_metrics_reg_name(const char *name)
{
@@ -111,6 +114,7 @@ rte_metrics_reg_name(const char *name)
return rte_metrics_reg_names(list_names, 1);
}
+RTE_EXPORT_SYMBOL(rte_metrics_reg_names)
int
rte_metrics_reg_names(const char * const *names, uint16_t cnt_names)
{
@@ -157,12 +161,14 @@ rte_metrics_reg_names(const char * const *names, uint16_t cnt_names)
return idx_base;
}
+RTE_EXPORT_SYMBOL(rte_metrics_update_value)
int
rte_metrics_update_value(int port_id, uint16_t key, const uint64_t value)
{
return rte_metrics_update_values(port_id, key, &value, 1);
}
+RTE_EXPORT_SYMBOL(rte_metrics_update_values)
int
rte_metrics_update_values(int port_id,
uint16_t key,
@@ -225,6 +231,7 @@ rte_metrics_update_values(int port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_metrics_get_names)
int
rte_metrics_get_names(struct rte_metric_name *names,
uint16_t capacity)
@@ -256,6 +263,7 @@ rte_metrics_get_names(struct rte_metric_name *names,
return return_value;
}
+RTE_EXPORT_SYMBOL(rte_metrics_get_values)
int
rte_metrics_get_values(int port_id,
struct rte_metric_value *values,
diff --git a/lib/metrics/rte_metrics_telemetry.c b/lib/metrics/rte_metrics_telemetry.c
index dc43611d29..c187ab54f0 100644
--- a/lib/metrics/rte_metrics_telemetry.c
+++ b/lib/metrics/rte_metrics_telemetry.c
@@ -71,6 +71,7 @@ rte_metrics_tel_reg_port_ethdev_to_metrics(uint16_t port_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_reg_all_ethdev, 20.05)
int32_t
rte_metrics_tel_reg_all_ethdev(int *metrics_register_done, int *reg_index_list)
{
@@ -225,6 +226,7 @@ rte_metrics_tel_format_port(uint32_t pid, json_t *ports,
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_encode_json_format, 20.05)
int32_t
rte_metrics_tel_encode_json_format(struct telemetry_encode_param *ep,
char **json_buffer)
@@ -278,6 +280,7 @@ rte_metrics_tel_encode_json_format(struct telemetry_encode_param *ep,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_get_ports_stats_json, 20.05)
int32_t
rte_metrics_tel_get_ports_stats_json(struct telemetry_encode_param *ep,
int *reg_index, char **json_buffer)
@@ -308,6 +311,7 @@ rte_metrics_tel_get_ports_stats_json(struct telemetry_encode_param *ep,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_get_port_stats_ids, 20.05)
int32_t
rte_metrics_tel_get_port_stats_ids(struct telemetry_encode_param *ep)
{
@@ -374,6 +378,7 @@ rte_metrics_tel_stat_names_to_ids(const char * const *stat_names,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_extract_data, 20.05)
int32_t
rte_metrics_tel_extract_data(struct telemetry_encode_param *ep, json_t *data)
{
@@ -544,6 +549,7 @@ RTE_INIT(metrics_ctor)
#else /* !RTE_HAS_JANSSON */
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_reg_all_ethdev, 20.05)
int32_t
rte_metrics_tel_reg_all_ethdev(int *metrics_register_done, int *reg_index_list)
{
@@ -553,6 +559,7 @@ rte_metrics_tel_reg_all_ethdev(int *metrics_register_done, int *reg_index_list)
return -ENOTSUP;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_encode_json_format, 20.05)
int32_t
rte_metrics_tel_encode_json_format(struct telemetry_encode_param *ep,
char **json_buffer)
@@ -563,6 +570,7 @@ rte_metrics_tel_encode_json_format(struct telemetry_encode_param *ep,
return -ENOTSUP;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_get_ports_stats_json, 20.05)
int32_t
rte_metrics_tel_get_ports_stats_json(struct telemetry_encode_param *ep,
int *reg_index, char **json_buffer)
@@ -574,6 +582,7 @@ rte_metrics_tel_get_ports_stats_json(struct telemetry_encode_param *ep,
return -ENOTSUP;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_get_port_stats_ids, 20.05)
int32_t
rte_metrics_tel_get_port_stats_ids(struct telemetry_encode_param *ep)
{
@@ -582,6 +591,7 @@ rte_metrics_tel_get_port_stats_ids(struct telemetry_encode_param *ep)
return -ENOTSUP;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_extract_data, 20.05)
int32_t
rte_metrics_tel_extract_data(struct telemetry_encode_param *ep, json_t *data)
{
@@ -591,6 +601,7 @@ rte_metrics_tel_extract_data(struct telemetry_encode_param *ep, json_t *data)
return -ENOTSUP;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_metrics_tel_get_global_stats, 20.05)
int32_t
rte_metrics_tel_get_global_stats(struct telemetry_encode_param *ep)
{
diff --git a/lib/mldev/mldev_utils.c b/lib/mldev/mldev_utils.c
index 13ac615e9f..c33fd78d28 100644
--- a/lib/mldev/mldev_utils.c
+++ b/lib/mldev/mldev_utils.c
@@ -14,6 +14,7 @@
* This file implements Machine Learning utility routines, except type conversion routines.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ml_io_type_size_get)
int
rte_ml_io_type_size_get(enum rte_ml_io_type type)
{
@@ -49,6 +50,7 @@ rte_ml_io_type_size_get(enum rte_ml_io_type type)
}
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ml_io_type_to_str)
void
rte_ml_io_type_to_str(enum rte_ml_io_type type, char *str, int len)
{
diff --git a/lib/mldev/mldev_utils_neon.c b/lib/mldev/mldev_utils_neon.c
index 8751a40863..08d114af42 100644
--- a/lib/mldev/mldev_utils_neon.c
+++ b/lib/mldev/mldev_utils_neon.c
@@ -75,6 +75,7 @@ __float32_to_int8_neon_s8x1(const float *input, int8_t *output, float scale, int
*output = vqmovnh_s16(s16);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_int8, 22.11)
int
rte_ml_io_float32_to_int8(const void *input, void *output, uint64_t nb_elements, float scale,
int8_t zero_point)
@@ -149,6 +150,7 @@ __int8_to_float32_neon_f32x1(const int8_t *input, float *output, float scale, in
*output = scale * (vcvts_f32_s32((int32_t)*input) - (float)zero_point);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_int8_to_float32, 22.11)
int
rte_ml_io_int8_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
int8_t zero_point)
@@ -242,6 +244,7 @@ __float32_to_uint8_neon_u8x1(const float *input, uint8_t *output, float scale, u
*output = vqmovnh_u16(u16);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_uint8, 22.11)
int
rte_ml_io_float32_to_uint8(const void *input, void *output, uint64_t nb_elements, float scale,
uint8_t zero_point)
@@ -316,6 +319,7 @@ __uint8_to_float32_neon_f32x1(const uint8_t *input, float *output, float scale,
*output = scale * (vcvts_f32_u32((uint32_t)*input) - (float)zero_point);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_uint8_to_float32, 22.11)
int
rte_ml_io_uint8_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
uint8_t zero_point)
@@ -395,6 +399,7 @@ __float32_to_int16_neon_s16x1(const float *input, int16_t *output, float scale,
*output = vqmovns_s32(vget_lane_s32(s32x2, 0));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_int16, 22.11)
int
rte_ml_io_float32_to_int16(const void *input, void *output, uint64_t nb_elements, float scale,
int16_t zero_point)
@@ -463,6 +468,7 @@ __int16_to_float32_neon_f32x1(const int16_t *input, float *output, float scale,
*output = scale * (vcvts_f32_s32((int32_t)*input) - (float)zero_point);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_int16_to_float32, 22.11)
int
rte_ml_io_int16_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
int16_t zero_point)
@@ -539,6 +545,7 @@ __float32_to_uint16_neon_u16x1(const float *input, uint16_t *output, float scale
*output = vqmovns_u32(u32) + zero_point;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_uint16, 22.11)
int
rte_ml_io_float32_to_uint16(const void *input, void *output, uint64_t nb_elements, float scale,
uint16_t zero_point)
@@ -609,6 +616,7 @@ __uint16_to_float32_neon_f32x1(const uint16_t *input, float *output, float scale
*output = scale * (vcvts_f32_u32((uint32_t)*input) - (float)zero_point);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_uint16_to_float32, 22.11)
int
rte_ml_io_uint16_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
uint16_t zero_point)
@@ -687,6 +695,7 @@ __float32_to_int32_neon_s32x1(const float *input, int32_t *output, float scale,
vst1_lane_s32(output, s32x2, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_int32, 22.11)
int
rte_ml_io_float32_to_int32(const void *input, void *output, uint64_t nb_elements, float scale,
int32_t zero_point)
@@ -751,6 +760,7 @@ __int32_to_float32_neon_f32x1(const int32_t *input, float *output, float scale,
*output = scale * (vcvts_f32_s32(*input) - (float)zero_point);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_int32_to_float32, 22.11)
int
rte_ml_io_int32_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
int32_t zero_point)
@@ -818,6 +828,7 @@ __float32_to_uint32_neon_u32x1(const float *input, uint32_t *output, float scale
*output = vcvtas_u32_f32((*input) / scale + (float)zero_point);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_uint32, 22.11)
int
rte_ml_io_float32_to_uint32(const void *input, void *output, uint64_t nb_elements, float scale,
uint32_t zero_point)
@@ -884,6 +895,7 @@ __uint32_to_float32_neon_f32x1(const uint32_t *input, float *output, float scale
*output = scale * (vcvts_f32_u32(*input) - (float)zero_point);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_uint32_to_float32, 22.11)
int
rte_ml_io_uint32_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
uint32_t zero_point)
@@ -978,6 +990,7 @@ __float32_to_int64_neon_s64x1(const float *input, int64_t *output, float scale,
*output = s64;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_int64, 22.11)
int
rte_ml_io_float32_to_int64(const void *input, void *output, uint64_t nb_elements, float scale,
int64_t zero_point)
@@ -1066,6 +1079,7 @@ __int64_to_float32_neon_f32x1(const int64_t *input, float *output, float scale,
vst1_lane_f32(output, f32x2, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_int64_to_float32, 22.11)
int
rte_ml_io_int64_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
int64_t zero_point)
@@ -1156,6 +1170,7 @@ __float32_to_uint64_neon_u64x1(const float *input, uint64_t *output, float scale
vst1q_lane_u64(output, u64x2, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_uint64, 22.11)
int
rte_ml_io_float32_to_uint64(const void *input, void *output, uint64_t nb_elements, float scale,
uint64_t zero_point)
@@ -1246,6 +1261,7 @@ __uint64_to_float32_neon_f32x1(const uint64_t *input, float *output, float scale
vst1_lane_f32(output, f32x2, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_uint64_to_float32, 22.11)
int
rte_ml_io_uint64_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
uint64_t zero_point)
@@ -1314,6 +1330,7 @@ __float32_to_float16_neon_f16x1(const float32_t *input, float16_t *output)
vst1_lane_f16(output, f16x4, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_float16, 22.11)
int
rte_ml_io_float32_to_float16(const void *input, void *output, uint64_t nb_elements)
{
@@ -1381,6 +1398,7 @@ __float16_to_float32_neon_f32x1(const float16_t *input, float32_t *output)
vst1q_lane_f32(output, f32x4, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float16_to_float32, 22.11)
int
rte_ml_io_float16_to_float32(const void *input, void *output, uint64_t nb_elements)
{
diff --git a/lib/mldev/mldev_utils_neon_bfloat16.c b/lib/mldev/mldev_utils_neon_bfloat16.c
index b8e6853266..8789363e83 100644
--- a/lib/mldev/mldev_utils_neon_bfloat16.c
+++ b/lib/mldev/mldev_utils_neon_bfloat16.c
@@ -49,6 +49,7 @@ __float32_to_bfloat16_neon_f16x1(const float32_t *input, bfloat16_t *output)
vst1_lane_bf16(output, bf16x4, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_bfloat16, 22.11)
int
rte_ml_io_float32_to_bfloat16(const void *input, void *output, uint64_t nb_elements)
{
@@ -116,6 +117,7 @@ __bfloat16_to_float32_neon_f32x1(const bfloat16_t *input, float32_t *output)
vst1q_lane_f32(output, f32x4, 0);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_bfloat16_to_float32, 22.11)
int
rte_ml_io_bfloat16_to_float32(const void *input, void *output, uint64_t nb_elements)
{
diff --git a/lib/mldev/mldev_utils_scalar.c b/lib/mldev/mldev_utils_scalar.c
index e1fefdec3b..e12b08e983 100644
--- a/lib/mldev/mldev_utils_scalar.c
+++ b/lib/mldev/mldev_utils_scalar.c
@@ -9,6 +9,7 @@
* types from higher precision to lower precision and vice-versa, except bfloat16.
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_int8, 22.11)
int
rte_ml_io_float32_to_int8(const void *input, void *output, uint64_t nb_elements, float scale,
int8_t zero_point)
@@ -42,6 +43,7 @@ rte_ml_io_float32_to_int8(const void *input, void *output, uint64_t nb_elements,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_int8_to_float32, 22.11)
int
rte_ml_io_int8_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
int8_t zero_point)
@@ -66,6 +68,7 @@ rte_ml_io_int8_to_float32(const void *input, void *output, uint64_t nb_elements,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_uint8, 22.11)
int
rte_ml_io_float32_to_uint8(const void *input, void *output, uint64_t nb_elements, float scale,
uint8_t zero_point)
@@ -99,6 +102,7 @@ rte_ml_io_float32_to_uint8(const void *input, void *output, uint64_t nb_elements
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_uint8_to_float32, 22.11)
int
rte_ml_io_uint8_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
uint8_t zero_point)
@@ -123,6 +127,7 @@ rte_ml_io_uint8_to_float32(const void *input, void *output, uint64_t nb_elements
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_int16, 22.11)
int
rte_ml_io_float32_to_int16(const void *input, void *output, uint64_t nb_elements, float scale,
int16_t zero_point)
@@ -156,6 +161,7 @@ rte_ml_io_float32_to_int16(const void *input, void *output, uint64_t nb_elements
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_int16_to_float32, 22.11)
int
rte_ml_io_int16_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
int16_t zero_point)
@@ -180,6 +186,7 @@ rte_ml_io_int16_to_float32(const void *input, void *output, uint64_t nb_elements
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_uint16, 22.11)
int
rte_ml_io_float32_to_uint16(const void *input, void *output, uint64_t nb_elements, float scale,
uint16_t zero_point)
@@ -213,6 +220,7 @@ rte_ml_io_float32_to_uint16(const void *input, void *output, uint64_t nb_element
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_uint16_to_float32, 22.11)
int
rte_ml_io_uint16_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
uint16_t zero_point)
@@ -237,6 +245,7 @@ rte_ml_io_uint16_to_float32(const void *input, void *output, uint64_t nb_element
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_int32, 22.11)
int
rte_ml_io_float32_to_int32(const void *input, void *output, uint64_t nb_elements, float scale,
int32_t zero_point)
@@ -261,6 +270,7 @@ rte_ml_io_float32_to_int32(const void *input, void *output, uint64_t nb_elements
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_int32_to_float32, 22.11)
int
rte_ml_io_int32_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
int32_t zero_point)
@@ -285,6 +295,7 @@ rte_ml_io_int32_to_float32(const void *input, void *output, uint64_t nb_elements
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_uint32, 22.11)
int
rte_ml_io_float32_to_uint32(const void *input, void *output, uint64_t nb_elements, float scale,
uint32_t zero_point)
@@ -315,6 +326,7 @@ rte_ml_io_float32_to_uint32(const void *input, void *output, uint64_t nb_element
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_uint32_to_float32, 22.11)
int
rte_ml_io_uint32_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
uint32_t zero_point)
@@ -339,6 +351,7 @@ rte_ml_io_uint32_to_float32(const void *input, void *output, uint64_t nb_element
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_int64, 22.11)
int
rte_ml_io_float32_to_int64(const void *input, void *output, uint64_t nb_elements, float scale,
int64_t zero_point)
@@ -363,6 +376,7 @@ rte_ml_io_float32_to_int64(const void *input, void *output, uint64_t nb_elements
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_int64_to_float32, 22.11)
int
rte_ml_io_int64_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
int64_t zero_point)
@@ -387,6 +401,7 @@ rte_ml_io_int64_to_float32(const void *input, void *output, uint64_t nb_elements
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_uint64, 22.11)
int
rte_ml_io_float32_to_uint64(const void *input, void *output, uint64_t nb_elements, float scale,
uint64_t zero_point)
@@ -417,6 +432,7 @@ rte_ml_io_float32_to_uint64(const void *input, void *output, uint64_t nb_element
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_uint64_to_float32, 22.11)
int
rte_ml_io_uint64_to_float32(const void *input, void *output, uint64_t nb_elements, float scale,
uint64_t zero_point)
@@ -563,6 +579,7 @@ __float32_to_float16_scalar_rtn(float x)
return u16;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_float16, 22.11)
int
rte_ml_io_float32_to_float16(const void *input, void *output, uint64_t nb_elements)
{
@@ -647,6 +664,7 @@ __float16_to_float32_scalar_rtx(uint16_t f16)
return f32.f;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float16_to_float32, 22.11)
int
rte_ml_io_float16_to_float32(const void *input, void *output, uint64_t nb_elements)
{
diff --git a/lib/mldev/mldev_utils_scalar_bfloat16.c b/lib/mldev/mldev_utils_scalar_bfloat16.c
index 3f93272518..795c62c4e4 100644
--- a/lib/mldev/mldev_utils_scalar_bfloat16.c
+++ b/lib/mldev/mldev_utils_scalar_bfloat16.c
@@ -91,6 +91,7 @@ __float32_to_bfloat16_scalar_rtn(float x)
return u16;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_float32_to_bfloat16, 22.11)
int
rte_ml_io_float32_to_bfloat16(const void *input, void *output, uint64_t nb_elements)
{
@@ -173,6 +174,7 @@ __bfloat16_to_float32_scalar_rtx(uint16_t f16)
return f32.f;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_bfloat16_to_float32, 22.11)
int
rte_ml_io_bfloat16_to_float32(const void *input, void *output, uint64_t nb_elements)
{
diff --git a/lib/mldev/rte_mldev.c b/lib/mldev/rte_mldev.c
index a81ece07b6..ebce2f1d28 100644
--- a/lib/mldev/rte_mldev.c
+++ b/lib/mldev/rte_mldev.c
@@ -23,12 +23,14 @@ struct rte_ml_op_pool_private {
/*< Size of private user data with each operation. */
};
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ml_dev_pmd_get_dev)
struct rte_ml_dev *
rte_ml_dev_pmd_get_dev(int16_t dev_id)
{
return &ml_dev_globals.devs[dev_id];
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ml_dev_pmd_get_named_dev)
struct rte_ml_dev *
rte_ml_dev_pmd_get_named_dev(const char *name)
{
@@ -47,6 +49,7 @@ rte_ml_dev_pmd_get_named_dev(const char *name)
return NULL;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ml_dev_pmd_allocate)
struct rte_ml_dev *
rte_ml_dev_pmd_allocate(const char *name, uint8_t socket_id)
{
@@ -120,6 +123,7 @@ rte_ml_dev_pmd_allocate(const char *name, uint8_t socket_id)
return dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ml_dev_pmd_release)
int
rte_ml_dev_pmd_release(struct rte_ml_dev *dev)
{
@@ -155,6 +159,7 @@ rte_ml_dev_pmd_release(struct rte_ml_dev *dev)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_init, 22.11)
int
rte_ml_dev_init(size_t dev_max)
{
@@ -190,12 +195,14 @@ rte_ml_dev_init(size_t dev_max)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_count, 22.11)
uint16_t
rte_ml_dev_count(void)
{
return ml_dev_globals.nb_devs;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_is_valid_dev, 22.11)
int
rte_ml_dev_is_valid_dev(int16_t dev_id)
{
@@ -211,6 +218,7 @@ rte_ml_dev_is_valid_dev(int16_t dev_id)
return 1;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_socket_id, 22.11)
int
rte_ml_dev_socket_id(int16_t dev_id)
{
@@ -226,6 +234,7 @@ rte_ml_dev_socket_id(int16_t dev_id)
return dev->data->socket_id;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_info_get, 22.11)
int
rte_ml_dev_info_get(int16_t dev_id, struct rte_ml_dev_info *dev_info)
{
@@ -249,6 +258,7 @@ rte_ml_dev_info_get(int16_t dev_id, struct rte_ml_dev_info *dev_info)
return dev->dev_ops->dev_info_get(dev, dev_info);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_configure, 22.11)
int
rte_ml_dev_configure(int16_t dev_id, const struct rte_ml_dev_config *config)
{
@@ -288,6 +298,7 @@ rte_ml_dev_configure(int16_t dev_id, const struct rte_ml_dev_config *config)
return dev->dev_ops->dev_configure(dev, config);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_close, 22.11)
int
rte_ml_dev_close(int16_t dev_id)
{
@@ -311,6 +322,7 @@ rte_ml_dev_close(int16_t dev_id)
return dev->dev_ops->dev_close(dev);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_start, 22.11)
int
rte_ml_dev_start(int16_t dev_id)
{
@@ -338,6 +350,7 @@ rte_ml_dev_start(int16_t dev_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_stop, 22.11)
int
rte_ml_dev_stop(int16_t dev_id)
{
@@ -365,6 +378,7 @@ rte_ml_dev_stop(int16_t dev_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_queue_pair_count, 22.11)
uint16_t
rte_ml_dev_queue_pair_count(int16_t dev_id)
{
@@ -380,6 +394,7 @@ rte_ml_dev_queue_pair_count(int16_t dev_id)
return dev->data->nb_queue_pairs;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_queue_pair_setup, 22.11)
int
rte_ml_dev_queue_pair_setup(int16_t dev_id, uint16_t queue_pair_id,
const struct rte_ml_dev_qp_conf *qp_conf, int socket_id)
@@ -413,6 +428,7 @@ rte_ml_dev_queue_pair_setup(int16_t dev_id, uint16_t queue_pair_id,
return dev->dev_ops->dev_queue_pair_setup(dev, queue_pair_id, qp_conf, socket_id);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_stats_get, 22.11)
int
rte_ml_dev_stats_get(int16_t dev_id, struct rte_ml_dev_stats *stats)
{
@@ -436,6 +452,7 @@ rte_ml_dev_stats_get(int16_t dev_id, struct rte_ml_dev_stats *stats)
return dev->dev_ops->dev_stats_get(dev, stats);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_stats_reset, 22.11)
void
rte_ml_dev_stats_reset(int16_t dev_id)
{
@@ -453,6 +470,7 @@ rte_ml_dev_stats_reset(int16_t dev_id)
dev->dev_ops->dev_stats_reset(dev);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_xstats_names_get, 22.11)
int
rte_ml_dev_xstats_names_get(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, int32_t model_id,
struct rte_ml_dev_xstats_map *xstats_map, uint32_t size)
@@ -471,6 +489,7 @@ rte_ml_dev_xstats_names_get(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, in
return dev->dev_ops->dev_xstats_names_get(dev, mode, model_id, xstats_map, size);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_xstats_by_name_get, 22.11)
int
rte_ml_dev_xstats_by_name_get(int16_t dev_id, const char *name, uint16_t *stat_id, uint64_t *value)
{
@@ -498,6 +517,7 @@ rte_ml_dev_xstats_by_name_get(int16_t dev_id, const char *name, uint16_t *stat_i
return dev->dev_ops->dev_xstats_by_name_get(dev, name, stat_id, value);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_xstats_get, 22.11)
int
rte_ml_dev_xstats_get(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, int32_t model_id,
const uint16_t stat_ids[], uint64_t values[], uint16_t nb_ids)
@@ -526,6 +546,7 @@ rte_ml_dev_xstats_get(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, int32_t
return dev->dev_ops->dev_xstats_get(dev, mode, model_id, stat_ids, values, nb_ids);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_xstats_reset, 22.11)
int
rte_ml_dev_xstats_reset(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, int32_t model_id,
const uint16_t stat_ids[], uint16_t nb_ids)
@@ -544,6 +565,7 @@ rte_ml_dev_xstats_reset(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, int32_
return dev->dev_ops->dev_xstats_reset(dev, mode, model_id, stat_ids, nb_ids);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_dump, 22.11)
int
rte_ml_dev_dump(int16_t dev_id, FILE *fd)
{
@@ -566,6 +588,7 @@ rte_ml_dev_dump(int16_t dev_id, FILE *fd)
return dev->dev_ops->dev_dump(dev, fd);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_selftest, 22.11)
int
rte_ml_dev_selftest(int16_t dev_id)
{
@@ -583,6 +606,7 @@ rte_ml_dev_selftest(int16_t dev_id)
return dev->dev_ops->dev_selftest(dev);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_model_load, 22.11)
int
rte_ml_model_load(int16_t dev_id, struct rte_ml_model_params *params, uint16_t *model_id)
{
@@ -610,6 +634,7 @@ rte_ml_model_load(int16_t dev_id, struct rte_ml_model_params *params, uint16_t *
return dev->dev_ops->model_load(dev, params, model_id);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_model_unload, 22.11)
int
rte_ml_model_unload(int16_t dev_id, uint16_t model_id)
{
@@ -627,6 +652,7 @@ rte_ml_model_unload(int16_t dev_id, uint16_t model_id)
return dev->dev_ops->model_unload(dev, model_id);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_model_start, 22.11)
int
rte_ml_model_start(int16_t dev_id, uint16_t model_id)
{
@@ -644,6 +670,7 @@ rte_ml_model_start(int16_t dev_id, uint16_t model_id)
return dev->dev_ops->model_start(dev, model_id);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_model_stop, 22.11)
int
rte_ml_model_stop(int16_t dev_id, uint16_t model_id)
{
@@ -661,6 +688,7 @@ rte_ml_model_stop(int16_t dev_id, uint16_t model_id)
return dev->dev_ops->model_stop(dev, model_id);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_model_info_get, 22.11)
int
rte_ml_model_info_get(int16_t dev_id, uint16_t model_id, struct rte_ml_model_info *model_info)
{
@@ -684,6 +712,7 @@ rte_ml_model_info_get(int16_t dev_id, uint16_t model_id, struct rte_ml_model_inf
return dev->dev_ops->model_info_get(dev, model_id, model_info);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_model_params_update, 22.11)
int
rte_ml_model_params_update(int16_t dev_id, uint16_t model_id, void *buffer)
{
@@ -706,6 +735,7 @@ rte_ml_model_params_update(int16_t dev_id, uint16_t model_id, void *buffer)
return dev->dev_ops->model_params_update(dev, model_id, buffer);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_quantize, 22.11)
int
rte_ml_io_quantize(int16_t dev_id, uint16_t model_id, struct rte_ml_buff_seg **dbuffer,
struct rte_ml_buff_seg **qbuffer)
@@ -734,6 +764,7 @@ rte_ml_io_quantize(int16_t dev_id, uint16_t model_id, struct rte_ml_buff_seg **d
return dev->dev_ops->io_quantize(dev, model_id, dbuffer, qbuffer);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_io_dequantize, 22.11)
int
rte_ml_io_dequantize(int16_t dev_id, uint16_t model_id, struct rte_ml_buff_seg **qbuffer,
struct rte_ml_buff_seg **dbuffer)
@@ -774,6 +805,7 @@ ml_op_init(struct rte_mempool *mempool, __rte_unused void *opaque_arg, void *_op
op->mempool = mempool;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_op_pool_create, 22.11)
struct rte_mempool *
rte_ml_op_pool_create(const char *name, unsigned int nb_elts, unsigned int cache_size,
uint16_t user_size, int socket_id)
@@ -813,12 +845,14 @@ rte_ml_op_pool_create(const char *name, unsigned int nb_elts, unsigned int cache
return mp;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_op_pool_free, 22.11)
void
rte_ml_op_pool_free(struct rte_mempool *mempool)
{
rte_mempool_free(mempool);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_enqueue_burst, 22.11)
uint16_t
rte_ml_enqueue_burst(int16_t dev_id, uint16_t qp_id, struct rte_ml_op **ops, uint16_t nb_ops)
{
@@ -855,6 +889,7 @@ rte_ml_enqueue_burst(int16_t dev_id, uint16_t qp_id, struct rte_ml_op **ops, uin
return dev->enqueue_burst(dev, qp_id, ops, nb_ops);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dequeue_burst, 22.11)
uint16_t
rte_ml_dequeue_burst(int16_t dev_id, uint16_t qp_id, struct rte_ml_op **ops, uint16_t nb_ops)
{
@@ -891,6 +926,7 @@ rte_ml_dequeue_burst(int16_t dev_id, uint16_t qp_id, struct rte_ml_op **ops, uin
return dev->dequeue_burst(dev, qp_id, ops, nb_ops);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_op_error_get, 22.11)
int
rte_ml_op_error_get(int16_t dev_id, struct rte_ml_op *op, struct rte_ml_op_error *error)
{
@@ -922,4 +958,5 @@ rte_ml_op_error_get(int16_t dev_id, struct rte_ml_op *op, struct rte_ml_op_error
return dev->op_error_get(dev, op, error);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ml_dev_logtype, 22.11)
RTE_LOG_REGISTER_DEFAULT(rte_ml_dev_logtype, INFO);
diff --git a/lib/mldev/rte_mldev_pmd.c b/lib/mldev/rte_mldev_pmd.c
index 3169e5d4fa..70604f2cf1 100644
--- a/lib/mldev/rte_mldev_pmd.c
+++ b/lib/mldev/rte_mldev_pmd.c
@@ -8,6 +8,7 @@
#include "rte_mldev_pmd.h"
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ml_dev_pmd_create)
struct rte_ml_dev *
rte_ml_dev_pmd_create(const char *name, struct rte_device *device,
struct rte_ml_dev_pmd_init_params *params)
@@ -42,6 +43,7 @@ rte_ml_dev_pmd_create(const char *name, struct rte_device *device,
return dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_ml_dev_pmd_destroy)
int
rte_ml_dev_pmd_destroy(struct rte_ml_dev *dev)
{
diff --git a/lib/net/rte_arp.c b/lib/net/rte_arp.c
index 22af519586..05e6c379bf 100644
--- a/lib/net/rte_arp.c
+++ b/lib/net/rte_arp.c
@@ -5,6 +5,7 @@
#include <rte_arp.h>
#define RARP_PKT_SIZE 64
+RTE_EXPORT_SYMBOL(rte_net_make_rarp_packet)
struct rte_mbuf *
rte_net_make_rarp_packet(struct rte_mempool *mpool,
const struct rte_ether_addr *mac)
diff --git a/lib/net/rte_ether.c b/lib/net/rte_ether.c
index f59c20289d..471afadfb0 100644
--- a/lib/net/rte_ether.c
+++ b/lib/net/rte_ether.c
@@ -7,6 +7,7 @@
#include <rte_ether.h>
#include <rte_errno.h>
+RTE_EXPORT_SYMBOL(rte_eth_random_addr)
void
rte_eth_random_addr(uint8_t *addr)
{
@@ -18,6 +19,7 @@ rte_eth_random_addr(uint8_t *addr)
addr[0] |= RTE_ETHER_LOCAL_ADMIN_ADDR; /* set local assignment bit */
}
+RTE_EXPORT_SYMBOL(rte_ether_format_addr)
void
rte_ether_format_addr(char *buf, uint16_t size,
const struct rte_ether_addr *eth_addr)
@@ -130,6 +132,7 @@ static unsigned int get_ether_sep(const char *s, char *sep)
* - Windows format six groups separated by hyphen
* - two groups hexadecimal digits
*/
+RTE_EXPORT_SYMBOL(rte_ether_unformat_addr)
int
rte_ether_unformat_addr(const char *s, struct rte_ether_addr *ea)
{
diff --git a/lib/net/rte_net.c b/lib/net/rte_net.c
index 0c32e78a13..fde7e84048 100644
--- a/lib/net/rte_net.c
+++ b/lib/net/rte_net.c
@@ -262,6 +262,7 @@ ptype_tunnel_with_udp(uint16_t *proto, const struct rte_mbuf *m,
}
/* parse ipv6 extended headers, update offset and return next proto */
+RTE_EXPORT_SYMBOL(rte_net_skip_ip6_ext)
int
rte_net_skip_ip6_ext(uint16_t proto, const struct rte_mbuf *m, uint32_t *off,
int *frag)
@@ -308,6 +309,7 @@ rte_net_skip_ip6_ext(uint16_t proto, const struct rte_mbuf *m, uint32_t *off,
}
/* parse mbuf data to get packet type */
+RTE_EXPORT_SYMBOL(rte_net_get_ptype)
uint32_t rte_net_get_ptype(const struct rte_mbuf *m,
struct rte_net_hdr_lens *hdr_lens, uint32_t layers)
{
diff --git a/lib/net/rte_net_crc.c b/lib/net/rte_net_crc.c
index 1943d46295..6133a9c495 100644
--- a/lib/net/rte_net_crc.c
+++ b/lib/net/rte_net_crc.c
@@ -413,6 +413,7 @@ RTE_DEFAULT_SYMBOL(26, struct rte_net_crc *, rte_net_crc_set_alg, (enum rte_net_
return crc;
}
+RTE_EXPORT_SYMBOL(rte_net_crc_free)
void rte_net_crc_free(struct rte_net_crc *crc)
{
rte_free(crc);
diff --git a/lib/node/ethdev_ctrl.c b/lib/node/ethdev_ctrl.c
index cd52e8be08..8218fd8703 100644
--- a/lib/node/ethdev_ctrl.c
+++ b/lib/node/ethdev_ctrl.c
@@ -20,6 +20,7 @@ static struct ethdev_ctrl {
uint16_t nb_graphs;
} ctrl;
+RTE_EXPORT_SYMBOL(rte_node_eth_config)
int
rte_node_eth_config(struct rte_node_ethdev_config *conf, uint16_t nb_confs,
uint16_t nb_graphs)
@@ -131,6 +132,7 @@ rte_node_eth_config(struct rte_node_ethdev_config *conf, uint16_t nb_confs,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_node_ethdev_rx_next_update, 24.03)
int
rte_node_ethdev_rx_next_update(rte_node_t id, const char *edge_name)
{
diff --git a/lib/node/ip4_lookup.c b/lib/node/ip4_lookup.c
index 0b474cd2bc..e50df3925e 100644
--- a/lib/node/ip4_lookup.c
+++ b/lib/node/ip4_lookup.c
@@ -119,6 +119,7 @@ ip4_lookup_node_process_scalar(struct rte_graph *graph, struct rte_node *node,
return nb_objs;
}
+RTE_EXPORT_SYMBOL(rte_node_ip4_route_add)
int
rte_node_ip4_route_add(uint32_t ip, uint8_t depth, uint16_t next_hop,
enum rte_node_ip4_lookup_next next_node)
diff --git a/lib/node/ip4_reassembly.c b/lib/node/ip4_reassembly.c
index eb5f391114..9f9cf2d326 100644
--- a/lib/node/ip4_reassembly.c
+++ b/lib/node/ip4_reassembly.c
@@ -127,6 +127,7 @@ ip4_reassembly_node_process(struct rte_graph *graph, struct rte_node *node, void
return idx;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_node_ip4_reassembly_configure, 23.11)
int
rte_node_ip4_reassembly_configure(struct rte_node_ip4_reassembly_cfg *cfg, uint16_t cnt)
{
diff --git a/lib/node/ip4_rewrite.c b/lib/node/ip4_rewrite.c
index 34a920df5e..8916bc9a1c 100644
--- a/lib/node/ip4_rewrite.c
+++ b/lib/node/ip4_rewrite.c
@@ -292,6 +292,7 @@ ip4_rewrite_set_next(uint16_t port_id, uint16_t next_index)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_node_ip4_rewrite_add)
int
rte_node_ip4_rewrite_add(uint16_t next_hop, uint8_t *rewrite_data,
uint8_t rewrite_len, uint16_t dst_port)
diff --git a/lib/node/ip6_lookup.c b/lib/node/ip6_lookup.c
index f378d2d064..6df326c36f 100644
--- a/lib/node/ip6_lookup.c
+++ b/lib/node/ip6_lookup.c
@@ -257,6 +257,7 @@ ip6_lookup_node_process_scalar(struct rte_graph *graph, struct rte_node *node,
return nb_objs;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_node_ip6_route_add, 23.07)
int
rte_node_ip6_route_add(const struct rte_ipv6_addr *ip, uint8_t depth, uint16_t next_hop,
enum rte_node_ip6_lookup_next next_node)
diff --git a/lib/node/ip6_rewrite.c b/lib/node/ip6_rewrite.c
index 198d8d8820..9a0b8e62c2 100644
--- a/lib/node/ip6_rewrite.c
+++ b/lib/node/ip6_rewrite.c
@@ -276,6 +276,7 @@ ip6_rewrite_set_next(uint16_t port_id, uint16_t next_index)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_node_ip6_rewrite_add, 23.07)
int
rte_node_ip6_rewrite_add(uint16_t next_hop, uint8_t *rewrite_data,
uint8_t rewrite_len, uint16_t dst_port)
diff --git a/lib/node/udp4_input.c b/lib/node/udp4_input.c
index bbcb2c70e7..7aa9b31a8b 100644
--- a/lib/node/udp4_input.c
+++ b/lib/node/udp4_input.c
@@ -55,6 +55,7 @@ static struct rte_hash_parameters udp4_params = {
.socket_id = 0,
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_node_udp4_dst_port_add, 23.11)
int
rte_node_udp4_dst_port_add(uint32_t dst_port, rte_edge_t next_node)
{
@@ -76,6 +77,7 @@ rte_node_udp4_dst_port_add(uint32_t dst_port, rte_edge_t next_node)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_node_udp4_usr_node_add, 23.11)
int
rte_node_udp4_usr_node_add(const char *usr_node)
{
diff --git a/lib/pcapng/rte_pcapng.c b/lib/pcapng/rte_pcapng.c
index 16485b27cb..a8b64c1a8f 100644
--- a/lib/pcapng/rte_pcapng.c
+++ b/lib/pcapng/rte_pcapng.c
@@ -199,6 +199,7 @@ pcapng_section_block(rte_pcapng_t *self,
}
/* Write an interface block for a DPDK port */
+RTE_EXPORT_SYMBOL(rte_pcapng_add_interface)
int
rte_pcapng_add_interface(rte_pcapng_t *self, uint16_t port,
const char *ifname, const char *ifdescr,
@@ -320,6 +321,7 @@ rte_pcapng_add_interface(rte_pcapng_t *self, uint16_t port,
/*
* Write an Interface statistics block at the end of capture.
*/
+RTE_EXPORT_SYMBOL(rte_pcapng_write_stats)
ssize_t
rte_pcapng_write_stats(rte_pcapng_t *self, uint16_t port_id,
uint64_t ifrecv, uint64_t ifdrop,
@@ -385,6 +387,7 @@ rte_pcapng_write_stats(rte_pcapng_t *self, uint16_t port_id,
return write(self->outfd, buf, len);
}
+RTE_EXPORT_SYMBOL(rte_pcapng_mbuf_size)
uint32_t
rte_pcapng_mbuf_size(uint32_t length)
{
@@ -466,6 +469,7 @@ pcapng_vlan_insert(struct rte_mbuf *m, uint16_t ether_type, uint16_t tci)
*/
/* Make a copy of original mbuf with pcapng header and options */
+RTE_EXPORT_SYMBOL(rte_pcapng_copy)
struct rte_mbuf *
rte_pcapng_copy(uint16_t port_id, uint32_t queue,
const struct rte_mbuf *md,
@@ -607,6 +611,7 @@ rte_pcapng_copy(uint16_t port_id, uint32_t queue,
}
/* Write pre-formatted packets to file. */
+RTE_EXPORT_SYMBOL(rte_pcapng_write_packets)
ssize_t
rte_pcapng_write_packets(rte_pcapng_t *self,
struct rte_mbuf *pkts[], uint16_t nb_pkts)
@@ -676,6 +681,7 @@ rte_pcapng_write_packets(rte_pcapng_t *self,
}
/* Create new pcapng writer handle */
+RTE_EXPORT_SYMBOL(rte_pcapng_fdopen)
rte_pcapng_t *
rte_pcapng_fdopen(int fd,
const char *osname, const char *hardware,
@@ -713,6 +719,7 @@ rte_pcapng_fdopen(int fd,
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_pcapng_close)
void
rte_pcapng_close(rte_pcapng_t *self)
{
diff --git a/lib/pci/rte_pci.c b/lib/pci/rte_pci.c
index 1c5ef951d3..89c4c578af 100644
--- a/lib/pci/rte_pci.c
+++ b/lib/pci/rte_pci.c
@@ -92,6 +92,7 @@ pci_dbdf_parse(const char *input, struct rte_pci_addr *dev_addr)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pci_device_name)
void
rte_pci_device_name(const struct rte_pci_addr *addr,
char *output, size_t size)
@@ -102,6 +103,7 @@ rte_pci_device_name(const struct rte_pci_addr *addr,
addr->devid, addr->function) >= 0);
}
+RTE_EXPORT_SYMBOL(rte_pci_addr_cmp)
int
rte_pci_addr_cmp(const struct rte_pci_addr *addr,
const struct rte_pci_addr *addr2)
@@ -124,6 +126,7 @@ rte_pci_addr_cmp(const struct rte_pci_addr *addr,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pci_addr_parse)
int
rte_pci_addr_parse(const char *str, struct rte_pci_addr *addr)
{
diff --git a/lib/pdcp/rte_pdcp.c b/lib/pdcp/rte_pdcp.c
index 1c076fb448..d756d1a4f4 100644
--- a/lib/pdcp/rte_pdcp.c
+++ b/lib/pdcp/rte_pdcp.c
@@ -97,6 +97,7 @@ pdcp_dl_establish(struct rte_pdcp_entity *entity, const struct rte_pdcp_entity_c
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pdcp_entity_establish, 23.07)
struct rte_pdcp_entity *
rte_pdcp_entity_establish(const struct rte_pdcp_entity_conf *conf)
{
@@ -197,6 +198,7 @@ pdcp_dl_release(struct rte_pdcp_entity *entity, struct rte_mbuf *out_mb[])
return nb_out;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pdcp_entity_release, 23.07)
int
rte_pdcp_entity_release(struct rte_pdcp_entity *pdcp_entity, struct rte_mbuf *out_mb[])
{
@@ -219,6 +221,7 @@ rte_pdcp_entity_release(struct rte_pdcp_entity *pdcp_entity, struct rte_mbuf *ou
return nb_out;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pdcp_entity_suspend, 23.07)
int
rte_pdcp_entity_suspend(struct rte_pdcp_entity *pdcp_entity,
struct rte_mbuf *out_mb[])
@@ -246,6 +249,7 @@ rte_pdcp_entity_suspend(struct rte_pdcp_entity *pdcp_entity,
return nb_out;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pdcp_control_pdu_create, 23.07)
struct rte_mbuf *
rte_pdcp_control_pdu_create(struct rte_pdcp_entity *pdcp_entity,
enum rte_pdcp_ctrl_pdu_type type)
@@ -286,6 +290,7 @@ rte_pdcp_control_pdu_create(struct rte_pdcp_entity *pdcp_entity,
return m;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_pdcp_t_reordering_expiry_handle, 23.07)
uint16_t
rte_pdcp_t_reordering_expiry_handle(const struct rte_pdcp_entity *entity, struct rte_mbuf *out_mb[])
{
diff --git a/lib/pdump/rte_pdump.c b/lib/pdump/rte_pdump.c
index 679c3dd0b5..08b6863da3 100644
--- a/lib/pdump/rte_pdump.c
+++ b/lib/pdump/rte_pdump.c
@@ -414,6 +414,7 @@ pdump_server(const struct rte_mp_msg *mp_msg, const void *peer)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pdump_init)
int
rte_pdump_init(void)
{
@@ -436,6 +437,7 @@ rte_pdump_init(void)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pdump_uninit)
int
rte_pdump_uninit(void)
{
@@ -606,6 +608,7 @@ pdump_enable(uint16_t port, uint16_t queue,
ENABLE, ring, mp, prm);
}
+RTE_EXPORT_SYMBOL(rte_pdump_enable)
int
rte_pdump_enable(uint16_t port, uint16_t queue, uint32_t flags,
struct rte_ring *ring,
@@ -616,6 +619,7 @@ rte_pdump_enable(uint16_t port, uint16_t queue, uint32_t flags,
ring, mp, NULL);
}
+RTE_EXPORT_SYMBOL(rte_pdump_enable_bpf)
int
rte_pdump_enable_bpf(uint16_t port, uint16_t queue,
uint32_t flags, uint32_t snaplen,
@@ -650,6 +654,7 @@ pdump_enable_by_deviceid(const char *device_id, uint16_t queue,
ENABLE, ring, mp, prm);
}
+RTE_EXPORT_SYMBOL(rte_pdump_enable_by_deviceid)
int
rte_pdump_enable_by_deviceid(char *device_id, uint16_t queue,
uint32_t flags,
@@ -661,6 +666,7 @@ rte_pdump_enable_by_deviceid(char *device_id, uint16_t queue,
ring, mp, NULL);
}
+RTE_EXPORT_SYMBOL(rte_pdump_enable_bpf_by_deviceid)
int
rte_pdump_enable_bpf_by_deviceid(const char *device_id, uint16_t queue,
uint32_t flags, uint32_t snaplen,
@@ -672,6 +678,7 @@ rte_pdump_enable_bpf_by_deviceid(const char *device_id, uint16_t queue,
ring, mp, prm);
}
+RTE_EXPORT_SYMBOL(rte_pdump_disable)
int
rte_pdump_disable(uint16_t port, uint16_t queue, uint32_t flags)
{
@@ -691,6 +698,7 @@ rte_pdump_disable(uint16_t port, uint16_t queue, uint32_t flags)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_pdump_disable_by_deviceid)
int
rte_pdump_disable_by_deviceid(char *device_id, uint16_t queue,
uint32_t flags)
@@ -727,6 +735,7 @@ pdump_sum_stats(uint16_t port, uint16_t nq,
}
}
+RTE_EXPORT_SYMBOL(rte_pdump_stats)
int
rte_pdump_stats(uint16_t port, struct rte_pdump_stats *stats)
{
diff --git a/lib/pipeline/rte_pipeline.c b/lib/pipeline/rte_pipeline.c
index a09a89f746..0fc6417b7b 100644
--- a/lib/pipeline/rte_pipeline.c
+++ b/lib/pipeline/rte_pipeline.c
@@ -189,6 +189,7 @@ rte_pipeline_check_params(struct rte_pipeline_params *params)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_create)
struct rte_pipeline *
rte_pipeline_create(struct rte_pipeline_params *params)
{
@@ -231,6 +232,7 @@ rte_pipeline_create(struct rte_pipeline_params *params)
return p;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_free)
int
rte_pipeline_free(struct rte_pipeline *p)
{
@@ -324,6 +326,7 @@ rte_table_check_params(struct rte_pipeline *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_table_create)
int
rte_pipeline_table_create(struct rte_pipeline *p,
struct rte_pipeline_table_params *params,
@@ -395,6 +398,7 @@ rte_pipeline_table_free(struct rte_table *table)
rte_free(table->default_entry);
}
+RTE_EXPORT_SYMBOL(rte_pipeline_table_default_entry_add)
int
rte_pipeline_table_default_entry_add(struct rte_pipeline *p,
uint32_t table_id,
@@ -445,6 +449,7 @@ rte_pipeline_table_default_entry_add(struct rte_pipeline *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_table_default_entry_delete)
int
rte_pipeline_table_default_entry_delete(struct rte_pipeline *p,
uint32_t table_id,
@@ -478,6 +483,7 @@ rte_pipeline_table_default_entry_delete(struct rte_pipeline *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_table_entry_add)
int
rte_pipeline_table_entry_add(struct rte_pipeline *p,
uint32_t table_id,
@@ -539,6 +545,7 @@ rte_pipeline_table_entry_add(struct rte_pipeline *p,
key_found, (void **) entry_ptr);
}
+RTE_EXPORT_SYMBOL(rte_pipeline_table_entry_delete)
int
rte_pipeline_table_entry_delete(struct rte_pipeline *p,
uint32_t table_id,
@@ -578,6 +585,7 @@ rte_pipeline_table_entry_delete(struct rte_pipeline *p,
return (table->ops.f_delete)(table->h_table, key, key_found, entry);
}
+RTE_EXPORT_SYMBOL(rte_pipeline_table_entry_add_bulk)
int rte_pipeline_table_entry_add_bulk(struct rte_pipeline *p,
uint32_t table_id,
void **keys,
@@ -644,6 +652,7 @@ int rte_pipeline_table_entry_add_bulk(struct rte_pipeline *p,
n_keys, key_found, (void **) entries_ptr);
}
+RTE_EXPORT_SYMBOL(rte_pipeline_table_entry_delete_bulk)
int rte_pipeline_table_entry_delete_bulk(struct rte_pipeline *p,
uint32_t table_id,
void **keys,
@@ -801,6 +810,7 @@ rte_pipeline_port_out_check_params(struct rte_pipeline *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_port_in_create)
int
rte_pipeline_port_in_create(struct rte_pipeline *p,
struct rte_pipeline_port_in_params *params,
@@ -851,6 +861,7 @@ rte_pipeline_port_in_free(struct rte_port_in *port)
port->ops.f_free(port->h_port);
}
+RTE_EXPORT_SYMBOL(rte_pipeline_port_out_create)
int
rte_pipeline_port_out_create(struct rte_pipeline *p,
struct rte_pipeline_port_out_params *params,
@@ -898,6 +909,7 @@ rte_pipeline_port_out_free(struct rte_port_out *port)
port->ops.f_free(port->h_port);
}
+RTE_EXPORT_SYMBOL(rte_pipeline_port_in_connect_to_table)
int
rte_pipeline_port_in_connect_to_table(struct rte_pipeline *p,
uint32_t port_id,
@@ -932,6 +944,7 @@ rte_pipeline_port_in_connect_to_table(struct rte_pipeline *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_port_in_enable)
int
rte_pipeline_port_in_enable(struct rte_pipeline *p, uint32_t port_id)
{
@@ -979,6 +992,7 @@ rte_pipeline_port_in_enable(struct rte_pipeline *p, uint32_t port_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_port_in_disable)
int
rte_pipeline_port_in_disable(struct rte_pipeline *p, uint32_t port_id)
{
@@ -1034,6 +1048,7 @@ rte_pipeline_port_in_disable(struct rte_pipeline *p, uint32_t port_id)
/*
* Pipeline run-time
*/
+RTE_EXPORT_SYMBOL(rte_pipeline_check)
int
rte_pipeline_check(struct rte_pipeline *p)
{
@@ -1307,6 +1322,7 @@ rte_pipeline_action_handler_drop(struct rte_pipeline *p, uint64_t pkts_mask)
}
}
+RTE_EXPORT_SYMBOL(rte_pipeline_run)
int
rte_pipeline_run(struct rte_pipeline *p)
{
@@ -1446,6 +1462,7 @@ rte_pipeline_run(struct rte_pipeline *p)
return (int) n_pkts;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_flush)
int
rte_pipeline_flush(struct rte_pipeline *p)
{
@@ -1468,6 +1485,7 @@ rte_pipeline_flush(struct rte_pipeline *p)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_port_out_packet_insert)
int
rte_pipeline_port_out_packet_insert(struct rte_pipeline *p,
uint32_t port_id, struct rte_mbuf *pkt)
@@ -1479,6 +1497,7 @@ rte_pipeline_port_out_packet_insert(struct rte_pipeline *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_ah_packet_hijack)
int rte_pipeline_ah_packet_hijack(struct rte_pipeline *p,
uint64_t pkts_mask)
{
@@ -1488,6 +1507,7 @@ int rte_pipeline_ah_packet_hijack(struct rte_pipeline *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_ah_packet_drop)
int rte_pipeline_ah_packet_drop(struct rte_pipeline *p,
uint64_t pkts_mask)
{
@@ -1499,6 +1519,7 @@ int rte_pipeline_ah_packet_drop(struct rte_pipeline *p,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_port_in_stats_read)
int rte_pipeline_port_in_stats_read(struct rte_pipeline *p, uint32_t port_id,
struct rte_pipeline_port_in_stats *stats, int clear)
{
@@ -1536,6 +1557,7 @@ int rte_pipeline_port_in_stats_read(struct rte_pipeline *p, uint32_t port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_port_out_stats_read)
int rte_pipeline_port_out_stats_read(struct rte_pipeline *p, uint32_t port_id,
struct rte_pipeline_port_out_stats *stats, int clear)
{
@@ -1570,6 +1592,7 @@ int rte_pipeline_port_out_stats_read(struct rte_pipeline *p, uint32_t port_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pipeline_table_stats_read)
int rte_pipeline_table_stats_read(struct rte_pipeline *p, uint32_t table_id,
struct rte_pipeline_table_stats *stats, int clear)
{
diff --git a/lib/pipeline/rte_port_in_action.c b/lib/pipeline/rte_port_in_action.c
index 4127bd2cab..2d018966b0 100644
--- a/lib/pipeline/rte_port_in_action.c
+++ b/lib/pipeline/rte_port_in_action.c
@@ -200,6 +200,7 @@ struct rte_port_in_action_profile {
int frozen;
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_in_action_profile_create, 18.05)
struct rte_port_in_action_profile *
rte_port_in_action_profile_create(uint32_t socket_id)
{
@@ -216,6 +217,7 @@ rte_port_in_action_profile_create(uint32_t socket_id)
return ap;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_in_action_profile_action_register, 18.05)
int
rte_port_in_action_profile_action_register(struct rte_port_in_action_profile *profile,
enum rte_port_in_action_type type,
@@ -255,6 +257,7 @@ rte_port_in_action_profile_action_register(struct rte_port_in_action_profile *pr
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_in_action_profile_freeze, 18.05)
int
rte_port_in_action_profile_freeze(struct rte_port_in_action_profile *profile)
{
@@ -267,6 +270,7 @@ rte_port_in_action_profile_freeze(struct rte_port_in_action_profile *profile)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_in_action_profile_free, 18.05)
int
rte_port_in_action_profile_free(struct rte_port_in_action_profile *profile)
{
@@ -315,6 +319,7 @@ action_data_init(struct rte_port_in_action *action,
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_in_action_create, 18.05)
struct rte_port_in_action *
rte_port_in_action_create(struct rte_port_in_action_profile *profile,
uint32_t socket_id)
@@ -351,6 +356,7 @@ rte_port_in_action_create(struct rte_port_in_action_profile *profile,
return action;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_in_action_apply, 18.05)
int
rte_port_in_action_apply(struct rte_port_in_action *action,
enum rte_port_in_action_type type,
@@ -498,6 +504,7 @@ ah_selector(struct rte_port_in_action *action)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_in_action_params_get, 18.05)
int
rte_port_in_action_params_get(struct rte_port_in_action *action,
struct rte_pipeline_port_in_params *params)
@@ -518,6 +525,7 @@ rte_port_in_action_params_get(struct rte_port_in_action *action,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_in_action_free, 18.05)
int
rte_port_in_action_free(struct rte_port_in_action *action)
{
diff --git a/lib/pipeline/rte_swx_ctl.c b/lib/pipeline/rte_swx_ctl.c
index 857770d297..fddf30fa1c 100644
--- a/lib/pipeline/rte_swx_ctl.c
+++ b/lib/pipeline/rte_swx_ctl.c
@@ -1170,6 +1170,7 @@ static struct rte_tailq_elem rte_swx_ctl_pipeline_tailq = {
EAL_REGISTER_TAILQ(rte_swx_ctl_pipeline_tailq)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_find, 22.11)
struct rte_swx_ctl_pipeline *
rte_swx_ctl_pipeline_find(const char *name)
{
@@ -1249,6 +1250,7 @@ ctl_unregister(struct rte_swx_ctl_pipeline *ctl)
rte_mcfg_tailq_write_unlock();
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_free, 20.11)
void
rte_swx_ctl_pipeline_free(struct rte_swx_ctl_pipeline *ctl)
{
@@ -1271,6 +1273,7 @@ rte_swx_ctl_pipeline_free(struct rte_swx_ctl_pipeline *ctl)
free(ctl);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_create, 20.11)
struct rte_swx_ctl_pipeline *
rte_swx_ctl_pipeline_create(struct rte_swx_pipeline *p)
{
@@ -1549,6 +1552,7 @@ rte_swx_ctl_pipeline_create(struct rte_swx_pipeline *p)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_table_entry_add, 20.11)
int
rte_swx_ctl_pipeline_table_entry_add(struct rte_swx_ctl_pipeline *ctl,
const char *table_name,
@@ -1663,6 +1667,7 @@ rte_swx_ctl_pipeline_table_entry_add(struct rte_swx_ctl_pipeline *ctl,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_table_entry_delete, 20.11)
int
rte_swx_ctl_pipeline_table_entry_delete(struct rte_swx_ctl_pipeline *ctl,
const char *table_name,
@@ -1753,6 +1758,7 @@ rte_swx_ctl_pipeline_table_entry_delete(struct rte_swx_ctl_pipeline *ctl,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_table_default_entry_add, 20.11)
int
rte_swx_ctl_pipeline_table_default_entry_add(struct rte_swx_ctl_pipeline *ctl,
const char *table_name,
@@ -2090,6 +2096,7 @@ table_abort(struct rte_swx_ctl_pipeline *ctl, uint32_t table_id)
table_pending_default_free(table);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_selector_group_add, 21.08)
int
rte_swx_ctl_pipeline_selector_group_add(struct rte_swx_ctl_pipeline *ctl,
const char *selector_name,
@@ -2117,6 +2124,7 @@ rte_swx_ctl_pipeline_selector_group_add(struct rte_swx_ctl_pipeline *ctl,
return -ENOSPC;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_selector_group_delete, 21.08)
int
rte_swx_ctl_pipeline_selector_group_delete(struct rte_swx_ctl_pipeline *ctl,
const char *selector_name,
@@ -2168,6 +2176,7 @@ rte_swx_ctl_pipeline_selector_group_delete(struct rte_swx_ctl_pipeline *ctl,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_selector_group_member_add, 21.08)
int
rte_swx_ctl_pipeline_selector_group_member_add(struct rte_swx_ctl_pipeline *ctl,
const char *selector_name,
@@ -2227,6 +2236,7 @@ rte_swx_ctl_pipeline_selector_group_member_add(struct rte_swx_ctl_pipeline *ctl,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_selector_group_member_delete, 21.08)
int
rte_swx_ctl_pipeline_selector_group_member_delete(struct rte_swx_ctl_pipeline *ctl,
const char *selector_name,
@@ -2480,6 +2490,7 @@ learner_default_entry_duplicate(struct rte_swx_ctl_pipeline *ctl,
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_learner_default_entry_add, 21.11)
int
rte_swx_ctl_pipeline_learner_default_entry_add(struct rte_swx_ctl_pipeline *ctl,
const char *learner_name,
@@ -2553,6 +2564,7 @@ learner_abort(struct rte_swx_ctl_pipeline *ctl, uint32_t learner_id)
learner_pending_default_free(l);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_commit, 20.11)
int
rte_swx_ctl_pipeline_commit(struct rte_swx_ctl_pipeline *ctl, int abort_on_fail)
{
@@ -2639,6 +2651,7 @@ rte_swx_ctl_pipeline_commit(struct rte_swx_ctl_pipeline *ctl, int abort_on_fail)
return status;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_abort, 20.11)
void
rte_swx_ctl_pipeline_abort(struct rte_swx_ctl_pipeline *ctl)
{
@@ -2973,6 +2986,7 @@ token_is_comment(const char *token)
#define RTE_SWX_CTL_ENTRY_TOKENS_MAX 256
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_table_entry_read, 20.11)
struct rte_swx_table_entry *
rte_swx_ctl_pipeline_table_entry_read(struct rte_swx_ctl_pipeline *ctl,
const char *table_name,
@@ -3172,6 +3186,7 @@ rte_swx_ctl_pipeline_table_entry_read(struct rte_swx_ctl_pipeline *ctl,
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_learner_default_entry_read, 21.11)
struct rte_swx_table_entry *
rte_swx_ctl_pipeline_learner_default_entry_read(struct rte_swx_ctl_pipeline *ctl,
const char *learner_name,
@@ -3324,6 +3339,7 @@ table_entry_printf(FILE *f,
fprintf(f, "\n");
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_table_fprintf, 20.11)
int
rte_swx_ctl_pipeline_table_fprintf(FILE *f,
struct rte_swx_ctl_pipeline *ctl,
@@ -3374,6 +3390,7 @@ rte_swx_ctl_pipeline_table_fprintf(FILE *f,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_selector_fprintf, 21.08)
int
rte_swx_ctl_pipeline_selector_fprintf(FILE *f,
struct rte_swx_ctl_pipeline *ctl,
diff --git a/lib/pipeline/rte_swx_ipsec.c b/lib/pipeline/rte_swx_ipsec.c
index 17a9d2b98b..ee97a70c30 100644
--- a/lib/pipeline/rte_swx_ipsec.c
+++ b/lib/pipeline/rte_swx_ipsec.c
@@ -177,6 +177,7 @@ static struct rte_tailq_elem rte_swx_ipsec_tailq = {
EAL_REGISTER_TAILQ(rte_swx_ipsec_tailq)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ipsec_find, 23.03)
struct rte_swx_ipsec *
rte_swx_ipsec_find(const char *name)
{
@@ -261,6 +262,7 @@ ipsec_unregister(struct rte_swx_ipsec *ipsec)
static void
ipsec_session_free(struct rte_swx_ipsec *ipsec, struct rte_ipsec_session *s);
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ipsec_free, 23.03)
void
rte_swx_ipsec_free(struct rte_swx_ipsec *ipsec)
{
@@ -291,6 +293,7 @@ rte_swx_ipsec_free(struct rte_swx_ipsec *ipsec)
env_free(ipsec, ipsec->total_size);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ipsec_create, 23.03)
int
rte_swx_ipsec_create(struct rte_swx_ipsec **ipsec_out,
const char *name,
@@ -718,6 +721,7 @@ rte_swx_ipsec_post_crypto(struct rte_swx_ipsec *ipsec)
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ipsec_run, 23.03)
void
rte_swx_ipsec_run(struct rte_swx_ipsec *ipsec)
{
@@ -1129,6 +1133,7 @@ do { \
} \
} while (0)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ipsec_sa_read, 23.03)
struct rte_swx_ipsec_sa_params *
rte_swx_ipsec_sa_read(struct rte_swx_ipsec *ipsec __rte_unused,
const char *string,
@@ -1762,6 +1767,7 @@ ipsec_session_free(struct rte_swx_ipsec *ipsec,
memset(s, 0, sizeof(*s));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ipsec_sa_add, 23.03)
int
rte_swx_ipsec_sa_add(struct rte_swx_ipsec *ipsec,
struct rte_swx_ipsec_sa_params *sa_params,
@@ -1801,6 +1807,7 @@ rte_swx_ipsec_sa_add(struct rte_swx_ipsec *ipsec,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ipsec_sa_delete, 23.03)
void
rte_swx_ipsec_sa_delete(struct rte_swx_ipsec *ipsec,
uint32_t sa_id)
diff --git a/lib/pipeline/rte_swx_pipeline.c b/lib/pipeline/rte_swx_pipeline.c
index 6ba86bee1f..f39626b334 100644
--- a/lib/pipeline/rte_swx_pipeline.c
+++ b/lib/pipeline/rte_swx_pipeline.c
@@ -121,6 +121,7 @@ struct_type_field_find(struct struct_type *st, const char *name)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_struct_type_register, 20.11)
int
rte_swx_pipeline_struct_type_register(struct rte_swx_pipeline *p,
const char *name,
@@ -252,6 +253,7 @@ port_in_type_find(struct rte_swx_pipeline *p, const char *name)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_port_in_type_register, 20.11)
int
rte_swx_pipeline_port_in_type_register(struct rte_swx_pipeline *p,
const char *name,
@@ -295,6 +297,7 @@ port_in_find(struct rte_swx_pipeline *p, uint32_t port_id)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_port_in_config, 20.11)
int
rte_swx_pipeline_port_in_config(struct rte_swx_pipeline *p,
uint32_t port_id,
@@ -413,6 +416,7 @@ port_out_type_find(struct rte_swx_pipeline *p, const char *name)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_port_out_type_register, 20.11)
int
rte_swx_pipeline_port_out_type_register(struct rte_swx_pipeline *p,
const char *name,
@@ -458,6 +462,7 @@ port_out_find(struct rte_swx_pipeline *p, uint32_t port_id)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_port_out_config, 20.11)
int
rte_swx_pipeline_port_out_config(struct rte_swx_pipeline *p,
uint32_t port_id,
@@ -564,6 +569,7 @@ port_out_free(struct rte_swx_pipeline *p)
/*
* Packet mirroring.
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_mirroring_config, 20.11)
int
rte_swx_pipeline_mirroring_config(struct rte_swx_pipeline *p,
struct rte_swx_pipeline_mirroring_params *params)
@@ -760,6 +766,7 @@ extern_obj_mailbox_field_parse(struct rte_swx_pipeline *p,
return f;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_extern_type_register, 20.11)
int
rte_swx_pipeline_extern_type_register(struct rte_swx_pipeline *p,
const char *name,
@@ -800,6 +807,7 @@ rte_swx_pipeline_extern_type_register(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_extern_type_member_func_register, 20.11)
int
rte_swx_pipeline_extern_type_member_func_register(struct rte_swx_pipeline *p,
const char *extern_type_name,
@@ -837,6 +845,7 @@ rte_swx_pipeline_extern_type_member_func_register(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_extern_object_config, 20.11)
int
rte_swx_pipeline_extern_object_config(struct rte_swx_pipeline *p,
const char *extern_type_name,
@@ -1053,6 +1062,7 @@ extern_func_mailbox_field_parse(struct rte_swx_pipeline *p,
return f;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_extern_func_register, 20.11)
int
rte_swx_pipeline_extern_func_register(struct rte_swx_pipeline *p,
const char *name,
@@ -1181,6 +1191,7 @@ hash_func_find(struct rte_swx_pipeline *p, const char *name)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_hash_func_register, 22.07)
int
rte_swx_pipeline_hash_func_register(struct rte_swx_pipeline *p,
const char *name,
@@ -1281,6 +1292,7 @@ rss_find_by_id(struct rte_swx_pipeline *p, uint32_t rss_obj_id)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_rss_config, 23.03)
int
rte_swx_pipeline_rss_config(struct rte_swx_pipeline *p, const char *name)
{
@@ -1458,6 +1470,7 @@ header_field_parse(struct rte_swx_pipeline *p,
return f;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_packet_header_register, 20.11)
int
rte_swx_pipeline_packet_header_register(struct rte_swx_pipeline *p,
const char *name,
@@ -1596,6 +1609,7 @@ metadata_field_parse(struct rte_swx_pipeline *p, const char *name)
return struct_type_field_find(p->metadata_st, &name[2]);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_packet_metadata_register, 20.11)
int
rte_swx_pipeline_packet_metadata_register(struct rte_swx_pipeline *p,
const char *struct_type_name)
@@ -7855,6 +7869,7 @@ action_does_learning(struct action *a)
return 0; /* FALSE */
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_action_config, 20.11)
int
rte_swx_pipeline_action_config(struct rte_swx_pipeline *p,
const char *name,
@@ -8219,6 +8234,7 @@ table_find_by_id(struct rte_swx_pipeline *p, uint32_t id)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_table_type_register, 20.11)
int
rte_swx_pipeline_table_type_register(struct rte_swx_pipeline *p,
const char *name,
@@ -8388,6 +8404,7 @@ table_match_fields_check(struct rte_swx_pipeline *p,
return status;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_table_config, 20.11)
int
rte_swx_pipeline_table_config(struct rte_swx_pipeline *p,
const char *name,
@@ -8891,6 +8908,7 @@ selector_fields_check(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_selector_config, 21.08)
int
rte_swx_pipeline_selector_config(struct rte_swx_pipeline *p,
const char *name,
@@ -9363,6 +9381,7 @@ learner_action_learning_check(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_learner_config, 21.11)
int
rte_swx_pipeline_learner_config(struct rte_swx_pipeline *p,
const char *name,
@@ -9936,6 +9955,7 @@ regarray_find_by_id(struct rte_swx_pipeline *p, uint32_t id)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_regarray_config, 21.05)
int
rte_swx_pipeline_regarray_config(struct rte_swx_pipeline *p,
const char *name,
@@ -10074,6 +10094,7 @@ metarray_find_by_id(struct rte_swx_pipeline *p, uint32_t id)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_metarray_config, 21.05)
int
rte_swx_pipeline_metarray_config(struct rte_swx_pipeline *p,
const char *name,
@@ -10224,6 +10245,7 @@ static struct rte_tailq_elem rte_swx_pipeline_tailq = {
EAL_REGISTER_TAILQ(rte_swx_pipeline_tailq)
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_find, 22.11)
struct rte_swx_pipeline *
rte_swx_pipeline_find(const char *name)
{
@@ -10303,6 +10325,7 @@ pipeline_unregister(struct rte_swx_pipeline *p)
rte_mcfg_tailq_write_unlock();
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_free, 20.11)
void
rte_swx_pipeline_free(struct rte_swx_pipeline *p)
{
@@ -10448,6 +10471,7 @@ hash_funcs_register(struct rte_swx_pipeline *p)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_config, 20.11)
int
rte_swx_pipeline_config(struct rte_swx_pipeline **p, const char *name, int numa_node)
{
@@ -10524,6 +10548,7 @@ rte_swx_pipeline_config(struct rte_swx_pipeline **p, const char *name, int numa_
return status;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_instructions_config, 20.11)
int
rte_swx_pipeline_instructions_config(struct rte_swx_pipeline *p,
const char **instructions,
@@ -10546,6 +10571,7 @@ rte_swx_pipeline_instructions_config(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_build, 20.11)
int
rte_swx_pipeline_build(struct rte_swx_pipeline *p)
{
@@ -10664,6 +10690,7 @@ rte_swx_pipeline_build(struct rte_swx_pipeline *p)
return status;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_run, 20.11)
void
rte_swx_pipeline_run(struct rte_swx_pipeline *p, uint32_t n_instructions)
{
@@ -10673,6 +10700,7 @@ rte_swx_pipeline_run(struct rte_swx_pipeline *p, uint32_t n_instructions)
instr_exec(p);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_flush, 20.11)
void
rte_swx_pipeline_flush(struct rte_swx_pipeline *p)
{
@@ -10689,6 +10717,7 @@ rte_swx_pipeline_flush(struct rte_swx_pipeline *p)
/*
* Control.
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_info_get, 20.11)
int
rte_swx_ctl_pipeline_info_get(struct rte_swx_pipeline *p,
struct rte_swx_ctl_pipeline_info *pipeline)
@@ -10722,6 +10751,7 @@ rte_swx_ctl_pipeline_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_numa_node_get, 20.11)
int
rte_swx_ctl_pipeline_numa_node_get(struct rte_swx_pipeline *p, int *numa_node)
{
@@ -10732,6 +10762,7 @@ rte_swx_ctl_pipeline_numa_node_get(struct rte_swx_pipeline *p, int *numa_node)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_action_info_get, 20.11)
int
rte_swx_ctl_action_info_get(struct rte_swx_pipeline *p,
uint32_t action_id,
@@ -10751,6 +10782,7 @@ rte_swx_ctl_action_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_action_arg_info_get, 20.11)
int
rte_swx_ctl_action_arg_info_get(struct rte_swx_pipeline *p,
uint32_t action_id,
@@ -10775,6 +10807,7 @@ rte_swx_ctl_action_arg_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_table_info_get, 20.11)
int
rte_swx_ctl_table_info_get(struct rte_swx_pipeline *p,
uint32_t table_id,
@@ -10799,6 +10832,7 @@ rte_swx_ctl_table_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_table_match_field_info_get, 20.11)
int
rte_swx_ctl_table_match_field_info_get(struct rte_swx_pipeline *p,
uint32_t table_id,
@@ -10824,6 +10858,7 @@ rte_swx_ctl_table_match_field_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_table_action_info_get, 20.11)
int
rte_swx_ctl_table_action_info_get(struct rte_swx_pipeline *p,
uint32_t table_id,
@@ -10847,6 +10882,7 @@ rte_swx_ctl_table_action_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_table_ops_get, 20.11)
int
rte_swx_ctl_table_ops_get(struct rte_swx_pipeline *p,
uint32_t table_id,
@@ -10873,6 +10909,7 @@ rte_swx_ctl_table_ops_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_selector_info_get, 21.08)
int
rte_swx_ctl_selector_info_get(struct rte_swx_pipeline *p,
uint32_t selector_id,
@@ -10896,6 +10933,7 @@ rte_swx_ctl_selector_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_selector_group_id_field_info_get, 21.08)
int
rte_swx_ctl_selector_group_id_field_info_get(struct rte_swx_pipeline *p,
uint32_t selector_id,
@@ -10918,6 +10956,7 @@ rte_swx_ctl_selector_group_id_field_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_selector_field_info_get, 21.08)
int
rte_swx_ctl_selector_field_info_get(struct rte_swx_pipeline *p,
uint32_t selector_id,
@@ -10943,6 +10982,7 @@ rte_swx_ctl_selector_field_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_selector_member_id_field_info_get, 21.08)
int
rte_swx_ctl_selector_member_id_field_info_get(struct rte_swx_pipeline *p,
uint32_t selector_id,
@@ -10965,6 +11005,7 @@ rte_swx_ctl_selector_member_id_field_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_learner_info_get, 21.11)
int
rte_swx_ctl_learner_info_get(struct rte_swx_pipeline *p,
uint32_t learner_id,
@@ -10990,6 +11031,7 @@ rte_swx_ctl_learner_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_learner_match_field_info_get, 21.11)
int
rte_swx_ctl_learner_match_field_info_get(struct rte_swx_pipeline *p,
uint32_t learner_id,
@@ -11015,6 +11057,7 @@ rte_swx_ctl_learner_match_field_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_learner_action_info_get, 21.11)
int
rte_swx_ctl_learner_action_info_get(struct rte_swx_pipeline *p,
uint32_t learner_id,
@@ -11041,6 +11084,7 @@ rte_swx_ctl_learner_action_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_learner_timeout_get, 22.07)
int
rte_swx_ctl_pipeline_learner_timeout_get(struct rte_swx_pipeline *p,
uint32_t learner_id,
@@ -11060,6 +11104,7 @@ rte_swx_ctl_pipeline_learner_timeout_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_learner_timeout_set, 22.07)
int
rte_swx_ctl_pipeline_learner_timeout_set(struct rte_swx_pipeline *p,
uint32_t learner_id,
@@ -11091,6 +11136,7 @@ rte_swx_ctl_pipeline_learner_timeout_set(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_table_state_get, 20.11)
int
rte_swx_pipeline_table_state_get(struct rte_swx_pipeline *p,
struct rte_swx_table_state **table_state)
@@ -11102,6 +11148,7 @@ rte_swx_pipeline_table_state_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_table_state_set, 20.11)
int
rte_swx_pipeline_table_state_set(struct rte_swx_pipeline *p,
struct rte_swx_table_state *table_state)
@@ -11113,6 +11160,7 @@ rte_swx_pipeline_table_state_set(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_port_in_stats_read, 20.11)
int
rte_swx_ctl_pipeline_port_in_stats_read(struct rte_swx_pipeline *p,
uint32_t port_id,
@@ -11131,6 +11179,7 @@ rte_swx_ctl_pipeline_port_in_stats_read(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_port_out_stats_read, 20.11)
int
rte_swx_ctl_pipeline_port_out_stats_read(struct rte_swx_pipeline *p,
uint32_t port_id,
@@ -11149,6 +11198,7 @@ rte_swx_ctl_pipeline_port_out_stats_read(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_table_stats_read, 21.05)
int
rte_swx_ctl_pipeline_table_stats_read(struct rte_swx_pipeline *p,
const char *table_name,
@@ -11176,6 +11226,7 @@ rte_swx_ctl_pipeline_table_stats_read(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_selector_stats_read, 21.08)
int
rte_swx_ctl_pipeline_selector_stats_read(struct rte_swx_pipeline *p,
const char *selector_name,
@@ -11195,6 +11246,7 @@ rte_swx_ctl_pipeline_selector_stats_read(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_learner_stats_read, 21.11)
int
rte_swx_ctl_pipeline_learner_stats_read(struct rte_swx_pipeline *p,
const char *learner_name,
@@ -11228,6 +11280,7 @@ rte_swx_ctl_pipeline_learner_stats_read(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_regarray_info_get, 21.05)
int
rte_swx_ctl_regarray_info_get(struct rte_swx_pipeline *p,
uint32_t regarray_id,
@@ -11247,6 +11300,7 @@ rte_swx_ctl_regarray_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_regarray_read, 21.05)
int
rte_swx_ctl_pipeline_regarray_read(struct rte_swx_pipeline *p,
const char *regarray_name,
@@ -11268,6 +11322,7 @@ rte_swx_ctl_pipeline_regarray_read(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_regarray_write, 21.05)
int
rte_swx_ctl_pipeline_regarray_write(struct rte_swx_pipeline *p,
const char *regarray_name,
@@ -11289,6 +11344,7 @@ rte_swx_ctl_pipeline_regarray_write(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_metarray_info_get, 21.05)
int
rte_swx_ctl_metarray_info_get(struct rte_swx_pipeline *p,
uint32_t metarray_id,
@@ -11308,6 +11364,7 @@ rte_swx_ctl_metarray_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_meter_profile_add, 21.05)
int
rte_swx_ctl_meter_profile_add(struct rte_swx_pipeline *p,
const char *name,
@@ -11340,6 +11397,7 @@ rte_swx_ctl_meter_profile_add(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_meter_profile_delete, 21.05)
int
rte_swx_ctl_meter_profile_delete(struct rte_swx_pipeline *p,
const char *name)
@@ -11360,6 +11418,7 @@ rte_swx_ctl_meter_profile_delete(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_meter_reset, 21.05)
int
rte_swx_ctl_meter_reset(struct rte_swx_pipeline *p,
const char *metarray_name,
@@ -11388,6 +11447,7 @@ rte_swx_ctl_meter_reset(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_meter_set, 21.05)
int
rte_swx_ctl_meter_set(struct rte_swx_pipeline *p,
const char *metarray_name,
@@ -11424,6 +11484,7 @@ rte_swx_ctl_meter_set(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_meter_stats_read, 21.05)
int
rte_swx_ctl_meter_stats_read(struct rte_swx_pipeline *p,
const char *metarray_name,
@@ -11452,6 +11513,7 @@ rte_swx_ctl_meter_stats_read(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_mirroring_session_set, 20.11)
int
rte_swx_ctl_pipeline_mirroring_session_set(struct rte_swx_pipeline *p,
uint32_t session_id,
@@ -11658,6 +11720,7 @@ rte_swx_ctl_pipeline_table_entry_id_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_regarray_read_with_key, 22.11)
int
rte_swx_ctl_pipeline_regarray_read_with_key(struct rte_swx_pipeline *p,
const char *regarray_name,
@@ -11675,6 +11738,7 @@ rte_swx_ctl_pipeline_regarray_read_with_key(struct rte_swx_pipeline *p,
return rte_swx_ctl_pipeline_regarray_read(p, regarray_name, entry_id, value);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_regarray_write_with_key, 22.11)
int
rte_swx_ctl_pipeline_regarray_write_with_key(struct rte_swx_pipeline *p,
const char *regarray_name,
@@ -11692,6 +11756,7 @@ rte_swx_ctl_pipeline_regarray_write_with_key(struct rte_swx_pipeline *p,
return rte_swx_ctl_pipeline_regarray_write(p, regarray_name, entry_id, value);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_meter_reset_with_key, 22.11)
int
rte_swx_ctl_meter_reset_with_key(struct rte_swx_pipeline *p,
const char *metarray_name,
@@ -11708,6 +11773,7 @@ rte_swx_ctl_meter_reset_with_key(struct rte_swx_pipeline *p,
return rte_swx_ctl_meter_reset(p, metarray_name, entry_id);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_meter_set_with_key, 22.11)
int
rte_swx_ctl_meter_set_with_key(struct rte_swx_pipeline *p,
const char *metarray_name,
@@ -11725,6 +11791,7 @@ rte_swx_ctl_meter_set_with_key(struct rte_swx_pipeline *p,
return rte_swx_ctl_meter_set(p, metarray_name, entry_id, profile_name);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_meter_stats_read_with_key, 22.11)
int
rte_swx_ctl_meter_stats_read_with_key(struct rte_swx_pipeline *p,
const char *metarray_name,
@@ -11742,6 +11809,7 @@ rte_swx_ctl_meter_stats_read_with_key(struct rte_swx_pipeline *p,
return rte_swx_ctl_meter_stats_read(p, metarray_name, entry_id, stats);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_rss_info_get, 23.03)
int
rte_swx_ctl_rss_info_get(struct rte_swx_pipeline *p,
uint32_t rss_obj_id,
@@ -11762,6 +11830,7 @@ rte_swx_ctl_rss_info_get(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_rss_key_size_read, 23.03)
int
rte_swx_ctl_pipeline_rss_key_size_read(struct rte_swx_pipeline *p,
const char *rss_name,
@@ -11786,6 +11855,7 @@ rte_swx_ctl_pipeline_rss_key_size_read(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_rss_key_read, 23.03)
int
rte_swx_ctl_pipeline_rss_key_read(struct rte_swx_pipeline *p,
const char *rss_name,
@@ -11810,6 +11880,7 @@ rte_swx_ctl_pipeline_rss_key_read(struct rte_swx_pipeline *p,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_ctl_pipeline_rss_key_write, 23.03)
int
rte_swx_ctl_pipeline_rss_key_write(struct rte_swx_pipeline *p,
const char *rss_name,
@@ -14512,6 +14583,7 @@ pipeline_adjust(struct rte_swx_pipeline *p, struct instruction_group_list *igl)
instr_jmp_resolve(p->instructions, p->instruction_data, p->n_instructions);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_codegen, 22.11)
int
rte_swx_pipeline_codegen(FILE *spec_file,
FILE *code_file,
@@ -14605,6 +14677,7 @@ rte_swx_pipeline_codegen(FILE *spec_file,
return status;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_pipeline_build_from_lib, 22.11)
int
rte_swx_pipeline_build_from_lib(struct rte_swx_pipeline **pipeline,
const char *name,
diff --git a/lib/pipeline/rte_table_action.c b/lib/pipeline/rte_table_action.c
index 3a408e81b8..7873d5342c 100644
--- a/lib/pipeline/rte_table_action.c
+++ b/lib/pipeline/rte_table_action.c
@@ -2362,6 +2362,7 @@ struct rte_table_action_profile {
int frozen;
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_profile_create, 18.05)
struct rte_table_action_profile *
rte_table_action_profile_create(struct rte_table_action_common_config *common)
{
@@ -2383,6 +2384,7 @@ rte_table_action_profile_create(struct rte_table_action_common_config *common)
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_profile_action_register, 18.05)
int
rte_table_action_profile_action_register(struct rte_table_action_profile *profile,
enum rte_table_action_type type,
@@ -2446,6 +2448,7 @@ rte_table_action_profile_action_register(struct rte_table_action_profile *profil
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_profile_freeze, 18.05)
int
rte_table_action_profile_freeze(struct rte_table_action_profile *profile)
{
@@ -2459,6 +2462,7 @@ rte_table_action_profile_freeze(struct rte_table_action_profile *profile)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_profile_free, 18.05)
int
rte_table_action_profile_free(struct rte_table_action_profile *profile)
{
@@ -2481,6 +2485,7 @@ struct rte_table_action {
struct meter_profile_data mp[METER_PROFILES_MAX];
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_create, 18.05)
struct rte_table_action *
rte_table_action_create(struct rte_table_action_profile *profile,
uint32_t socket_id)
@@ -2518,6 +2523,7 @@ action_data_get(void *data,
return &data_bytes[offset];
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_apply, 18.05)
int
rte_table_action_apply(struct rte_table_action *action,
void *data,
@@ -2599,6 +2605,7 @@ rte_table_action_apply(struct rte_table_action *action,
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_dscp_table_update, 18.05)
int
rte_table_action_dscp_table_update(struct rte_table_action *action,
uint64_t dscp_mask,
@@ -2631,6 +2638,7 @@ rte_table_action_dscp_table_update(struct rte_table_action *action,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_meter_profile_add, 18.05)
int
rte_table_action_meter_profile_add(struct rte_table_action *action,
uint32_t meter_profile_id,
@@ -2671,6 +2679,7 @@ rte_table_action_meter_profile_add(struct rte_table_action *action,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_meter_profile_delete, 18.05)
int
rte_table_action_meter_profile_delete(struct rte_table_action *action,
uint32_t meter_profile_id)
@@ -2694,6 +2703,7 @@ rte_table_action_meter_profile_delete(struct rte_table_action *action,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_meter_read, 18.05)
int
rte_table_action_meter_read(struct rte_table_action *action,
void *data,
@@ -2756,6 +2766,7 @@ rte_table_action_meter_read(struct rte_table_action *action,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_ttl_read, 18.05)
int
rte_table_action_ttl_read(struct rte_table_action *action,
void *data,
@@ -2784,6 +2795,7 @@ rte_table_action_ttl_read(struct rte_table_action *action,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_stats_read, 18.05)
int
rte_table_action_stats_read(struct rte_table_action *action,
void *data,
@@ -2819,6 +2831,7 @@ rte_table_action_stats_read(struct rte_table_action *action,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_time_read, 18.05)
int
rte_table_action_time_read(struct rte_table_action *action,
void *data,
@@ -2842,6 +2855,7 @@ rte_table_action_time_read(struct rte_table_action *action,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_crypto_sym_session_get, 18.11)
struct rte_cryptodev_sym_session *
rte_table_action_crypto_sym_session_get(struct rte_table_action *action,
void *data)
@@ -3429,6 +3443,7 @@ ah_selector(struct rte_table_action *action)
return ah_default;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_table_params_get, 18.05)
int
rte_table_action_table_params_get(struct rte_table_action *action,
struct rte_pipeline_table_params *params)
@@ -3454,6 +3469,7 @@ rte_table_action_table_params_get(struct rte_table_action *action,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_table_action_free, 18.05)
int
rte_table_action_free(struct rte_table_action *action)
{
diff --git a/lib/port/rte_port_ethdev.c b/lib/port/rte_port_ethdev.c
index d57f680e98..2aa644f08b 100644
--- a/lib/port/rte_port_ethdev.c
+++ b/lib/port/rte_port_ethdev.c
@@ -500,6 +500,7 @@ static int rte_port_ethdev_writer_nodrop_stats_read(void *port,
/*
* Summary of port operations
*/
+RTE_EXPORT_SYMBOL(rte_port_ethdev_reader_ops)
struct rte_port_in_ops rte_port_ethdev_reader_ops = {
.f_create = rte_port_ethdev_reader_create,
.f_free = rte_port_ethdev_reader_free,
@@ -507,6 +508,7 @@ struct rte_port_in_ops rte_port_ethdev_reader_ops = {
.f_stats = rte_port_ethdev_reader_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_ethdev_writer_ops)
struct rte_port_out_ops rte_port_ethdev_writer_ops = {
.f_create = rte_port_ethdev_writer_create,
.f_free = rte_port_ethdev_writer_free,
@@ -516,6 +518,7 @@ struct rte_port_out_ops rte_port_ethdev_writer_ops = {
.f_stats = rte_port_ethdev_writer_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_ethdev_writer_nodrop_ops)
struct rte_port_out_ops rte_port_ethdev_writer_nodrop_ops = {
.f_create = rte_port_ethdev_writer_nodrop_create,
.f_free = rte_port_ethdev_writer_nodrop_free,
diff --git a/lib/port/rte_port_eventdev.c b/lib/port/rte_port_eventdev.c
index 6acf22998d..b0bd752707 100644
--- a/lib/port/rte_port_eventdev.c
+++ b/lib/port/rte_port_eventdev.c
@@ -560,6 +560,7 @@ static int rte_port_eventdev_writer_nodrop_stats_read(void *port,
/*
* Summary of port operations
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_eventdev_reader_ops, 19.11)
struct rte_port_in_ops rte_port_eventdev_reader_ops = {
.f_create = rte_port_eventdev_reader_create,
.f_free = rte_port_eventdev_reader_free,
@@ -567,6 +568,7 @@ struct rte_port_in_ops rte_port_eventdev_reader_ops = {
.f_stats = rte_port_eventdev_reader_stats_read,
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_eventdev_writer_ops, 19.11)
struct rte_port_out_ops rte_port_eventdev_writer_ops = {
.f_create = rte_port_eventdev_writer_create,
.f_free = rte_port_eventdev_writer_free,
@@ -576,6 +578,7 @@ struct rte_port_out_ops rte_port_eventdev_writer_ops = {
.f_stats = rte_port_eventdev_writer_stats_read,
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_port_eventdev_writer_nodrop_ops, 19.11)
struct rte_port_out_ops rte_port_eventdev_writer_nodrop_ops = {
.f_create = rte_port_eventdev_writer_nodrop_create,
.f_free = rte_port_eventdev_writer_nodrop_free,
diff --git a/lib/port/rte_port_fd.c b/lib/port/rte_port_fd.c
index 281cba20c2..1094f0769d 100644
--- a/lib/port/rte_port_fd.c
+++ b/lib/port/rte_port_fd.c
@@ -494,6 +494,7 @@ static int rte_port_fd_writer_nodrop_stats_read(void *port,
/*
* Summary of port operations
*/
+RTE_EXPORT_SYMBOL(rte_port_fd_reader_ops)
struct rte_port_in_ops rte_port_fd_reader_ops = {
.f_create = rte_port_fd_reader_create,
.f_free = rte_port_fd_reader_free,
@@ -501,6 +502,7 @@ struct rte_port_in_ops rte_port_fd_reader_ops = {
.f_stats = rte_port_fd_reader_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_fd_writer_ops)
struct rte_port_out_ops rte_port_fd_writer_ops = {
.f_create = rte_port_fd_writer_create,
.f_free = rte_port_fd_writer_free,
@@ -510,6 +512,7 @@ struct rte_port_out_ops rte_port_fd_writer_ops = {
.f_stats = rte_port_fd_writer_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_fd_writer_nodrop_ops)
struct rte_port_out_ops rte_port_fd_writer_nodrop_ops = {
.f_create = rte_port_fd_writer_nodrop_create,
.f_free = rte_port_fd_writer_nodrop_free,
diff --git a/lib/port/rte_port_frag.c b/lib/port/rte_port_frag.c
index 0940f945bd..7adb88f8c7 100644
--- a/lib/port/rte_port_frag.c
+++ b/lib/port/rte_port_frag.c
@@ -262,6 +262,7 @@ rte_port_frag_reader_stats_read(void *port,
/*
* Summary of port operations
*/
+RTE_EXPORT_SYMBOL(rte_port_ring_reader_ipv4_frag_ops)
struct rte_port_in_ops rte_port_ring_reader_ipv4_frag_ops = {
.f_create = rte_port_ring_reader_ipv4_frag_create,
.f_free = rte_port_ring_reader_frag_free,
@@ -269,6 +270,7 @@ struct rte_port_in_ops rte_port_ring_reader_ipv4_frag_ops = {
.f_stats = rte_port_frag_reader_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_ring_reader_ipv6_frag_ops)
struct rte_port_in_ops rte_port_ring_reader_ipv6_frag_ops = {
.f_create = rte_port_ring_reader_ipv6_frag_create,
.f_free = rte_port_ring_reader_frag_free,
diff --git a/lib/port/rte_port_ras.c b/lib/port/rte_port_ras.c
index 42cf1ddf45..e5d543a1d8 100644
--- a/lib/port/rte_port_ras.c
+++ b/lib/port/rte_port_ras.c
@@ -314,6 +314,7 @@ rte_port_ras_writer_stats_read(void *port,
/*
* Summary of port operations
*/
+RTE_EXPORT_SYMBOL(rte_port_ring_writer_ipv4_ras_ops)
struct rte_port_out_ops rte_port_ring_writer_ipv4_ras_ops = {
.f_create = rte_port_ring_writer_ipv4_ras_create,
.f_free = rte_port_ring_writer_ras_free,
@@ -323,6 +324,7 @@ struct rte_port_out_ops rte_port_ring_writer_ipv4_ras_ops = {
.f_stats = rte_port_ras_writer_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_ring_writer_ipv6_ras_ops)
struct rte_port_out_ops rte_port_ring_writer_ipv6_ras_ops = {
.f_create = rte_port_ring_writer_ipv6_ras_create,
.f_free = rte_port_ring_writer_ras_free,
diff --git a/lib/port/rte_port_ring.c b/lib/port/rte_port_ring.c
index 680d208f45..53af32f55c 100644
--- a/lib/port/rte_port_ring.c
+++ b/lib/port/rte_port_ring.c
@@ -738,6 +738,7 @@ rte_port_ring_writer_nodrop_stats_read(void *port,
/*
* Summary of port operations
*/
+RTE_EXPORT_SYMBOL(rte_port_ring_reader_ops)
struct rte_port_in_ops rte_port_ring_reader_ops = {
.f_create = rte_port_ring_reader_create,
.f_free = rte_port_ring_reader_free,
@@ -745,6 +746,7 @@ struct rte_port_in_ops rte_port_ring_reader_ops = {
.f_stats = rte_port_ring_reader_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_ring_writer_ops)
struct rte_port_out_ops rte_port_ring_writer_ops = {
.f_create = rte_port_ring_writer_create,
.f_free = rte_port_ring_writer_free,
@@ -754,6 +756,7 @@ struct rte_port_out_ops rte_port_ring_writer_ops = {
.f_stats = rte_port_ring_writer_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_ring_writer_nodrop_ops)
struct rte_port_out_ops rte_port_ring_writer_nodrop_ops = {
.f_create = rte_port_ring_writer_nodrop_create,
.f_free = rte_port_ring_writer_nodrop_free,
@@ -763,6 +766,7 @@ struct rte_port_out_ops rte_port_ring_writer_nodrop_ops = {
.f_stats = rte_port_ring_writer_nodrop_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_ring_multi_reader_ops)
struct rte_port_in_ops rte_port_ring_multi_reader_ops = {
.f_create = rte_port_ring_multi_reader_create,
.f_free = rte_port_ring_reader_free,
@@ -770,6 +774,7 @@ struct rte_port_in_ops rte_port_ring_multi_reader_ops = {
.f_stats = rte_port_ring_reader_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_ring_multi_writer_ops)
struct rte_port_out_ops rte_port_ring_multi_writer_ops = {
.f_create = rte_port_ring_multi_writer_create,
.f_free = rte_port_ring_writer_free,
@@ -779,6 +784,7 @@ struct rte_port_out_ops rte_port_ring_multi_writer_ops = {
.f_stats = rte_port_ring_writer_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_ring_multi_writer_nodrop_ops)
struct rte_port_out_ops rte_port_ring_multi_writer_nodrop_ops = {
.f_create = rte_port_ring_multi_writer_nodrop_create,
.f_free = rte_port_ring_writer_nodrop_free,
diff --git a/lib/port/rte_port_sched.c b/lib/port/rte_port_sched.c
index da7a6240d7..c85ed61633 100644
--- a/lib/port/rte_port_sched.c
+++ b/lib/port/rte_port_sched.c
@@ -278,6 +278,7 @@ rte_port_sched_writer_stats_read(void *port,
/*
* Summary of port operations
*/
+RTE_EXPORT_SYMBOL(rte_port_sched_reader_ops)
struct rte_port_in_ops rte_port_sched_reader_ops = {
.f_create = rte_port_sched_reader_create,
.f_free = rte_port_sched_reader_free,
@@ -285,6 +286,7 @@ struct rte_port_in_ops rte_port_sched_reader_ops = {
.f_stats = rte_port_sched_reader_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_sched_writer_ops)
struct rte_port_out_ops rte_port_sched_writer_ops = {
.f_create = rte_port_sched_writer_create,
.f_free = rte_port_sched_writer_free,
diff --git a/lib/port/rte_port_source_sink.c b/lib/port/rte_port_source_sink.c
index a4486a7199..f832d4c40e 100644
--- a/lib/port/rte_port_source_sink.c
+++ b/lib/port/rte_port_source_sink.c
@@ -596,6 +596,7 @@ rte_port_sink_stats_read(void *port, struct rte_port_out_stats *stats,
/*
* Summary of port operations
*/
+RTE_EXPORT_SYMBOL(rte_port_source_ops)
struct rte_port_in_ops rte_port_source_ops = {
.f_create = rte_port_source_create,
.f_free = rte_port_source_free,
@@ -603,6 +604,7 @@ struct rte_port_in_ops rte_port_source_ops = {
.f_stats = rte_port_source_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_sink_ops)
struct rte_port_out_ops rte_port_sink_ops = {
.f_create = rte_port_sink_create,
.f_free = rte_port_sink_free,
diff --git a/lib/port/rte_port_sym_crypto.c b/lib/port/rte_port_sym_crypto.c
index a68a2396a5..74f7defbec 100644
--- a/lib/port/rte_port_sym_crypto.c
+++ b/lib/port/rte_port_sym_crypto.c
@@ -528,6 +528,7 @@ static int rte_port_sym_crypto_writer_nodrop_stats_read(void *port,
/*
* Summary of port operations
*/
+RTE_EXPORT_SYMBOL(rte_port_sym_crypto_reader_ops)
struct rte_port_in_ops rte_port_sym_crypto_reader_ops = {
.f_create = rte_port_sym_crypto_reader_create,
.f_free = rte_port_sym_crypto_reader_free,
@@ -535,6 +536,7 @@ struct rte_port_in_ops rte_port_sym_crypto_reader_ops = {
.f_stats = rte_port_sym_crypto_reader_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_sym_crypto_writer_ops)
struct rte_port_out_ops rte_port_sym_crypto_writer_ops = {
.f_create = rte_port_sym_crypto_writer_create,
.f_free = rte_port_sym_crypto_writer_free,
@@ -544,6 +546,7 @@ struct rte_port_out_ops rte_port_sym_crypto_writer_ops = {
.f_stats = rte_port_sym_crypto_writer_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_port_sym_crypto_writer_nodrop_ops)
struct rte_port_out_ops rte_port_sym_crypto_writer_nodrop_ops = {
.f_create = rte_port_sym_crypto_writer_nodrop_create,
.f_free = rte_port_sym_crypto_writer_nodrop_free,
diff --git a/lib/port/rte_swx_port_ethdev.c b/lib/port/rte_swx_port_ethdev.c
index 7cb3c4dfb1..3685e8a0a3 100644
--- a/lib/port/rte_swx_port_ethdev.c
+++ b/lib/port/rte_swx_port_ethdev.c
@@ -401,6 +401,7 @@ writer_stats_read(void *port, struct rte_swx_port_out_stats *stats)
/*
* Summary of port operations
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_port_ethdev_reader_ops, 20.11)
struct rte_swx_port_in_ops rte_swx_port_ethdev_reader_ops = {
.create = reader_create,
.free = reader_free,
@@ -408,6 +409,7 @@ struct rte_swx_port_in_ops rte_swx_port_ethdev_reader_ops = {
.stats_read = reader_stats_read,
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_port_ethdev_writer_ops, 20.11)
struct rte_swx_port_out_ops rte_swx_port_ethdev_writer_ops = {
.create = writer_create,
.free = writer_free,
diff --git a/lib/port/rte_swx_port_fd.c b/lib/port/rte_swx_port_fd.c
index 4bbad2eaa7..cd3d45796e 100644
--- a/lib/port/rte_swx_port_fd.c
+++ b/lib/port/rte_swx_port_fd.c
@@ -344,6 +344,7 @@ writer_stats_read(void *port, struct rte_swx_port_out_stats *stats)
/*
* Summary of port operations
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_port_fd_reader_ops, 21.05)
struct rte_swx_port_in_ops rte_swx_port_fd_reader_ops = {
.create = reader_create,
.free = reader_free,
@@ -351,6 +352,7 @@ struct rte_swx_port_in_ops rte_swx_port_fd_reader_ops = {
.stats_read = reader_stats_read,
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_port_fd_writer_ops, 21.05)
struct rte_swx_port_out_ops rte_swx_port_fd_writer_ops = {
.create = writer_create,
.free = writer_free,
diff --git a/lib/port/rte_swx_port_ring.c b/lib/port/rte_swx_port_ring.c
index af541a2fa2..fbdd8e05f2 100644
--- a/lib/port/rte_swx_port_ring.c
+++ b/lib/port/rte_swx_port_ring.c
@@ -406,6 +406,7 @@ writer_stats_read(void *port, struct rte_swx_port_out_stats *stats)
/*
* Summary of port operations
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_port_ring_reader_ops, 21.05)
struct rte_swx_port_in_ops rte_swx_port_ring_reader_ops = {
.create = reader_create,
.free = reader_free,
@@ -413,6 +414,7 @@ struct rte_swx_port_in_ops rte_swx_port_ring_reader_ops = {
.stats_read = reader_stats_read,
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_port_ring_writer_ops, 21.05)
struct rte_swx_port_out_ops rte_swx_port_ring_writer_ops = {
.create = writer_create,
.free = writer_free,
diff --git a/lib/port/rte_swx_port_source_sink.c b/lib/port/rte_swx_port_source_sink.c
index 757a2c4a2e..fd37d66803 100644
--- a/lib/port/rte_swx_port_source_sink.c
+++ b/lib/port/rte_swx_port_source_sink.c
@@ -201,6 +201,7 @@ source_stats_read(void *port, struct rte_swx_port_in_stats *stats)
memcpy(stats, &p->stats, sizeof(p->stats));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_port_source_ops, 20.11)
struct rte_swx_port_in_ops rte_swx_port_source_ops = {
.create = source_create,
.free = source_free,
@@ -210,6 +211,7 @@ struct rte_swx_port_in_ops rte_swx_port_source_ops = {
#else
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_port_source_ops, 20.11)
struct rte_swx_port_in_ops rte_swx_port_source_ops = {
.create = NULL,
.free = NULL,
@@ -380,6 +382,7 @@ sink_stats_read(void *port, struct rte_swx_port_out_stats *stats)
/*
* Summary of port operations
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_port_sink_ops, 20.11)
struct rte_swx_port_out_ops rte_swx_port_sink_ops = {
.create = sink_create,
.free = sink_free,
diff --git a/lib/power/power_common.c b/lib/power/power_common.c
index e482f71c64..28314b039a 100644
--- a/lib/power/power_common.c
+++ b/lib/power/power_common.c
@@ -13,6 +13,7 @@
#include "power_common.h"
+RTE_EXPORT_INTERNAL_SYMBOL(rte_power_logtype)
RTE_LOG_REGISTER_DEFAULT(rte_power_logtype, INFO);
#define POWER_SYSFILE_SCALING_DRIVER \
@@ -21,6 +22,7 @@ RTE_LOG_REGISTER_DEFAULT(rte_power_logtype, INFO);
"/sys/devices/system/cpu/cpu%u/cpufreq/scaling_governor"
#define POWER_CONVERT_TO_DECIMAL 10
+RTE_EXPORT_INTERNAL_SYMBOL(cpufreq_check_scaling_driver)
int
cpufreq_check_scaling_driver(const char *driver_name)
{
@@ -66,6 +68,7 @@ cpufreq_check_scaling_driver(const char *driver_name)
return 1;
}
+RTE_EXPORT_INTERNAL_SYMBOL(open_core_sysfs_file)
int
open_core_sysfs_file(FILE **f, const char *mode, const char *format, ...)
{
@@ -84,6 +87,7 @@ open_core_sysfs_file(FILE **f, const char *mode, const char *format, ...)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(read_core_sysfs_u32)
int
read_core_sysfs_u32(FILE *f, uint32_t *val)
{
@@ -109,6 +113,7 @@ read_core_sysfs_u32(FILE *f, uint32_t *val)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(read_core_sysfs_s)
int
read_core_sysfs_s(FILE *f, char *buf, unsigned int len)
{
@@ -127,6 +132,7 @@ read_core_sysfs_s(FILE *f, char *buf, unsigned int len)
return 0;
}
+RTE_EXPORT_INTERNAL_SYMBOL(write_core_sysfs_s)
int
write_core_sysfs_s(FILE *f, const char *str)
{
@@ -153,6 +159,7 @@ write_core_sysfs_s(FILE *f, const char *str)
* set it into 'performance' if it is not by writing the sys file. The original
* governor will be saved for rolling back.
*/
+RTE_EXPORT_INTERNAL_SYMBOL(power_set_governor)
int
power_set_governor(unsigned int lcore_id, const char *new_governor,
char *orig_governor, size_t orig_governor_len)
@@ -206,6 +213,7 @@ power_set_governor(unsigned int lcore_id, const char *new_governor,
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(power_get_lcore_mapped_cpu_id)
int power_get_lcore_mapped_cpu_id(uint32_t lcore_id, uint32_t *cpu_id)
{
rte_cpuset_t lcore_cpus;
diff --git a/lib/power/rte_power_cpufreq.c b/lib/power/rte_power_cpufreq.c
index 3576017239..f2dc5d2af4 100644
--- a/lib/power/rte_power_cpufreq.c
+++ b/lib/power/rte_power_cpufreq.c
@@ -25,6 +25,7 @@ const char *power_env_str[] = {
};
/* register the ops struct in rte_power_cpufreq_ops, return 0 on success. */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_power_register_cpufreq_ops)
int
rte_power_register_cpufreq_ops(struct rte_power_cpufreq_ops *driver_ops)
{
@@ -44,6 +45,7 @@ rte_power_register_cpufreq_ops(struct rte_power_cpufreq_ops *driver_ops)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_power_check_env_supported)
int
rte_power_check_env_supported(enum power_management_env env)
{
@@ -60,6 +62,7 @@ rte_power_check_env_supported(enum power_management_env env)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_power_set_env)
int
rte_power_set_env(enum power_management_env env)
{
@@ -89,6 +92,7 @@ rte_power_set_env(enum power_management_env env)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_power_unset_env)
void
rte_power_unset_env(void)
{
@@ -98,11 +102,13 @@ rte_power_unset_env(void)
rte_spinlock_unlock(&global_env_cfg_lock);
}
+RTE_EXPORT_SYMBOL(rte_power_get_env)
enum power_management_env
rte_power_get_env(void) {
return global_default_env;
}
+RTE_EXPORT_SYMBOL(rte_power_init)
int
rte_power_init(unsigned int lcore_id)
{
@@ -136,6 +142,7 @@ rte_power_init(unsigned int lcore_id)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_power_exit)
int
rte_power_exit(unsigned int lcore_id)
{
@@ -148,6 +155,7 @@ rte_power_exit(unsigned int lcore_id)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_power_freqs)
uint32_t
rte_power_freqs(unsigned int lcore_id, uint32_t *freqs, uint32_t n)
{
@@ -155,6 +163,7 @@ rte_power_freqs(unsigned int lcore_id, uint32_t *freqs, uint32_t n)
return global_cpufreq_ops->get_avail_freqs(lcore_id, freqs, n);
}
+RTE_EXPORT_SYMBOL(rte_power_get_freq)
uint32_t
rte_power_get_freq(unsigned int lcore_id)
{
@@ -162,6 +171,7 @@ rte_power_get_freq(unsigned int lcore_id)
return global_cpufreq_ops->get_freq(lcore_id);
}
+RTE_EXPORT_SYMBOL(rte_power_set_freq)
uint32_t
rte_power_set_freq(unsigned int lcore_id, uint32_t index)
{
@@ -169,6 +179,7 @@ rte_power_set_freq(unsigned int lcore_id, uint32_t index)
return global_cpufreq_ops->set_freq(lcore_id, index);
}
+RTE_EXPORT_SYMBOL(rte_power_freq_up)
int
rte_power_freq_up(unsigned int lcore_id)
{
@@ -176,6 +187,7 @@ rte_power_freq_up(unsigned int lcore_id)
return global_cpufreq_ops->freq_up(lcore_id);
}
+RTE_EXPORT_SYMBOL(rte_power_freq_down)
int
rte_power_freq_down(unsigned int lcore_id)
{
@@ -183,6 +195,7 @@ rte_power_freq_down(unsigned int lcore_id)
return global_cpufreq_ops->freq_down(lcore_id);
}
+RTE_EXPORT_SYMBOL(rte_power_freq_max)
int
rte_power_freq_max(unsigned int lcore_id)
{
@@ -190,6 +203,7 @@ rte_power_freq_max(unsigned int lcore_id)
return global_cpufreq_ops->freq_max(lcore_id);
}
+RTE_EXPORT_SYMBOL(rte_power_freq_min)
int
rte_power_freq_min(unsigned int lcore_id)
{
@@ -197,6 +211,7 @@ rte_power_freq_min(unsigned int lcore_id)
return global_cpufreq_ops->freq_min(lcore_id);
}
+RTE_EXPORT_SYMBOL(rte_power_turbo_status)
int
rte_power_turbo_status(unsigned int lcore_id)
{
@@ -204,6 +219,7 @@ rte_power_turbo_status(unsigned int lcore_id)
return global_cpufreq_ops->turbo_status(lcore_id);
}
+RTE_EXPORT_SYMBOL(rte_power_freq_enable_turbo)
int
rte_power_freq_enable_turbo(unsigned int lcore_id)
{
@@ -211,6 +227,7 @@ rte_power_freq_enable_turbo(unsigned int lcore_id)
return global_cpufreq_ops->enable_turbo(lcore_id);
}
+RTE_EXPORT_SYMBOL(rte_power_freq_disable_turbo)
int
rte_power_freq_disable_turbo(unsigned int lcore_id)
{
@@ -218,6 +235,7 @@ rte_power_freq_disable_turbo(unsigned int lcore_id)
return global_cpufreq_ops->disable_turbo(lcore_id);
}
+RTE_EXPORT_SYMBOL(rte_power_get_capabilities)
int
rte_power_get_capabilities(unsigned int lcore_id,
struct rte_power_core_capabilities *caps)
diff --git a/lib/power/rte_power_pmd_mgmt.c b/lib/power/rte_power_pmd_mgmt.c
index 8ec925bd65..01ea38bf98 100644
--- a/lib/power/rte_power_pmd_mgmt.c
+++ b/lib/power/rte_power_pmd_mgmt.c
@@ -496,6 +496,7 @@ get_monitor_callback(void)
clb_multiwait : clb_umwait;
}
+RTE_EXPORT_SYMBOL(rte_power_ethdev_pmgmt_queue_enable)
int
rte_power_ethdev_pmgmt_queue_enable(unsigned int lcore_id, uint16_t port_id,
uint16_t queue_id, enum rte_power_pmd_mgmt_type mode)
@@ -613,6 +614,7 @@ rte_power_ethdev_pmgmt_queue_enable(unsigned int lcore_id, uint16_t port_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_power_ethdev_pmgmt_queue_disable)
int
rte_power_ethdev_pmgmt_queue_disable(unsigned int lcore_id,
uint16_t port_id, uint16_t queue_id)
@@ -688,18 +690,21 @@ rte_power_ethdev_pmgmt_queue_disable(unsigned int lcore_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_power_pmd_mgmt_set_emptypoll_max)
void
rte_power_pmd_mgmt_set_emptypoll_max(unsigned int max)
{
emptypoll_max = max;
}
+RTE_EXPORT_SYMBOL(rte_power_pmd_mgmt_get_emptypoll_max)
unsigned int
rte_power_pmd_mgmt_get_emptypoll_max(void)
{
return emptypoll_max;
}
+RTE_EXPORT_SYMBOL(rte_power_pmd_mgmt_set_pause_duration)
int
rte_power_pmd_mgmt_set_pause_duration(unsigned int duration)
{
@@ -712,12 +717,14 @@ rte_power_pmd_mgmt_set_pause_duration(unsigned int duration)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_power_pmd_mgmt_get_pause_duration)
unsigned int
rte_power_pmd_mgmt_get_pause_duration(void)
{
return pause_duration;
}
+RTE_EXPORT_SYMBOL(rte_power_pmd_mgmt_set_scaling_freq_min)
int
rte_power_pmd_mgmt_set_scaling_freq_min(unsigned int lcore, unsigned int min)
{
@@ -735,6 +742,7 @@ rte_power_pmd_mgmt_set_scaling_freq_min(unsigned int lcore, unsigned int min)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_power_pmd_mgmt_set_scaling_freq_max)
int
rte_power_pmd_mgmt_set_scaling_freq_max(unsigned int lcore, unsigned int max)
{
@@ -756,6 +764,7 @@ rte_power_pmd_mgmt_set_scaling_freq_max(unsigned int lcore, unsigned int max)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_power_pmd_mgmt_get_scaling_freq_min)
int
rte_power_pmd_mgmt_get_scaling_freq_min(unsigned int lcore)
{
@@ -770,6 +779,7 @@ rte_power_pmd_mgmt_get_scaling_freq_min(unsigned int lcore)
return scale_freq_min[lcore];
}
+RTE_EXPORT_SYMBOL(rte_power_pmd_mgmt_get_scaling_freq_max)
int
rte_power_pmd_mgmt_get_scaling_freq_max(unsigned int lcore)
{
diff --git a/lib/power/rte_power_qos.c b/lib/power/rte_power_qos.c
index 4dd0532b36..e828a87c8b 100644
--- a/lib/power/rte_power_qos.c
+++ b/lib/power/rte_power_qos.c
@@ -17,6 +17,7 @@
#define PM_QOS_CPU_RESUME_LATENCY_BUF_LEN 32
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_qos_set_cpu_resume_latency, 24.11)
int
rte_power_qos_set_cpu_resume_latency(uint16_t lcore_id, int latency)
{
@@ -70,6 +71,7 @@ rte_power_qos_set_cpu_resume_latency(uint16_t lcore_id, int latency)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_qos_get_cpu_resume_latency, 24.11)
int
rte_power_qos_get_cpu_resume_latency(uint16_t lcore_id)
{
diff --git a/lib/power/rte_power_uncore.c b/lib/power/rte_power_uncore.c
index 741e067932..c1f47ab6e5 100644
--- a/lib/power/rte_power_uncore.c
+++ b/lib/power/rte_power_uncore.c
@@ -24,6 +24,7 @@ const char *uncore_env_str[] = {
};
/* register the ops struct in rte_power_uncore_ops, return 0 on success. */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_power_register_uncore_ops)
int
rte_power_register_uncore_ops(struct rte_power_uncore_ops *driver_ops)
{
@@ -44,6 +45,7 @@ rte_power_register_uncore_ops(struct rte_power_uncore_ops *driver_ops)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_set_uncore_env, 23.11)
int
rte_power_set_uncore_env(enum rte_uncore_power_mgmt_env env)
{
@@ -83,6 +85,7 @@ rte_power_set_uncore_env(enum rte_uncore_power_mgmt_env env)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_unset_uncore_env, 23.11)
void
rte_power_unset_uncore_env(void)
{
@@ -91,12 +94,14 @@ rte_power_unset_uncore_env(void)
rte_spinlock_unlock(&global_env_cfg_lock);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_get_uncore_env, 23.11)
enum rte_uncore_power_mgmt_env
rte_power_get_uncore_env(void)
{
return global_uncore_env;
}
+RTE_EXPORT_SYMBOL(rte_power_uncore_init)
int
rte_power_uncore_init(unsigned int pkg, unsigned int die)
{
@@ -128,6 +133,7 @@ rte_power_uncore_init(unsigned int pkg, unsigned int die)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_power_uncore_exit)
int
rte_power_uncore_exit(unsigned int pkg, unsigned int die)
{
@@ -141,6 +147,7 @@ rte_power_uncore_exit(unsigned int pkg, unsigned int die)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_power_get_uncore_freq)
uint32_t
rte_power_get_uncore_freq(unsigned int pkg, unsigned int die)
{
@@ -148,6 +155,7 @@ rte_power_get_uncore_freq(unsigned int pkg, unsigned int die)
return global_uncore_ops->get_freq(pkg, die);
}
+RTE_EXPORT_SYMBOL(rte_power_set_uncore_freq)
int
rte_power_set_uncore_freq(unsigned int pkg, unsigned int die, uint32_t index)
{
@@ -155,6 +163,7 @@ rte_power_set_uncore_freq(unsigned int pkg, unsigned int die, uint32_t index)
return global_uncore_ops->set_freq(pkg, die, index);
}
+RTE_EXPORT_SYMBOL(rte_power_uncore_freq_max)
int
rte_power_uncore_freq_max(unsigned int pkg, unsigned int die)
{
@@ -162,6 +171,7 @@ rte_power_uncore_freq_max(unsigned int pkg, unsigned int die)
return global_uncore_ops->freq_max(pkg, die);
}
+RTE_EXPORT_SYMBOL(rte_power_uncore_freq_min)
int
rte_power_uncore_freq_min(unsigned int pkg, unsigned int die)
{
@@ -169,6 +179,7 @@ rte_power_uncore_freq_min(unsigned int pkg, unsigned int die)
return global_uncore_ops->freq_min(pkg, die);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_power_uncore_freqs, 23.11)
int
rte_power_uncore_freqs(unsigned int pkg, unsigned int die,
uint32_t *freqs, uint32_t num)
@@ -177,6 +188,7 @@ rte_power_uncore_freqs(unsigned int pkg, unsigned int die,
return global_uncore_ops->get_avail_freqs(pkg, die, freqs, num);
}
+RTE_EXPORT_SYMBOL(rte_power_uncore_get_num_freqs)
int
rte_power_uncore_get_num_freqs(unsigned int pkg, unsigned int die)
{
@@ -184,6 +196,7 @@ rte_power_uncore_get_num_freqs(unsigned int pkg, unsigned int die)
return global_uncore_ops->get_num_freqs(pkg, die);
}
+RTE_EXPORT_SYMBOL(rte_power_uncore_get_num_pkgs)
unsigned int
rte_power_uncore_get_num_pkgs(void)
{
@@ -191,6 +204,7 @@ rte_power_uncore_get_num_pkgs(void)
return global_uncore_ops->get_num_pkgs();
}
+RTE_EXPORT_SYMBOL(rte_power_uncore_get_num_dies)
unsigned int
rte_power_uncore_get_num_dies(unsigned int pkg)
{
diff --git a/lib/rawdev/rte_rawdev.c b/lib/rawdev/rte_rawdev.c
index 810e95a440..f2e98e2be8 100644
--- a/lib/rawdev/rte_rawdev.c
+++ b/lib/rawdev/rte_rawdev.c
@@ -22,6 +22,7 @@
static struct rte_rawdev rte_rawdevices[RTE_RAWDEV_MAX_DEVS];
+RTE_EXPORT_SYMBOL(rte_rawdevs)
struct rte_rawdev *rte_rawdevs = rte_rawdevices;
static struct rte_rawdev_global rawdev_globals = {
@@ -29,12 +30,14 @@ static struct rte_rawdev_global rawdev_globals = {
};
/* Raw device, northbound API implementation */
+RTE_EXPORT_SYMBOL(rte_rawdev_count)
uint8_t
rte_rawdev_count(void)
{
return rawdev_globals.nb_devs;
}
+RTE_EXPORT_SYMBOL(rte_rawdev_get_dev_id)
uint16_t
rte_rawdev_get_dev_id(const char *name)
{
@@ -52,6 +55,7 @@ rte_rawdev_get_dev_id(const char *name)
return -ENODEV;
}
+RTE_EXPORT_SYMBOL(rte_rawdev_socket_id)
int
rte_rawdev_socket_id(uint16_t dev_id)
{
@@ -63,6 +67,7 @@ rte_rawdev_socket_id(uint16_t dev_id)
return dev->socket_id;
}
+RTE_EXPORT_SYMBOL(rte_rawdev_info_get)
int
rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
size_t dev_private_size)
@@ -91,6 +96,7 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_rawdev_configure)
int
rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf,
size_t dev_private_size)
@@ -123,6 +129,7 @@ rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf,
return diag;
}
+RTE_EXPORT_SYMBOL(rte_rawdev_queue_conf_get)
int
rte_rawdev_queue_conf_get(uint16_t dev_id,
uint16_t queue_id,
@@ -139,6 +146,7 @@ rte_rawdev_queue_conf_get(uint16_t dev_id,
return dev->dev_ops->queue_def_conf(dev, queue_id, queue_conf, queue_conf_size);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_queue_setup)
int
rte_rawdev_queue_setup(uint16_t dev_id,
uint16_t queue_id,
@@ -155,6 +163,7 @@ rte_rawdev_queue_setup(uint16_t dev_id,
return dev->dev_ops->queue_setup(dev, queue_id, queue_conf, queue_conf_size);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_queue_release)
int
rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id)
{
@@ -168,6 +177,7 @@ rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id)
return dev->dev_ops->queue_release(dev, queue_id);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_queue_count)
uint16_t
rte_rawdev_queue_count(uint16_t dev_id)
{
@@ -181,6 +191,7 @@ rte_rawdev_queue_count(uint16_t dev_id)
return dev->dev_ops->queue_count(dev);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_get_attr)
int
rte_rawdev_get_attr(uint16_t dev_id,
const char *attr_name,
@@ -196,6 +207,7 @@ rte_rawdev_get_attr(uint16_t dev_id,
return dev->dev_ops->attr_get(dev, attr_name, attr_value);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_set_attr)
int
rte_rawdev_set_attr(uint16_t dev_id,
const char *attr_name,
@@ -211,6 +223,7 @@ rte_rawdev_set_attr(uint16_t dev_id,
return dev->dev_ops->attr_set(dev, attr_name, attr_value);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_enqueue_buffers)
int
rte_rawdev_enqueue_buffers(uint16_t dev_id,
struct rte_rawdev_buf **buffers,
@@ -227,6 +240,7 @@ rte_rawdev_enqueue_buffers(uint16_t dev_id,
return dev->dev_ops->enqueue_bufs(dev, buffers, count, context);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_dequeue_buffers)
int
rte_rawdev_dequeue_buffers(uint16_t dev_id,
struct rte_rawdev_buf **buffers,
@@ -243,6 +257,7 @@ rte_rawdev_dequeue_buffers(uint16_t dev_id,
return dev->dev_ops->dequeue_bufs(dev, buffers, count, context);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_dump)
int
rte_rawdev_dump(uint16_t dev_id, FILE *f)
{
@@ -266,6 +281,7 @@ xstats_get_count(uint16_t dev_id)
return dev->dev_ops->xstats_get_names(dev, NULL, 0);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_xstats_names_get)
int
rte_rawdev_xstats_names_get(uint16_t dev_id,
struct rte_rawdev_xstats_name *xstats_names,
@@ -290,6 +306,7 @@ rte_rawdev_xstats_names_get(uint16_t dev_id,
}
/* retrieve rawdev extended statistics */
+RTE_EXPORT_SYMBOL(rte_rawdev_xstats_get)
int
rte_rawdev_xstats_get(uint16_t dev_id,
const unsigned int ids[],
@@ -304,6 +321,7 @@ rte_rawdev_xstats_get(uint16_t dev_id,
return dev->dev_ops->xstats_get(dev, ids, values, n);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_xstats_by_name_get)
uint64_t
rte_rawdev_xstats_by_name_get(uint16_t dev_id,
const char *name,
@@ -324,6 +342,7 @@ rte_rawdev_xstats_by_name_get(uint16_t dev_id,
return dev->dev_ops->xstats_get_by_name(dev, name, id);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_xstats_reset)
int
rte_rawdev_xstats_reset(uint16_t dev_id,
const uint32_t ids[], uint32_t nb_ids)
@@ -336,6 +355,7 @@ rte_rawdev_xstats_reset(uint16_t dev_id,
return dev->dev_ops->xstats_reset(dev, ids, nb_ids);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_firmware_status_get)
int
rte_rawdev_firmware_status_get(uint16_t dev_id, rte_rawdev_obj_t status_info)
{
@@ -347,6 +367,7 @@ rte_rawdev_firmware_status_get(uint16_t dev_id, rte_rawdev_obj_t status_info)
return dev->dev_ops->firmware_status_get(dev, status_info);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_firmware_version_get)
int
rte_rawdev_firmware_version_get(uint16_t dev_id, rte_rawdev_obj_t version_info)
{
@@ -358,6 +379,7 @@ rte_rawdev_firmware_version_get(uint16_t dev_id, rte_rawdev_obj_t version_info)
return dev->dev_ops->firmware_version_get(dev, version_info);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_firmware_load)
int
rte_rawdev_firmware_load(uint16_t dev_id, rte_rawdev_obj_t firmware_image)
{
@@ -372,6 +394,7 @@ rte_rawdev_firmware_load(uint16_t dev_id, rte_rawdev_obj_t firmware_image)
return dev->dev_ops->firmware_load(dev, firmware_image);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_firmware_unload)
int
rte_rawdev_firmware_unload(uint16_t dev_id)
{
@@ -383,6 +406,7 @@ rte_rawdev_firmware_unload(uint16_t dev_id)
return dev->dev_ops->firmware_unload(dev);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_selftest)
int
rte_rawdev_selftest(uint16_t dev_id)
{
@@ -394,6 +418,7 @@ rte_rawdev_selftest(uint16_t dev_id)
return dev->dev_ops->dev_selftest(dev_id);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_start)
int
rte_rawdev_start(uint16_t dev_id)
{
@@ -422,6 +447,7 @@ rte_rawdev_start(uint16_t dev_id)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rawdev_stop)
void
rte_rawdev_stop(uint16_t dev_id)
{
@@ -447,6 +473,7 @@ rte_rawdev_stop(uint16_t dev_id)
dev->started = 0;
}
+RTE_EXPORT_SYMBOL(rte_rawdev_close)
int
rte_rawdev_close(uint16_t dev_id)
{
@@ -467,6 +494,7 @@ rte_rawdev_close(uint16_t dev_id)
return dev->dev_ops->dev_close(dev);
}
+RTE_EXPORT_SYMBOL(rte_rawdev_reset)
int
rte_rawdev_reset(uint16_t dev_id)
{
@@ -495,6 +523,7 @@ rte_rawdev_find_free_device_index(void)
return RTE_RAWDEV_MAX_DEVS;
}
+RTE_EXPORT_SYMBOL(rte_rawdev_pmd_allocate)
struct rte_rawdev *
rte_rawdev_pmd_allocate(const char *name, size_t dev_priv_size, int socket_id)
{
@@ -536,6 +565,7 @@ rte_rawdev_pmd_allocate(const char *name, size_t dev_priv_size, int socket_id)
return rawdev;
}
+RTE_EXPORT_SYMBOL(rte_rawdev_pmd_release)
int
rte_rawdev_pmd_release(struct rte_rawdev *rawdev)
{
diff --git a/lib/rcu/rte_rcu_qsbr.c b/lib/rcu/rte_rcu_qsbr.c
index dbf31501a6..dc8d8de7fa 100644
--- a/lib/rcu/rte_rcu_qsbr.c
+++ b/lib/rcu/rte_rcu_qsbr.c
@@ -23,6 +23,7 @@
RTE_LOG_LINE_PREFIX(level, RCU, "%s(): ", __func__, __VA_ARGS__)
/* Get the memory size of QSBR variable */
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_get_memsize)
size_t
rte_rcu_qsbr_get_memsize(uint32_t max_threads)
{
@@ -47,6 +48,7 @@ rte_rcu_qsbr_get_memsize(uint32_t max_threads)
}
/* Initialize a quiescent state variable */
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_init)
int
rte_rcu_qsbr_init(struct rte_rcu_qsbr *v, uint32_t max_threads)
{
@@ -78,6 +80,7 @@ rte_rcu_qsbr_init(struct rte_rcu_qsbr *v, uint32_t max_threads)
/* Register a reader thread to report its quiescent state
* on a QS variable.
*/
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_thread_register)
int
rte_rcu_qsbr_thread_register(struct rte_rcu_qsbr *v, unsigned int thread_id)
{
@@ -113,6 +116,7 @@ rte_rcu_qsbr_thread_register(struct rte_rcu_qsbr *v, unsigned int thread_id)
/* Remove a reader thread, from the list of threads reporting their
* quiescent state on a QS variable.
*/
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_thread_unregister)
int
rte_rcu_qsbr_thread_unregister(struct rte_rcu_qsbr *v, unsigned int thread_id)
{
@@ -149,6 +153,7 @@ rte_rcu_qsbr_thread_unregister(struct rte_rcu_qsbr *v, unsigned int thread_id)
}
/* Wait till the reader threads have entered quiescent state. */
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_synchronize)
void
rte_rcu_qsbr_synchronize(struct rte_rcu_qsbr *v, unsigned int thread_id)
{
@@ -169,6 +174,7 @@ rte_rcu_qsbr_synchronize(struct rte_rcu_qsbr *v, unsigned int thread_id)
}
/* Dump the details of a single quiescent state variable to a file. */
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_dump)
int
rte_rcu_qsbr_dump(FILE *f, struct rte_rcu_qsbr *v)
{
@@ -235,6 +241,7 @@ rte_rcu_qsbr_dump(FILE *f, struct rte_rcu_qsbr *v)
/* Create a queue used to store the data structure elements that can
* be freed later. This queue is referred to as 'defer queue'.
*/
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_dq_create)
struct rte_rcu_qsbr_dq *
rte_rcu_qsbr_dq_create(const struct rte_rcu_qsbr_dq_parameters *params)
{
@@ -311,6 +318,7 @@ rte_rcu_qsbr_dq_create(const struct rte_rcu_qsbr_dq_parameters *params)
/* Enqueue one resource to the defer queue to free after the grace
* period is over.
*/
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_dq_enqueue)
int rte_rcu_qsbr_dq_enqueue(struct rte_rcu_qsbr_dq *dq, void *e)
{
__rte_rcu_qsbr_dq_elem_t *dq_elem;
@@ -369,6 +377,7 @@ int rte_rcu_qsbr_dq_enqueue(struct rte_rcu_qsbr_dq *dq, void *e)
}
/* Reclaim resources from the defer queue. */
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_dq_reclaim)
int
rte_rcu_qsbr_dq_reclaim(struct rte_rcu_qsbr_dq *dq, unsigned int n,
unsigned int *freed, unsigned int *pending,
@@ -418,6 +427,7 @@ rte_rcu_qsbr_dq_reclaim(struct rte_rcu_qsbr_dq *dq, unsigned int n,
}
/* Delete a defer queue. */
+RTE_EXPORT_SYMBOL(rte_rcu_qsbr_dq_delete)
int
rte_rcu_qsbr_dq_delete(struct rte_rcu_qsbr_dq *dq)
{
@@ -443,4 +453,5 @@ rte_rcu_qsbr_dq_delete(struct rte_rcu_qsbr_dq *dq)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rcu_log_type)
RTE_LOG_REGISTER_DEFAULT(rte_rcu_log_type, ERR);
diff --git a/lib/regexdev/rte_regexdev.c b/lib/regexdev/rte_regexdev.c
index 431ed911a1..6ff4d871cf 100644
--- a/lib/regexdev/rte_regexdev.c
+++ b/lib/regexdev/rte_regexdev.c
@@ -13,12 +13,14 @@
#include "rte_regexdev_driver.h"
static const char *MZ_RTE_REGEXDEV_DATA = "rte_regexdev_data";
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regex_devices, 22.03)
struct rte_regexdev rte_regex_devices[RTE_MAX_REGEXDEV_DEVS];
/* Shared memory between primary and secondary processes. */
static struct {
struct rte_regexdev_data data[RTE_MAX_REGEXDEV_DEVS];
} *rte_regexdev_shared_data;
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_logtype, 22.03)
RTE_LOG_REGISTER_DEFAULT(rte_regexdev_logtype, INFO);
static uint16_t
@@ -89,6 +91,7 @@ regexdev_check_name(const char *name)
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_regexdev_register)
struct rte_regexdev *
rte_regexdev_register(const char *name)
{
@@ -126,12 +129,14 @@ rte_regexdev_register(const char *name)
return dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_regexdev_unregister)
void
rte_regexdev_unregister(struct rte_regexdev *dev)
{
dev->state = RTE_REGEXDEV_UNUSED;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_regexdev_get_device_by_name)
struct rte_regexdev *
rte_regexdev_get_device_by_name(const char *name)
{
@@ -140,6 +145,7 @@ rte_regexdev_get_device_by_name(const char *name)
return regexdev_allocated(name);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_count, 20.08)
uint8_t
rte_regexdev_count(void)
{
@@ -153,6 +159,7 @@ rte_regexdev_count(void)
return count;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_get_dev_id, 20.08)
int
rte_regexdev_get_dev_id(const char *name)
{
@@ -171,6 +178,7 @@ rte_regexdev_get_dev_id(const char *name)
return id;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_is_valid_dev, 22.03)
int
rte_regexdev_is_valid_dev(uint16_t dev_id)
{
@@ -195,12 +203,14 @@ regexdev_info_get(uint8_t dev_id, struct rte_regexdev_info *dev_info)
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_info_get, 20.08)
int
rte_regexdev_info_get(uint8_t dev_id, struct rte_regexdev_info *dev_info)
{
return regexdev_info_get(dev_id, dev_info);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_configure, 20.08)
int
rte_regexdev_configure(uint8_t dev_id, const struct rte_regexdev_config *cfg)
{
@@ -295,6 +305,7 @@ rte_regexdev_configure(uint8_t dev_id, const struct rte_regexdev_config *cfg)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_queue_pair_setup, 20.08)
int
rte_regexdev_queue_pair_setup(uint8_t dev_id, uint16_t queue_pair_id,
const struct rte_regexdev_qp_conf *qp_conf)
@@ -327,6 +338,7 @@ rte_regexdev_queue_pair_setup(uint8_t dev_id, uint16_t queue_pair_id,
return dev->dev_ops->dev_qp_setup(dev, queue_pair_id, qp_conf);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_start, 20.08)
int
rte_regexdev_start(uint8_t dev_id)
{
@@ -343,6 +355,7 @@ rte_regexdev_start(uint8_t dev_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_stop, 20.08)
int
rte_regexdev_stop(uint8_t dev_id)
{
@@ -357,6 +370,7 @@ rte_regexdev_stop(uint8_t dev_id)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_close, 20.08)
int
rte_regexdev_close(uint8_t dev_id)
{
@@ -372,6 +386,7 @@ rte_regexdev_close(uint8_t dev_id)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_attr_get, 20.08)
int
rte_regexdev_attr_get(uint8_t dev_id, enum rte_regexdev_attr_id attr_id,
void *attr_value)
@@ -390,6 +405,7 @@ rte_regexdev_attr_get(uint8_t dev_id, enum rte_regexdev_attr_id attr_id,
return dev->dev_ops->dev_attr_get(dev, attr_id, attr_value);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_attr_set, 20.08)
int
rte_regexdev_attr_set(uint8_t dev_id, enum rte_regexdev_attr_id attr_id,
const void *attr_value)
@@ -408,6 +424,7 @@ rte_regexdev_attr_set(uint8_t dev_id, enum rte_regexdev_attr_id attr_id,
return dev->dev_ops->dev_attr_set(dev, attr_id, attr_value);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_rule_db_update, 20.08)
int
rte_regexdev_rule_db_update(uint8_t dev_id,
const struct rte_regexdev_rule *rules,
@@ -427,6 +444,7 @@ rte_regexdev_rule_db_update(uint8_t dev_id,
return dev->dev_ops->dev_rule_db_update(dev, rules, nb_rules);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_rule_db_compile_activate, 20.08)
int
rte_regexdev_rule_db_compile_activate(uint8_t dev_id)
{
@@ -439,6 +457,7 @@ rte_regexdev_rule_db_compile_activate(uint8_t dev_id)
return dev->dev_ops->dev_rule_db_compile_activate(dev);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_rule_db_import, 20.08)
int
rte_regexdev_rule_db_import(uint8_t dev_id, const char *rule_db,
uint32_t rule_db_len)
@@ -457,6 +476,7 @@ rte_regexdev_rule_db_import(uint8_t dev_id, const char *rule_db,
return dev->dev_ops->dev_db_import(dev, rule_db, rule_db_len);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_rule_db_export, 20.08)
int
rte_regexdev_rule_db_export(uint8_t dev_id, char *rule_db)
{
@@ -469,6 +489,7 @@ rte_regexdev_rule_db_export(uint8_t dev_id, char *rule_db)
return dev->dev_ops->dev_db_export(dev, rule_db);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_xstats_names_get, 20.08)
int
rte_regexdev_xstats_names_get(uint8_t dev_id,
struct rte_regexdev_xstats_map *xstats_map)
@@ -487,6 +508,7 @@ rte_regexdev_xstats_names_get(uint8_t dev_id,
return dev->dev_ops->dev_xstats_names_get(dev, xstats_map);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_xstats_get, 20.08)
int
rte_regexdev_xstats_get(uint8_t dev_id, const uint16_t *ids,
uint64_t *values, uint16_t n)
@@ -508,6 +530,7 @@ rte_regexdev_xstats_get(uint8_t dev_id, const uint16_t *ids,
return dev->dev_ops->dev_xstats_get(dev, ids, values, n);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_xstats_by_name_get, 20.08)
int
rte_regexdev_xstats_by_name_get(uint8_t dev_id, const char *name,
uint16_t *id, uint64_t *value)
@@ -533,6 +556,7 @@ rte_regexdev_xstats_by_name_get(uint8_t dev_id, const char *name,
return dev->dev_ops->dev_xstats_by_name_get(dev, name, id, value);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_xstats_reset, 20.08)
int
rte_regexdev_xstats_reset(uint8_t dev_id, const uint16_t *ids,
uint16_t nb_ids)
@@ -550,6 +574,7 @@ rte_regexdev_xstats_reset(uint8_t dev_id, const uint16_t *ids,
return dev->dev_ops->dev_xstats_reset(dev, ids, nb_ids);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_selftest, 20.08)
int
rte_regexdev_selftest(uint8_t dev_id)
{
@@ -562,6 +587,7 @@ rte_regexdev_selftest(uint8_t dev_id)
return dev->dev_ops->dev_selftest(dev);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_regexdev_dump, 20.08)
int
rte_regexdev_dump(uint8_t dev_id, FILE *f)
{
diff --git a/lib/reorder/rte_reorder.c b/lib/reorder/rte_reorder.c
index ae97e1a34d..d5828a1a88 100644
--- a/lib/reorder/rte_reorder.c
+++ b/lib/reorder/rte_reorder.c
@@ -34,6 +34,7 @@ EAL_REGISTER_TAILQ(rte_reorder_tailq)
#define RTE_REORDER_NAMESIZE 32
#define RTE_REORDER_SEQN_DYNFIELD_NAME "rte_reorder_seqn_dynfield"
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_reorder_seqn_dynfield_offset, 20.11)
int rte_reorder_seqn_dynfield_offset = -1;
/* A generic circular buffer */
@@ -59,12 +60,14 @@ struct __rte_cache_aligned rte_reorder_buffer {
static void
rte_reorder_free_mbufs(struct rte_reorder_buffer *b);
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_reorder_memory_footprint_get, 23.07)
unsigned int
rte_reorder_memory_footprint_get(unsigned int size)
{
return sizeof(struct rte_reorder_buffer) + (2 * size * sizeof(struct rte_mbuf *));
}
+RTE_EXPORT_SYMBOL(rte_reorder_init)
struct rte_reorder_buffer *
rte_reorder_init(struct rte_reorder_buffer *b, unsigned int bufsize,
const char *name, unsigned int size)
@@ -154,6 +157,7 @@ rte_reorder_entry_insert(struct rte_tailq_entry *new_te)
return te;
}
+RTE_EXPORT_SYMBOL(rte_reorder_create)
struct rte_reorder_buffer*
rte_reorder_create(const char *name, unsigned socket_id, unsigned int size)
{
@@ -210,6 +214,7 @@ rte_reorder_create(const char *name, unsigned socket_id, unsigned int size)
return b;
}
+RTE_EXPORT_SYMBOL(rte_reorder_reset)
void
rte_reorder_reset(struct rte_reorder_buffer *b)
{
@@ -233,6 +238,7 @@ rte_reorder_free_mbufs(struct rte_reorder_buffer *b)
}
}
+RTE_EXPORT_SYMBOL(rte_reorder_free)
void
rte_reorder_free(struct rte_reorder_buffer *b)
{
@@ -267,6 +273,7 @@ rte_reorder_free(struct rte_reorder_buffer *b)
rte_free(te);
}
+RTE_EXPORT_SYMBOL(rte_reorder_find_existing)
struct rte_reorder_buffer *
rte_reorder_find_existing(const char *name)
{
@@ -348,6 +355,7 @@ rte_reorder_fill_overflow(struct rte_reorder_buffer *b, unsigned n)
return order_head_adv;
}
+RTE_EXPORT_SYMBOL(rte_reorder_insert)
int
rte_reorder_insert(struct rte_reorder_buffer *b, struct rte_mbuf *mbuf)
{
@@ -414,6 +422,7 @@ rte_reorder_insert(struct rte_reorder_buffer *b, struct rte_mbuf *mbuf)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_reorder_drain)
unsigned int
rte_reorder_drain(struct rte_reorder_buffer *b, struct rte_mbuf **mbufs,
unsigned max_mbufs)
@@ -472,6 +481,7 @@ ready_buffer_seqn_find(const struct cir_buffer *ready_buf, const uint32_t seqn)
return low;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_reorder_drain_up_to_seqn, 23.03)
unsigned int
rte_reorder_drain_up_to_seqn(struct rte_reorder_buffer *b, struct rte_mbuf **mbufs,
const unsigned int max_mbufs, const rte_reorder_seqn_t seqn)
@@ -542,6 +552,7 @@ rte_reorder_is_empty(const struct rte_reorder_buffer *b)
return true;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_reorder_min_seqn_set, 23.03)
unsigned int
rte_reorder_min_seqn_set(struct rte_reorder_buffer *b, rte_reorder_seqn_t min_seqn)
{
diff --git a/lib/rib/rte_rib.c b/lib/rib/rte_rib.c
index b95d329c8b..a144faa69a 100644
--- a/lib/rib/rte_rib.c
+++ b/lib/rib/rte_rib.c
@@ -101,6 +101,7 @@ node_free(struct rte_rib *rib, struct rte_rib_node *ent)
rte_mempool_put(rib->node_pool, ent);
}
+RTE_EXPORT_SYMBOL(rte_rib_lookup)
struct rte_rib_node *
rte_rib_lookup(struct rte_rib *rib, uint32_t ip)
{
@@ -120,6 +121,7 @@ rte_rib_lookup(struct rte_rib *rib, uint32_t ip)
return prev;
}
+RTE_EXPORT_SYMBOL(rte_rib_lookup_parent)
struct rte_rib_node *
rte_rib_lookup_parent(struct rte_rib_node *ent)
{
@@ -151,6 +153,7 @@ __rib_lookup_exact(struct rte_rib *rib, uint32_t ip, uint8_t depth)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_rib_lookup_exact)
struct rte_rib_node *
rte_rib_lookup_exact(struct rte_rib *rib, uint32_t ip, uint8_t depth)
{
@@ -168,6 +171,7 @@ rte_rib_lookup_exact(struct rte_rib *rib, uint32_t ip, uint8_t depth)
* for a given in args ip/depth prefix
* last = NULL means the first invocation
*/
+RTE_EXPORT_SYMBOL(rte_rib_get_nxt)
struct rte_rib_node *
rte_rib_get_nxt(struct rte_rib *rib, uint32_t ip,
uint8_t depth, struct rte_rib_node *last, int flag)
@@ -208,6 +212,7 @@ rte_rib_get_nxt(struct rte_rib *rib, uint32_t ip,
return prev;
}
+RTE_EXPORT_SYMBOL(rte_rib_remove)
void
rte_rib_remove(struct rte_rib *rib, uint32_t ip, uint8_t depth)
{
@@ -240,6 +245,7 @@ rte_rib_remove(struct rte_rib *rib, uint32_t ip, uint8_t depth)
}
}
+RTE_EXPORT_SYMBOL(rte_rib_insert)
struct rte_rib_node *
rte_rib_insert(struct rte_rib *rib, uint32_t ip, uint8_t depth)
{
@@ -346,6 +352,7 @@ rte_rib_insert(struct rte_rib *rib, uint32_t ip, uint8_t depth)
return new_node;
}
+RTE_EXPORT_SYMBOL(rte_rib_get_ip)
int
rte_rib_get_ip(const struct rte_rib_node *node, uint32_t *ip)
{
@@ -357,6 +364,7 @@ rte_rib_get_ip(const struct rte_rib_node *node, uint32_t *ip)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rib_get_depth)
int
rte_rib_get_depth(const struct rte_rib_node *node, uint8_t *depth)
{
@@ -368,12 +376,14 @@ rte_rib_get_depth(const struct rte_rib_node *node, uint8_t *depth)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rib_get_ext)
void *
rte_rib_get_ext(struct rte_rib_node *node)
{
return (node == NULL) ? NULL : &node->ext[0];
}
+RTE_EXPORT_SYMBOL(rte_rib_get_nh)
int
rte_rib_get_nh(const struct rte_rib_node *node, uint64_t *nh)
{
@@ -385,6 +395,7 @@ rte_rib_get_nh(const struct rte_rib_node *node, uint64_t *nh)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rib_set_nh)
int
rte_rib_set_nh(struct rte_rib_node *node, uint64_t nh)
{
@@ -396,6 +407,7 @@ rte_rib_set_nh(struct rte_rib_node *node, uint64_t nh)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rib_create)
struct rte_rib *
rte_rib_create(const char *name, int socket_id, const struct rte_rib_conf *conf)
{
@@ -477,6 +489,7 @@ rte_rib_create(const char *name, int socket_id, const struct rte_rib_conf *conf)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_rib_find_existing)
struct rte_rib *
rte_rib_find_existing(const char *name)
{
@@ -502,6 +515,7 @@ rte_rib_find_existing(const char *name)
return rib;
}
+RTE_EXPORT_SYMBOL(rte_rib_free)
void
rte_rib_free(struct rte_rib *rib)
{
diff --git a/lib/rib/rte_rib6.c b/lib/rib/rte_rib6.c
index 84c47fed6d..b05ff89322 100644
--- a/lib/rib/rte_rib6.c
+++ b/lib/rib/rte_rib6.c
@@ -114,6 +114,7 @@ node_free(struct rte_rib6 *rib, struct rte_rib6_node *ent)
rte_mempool_put(rib->node_pool, ent);
}
+RTE_EXPORT_SYMBOL(rte_rib6_lookup)
struct rte_rib6_node *
rte_rib6_lookup(struct rte_rib6 *rib,
const struct rte_ipv6_addr *ip)
@@ -135,6 +136,7 @@ rte_rib6_lookup(struct rte_rib6 *rib,
return prev;
}
+RTE_EXPORT_SYMBOL(rte_rib6_lookup_parent)
struct rte_rib6_node *
rte_rib6_lookup_parent(struct rte_rib6_node *ent)
{
@@ -150,6 +152,7 @@ rte_rib6_lookup_parent(struct rte_rib6_node *ent)
return tmp;
}
+RTE_EXPORT_SYMBOL(rte_rib6_lookup_exact)
struct rte_rib6_node *
rte_rib6_lookup_exact(struct rte_rib6 *rib,
const struct rte_ipv6_addr *ip, uint8_t depth)
@@ -187,6 +190,7 @@ rte_rib6_lookup_exact(struct rte_rib6 *rib,
* for a given in args ip/depth prefix
* last = NULL means the first invocation
*/
+RTE_EXPORT_SYMBOL(rte_rib6_get_nxt)
struct rte_rib6_node *
rte_rib6_get_nxt(struct rte_rib6 *rib,
const struct rte_ipv6_addr *ip,
@@ -232,6 +236,7 @@ rte_rib6_get_nxt(struct rte_rib6 *rib,
return prev;
}
+RTE_EXPORT_SYMBOL(rte_rib6_remove)
void
rte_rib6_remove(struct rte_rib6 *rib,
const struct rte_ipv6_addr *ip, uint8_t depth)
@@ -265,6 +270,7 @@ rte_rib6_remove(struct rte_rib6 *rib,
}
}
+RTE_EXPORT_SYMBOL(rte_rib6_insert)
struct rte_rib6_node *
rte_rib6_insert(struct rte_rib6 *rib,
const struct rte_ipv6_addr *ip, uint8_t depth)
@@ -392,6 +398,7 @@ rte_rib6_insert(struct rte_rib6 *rib,
return new_node;
}
+RTE_EXPORT_SYMBOL(rte_rib6_get_ip)
int
rte_rib6_get_ip(const struct rte_rib6_node *node,
struct rte_ipv6_addr *ip)
@@ -404,6 +411,7 @@ rte_rib6_get_ip(const struct rte_rib6_node *node,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rib6_get_depth)
int
rte_rib6_get_depth(const struct rte_rib6_node *node, uint8_t *depth)
{
@@ -415,12 +423,14 @@ rte_rib6_get_depth(const struct rte_rib6_node *node, uint8_t *depth)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rib6_get_ext)
void *
rte_rib6_get_ext(struct rte_rib6_node *node)
{
return (node == NULL) ? NULL : &node->ext[0];
}
+RTE_EXPORT_SYMBOL(rte_rib6_get_nh)
int
rte_rib6_get_nh(const struct rte_rib6_node *node, uint64_t *nh)
{
@@ -432,6 +442,7 @@ rte_rib6_get_nh(const struct rte_rib6_node *node, uint64_t *nh)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rib6_set_nh)
int
rte_rib6_set_nh(struct rte_rib6_node *node, uint64_t nh)
{
@@ -443,6 +454,7 @@ rte_rib6_set_nh(struct rte_rib6_node *node, uint64_t nh)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_rib6_create)
struct rte_rib6 *
rte_rib6_create(const char *name, int socket_id,
const struct rte_rib6_conf *conf)
@@ -526,6 +538,7 @@ rte_rib6_create(const char *name, int socket_id,
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_rib6_find_existing)
struct rte_rib6 *
rte_rib6_find_existing(const char *name)
{
@@ -556,6 +569,7 @@ rte_rib6_find_existing(const char *name)
return rib;
}
+RTE_EXPORT_SYMBOL(rte_rib6_free)
void
rte_rib6_free(struct rte_rib6 *rib)
{
diff --git a/lib/ring/rte_ring.c b/lib/ring/rte_ring.c
index a7d9d6b037..8d476b9a3c 100644
--- a/lib/ring/rte_ring.c
+++ b/lib/ring/rte_ring.c
@@ -52,6 +52,7 @@ EAL_REGISTER_TAILQ(rte_ring_tailq)
#define HTD_MAX_DEF 8
/* return the size of memory occupied by a ring */
+RTE_EXPORT_SYMBOL(rte_ring_get_memsize_elem)
ssize_t
rte_ring_get_memsize_elem(unsigned int esize, unsigned int count)
{
@@ -79,6 +80,7 @@ rte_ring_get_memsize_elem(unsigned int esize, unsigned int count)
}
/* return the size of memory occupied by a ring */
+RTE_EXPORT_SYMBOL(rte_ring_get_memsize)
ssize_t
rte_ring_get_memsize(unsigned int count)
{
@@ -118,6 +120,7 @@ reset_headtail(void *p)
}
}
+RTE_EXPORT_SYMBOL(rte_ring_reset)
void
rte_ring_reset(struct rte_ring *r)
{
@@ -176,6 +179,7 @@ get_sync_type(uint32_t flags, enum rte_ring_sync_type *prod_st,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_ring_init)
int
rte_ring_init(struct rte_ring *r, const char *name, unsigned int count,
unsigned int flags)
@@ -243,6 +247,7 @@ rte_ring_init(struct rte_ring *r, const char *name, unsigned int count,
}
/* create the ring for a given element size */
+RTE_EXPORT_SYMBOL(rte_ring_create_elem)
struct rte_ring *
rte_ring_create_elem(const char *name, unsigned int esize, unsigned int count,
int socket_id, unsigned int flags)
@@ -312,6 +317,7 @@ rte_ring_create_elem(const char *name, unsigned int esize, unsigned int count,
}
/* create the ring */
+RTE_EXPORT_SYMBOL(rte_ring_create)
struct rte_ring *
rte_ring_create(const char *name, unsigned int count, int socket_id,
unsigned int flags)
@@ -321,6 +327,7 @@ rte_ring_create(const char *name, unsigned int count, int socket_id,
}
/* free the ring */
+RTE_EXPORT_SYMBOL(rte_ring_free)
void
rte_ring_free(struct rte_ring *r)
{
@@ -414,6 +421,7 @@ ring_dump_hts_headtail(FILE *f, const char *prefix,
fprintf(f, "%stail=%"PRIu32"\n", prefix, hts->ht.pos.tail);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_ring_headtail_dump, 25.03)
void
rte_ring_headtail_dump(FILE *f, const char *prefix,
const struct rte_ring_headtail *r)
@@ -442,6 +450,7 @@ rte_ring_headtail_dump(FILE *f, const char *prefix,
}
/* dump the status of the ring on the console */
+RTE_EXPORT_SYMBOL(rte_ring_dump)
void
rte_ring_dump(FILE *f, const struct rte_ring *r)
{
@@ -460,6 +469,7 @@ rte_ring_dump(FILE *f, const struct rte_ring *r)
}
/* dump the status of all rings on the console */
+RTE_EXPORT_SYMBOL(rte_ring_list_dump)
void
rte_ring_list_dump(FILE *f)
{
@@ -478,6 +488,7 @@ rte_ring_list_dump(FILE *f)
}
/* search a ring from its name */
+RTE_EXPORT_SYMBOL(rte_ring_lookup)
struct rte_ring *
rte_ring_lookup(const char *name)
{
diff --git a/lib/ring/rte_soring.c b/lib/ring/rte_soring.c
index 8cee926b11..1c9452eb24 100644
--- a/lib/ring/rte_soring.c
+++ b/lib/ring/rte_soring.c
@@ -91,6 +91,7 @@ soring_dump_stage_headtail(FILE *f, const char *prefix,
fprintf(f, "%shead=%"PRIu32"\n", prefix, st->sht.head);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_dump, 25.03)
void
rte_soring_dump(FILE *f, const struct rte_soring *r)
{
@@ -118,6 +119,7 @@ rte_soring_dump(FILE *f, const struct rte_soring *r)
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_get_memsize, 25.03)
ssize_t
rte_soring_get_memsize(const struct rte_soring_param *prm)
{
@@ -151,6 +153,7 @@ soring_compilation_checks(void)
offsetof(struct soring_stage_headtail, unused));
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_init, 25.03)
int
rte_soring_init(struct rte_soring *r, const struct rte_soring_param *prm)
{
diff --git a/lib/ring/soring.c b/lib/ring/soring.c
index 4fec7efae7..9d77404aee 100644
--- a/lib/ring/soring.c
+++ b/lib/ring/soring.c
@@ -489,6 +489,7 @@ soring_release(struct rte_soring *r, const void *objs,
* Public functions (data-path) start here.
*/
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_release, 25.03)
void
rte_soring_release(struct rte_soring *r, const void *objs,
uint32_t stage, uint32_t n, uint32_t ftoken)
@@ -497,6 +498,7 @@ rte_soring_release(struct rte_soring *r, const void *objs,
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_releasx, 25.03)
void
rte_soring_releasx(struct rte_soring *r, const void *objs,
const void *meta, uint32_t stage, uint32_t n, uint32_t ftoken)
@@ -504,6 +506,7 @@ rte_soring_releasx(struct rte_soring *r, const void *objs,
soring_release(r, objs, meta, stage, n, ftoken);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_enqueue_bulk, 25.03)
uint32_t
rte_soring_enqueue_bulk(struct rte_soring *r, const void *objs, uint32_t n,
uint32_t *free_space)
@@ -512,6 +515,7 @@ rte_soring_enqueue_bulk(struct rte_soring *r, const void *objs, uint32_t n,
free_space);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_enqueux_bulk, 25.03)
uint32_t
rte_soring_enqueux_bulk(struct rte_soring *r, const void *objs,
const void *meta, uint32_t n, uint32_t *free_space)
@@ -520,6 +524,7 @@ rte_soring_enqueux_bulk(struct rte_soring *r, const void *objs,
free_space);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_enqueue_burst, 25.03)
uint32_t
rte_soring_enqueue_burst(struct rte_soring *r, const void *objs, uint32_t n,
uint32_t *free_space)
@@ -528,6 +533,7 @@ rte_soring_enqueue_burst(struct rte_soring *r, const void *objs, uint32_t n,
free_space);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_enqueux_burst, 25.03)
uint32_t
rte_soring_enqueux_burst(struct rte_soring *r, const void *objs,
const void *meta, uint32_t n, uint32_t *free_space)
@@ -536,6 +542,7 @@ rte_soring_enqueux_burst(struct rte_soring *r, const void *objs,
free_space);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_dequeue_bulk, 25.03)
uint32_t
rte_soring_dequeue_bulk(struct rte_soring *r, void *objs, uint32_t num,
uint32_t *available)
@@ -544,6 +551,7 @@ rte_soring_dequeue_bulk(struct rte_soring *r, void *objs, uint32_t num,
available);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_dequeux_bulk, 25.03)
uint32_t
rte_soring_dequeux_bulk(struct rte_soring *r, void *objs, void *meta,
uint32_t num, uint32_t *available)
@@ -552,6 +560,7 @@ rte_soring_dequeux_bulk(struct rte_soring *r, void *objs, void *meta,
available);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_dequeue_burst, 25.03)
uint32_t
rte_soring_dequeue_burst(struct rte_soring *r, void *objs, uint32_t num,
uint32_t *available)
@@ -560,6 +569,7 @@ rte_soring_dequeue_burst(struct rte_soring *r, void *objs, uint32_t num,
available);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_dequeux_burst, 25.03)
uint32_t
rte_soring_dequeux_burst(struct rte_soring *r, void *objs, void *meta,
uint32_t num, uint32_t *available)
@@ -568,6 +578,7 @@ rte_soring_dequeux_burst(struct rte_soring *r, void *objs, void *meta,
available);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_acquire_bulk, 25.03)
uint32_t
rte_soring_acquire_bulk(struct rte_soring *r, void *objs,
uint32_t stage, uint32_t num, uint32_t *ftoken, uint32_t *available)
@@ -576,6 +587,7 @@ rte_soring_acquire_bulk(struct rte_soring *r, void *objs,
RTE_RING_QUEUE_FIXED, ftoken, available);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_acquirx_bulk, 25.03)
uint32_t
rte_soring_acquirx_bulk(struct rte_soring *r, void *objs, void *meta,
uint32_t stage, uint32_t num, uint32_t *ftoken, uint32_t *available)
@@ -584,6 +596,7 @@ rte_soring_acquirx_bulk(struct rte_soring *r, void *objs, void *meta,
RTE_RING_QUEUE_FIXED, ftoken, available);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_acquire_burst, 25.03)
uint32_t
rte_soring_acquire_burst(struct rte_soring *r, void *objs,
uint32_t stage, uint32_t num, uint32_t *ftoken, uint32_t *available)
@@ -592,6 +605,7 @@ rte_soring_acquire_burst(struct rte_soring *r, void *objs,
RTE_RING_QUEUE_VARIABLE, ftoken, available);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_acquirx_burst, 25.03)
uint32_t
rte_soring_acquirx_burst(struct rte_soring *r, void *objs, void *meta,
uint32_t stage, uint32_t num, uint32_t *ftoken, uint32_t *available)
@@ -600,6 +614,7 @@ rte_soring_acquirx_burst(struct rte_soring *r, void *objs, void *meta,
RTE_RING_QUEUE_VARIABLE, ftoken, available);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_count, 25.03)
unsigned int
rte_soring_count(const struct rte_soring *r)
{
@@ -609,6 +624,7 @@ rte_soring_count(const struct rte_soring *r)
return (count > r->capacity) ? r->capacity : count;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_soring_free_count, 25.03)
unsigned int
rte_soring_free_count(const struct rte_soring *r)
{
diff --git a/lib/sched/rte_approx.c b/lib/sched/rte_approx.c
index edc8d9113b..ac06dffb88 100644
--- a/lib/sched/rte_approx.c
+++ b/lib/sched/rte_approx.c
@@ -139,6 +139,7 @@ find_best_rational_approximation(uint32_t alpha_num, uint32_t d_num, uint32_t de
}
}
+RTE_EXPORT_SYMBOL(rte_approx)
int rte_approx(double alpha, double d, uint32_t *p, uint32_t *q)
{
uint32_t alpha_num, d_num, denum;
diff --git a/lib/sched/rte_pie.c b/lib/sched/rte_pie.c
index a9f650e60f..94fc756f16 100644
--- a/lib/sched/rte_pie.c
+++ b/lib/sched/rte_pie.c
@@ -9,6 +9,7 @@
#include "rte_sched_log.h"
#include "rte_pie.h"
+RTE_EXPORT_SYMBOL(rte_pie_rt_data_init)
int
rte_pie_rt_data_init(struct rte_pie *pie)
{
@@ -22,6 +23,7 @@ rte_pie_rt_data_init(struct rte_pie *pie)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_pie_config_init)
int
rte_pie_config_init(struct rte_pie_config *pie_cfg,
const uint16_t qdelay_ref,
diff --git a/lib/sched/rte_red.c b/lib/sched/rte_red.c
index fa27a141ed..2e3e7efee1 100644
--- a/lib/sched/rte_red.c
+++ b/lib/sched/rte_red.c
@@ -8,18 +8,22 @@
#include <rte_common.h>
static int rte_red_init_done = 0; /**< Flag to indicate that global initialisation is done */
+RTE_EXPORT_SYMBOL(rte_red_rand_val)
uint32_t rte_red_rand_val = 0; /**< Random value cache */
+RTE_EXPORT_SYMBOL(rte_red_rand_seed)
uint32_t rte_red_rand_seed = 0; /**< Seed for random number generation */
/**
* table[i] = log2(1-Wq) * Scale * -1
* Wq = 1/(2^i)
*/
+RTE_EXPORT_SYMBOL(rte_red_log2_1_minus_Wq)
uint16_t rte_red_log2_1_minus_Wq[RTE_RED_WQ_LOG2_NUM];
/**
* table[i] = 2^(i/16) * Scale
*/
+RTE_EXPORT_SYMBOL(rte_red_pow2_frac_inv)
uint16_t rte_red_pow2_frac_inv[16];
/**
@@ -64,6 +68,7 @@ __rte_red_init_tables(void)
}
}
+RTE_EXPORT_SYMBOL(rte_red_rt_data_init)
int
rte_red_rt_data_init(struct rte_red *red)
{
@@ -76,6 +81,7 @@ rte_red_rt_data_init(struct rte_red *red)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_red_config_init)
int
rte_red_config_init(struct rte_red_config *red_cfg,
const uint16_t wq_log2,
diff --git a/lib/sched/rte_sched.c b/lib/sched/rte_sched.c
index d8ee4e7e91..a5f2051bed 100644
--- a/lib/sched/rte_sched.c
+++ b/lib/sched/rte_sched.c
@@ -883,6 +883,7 @@ rte_sched_subport_check_params(struct rte_sched_subport_params *params,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_sched_port_get_memory_footprint)
uint32_t
rte_sched_port_get_memory_footprint(struct rte_sched_port_params *port_params,
struct rte_sched_subport_params **subport_params)
@@ -926,6 +927,7 @@ rte_sched_port_get_memory_footprint(struct rte_sched_port_params *port_params,
return size0 + size1;
}
+RTE_EXPORT_SYMBOL(rte_sched_port_config)
struct rte_sched_port *
rte_sched_port_config(struct rte_sched_port_params *params)
{
@@ -1046,6 +1048,7 @@ rte_sched_subport_free(struct rte_sched_port *port,
rte_free(subport);
}
+RTE_EXPORT_SYMBOL(rte_sched_port_free)
void
rte_sched_port_free(struct rte_sched_port *port)
{
@@ -1159,6 +1162,7 @@ rte_sched_cman_config(struct rte_sched_port *port,
return -EINVAL;
}
+RTE_EXPORT_SYMBOL(rte_sched_subport_tc_ov_config)
int
rte_sched_subport_tc_ov_config(struct rte_sched_port *port,
uint32_t subport_id,
@@ -1184,6 +1188,7 @@ rte_sched_subport_tc_ov_config(struct rte_sched_port *port,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_sched_subport_config)
int
rte_sched_subport_config(struct rte_sched_port *port,
uint32_t subport_id,
@@ -1377,6 +1382,7 @@ rte_sched_subport_config(struct rte_sched_port *port,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_sched_pipe_config)
int
rte_sched_pipe_config(struct rte_sched_port *port,
uint32_t subport_id,
@@ -1501,6 +1507,7 @@ rte_sched_pipe_config(struct rte_sched_port *port,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_sched_subport_pipe_profile_add)
int
rte_sched_subport_pipe_profile_add(struct rte_sched_port *port,
uint32_t subport_id,
@@ -1566,6 +1573,7 @@ rte_sched_subport_pipe_profile_add(struct rte_sched_port *port,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_sched_port_subport_profile_add)
int
rte_sched_port_subport_profile_add(struct rte_sched_port *port,
struct rte_sched_subport_profile_params *params,
@@ -1647,6 +1655,7 @@ rte_sched_port_qindex(struct rte_sched_port *port,
(RTE_SCHED_QUEUES_PER_PIPE - 1));
}
+RTE_EXPORT_SYMBOL(rte_sched_port_pkt_write)
void
rte_sched_port_pkt_write(struct rte_sched_port *port,
struct rte_mbuf *pkt,
@@ -1660,6 +1669,7 @@ rte_sched_port_pkt_write(struct rte_sched_port *port,
rte_mbuf_sched_set(pkt, queue_id, traffic_class, (uint8_t)color);
}
+RTE_EXPORT_SYMBOL(rte_sched_port_pkt_read_tree_path)
void
rte_sched_port_pkt_read_tree_path(struct rte_sched_port *port,
const struct rte_mbuf *pkt,
@@ -1675,12 +1685,14 @@ rte_sched_port_pkt_read_tree_path(struct rte_sched_port *port,
*queue = rte_sched_port_tc_queue(port, queue_id);
}
+RTE_EXPORT_SYMBOL(rte_sched_port_pkt_read_color)
enum rte_color
rte_sched_port_pkt_read_color(const struct rte_mbuf *pkt)
{
return (enum rte_color)rte_mbuf_sched_color_get(pkt);
}
+RTE_EXPORT_SYMBOL(rte_sched_subport_read_stats)
int
rte_sched_subport_read_stats(struct rte_sched_port *port,
uint32_t subport_id,
@@ -1726,6 +1738,7 @@ rte_sched_subport_read_stats(struct rte_sched_port *port,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_sched_queue_read_stats)
int
rte_sched_queue_read_stats(struct rte_sched_port *port,
uint32_t queue_id,
@@ -2041,6 +2054,7 @@ rte_sched_port_enqueue_qwa(struct rte_sched_port *port,
* ----->|_______|----->|_______|----->|_______|----->|_______|----->
* p01 p11 p21 p31
*/
+RTE_EXPORT_SYMBOL(rte_sched_port_enqueue)
int
rte_sched_port_enqueue(struct rte_sched_port *port, struct rte_mbuf **pkts,
uint32_t n_pkts)
@@ -2952,6 +2966,7 @@ rte_sched_port_exceptions(struct rte_sched_subport *subport, int second_pass)
return exceptions;
}
+RTE_EXPORT_SYMBOL(rte_sched_port_dequeue)
int
rte_sched_port_dequeue(struct rte_sched_port *port, struct rte_mbuf **pkts, uint32_t n_pkts)
{
diff --git a/lib/security/rte_security.c b/lib/security/rte_security.c
index 1e980343fe..154d5e1a1a 100644
--- a/lib/security/rte_security.c
+++ b/lib/security/rte_security.c
@@ -30,9 +30,12 @@
#define RTE_SECURITY_DYNFIELD_NAME "rte_security_dynfield_metadata"
#define RTE_SECURITY_OOP_DYNFIELD_NAME "rte_security_oop_dynfield_metadata"
+RTE_EXPORT_SYMBOL(rte_security_dynfield_offset)
int rte_security_dynfield_offset = -1;
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_security_oop_dynfield_offset, 23.11)
int rte_security_oop_dynfield_offset = -1;
+RTE_EXPORT_INTERNAL_SYMBOL(rte_security_dynfield_register)
int
rte_security_dynfield_register(void)
{
@@ -46,6 +49,7 @@ rte_security_dynfield_register(void)
return rte_security_dynfield_offset;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_security_oop_dynfield_register)
int
rte_security_oop_dynfield_register(void)
{
@@ -60,6 +64,7 @@ rte_security_oop_dynfield_register(void)
return rte_security_oop_dynfield_offset;
}
+RTE_EXPORT_SYMBOL(rte_security_session_create)
void *
rte_security_session_create(void *ctx,
struct rte_security_session_conf *conf,
@@ -94,6 +99,7 @@ rte_security_session_create(void *ctx,
return (void *)sess;
}
+RTE_EXPORT_SYMBOL(rte_security_session_update)
int
rte_security_session_update(void *ctx, void *sess, struct rte_security_session_conf *conf)
{
@@ -107,6 +113,7 @@ rte_security_session_update(void *ctx, void *sess, struct rte_security_session_c
return instance->ops->session_update(instance->device, sess, conf);
}
+RTE_EXPORT_SYMBOL(rte_security_session_get_size)
unsigned int
rte_security_session_get_size(void *ctx)
{
@@ -118,6 +125,7 @@ rte_security_session_get_size(void *ctx)
instance->ops->session_get_size(instance->device));
}
+RTE_EXPORT_SYMBOL(rte_security_session_stats_get)
int
rte_security_session_stats_get(void *ctx, void *sess, struct rte_security_stats *stats)
{
@@ -131,6 +139,7 @@ rte_security_session_stats_get(void *ctx, void *sess, struct rte_security_stats
return instance->ops->session_stats_get(instance->device, sess, stats);
}
+RTE_EXPORT_SYMBOL(rte_security_session_destroy)
int
rte_security_session_destroy(void *ctx, void *sess)
{
@@ -153,6 +162,7 @@ rte_security_session_destroy(void *ctx, void *sess)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_security_macsec_sc_create)
int
rte_security_macsec_sc_create(void *ctx, struct rte_security_macsec_sc *conf)
{
@@ -169,6 +179,7 @@ rte_security_macsec_sc_create(void *ctx, struct rte_security_macsec_sc *conf)
return sc_id;
}
+RTE_EXPORT_SYMBOL(rte_security_macsec_sa_create)
int
rte_security_macsec_sa_create(void *ctx, struct rte_security_macsec_sa *conf)
{
@@ -185,6 +196,7 @@ rte_security_macsec_sa_create(void *ctx, struct rte_security_macsec_sa *conf)
return sa_id;
}
+RTE_EXPORT_SYMBOL(rte_security_macsec_sc_destroy)
int
rte_security_macsec_sc_destroy(void *ctx, uint16_t sc_id,
enum rte_security_macsec_direction dir)
@@ -204,6 +216,7 @@ rte_security_macsec_sc_destroy(void *ctx, uint16_t sc_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_security_macsec_sa_destroy)
int
rte_security_macsec_sa_destroy(void *ctx, uint16_t sa_id,
enum rte_security_macsec_direction dir)
@@ -223,6 +236,7 @@ rte_security_macsec_sa_destroy(void *ctx, uint16_t sa_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_security_macsec_sc_stats_get)
int
rte_security_macsec_sc_stats_get(void *ctx, uint16_t sc_id,
enum rte_security_macsec_direction dir,
@@ -236,6 +250,7 @@ rte_security_macsec_sc_stats_get(void *ctx, uint16_t sc_id,
return instance->ops->macsec_sc_stats_get(instance->device, sc_id, dir, stats);
}
+RTE_EXPORT_SYMBOL(rte_security_macsec_sa_stats_get)
int
rte_security_macsec_sa_stats_get(void *ctx, uint16_t sa_id,
enum rte_security_macsec_direction dir,
@@ -249,6 +264,7 @@ rte_security_macsec_sa_stats_get(void *ctx, uint16_t sa_id,
return instance->ops->macsec_sa_stats_get(instance->device, sa_id, dir, stats);
}
+RTE_EXPORT_SYMBOL(__rte_security_set_pkt_metadata)
int
__rte_security_set_pkt_metadata(void *ctx, void *sess, struct rte_mbuf *m, void *params)
{
@@ -263,6 +279,7 @@ __rte_security_set_pkt_metadata(void *ctx, void *sess, struct rte_mbuf *m, void
return instance->ops->set_pkt_metadata(instance->device, sess, m, params);
}
+RTE_EXPORT_SYMBOL(rte_security_capabilities_get)
const struct rte_security_capability *
rte_security_capabilities_get(void *ctx)
{
@@ -273,6 +290,7 @@ rte_security_capabilities_get(void *ctx)
return instance->ops->capabilities_get(instance->device);
}
+RTE_EXPORT_SYMBOL(rte_security_capability_get)
const struct rte_security_capability *
rte_security_capability_get(void *ctx, struct rte_security_capability_idx *idx)
{
@@ -325,6 +343,7 @@ rte_security_capability_get(void *ctx, struct rte_security_capability_idx *idx)
return NULL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_security_rx_inject_configure, 23.11)
int
rte_security_rx_inject_configure(void *ctx, uint16_t port_id, bool enable)
{
@@ -337,6 +356,7 @@ rte_security_rx_inject_configure(void *ctx, uint16_t port_id, bool enable)
return instance->ops->rx_inject_configure(instance->device, port_id, enable);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_security_inb_pkt_rx_inject, 23.11)
uint16_t
rte_security_inb_pkt_rx_inject(void *ctx, struct rte_mbuf **pkts, void **sess,
uint16_t nb_pkts)
diff --git a/lib/stack/rte_stack.c b/lib/stack/rte_stack.c
index 7261281dc1..f9a1f58a86 100644
--- a/lib/stack/rte_stack.c
+++ b/lib/stack/rte_stack.c
@@ -44,6 +44,7 @@ rte_stack_get_memsize(unsigned int count, uint32_t flags)
return rte_stack_std_get_memsize(count);
}
+RTE_EXPORT_SYMBOL(rte_stack_create)
struct rte_stack *
rte_stack_create(const char *name, unsigned int count, int socket_id,
uint32_t flags)
@@ -129,6 +130,7 @@ rte_stack_create(const char *name, unsigned int count, int socket_id,
return s;
}
+RTE_EXPORT_SYMBOL(rte_stack_free)
void
rte_stack_free(struct rte_stack *s)
{
@@ -161,6 +163,7 @@ rte_stack_free(struct rte_stack *s)
rte_memzone_free(s->memzone);
}
+RTE_EXPORT_SYMBOL(rte_stack_lookup)
struct rte_stack *
rte_stack_lookup(const char *name)
{
diff --git a/lib/table/rte_swx_table_em.c b/lib/table/rte_swx_table_em.c
index 2f042d74b3..c6a561871e 100644
--- a/lib/table/rte_swx_table_em.c
+++ b/lib/table/rte_swx_table_em.c
@@ -647,6 +647,7 @@ table_footprint(struct rte_swx_table_params *params,
return memory_footprint;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_exact_match_unoptimized_ops, 20.11)
struct rte_swx_table_ops rte_swx_table_exact_match_unoptimized_ops = {
.footprint_get = table_footprint,
.mailbox_size_get = table_mailbox_size_get_unoptimized,
@@ -657,6 +658,7 @@ struct rte_swx_table_ops rte_swx_table_exact_match_unoptimized_ops = {
.free = table_free,
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_exact_match_ops, 20.11)
struct rte_swx_table_ops rte_swx_table_exact_match_ops = {
.footprint_get = table_footprint,
.mailbox_size_get = table_mailbox_size_get,
diff --git a/lib/table/rte_swx_table_learner.c b/lib/table/rte_swx_table_learner.c
index 55a3645e06..faf69a5e77 100644
--- a/lib/table/rte_swx_table_learner.c
+++ b/lib/table/rte_swx_table_learner.c
@@ -272,6 +272,7 @@ table_entry_id_get(struct table *t, struct table_bucket *b, size_t bucket_key_po
return (bucket_id << TABLE_KEYS_PER_BUCKET_LOG2) + bucket_key_pos;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_footprint_get, 21.11)
uint64_t
rte_swx_table_learner_footprint_get(struct rte_swx_table_learner_params *params)
{
@@ -283,6 +284,7 @@ rte_swx_table_learner_footprint_get(struct rte_swx_table_learner_params *params)
return status ? 0 : p.total_size;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_create, 21.11)
void *
rte_swx_table_learner_create(struct rte_swx_table_learner_params *params, int numa_node)
{
@@ -306,6 +308,7 @@ rte_swx_table_learner_create(struct rte_swx_table_learner_params *params, int nu
return t;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_free, 21.11)
void
rte_swx_table_learner_free(void *table)
{
@@ -317,6 +320,7 @@ rte_swx_table_learner_free(void *table)
env_free(t, t->params.total_size);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_timeout_update, 22.07)
int
rte_swx_table_learner_timeout_update(void *table,
uint32_t key_timeout_id,
@@ -354,12 +358,14 @@ struct mailbox {
int state;
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_mailbox_size_get, 21.11)
uint64_t
rte_swx_table_learner_mailbox_size_get(void)
{
return sizeof(struct mailbox);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_lookup, 21.11)
int
rte_swx_table_learner_lookup(void *table,
void *mailbox,
@@ -446,6 +452,7 @@ rte_swx_table_learner_lookup(void *table,
}
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_rearm, 22.07)
void
rte_swx_table_learner_rearm(void *table,
void *mailbox,
@@ -469,6 +476,7 @@ rte_swx_table_learner_rearm(void *table,
b->time[bucket_key_pos] = (input_time + key_timeout) >> 32;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_rearm_new, 22.07)
void
rte_swx_table_learner_rearm_new(void *table,
void *mailbox,
@@ -493,6 +501,7 @@ rte_swx_table_learner_rearm_new(void *table,
b->key_timeout_id[bucket_key_pos] = (uint8_t)key_timeout_id;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_add, 21.11)
uint32_t
rte_swx_table_learner_add(void *table,
void *mailbox,
@@ -569,6 +578,7 @@ rte_swx_table_learner_add(void *table,
return 1;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_delete, 21.11)
void
rte_swx_table_learner_delete(void *table __rte_unused,
void *mailbox)
diff --git a/lib/table/rte_swx_table_selector.c b/lib/table/rte_swx_table_selector.c
index 18e021fe6f..400c7e7574 100644
--- a/lib/table/rte_swx_table_selector.c
+++ b/lib/table/rte_swx_table_selector.c
@@ -170,6 +170,7 @@ struct table {
uint32_t n_members_per_group_max_log2;
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_footprint_get, 21.08)
uint64_t
rte_swx_table_selector_footprint_get(uint32_t n_groups_max, uint32_t n_members_per_group_max)
{
@@ -182,6 +183,7 @@ rte_swx_table_selector_footprint_get(uint32_t n_groups_max, uint32_t n_members_p
return sizeof(struct table) + group_table_size + members_size;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_free, 21.08)
void
rte_swx_table_selector_free(void *table)
{
@@ -259,6 +261,7 @@ group_set(struct table *t,
uint32_t group_id,
struct rte_swx_table_selector_group *group);
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_create, 21.08)
void *
rte_swx_table_selector_create(struct rte_swx_table_selector_params *params,
struct rte_swx_table_selector_group **groups,
@@ -528,6 +531,7 @@ group_set(struct table *t,
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_group_set, 21.08)
int
rte_swx_table_selector_group_set(void *table,
uint32_t group_id,
@@ -542,12 +546,14 @@ struct mailbox {
};
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_mailbox_size_get, 21.08)
uint64_t
rte_swx_table_selector_mailbox_size_get(void)
{
return sizeof(struct mailbox);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_select, 21.08)
int
rte_swx_table_selector_select(void *table,
void *mailbox __rte_unused,
diff --git a/lib/table/rte_swx_table_wm.c b/lib/table/rte_swx_table_wm.c
index 58afb35d46..5f7880b282 100644
--- a/lib/table/rte_swx_table_wm.c
+++ b/lib/table/rte_swx_table_wm.c
@@ -457,6 +457,7 @@ table_lookup(void *table,
return 1;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_wildcard_match_ops, 21.05)
struct rte_swx_table_ops rte_swx_table_wildcard_match_ops = {
.footprint_get = NULL,
.mailbox_size_get = table_mailbox_size_get,
diff --git a/lib/table/rte_table_acl.c b/lib/table/rte_table_acl.c
index 78779bbc4d..414fbcd1c2 100644
--- a/lib/table/rte_table_acl.c
+++ b/lib/table/rte_table_acl.c
@@ -781,6 +781,7 @@ rte_table_acl_stats_read(void *table, struct rte_table_stats *stats, int clear)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_acl_ops)
struct rte_table_ops rte_table_acl_ops = {
.f_create = rte_table_acl_create,
.f_free = rte_table_acl_free,
diff --git a/lib/table/rte_table_array.c b/lib/table/rte_table_array.c
index 84b5d67e90..92550469b3 100644
--- a/lib/table/rte_table_array.c
+++ b/lib/table/rte_table_array.c
@@ -196,6 +196,7 @@ rte_table_array_stats_read(void *table, struct rte_table_stats *stats, int clear
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_array_ops)
struct rte_table_ops rte_table_array_ops = {
.f_create = rte_table_array_create,
.f_free = rte_table_array_free,
diff --git a/lib/table/rte_table_hash_cuckoo.c b/lib/table/rte_table_hash_cuckoo.c
index 388eae918c..56ddefb71d 100644
--- a/lib/table/rte_table_hash_cuckoo.c
+++ b/lib/table/rte_table_hash_cuckoo.c
@@ -313,6 +313,7 @@ rte_table_hash_cuckoo_stats_read(void *table, struct rte_table_stats *stats,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_hash_cuckoo_ops)
struct rte_table_ops rte_table_hash_cuckoo_ops = {
.f_create = rte_table_hash_cuckoo_create,
.f_free = rte_table_hash_cuckoo_free,
diff --git a/lib/table/rte_table_hash_ext.c b/lib/table/rte_table_hash_ext.c
index 91e5037b41..b3e56a6516 100644
--- a/lib/table/rte_table_hash_ext.c
+++ b/lib/table/rte_table_hash_ext.c
@@ -997,6 +997,7 @@ rte_table_hash_ext_stats_read(void *table, struct rte_table_stats *stats, int cl
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_hash_ext_ops)
struct rte_table_ops rte_table_hash_ext_ops = {
.f_create = rte_table_hash_ext_create,
.f_free = rte_table_hash_ext_free,
diff --git a/lib/table/rte_table_hash_key16.c b/lib/table/rte_table_hash_key16.c
index 67b77c16a0..61d36e37b1 100644
--- a/lib/table/rte_table_hash_key16.c
+++ b/lib/table/rte_table_hash_key16.c
@@ -1166,6 +1166,7 @@ rte_table_hash_key16_stats_read(void *table, struct rte_table_stats *stats, int
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_hash_key16_lru_ops)
struct rte_table_ops rte_table_hash_key16_lru_ops = {
.f_create = rte_table_hash_create_key16_lru,
.f_free = rte_table_hash_free_key16_lru,
@@ -1177,6 +1178,7 @@ struct rte_table_ops rte_table_hash_key16_lru_ops = {
.f_stats = rte_table_hash_key16_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_table_hash_key16_ext_ops)
struct rte_table_ops rte_table_hash_key16_ext_ops = {
.f_create = rte_table_hash_create_key16_ext,
.f_free = rte_table_hash_free_key16_ext,
diff --git a/lib/table/rte_table_hash_key32.c b/lib/table/rte_table_hash_key32.c
index 1aa86c6a49..1b597694ba 100644
--- a/lib/table/rte_table_hash_key32.c
+++ b/lib/table/rte_table_hash_key32.c
@@ -1199,6 +1199,7 @@ rte_table_hash_key32_stats_read(void *table, struct rte_table_stats *stats, int
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_hash_key32_lru_ops)
struct rte_table_ops rte_table_hash_key32_lru_ops = {
.f_create = rte_table_hash_create_key32_lru,
.f_free = rte_table_hash_free_key32_lru,
@@ -1210,6 +1211,7 @@ struct rte_table_ops rte_table_hash_key32_lru_ops = {
.f_stats = rte_table_hash_key32_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_table_hash_key32_ext_ops)
struct rte_table_ops rte_table_hash_key32_ext_ops = {
.f_create = rte_table_hash_create_key32_ext,
.f_free = rte_table_hash_free_key32_ext,
diff --git a/lib/table/rte_table_hash_key8.c b/lib/table/rte_table_hash_key8.c
index c8d72b333d..9cf2cc3a91 100644
--- a/lib/table/rte_table_hash_key8.c
+++ b/lib/table/rte_table_hash_key8.c
@@ -1133,6 +1133,7 @@ rte_table_hash_key8_stats_read(void *table, struct rte_table_stats *stats, int c
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_hash_key8_lru_ops)
struct rte_table_ops rte_table_hash_key8_lru_ops = {
.f_create = rte_table_hash_create_key8_lru,
.f_free = rte_table_hash_free_key8_lru,
@@ -1144,6 +1145,7 @@ struct rte_table_ops rte_table_hash_key8_lru_ops = {
.f_stats = rte_table_hash_key8_stats_read,
};
+RTE_EXPORT_SYMBOL(rte_table_hash_key8_ext_ops)
struct rte_table_ops rte_table_hash_key8_ext_ops = {
.f_create = rte_table_hash_create_key8_ext,
.f_free = rte_table_hash_free_key8_ext,
diff --git a/lib/table/rte_table_hash_lru.c b/lib/table/rte_table_hash_lru.c
index 801e48f5ba..051cd3dbcf 100644
--- a/lib/table/rte_table_hash_lru.c
+++ b/lib/table/rte_table_hash_lru.c
@@ -945,6 +945,7 @@ rte_table_hash_lru_stats_read(void *table, struct rte_table_stats *stats, int cl
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_hash_lru_ops)
struct rte_table_ops rte_table_hash_lru_ops = {
.f_create = rte_table_hash_lru_create,
.f_free = rte_table_hash_lru_free,
diff --git a/lib/table/rte_table_lpm.c b/lib/table/rte_table_lpm.c
index 3e10c14d40..9387260679 100644
--- a/lib/table/rte_table_lpm.c
+++ b/lib/table/rte_table_lpm.c
@@ -355,6 +355,7 @@ rte_table_lpm_stats_read(void *table, struct rte_table_stats *stats, int clear)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_lpm_ops)
struct rte_table_ops rte_table_lpm_ops = {
.f_create = rte_table_lpm_create,
.f_free = rte_table_lpm_free,
diff --git a/lib/table/rte_table_lpm_ipv6.c b/lib/table/rte_table_lpm_ipv6.c
index dea11130d3..50ab87d5a9 100644
--- a/lib/table/rte_table_lpm_ipv6.c
+++ b/lib/table/rte_table_lpm_ipv6.c
@@ -356,6 +356,7 @@ rte_table_lpm_ipv6_stats_read(void *table, struct rte_table_stats *stats, int cl
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_lpm_ipv6_ops)
struct rte_table_ops rte_table_lpm_ipv6_ops = {
.f_create = rte_table_lpm_ipv6_create,
.f_free = rte_table_lpm_ipv6_free,
diff --git a/lib/table/rte_table_stub.c b/lib/table/rte_table_stub.c
index 7147f7146e..cd5e2e0127 100644
--- a/lib/table/rte_table_stub.c
+++ b/lib/table/rte_table_stub.c
@@ -81,6 +81,7 @@ rte_table_stub_stats_read(void *table, struct rte_table_stats *stats, int clear)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_table_stub_ops)
struct rte_table_ops rte_table_stub_ops = {
.f_create = rte_table_stub_create,
.f_free = NULL,
diff --git a/lib/telemetry/telemetry.c b/lib/telemetry/telemetry.c
index 31a2c91c06..57b758ec4d 100644
--- a/lib/telemetry/telemetry.c
+++ b/lib/telemetry/telemetry.c
@@ -114,12 +114,14 @@ register_cmd(const char *cmd, const char *help,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_telemetry_register_cmd)
int
rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help)
{
return register_cmd(cmd, help, fn, NULL, NULL);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_telemetry_register_cmd_arg, 24.11)
int
rte_telemetry_register_cmd_arg(const char *cmd, telemetry_arg_cb fn, void *arg, const char *help)
{
@@ -652,6 +654,7 @@ telemetry_v2_init(void)
#endif /* !RTE_EXEC_ENV_WINDOWS */
+RTE_EXPORT_INTERNAL_SYMBOL(rte_telemetry_init)
int32_t
rte_telemetry_init(const char *runtime_dir, const char *rte_version, rte_cpuset_t *cpuset)
{
diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.c
index 3b1a2408df..29e6134427 100644
--- a/lib/telemetry/telemetry_data.c
+++ b/lib/telemetry/telemetry_data.c
@@ -16,6 +16,7 @@
#define RTE_TEL_UINT_HEX_STR_BUF_LEN 64
+RTE_EXPORT_SYMBOL(rte_tel_data_start_array)
int
rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type)
{
@@ -30,6 +31,7 @@ rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_start_dict)
int
rte_tel_data_start_dict(struct rte_tel_data *d)
{
@@ -38,6 +40,7 @@ rte_tel_data_start_dict(struct rte_tel_data *d)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_string)
int
rte_tel_data_string(struct rte_tel_data *d, const char *str)
{
@@ -50,6 +53,7 @@ rte_tel_data_string(struct rte_tel_data *d, const char *str)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_array_string)
int
rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str)
{
@@ -62,6 +66,7 @@ rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str)
return bytes < RTE_TEL_MAX_STRING_LEN ? 0 : E2BIG;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_array_int)
int
rte_tel_data_add_array_int(struct rte_tel_data *d, int64_t x)
{
@@ -73,6 +78,7 @@ rte_tel_data_add_array_int(struct rte_tel_data *d, int64_t x)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_array_uint)
int
rte_tel_data_add_array_uint(struct rte_tel_data *d, uint64_t x)
{
@@ -84,12 +90,14 @@ rte_tel_data_add_array_uint(struct rte_tel_data *d, uint64_t x)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_array_u64)
int
rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x)
{
return rte_tel_data_add_array_uint(d, x);
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_array_container)
int
rte_tel_data_add_array_container(struct rte_tel_data *d,
struct rte_tel_data *val, int keep)
@@ -122,6 +130,7 @@ rte_tel_uint_to_hex_encoded_str(char *buf, size_t buf_len, uint64_t val,
return len < (int)buf_len ? 0 : -EINVAL;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_tel_data_add_array_uint_hex, 23.03)
int
rte_tel_data_add_array_uint_hex(struct rte_tel_data *d, uint64_t val,
uint8_t display_bitwidth)
@@ -152,6 +161,7 @@ valid_name(const char *name)
return true;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_dict_string)
int
rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
const char *val)
@@ -177,6 +187,7 @@ rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_dict_int)
int
rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int64_t val)
{
@@ -196,6 +207,7 @@ rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int64_t val)
return bytes < RTE_TEL_MAX_STRING_LEN ? 0 : E2BIG;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_dict_uint)
int
rte_tel_data_add_dict_uint(struct rte_tel_data *d,
const char *name, uint64_t val)
@@ -216,12 +228,14 @@ rte_tel_data_add_dict_uint(struct rte_tel_data *d,
return bytes < RTE_TEL_MAX_STRING_LEN ? 0 : E2BIG;
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_dict_u64)
int
rte_tel_data_add_dict_u64(struct rte_tel_data *d, const char *name, uint64_t val)
{
return rte_tel_data_add_dict_uint(d, name, val);
}
+RTE_EXPORT_SYMBOL(rte_tel_data_add_dict_container)
int
rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
struct rte_tel_data *val, int keep)
@@ -247,6 +261,7 @@ rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
return bytes < RTE_TEL_MAX_STRING_LEN ? 0 : E2BIG;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_tel_data_add_dict_uint_hex, 23.03)
int
rte_tel_data_add_dict_uint_hex(struct rte_tel_data *d, const char *name,
uint64_t val, uint8_t display_bitwidth)
@@ -263,12 +278,14 @@ rte_tel_data_add_dict_uint_hex(struct rte_tel_data *d, const char *name,
return rte_tel_data_add_dict_string(d, name, hex_str);
}
+RTE_EXPORT_SYMBOL(rte_tel_data_alloc)
struct rte_tel_data *
rte_tel_data_alloc(void)
{
return malloc(sizeof(struct rte_tel_data));
}
+RTE_EXPORT_SYMBOL(rte_tel_data_free)
void
rte_tel_data_free(struct rte_tel_data *data)
{
diff --git a/lib/telemetry/telemetry_legacy.c b/lib/telemetry/telemetry_legacy.c
index 578230732c..bb7018f7a7 100644
--- a/lib/telemetry/telemetry_legacy.c
+++ b/lib/telemetry/telemetry_legacy.c
@@ -52,6 +52,7 @@ struct json_command callbacks[TELEMETRY_LEGACY_MAX_CALLBACKS] = {
int num_legacy_callbacks = 1;
static rte_spinlock_t callback_sl = RTE_SPINLOCK_INITIALIZER;
+RTE_EXPORT_INTERNAL_SYMBOL(rte_telemetry_legacy_register)
int
rte_telemetry_legacy_register(const char *cmd,
enum rte_telemetry_legacy_data_req data_req,
diff --git a/lib/timer/rte_timer.c b/lib/timer/rte_timer.c
index bb8b6a651d..380c2a83bd 100644
--- a/lib/timer/rte_timer.c
+++ b/lib/timer/rte_timer.c
@@ -84,6 +84,7 @@ timer_data_valid(uint32_t id)
timer_data = &rte_timer_data_arr[id]; \
} while (0)
+RTE_EXPORT_SYMBOL(rte_timer_data_alloc)
int
rte_timer_data_alloc(uint32_t *id_ptr)
{
@@ -108,6 +109,7 @@ rte_timer_data_alloc(uint32_t *id_ptr)
return -ENOSPC;
}
+RTE_EXPORT_SYMBOL(rte_timer_data_dealloc)
int
rte_timer_data_dealloc(uint32_t id)
{
@@ -125,6 +127,7 @@ rte_timer_data_dealloc(uint32_t id)
* secondary processes should be empty, the zeroth entry can be shared by
* multiple processes.
*/
+RTE_EXPORT_SYMBOL(rte_timer_subsystem_init)
int
rte_timer_subsystem_init(void)
{
@@ -184,6 +187,7 @@ rte_timer_subsystem_init(void)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_timer_subsystem_finalize)
void
rte_timer_subsystem_finalize(void)
{
@@ -203,6 +207,7 @@ rte_timer_subsystem_finalize(void)
}
/* Initialize the timer handle tim for use */
+RTE_EXPORT_SYMBOL(rte_timer_init)
void
rte_timer_init(struct rte_timer *tim)
{
@@ -539,6 +544,7 @@ __rte_timer_reset(struct rte_timer *tim, uint64_t expire,
}
/* Reset and start the timer associated with the timer handle tim */
+RTE_EXPORT_SYMBOL(rte_timer_reset)
int
rte_timer_reset(struct rte_timer *tim, uint64_t ticks,
enum rte_timer_type type, unsigned int tim_lcore,
@@ -548,6 +554,7 @@ rte_timer_reset(struct rte_timer *tim, uint64_t ticks,
tim_lcore, fct, arg);
}
+RTE_EXPORT_SYMBOL(rte_timer_alt_reset)
int
rte_timer_alt_reset(uint32_t timer_data_id, struct rte_timer *tim,
uint64_t ticks, enum rte_timer_type type,
@@ -569,6 +576,7 @@ rte_timer_alt_reset(uint32_t timer_data_id, struct rte_timer *tim,
}
/* loop until rte_timer_reset() succeed */
+RTE_EXPORT_SYMBOL(rte_timer_reset_sync)
void
rte_timer_reset_sync(struct rte_timer *tim, uint64_t ticks,
enum rte_timer_type type, unsigned tim_lcore,
@@ -618,12 +626,14 @@ __rte_timer_stop(struct rte_timer *tim,
}
/* Stop the timer associated with the timer handle tim */
+RTE_EXPORT_SYMBOL(rte_timer_stop)
int
rte_timer_stop(struct rte_timer *tim)
{
return rte_timer_alt_stop(default_data_id, tim);
}
+RTE_EXPORT_SYMBOL(rte_timer_alt_stop)
int
rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim)
{
@@ -635,6 +645,7 @@ rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim)
}
/* loop until rte_timer_stop() succeed */
+RTE_EXPORT_SYMBOL(rte_timer_stop_sync)
void
rte_timer_stop_sync(struct rte_timer *tim)
{
@@ -643,6 +654,7 @@ rte_timer_stop_sync(struct rte_timer *tim)
}
/* Test the PENDING status of the timer handle tim */
+RTE_EXPORT_SYMBOL(rte_timer_pending)
int
rte_timer_pending(struct rte_timer *tim)
{
@@ -777,6 +789,7 @@ __rte_timer_manage(struct rte_timer_data *timer_data)
priv_timer[lcore_id].running_tim = NULL;
}
+RTE_EXPORT_SYMBOL(rte_timer_manage)
int
rte_timer_manage(void)
{
@@ -789,6 +802,7 @@ rte_timer_manage(void)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_timer_alt_manage)
int
rte_timer_alt_manage(uint32_t timer_data_id,
unsigned int *poll_lcores,
@@ -970,6 +984,7 @@ rte_timer_alt_manage(uint32_t timer_data_id,
}
/* Walk pending lists, stopping timers and calling user-specified function */
+RTE_EXPORT_SYMBOL(rte_timer_stop_all)
int
rte_timer_stop_all(uint32_t timer_data_id, unsigned int *walk_lcores,
int nb_walk_lcores,
@@ -1002,6 +1017,7 @@ rte_timer_stop_all(uint32_t timer_data_id, unsigned int *walk_lcores,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_timer_next_ticks)
int64_t
rte_timer_next_ticks(void)
{
@@ -1055,12 +1071,14 @@ __rte_timer_dump_stats(struct rte_timer_data *timer_data __rte_unused, FILE *f)
#endif
}
+RTE_EXPORT_SYMBOL(rte_timer_dump_stats)
int
rte_timer_dump_stats(FILE *f)
{
return rte_timer_alt_dump_stats(default_data_id, f);
}
+RTE_EXPORT_SYMBOL(rte_timer_alt_dump_stats)
int
rte_timer_alt_dump_stats(uint32_t timer_data_id __rte_unused, FILE *f)
{
diff --git a/lib/vhost/socket.c b/lib/vhost/socket.c
index 4c6c551c3d..cfe9d3f52d 100644
--- a/lib/vhost/socket.c
+++ b/lib/vhost/socket.c
@@ -571,6 +571,7 @@ find_vhost_user_socket(const char *path)
return NULL;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_attach_vdpa_device)
int
rte_vhost_driver_attach_vdpa_device(const char *path,
struct rte_vdpa_device *dev)
@@ -589,6 +590,7 @@ rte_vhost_driver_attach_vdpa_device(const char *path,
return vsocket ? 0 : -1;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_detach_vdpa_device)
int
rte_vhost_driver_detach_vdpa_device(const char *path)
{
@@ -603,6 +605,7 @@ rte_vhost_driver_detach_vdpa_device(const char *path)
return vsocket ? 0 : -1;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_get_vdpa_device)
struct rte_vdpa_device *
rte_vhost_driver_get_vdpa_device(const char *path)
{
@@ -618,6 +621,7 @@ rte_vhost_driver_get_vdpa_device(const char *path)
return dev;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_get_vdpa_dev_type)
int
rte_vhost_driver_get_vdpa_dev_type(const char *path, uint32_t *type)
{
@@ -646,6 +650,7 @@ rte_vhost_driver_get_vdpa_dev_type(const char *path, uint32_t *type)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_disable_features)
int
rte_vhost_driver_disable_features(const char *path, uint64_t features)
{
@@ -666,6 +671,7 @@ rte_vhost_driver_disable_features(const char *path, uint64_t features)
return vsocket ? 0 : -1;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_enable_features)
int
rte_vhost_driver_enable_features(const char *path, uint64_t features)
{
@@ -689,6 +695,7 @@ rte_vhost_driver_enable_features(const char *path, uint64_t features)
return vsocket ? 0 : -1;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_set_features)
int
rte_vhost_driver_set_features(const char *path, uint64_t features)
{
@@ -710,6 +717,7 @@ rte_vhost_driver_set_features(const char *path, uint64_t features)
return vsocket ? 0 : -1;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_get_features)
int
rte_vhost_driver_get_features(const char *path, uint64_t *features)
{
@@ -745,6 +753,7 @@ rte_vhost_driver_get_features(const char *path, uint64_t *features)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_set_protocol_features)
int
rte_vhost_driver_set_protocol_features(const char *path,
uint64_t protocol_features)
@@ -759,6 +768,7 @@ rte_vhost_driver_set_protocol_features(const char *path,
return vsocket ? 0 : -1;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_get_protocol_features)
int
rte_vhost_driver_get_protocol_features(const char *path,
uint64_t *protocol_features)
@@ -797,6 +807,7 @@ rte_vhost_driver_get_protocol_features(const char *path,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_get_queue_num)
int
rte_vhost_driver_get_queue_num(const char *path, uint32_t *queue_num)
{
@@ -832,6 +843,7 @@ rte_vhost_driver_get_queue_num(const char *path, uint32_t *queue_num)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_set_max_queue_num)
int
rte_vhost_driver_set_max_queue_num(const char *path, uint32_t max_queue_pairs)
{
@@ -889,6 +901,7 @@ vhost_user_socket_mem_free(struct vhost_user_socket *vsocket)
* (the default case), or client (when RTE_VHOST_USER_CLIENT) flag
* is set.
*/
+RTE_EXPORT_SYMBOL(rte_vhost_driver_register)
int
rte_vhost_driver_register(const char *path, uint64_t flags)
{
@@ -1054,6 +1067,7 @@ vhost_user_remove_reconnect(struct vhost_user_socket *vsocket)
/**
* Unregister the specified vhost socket
*/
+RTE_EXPORT_SYMBOL(rte_vhost_driver_unregister)
int
rte_vhost_driver_unregister(const char *path)
{
@@ -1137,6 +1151,7 @@ rte_vhost_driver_unregister(const char *path)
/*
* Register ops so that we can add/remove device to data core.
*/
+RTE_EXPORT_SYMBOL(rte_vhost_driver_callback_register)
int
rte_vhost_driver_callback_register(const char *path,
struct rte_vhost_device_ops const * const ops)
@@ -1164,6 +1179,7 @@ vhost_driver_callback_get(const char *path)
return vsocket ? vsocket->notify_ops : NULL;
}
+RTE_EXPORT_SYMBOL(rte_vhost_driver_start)
int
rte_vhost_driver_start(const char *path)
{
diff --git a/lib/vhost/vdpa.c b/lib/vhost/vdpa.c
index 329dd572b7..fa99a835f7 100644
--- a/lib/vhost/vdpa.c
+++ b/lib/vhost/vdpa.c
@@ -49,6 +49,7 @@ __vdpa_find_device_by_name(const char *name)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vdpa_find_device_by_name)
struct rte_vdpa_device *
rte_vdpa_find_device_by_name(const char *name)
{
@@ -61,6 +62,7 @@ rte_vdpa_find_device_by_name(const char *name)
return dev;
}
+RTE_EXPORT_SYMBOL(rte_vdpa_get_rte_device)
struct rte_device *
rte_vdpa_get_rte_device(struct rte_vdpa_device *vdpa_dev)
{
@@ -70,6 +72,7 @@ rte_vdpa_get_rte_device(struct rte_vdpa_device *vdpa_dev)
return vdpa_dev->device;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_vdpa_register_device)
struct rte_vdpa_device *
rte_vdpa_register_device(struct rte_device *rte_dev,
struct rte_vdpa_dev_ops *ops)
@@ -125,6 +128,7 @@ rte_vdpa_register_device(struct rte_device *rte_dev,
return dev;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_vdpa_unregister_device)
int
rte_vdpa_unregister_device(struct rte_vdpa_device *dev)
{
@@ -146,6 +150,7 @@ rte_vdpa_unregister_device(struct rte_vdpa_device *dev)
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_vdpa_relay_vring_used)
int
rte_vdpa_relay_vring_used(int vid, uint16_t qid, void *vring_m)
{
@@ -257,6 +262,7 @@ rte_vdpa_relay_vring_used(int vid, uint16_t qid, void *vring_m)
return -1;
}
+RTE_EXPORT_SYMBOL(rte_vdpa_get_queue_num)
int
rte_vdpa_get_queue_num(struct rte_vdpa_device *dev, uint32_t *queue_num)
{
@@ -266,6 +272,7 @@ rte_vdpa_get_queue_num(struct rte_vdpa_device *dev, uint32_t *queue_num)
return dev->ops->get_queue_num(dev, queue_num);
}
+RTE_EXPORT_SYMBOL(rte_vdpa_get_features)
int
rte_vdpa_get_features(struct rte_vdpa_device *dev, uint64_t *features)
{
@@ -275,6 +282,7 @@ rte_vdpa_get_features(struct rte_vdpa_device *dev, uint64_t *features)
return dev->ops->get_features(dev, features);
}
+RTE_EXPORT_SYMBOL(rte_vdpa_get_protocol_features)
int
rte_vdpa_get_protocol_features(struct rte_vdpa_device *dev, uint64_t *features)
{
@@ -285,6 +293,7 @@ rte_vdpa_get_protocol_features(struct rte_vdpa_device *dev, uint64_t *features)
return dev->ops->get_protocol_features(dev, features);
}
+RTE_EXPORT_SYMBOL(rte_vdpa_get_stats_names)
int
rte_vdpa_get_stats_names(struct rte_vdpa_device *dev,
struct rte_vdpa_stat_name *stats_names,
@@ -299,6 +308,7 @@ rte_vdpa_get_stats_names(struct rte_vdpa_device *dev,
return dev->ops->get_stats_names(dev, stats_names, size);
}
+RTE_EXPORT_SYMBOL(rte_vdpa_get_stats)
int
rte_vdpa_get_stats(struct rte_vdpa_device *dev, uint16_t qid,
struct rte_vdpa_stat *stats, unsigned int n)
@@ -312,6 +322,7 @@ rte_vdpa_get_stats(struct rte_vdpa_device *dev, uint16_t qid,
return dev->ops->get_stats(dev, qid, stats, n);
}
+RTE_EXPORT_SYMBOL(rte_vdpa_reset_stats)
int
rte_vdpa_reset_stats(struct rte_vdpa_device *dev, uint16_t qid)
{
diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c
index f01ae6130e..8f48d690cf 100644
--- a/lib/vhost/vhost.c
+++ b/lib/vhost/vhost.c
@@ -860,6 +860,7 @@ vhost_enable_linearbuf(int vid)
dev->linearbuf = 1;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_mtu)
int
rte_vhost_get_mtu(int vid, uint16_t *mtu)
{
@@ -879,6 +880,7 @@ rte_vhost_get_mtu(int vid, uint16_t *mtu)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_numa_node)
int
rte_vhost_get_numa_node(int vid)
{
@@ -905,6 +907,7 @@ rte_vhost_get_numa_node(int vid)
#endif
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_vring_num)
uint16_t
rte_vhost_get_vring_num(int vid)
{
@@ -916,6 +919,7 @@ rte_vhost_get_vring_num(int vid)
return dev->nr_vring;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_ifname)
int
rte_vhost_get_ifname(int vid, char *buf, size_t len)
{
@@ -932,6 +936,7 @@ rte_vhost_get_ifname(int vid, char *buf, size_t len)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_negotiated_features)
int
rte_vhost_get_negotiated_features(int vid, uint64_t *features)
{
@@ -945,6 +950,7 @@ rte_vhost_get_negotiated_features(int vid, uint64_t *features)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_negotiated_protocol_features)
int
rte_vhost_get_negotiated_protocol_features(int vid,
uint64_t *protocol_features)
@@ -959,6 +965,7 @@ rte_vhost_get_negotiated_protocol_features(int vid,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_mem_table)
int
rte_vhost_get_mem_table(int vid, struct rte_vhost_memory **mem)
{
@@ -982,6 +989,7 @@ rte_vhost_get_mem_table(int vid, struct rte_vhost_memory **mem)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_vhost_vring)
int
rte_vhost_get_vhost_vring(int vid, uint16_t vring_idx,
struct rte_vhost_vring *vring)
@@ -1018,6 +1026,7 @@ rte_vhost_get_vhost_vring(int vid, uint16_t vring_idx,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_vhost_ring_inflight)
int
rte_vhost_get_vhost_ring_inflight(int vid, uint16_t vring_idx,
struct rte_vhost_ring_inflight *vring)
@@ -1053,6 +1062,7 @@ rte_vhost_get_vhost_ring_inflight(int vid, uint16_t vring_idx,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_set_inflight_desc_split)
int
rte_vhost_set_inflight_desc_split(int vid, uint16_t vring_idx,
uint16_t idx)
@@ -1089,6 +1099,7 @@ rte_vhost_set_inflight_desc_split(int vid, uint16_t vring_idx,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_set_inflight_desc_packed)
int
rte_vhost_set_inflight_desc_packed(int vid, uint16_t vring_idx,
uint16_t head, uint16_t last,
@@ -1157,6 +1168,7 @@ rte_vhost_set_inflight_desc_packed(int vid, uint16_t vring_idx,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_clr_inflight_desc_split)
int
rte_vhost_clr_inflight_desc_split(int vid, uint16_t vring_idx,
uint16_t last_used_idx, uint16_t idx)
@@ -1198,6 +1210,7 @@ rte_vhost_clr_inflight_desc_split(int vid, uint16_t vring_idx,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_clr_inflight_desc_packed)
int
rte_vhost_clr_inflight_desc_packed(int vid, uint16_t vring_idx,
uint16_t head)
@@ -1244,6 +1257,7 @@ rte_vhost_clr_inflight_desc_packed(int vid, uint16_t vring_idx,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_set_last_inflight_io_split)
int
rte_vhost_set_last_inflight_io_split(int vid, uint16_t vring_idx,
uint16_t idx)
@@ -1279,6 +1293,7 @@ rte_vhost_set_last_inflight_io_split(int vid, uint16_t vring_idx,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_set_last_inflight_io_packed)
int
rte_vhost_set_last_inflight_io_packed(int vid, uint16_t vring_idx,
uint16_t head)
@@ -1329,6 +1344,7 @@ rte_vhost_set_last_inflight_io_packed(int vid, uint16_t vring_idx,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_vring_call)
int
rte_vhost_vring_call(int vid, uint16_t vring_idx)
{
@@ -1365,6 +1381,7 @@ rte_vhost_vring_call(int vid, uint16_t vring_idx)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_vring_call_nonblock)
int
rte_vhost_vring_call_nonblock(int vid, uint16_t vring_idx)
{
@@ -1402,6 +1419,7 @@ rte_vhost_vring_call_nonblock(int vid, uint16_t vring_idx)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_avail_entries)
uint16_t
rte_vhost_avail_entries(int vid, uint16_t queue_id)
{
@@ -1498,6 +1516,7 @@ vhost_enable_guest_notification(struct virtio_net *dev,
return vhost_enable_notify_split(dev, vq, enable);
}
+RTE_EXPORT_SYMBOL(rte_vhost_enable_guest_notification)
int
rte_vhost_enable_guest_notification(int vid, uint16_t queue_id, int enable)
{
@@ -1531,6 +1550,7 @@ rte_vhost_enable_guest_notification(int vid, uint16_t queue_id, int enable)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_notify_guest, 23.07)
void
rte_vhost_notify_guest(int vid, uint16_t queue_id)
{
@@ -1567,6 +1587,7 @@ rte_vhost_notify_guest(int vid, uint16_t queue_id)
rte_rwlock_read_unlock(&vq->access_lock);
}
+RTE_EXPORT_SYMBOL(rte_vhost_log_write)
void
rte_vhost_log_write(int vid, uint64_t addr, uint64_t len)
{
@@ -1578,6 +1599,7 @@ rte_vhost_log_write(int vid, uint64_t addr, uint64_t len)
vhost_log_write(dev, addr, len);
}
+RTE_EXPORT_SYMBOL(rte_vhost_log_used_vring)
void
rte_vhost_log_used_vring(int vid, uint16_t vring_idx,
uint64_t offset, uint64_t len)
@@ -1598,6 +1620,7 @@ rte_vhost_log_used_vring(int vid, uint16_t vring_idx,
vhost_log_used_vring(dev, vq, offset, len);
}
+RTE_EXPORT_SYMBOL(rte_vhost_rx_queue_count)
uint32_t
rte_vhost_rx_queue_count(int vid, uint16_t qid)
{
@@ -1635,6 +1658,7 @@ rte_vhost_rx_queue_count(int vid, uint16_t qid)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_vdpa_device)
struct rte_vdpa_device *
rte_vhost_get_vdpa_device(int vid)
{
@@ -1646,6 +1670,7 @@ rte_vhost_get_vdpa_device(int vid)
return dev->vdpa_dev;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_log_base)
int
rte_vhost_get_log_base(int vid, uint64_t *log_base,
uint64_t *log_size)
@@ -1661,6 +1686,7 @@ rte_vhost_get_log_base(int vid, uint64_t *log_base,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_vring_base)
int
rte_vhost_get_vring_base(int vid, uint16_t queue_id,
uint16_t *last_avail_idx, uint16_t *last_used_idx)
@@ -1691,6 +1717,7 @@ rte_vhost_get_vring_base(int vid, uint16_t queue_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_set_vring_base)
int
rte_vhost_set_vring_base(int vid, uint16_t queue_id,
uint16_t last_avail_idx, uint16_t last_used_idx)
@@ -1723,6 +1750,7 @@ rte_vhost_set_vring_base(int vid, uint16_t queue_id,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_vring_base_from_inflight)
int
rte_vhost_get_vring_base_from_inflight(int vid,
uint16_t queue_id,
@@ -1757,6 +1785,7 @@ rte_vhost_get_vring_base_from_inflight(int vid,
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_extern_callback_register)
int
rte_vhost_extern_callback_register(int vid,
struct rte_vhost_user_extern_ops const * const ops, void *ctx)
@@ -1844,6 +1873,7 @@ async_channel_register(struct virtio_net *dev, struct vhost_virtqueue *vq)
return -1;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_async_channel_register, 20.08)
int
rte_vhost_async_channel_register(int vid, uint16_t queue_id)
{
@@ -1877,6 +1907,7 @@ rte_vhost_async_channel_register(int vid, uint16_t queue_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_async_channel_register_thread_unsafe, 21.08)
int
rte_vhost_async_channel_register_thread_unsafe(int vid, uint16_t queue_id)
{
@@ -1899,6 +1930,7 @@ rte_vhost_async_channel_register_thread_unsafe(int vid, uint16_t queue_id)
return async_channel_register(dev, vq);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_async_channel_unregister, 20.08)
int
rte_vhost_async_channel_unregister(int vid, uint16_t queue_id)
{
@@ -1945,6 +1977,7 @@ rte_vhost_async_channel_unregister(int vid, uint16_t queue_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_async_channel_unregister_thread_unsafe, 21.08)
int
rte_vhost_async_channel_unregister_thread_unsafe(int vid, uint16_t queue_id)
{
@@ -1979,6 +2012,7 @@ rte_vhost_async_channel_unregister_thread_unsafe(int vid, uint16_t queue_id)
return 0;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_async_dma_configure, 22.03)
int
rte_vhost_async_dma_configure(int16_t dma_id, uint16_t vchan_id)
{
@@ -2055,6 +2089,7 @@ rte_vhost_async_dma_configure(int16_t dma_id, uint16_t vchan_id)
return -1;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_async_get_inflight, 21.08)
int
rte_vhost_async_get_inflight(int vid, uint16_t queue_id)
{
@@ -2093,6 +2128,7 @@ rte_vhost_async_get_inflight(int vid, uint16_t queue_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_async_get_inflight_thread_unsafe, 22.07)
int
rte_vhost_async_get_inflight_thread_unsafe(int vid, uint16_t queue_id)
{
@@ -2121,6 +2157,7 @@ rte_vhost_async_get_inflight_thread_unsafe(int vid, uint16_t queue_id)
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_get_monitor_addr)
int
rte_vhost_get_monitor_addr(int vid, uint16_t queue_id,
struct rte_vhost_power_monitor_cond *pmc)
@@ -2171,6 +2208,7 @@ rte_vhost_get_monitor_addr(int vid, uint16_t queue_id,
}
+RTE_EXPORT_SYMBOL(rte_vhost_vring_stats_get_names)
int
rte_vhost_vring_stats_get_names(int vid, uint16_t queue_id,
struct rte_vhost_stat_name *name, unsigned int size)
@@ -2198,6 +2236,7 @@ rte_vhost_vring_stats_get_names(int vid, uint16_t queue_id,
return VHOST_NB_VQ_STATS;
}
+RTE_EXPORT_SYMBOL(rte_vhost_vring_stats_get)
int
rte_vhost_vring_stats_get(int vid, uint16_t queue_id,
struct rte_vhost_stat *stats, unsigned int n)
@@ -2244,6 +2283,7 @@ rte_vhost_vring_stats_get(int vid, uint16_t queue_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_vring_stats_reset)
int rte_vhost_vring_stats_reset(int vid, uint16_t queue_id)
{
struct virtio_net *dev = get_device(vid);
@@ -2279,6 +2319,7 @@ int rte_vhost_vring_stats_reset(int vid, uint16_t queue_id)
return ret;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_async_dma_unconfigure, 22.11)
int
rte_vhost_async_dma_unconfigure(int16_t dma_id, uint16_t vchan_id)
{
diff --git a/lib/vhost/vhost_crypto.c b/lib/vhost/vhost_crypto.c
index 3c6c5dc114..e6b1afbb31 100644
--- a/lib/vhost/vhost_crypto.c
+++ b/lib/vhost/vhost_crypto.c
@@ -1782,6 +1782,7 @@ vhost_crypto_complete_one_vm_requests(struct rte_crypto_op **ops,
return processed;
}
+RTE_EXPORT_SYMBOL(rte_vhost_crypto_driver_start)
int
rte_vhost_crypto_driver_start(const char *path)
{
@@ -1803,6 +1804,7 @@ rte_vhost_crypto_driver_start(const char *path)
return rte_vhost_driver_start(path);
}
+RTE_EXPORT_SYMBOL(rte_vhost_crypto_create)
int
rte_vhost_crypto_create(int vid, uint8_t cryptodev_id,
struct rte_mempool *sess_pool,
@@ -1886,6 +1888,7 @@ rte_vhost_crypto_create(int vid, uint8_t cryptodev_id,
return ret;
}
+RTE_EXPORT_SYMBOL(rte_vhost_crypto_free)
int
rte_vhost_crypto_free(int vid)
{
@@ -1915,6 +1918,7 @@ rte_vhost_crypto_free(int vid)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_crypto_set_zero_copy)
int
rte_vhost_crypto_set_zero_copy(int vid, enum rte_vhost_crypto_zero_copy option)
{
@@ -1970,6 +1974,7 @@ rte_vhost_crypto_set_zero_copy(int vid, enum rte_vhost_crypto_zero_copy option)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_crypto_fetch_requests)
uint16_t
rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,
struct rte_crypto_op **ops, uint16_t nb_ops)
@@ -2099,6 +2104,7 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,
return i;
}
+RTE_EXPORT_SYMBOL(rte_vhost_crypto_finalize_requests)
uint16_t
rte_vhost_crypto_finalize_requests(struct rte_crypto_op **ops,
uint16_t nb_ops, int *callfds, uint16_t *nb_callfds)
diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
index 26dc0bde97..902654a03c 100644
--- a/lib/vhost/vhost_user.c
+++ b/lib/vhost/vhost_user.c
@@ -3359,6 +3359,7 @@ vhost_user_iotlb_miss(struct virtio_net *dev, uint64_t iova, uint8_t perm)
return 0;
}
+RTE_EXPORT_SYMBOL(rte_vhost_backend_config_change)
int
rte_vhost_backend_config_change(int vid, bool need_reply)
{
@@ -3421,6 +3422,7 @@ static int vhost_user_backend_set_vring_host_notifier(struct virtio_net *dev,
return ret;
}
+RTE_EXPORT_INTERNAL_SYMBOL(rte_vhost_host_notifier_ctrl)
int rte_vhost_host_notifier_ctrl(int vid, uint16_t qid, bool enable)
{
struct virtio_net *dev;
diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c
index 0348e8dac3..37515d44b0 100644
--- a/lib/vhost/virtio_net.c
+++ b/lib/vhost/virtio_net.c
@@ -1739,6 +1739,7 @@ virtio_dev_rx(struct virtio_net *dev, struct vhost_virtqueue *vq,
return nb_tx;
}
+RTE_EXPORT_SYMBOL(rte_vhost_enqueue_burst)
uint16_t
rte_vhost_enqueue_burst(int vid, uint16_t queue_id,
struct rte_mbuf **__rte_restrict pkts, uint16_t count)
@@ -2340,6 +2341,7 @@ vhost_poll_enqueue_completed(struct virtio_net *dev, struct vhost_virtqueue *vq,
return nr_cpl_pkts;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_poll_enqueue_completed, 20.08)
uint16_t
rte_vhost_poll_enqueue_completed(int vid, uint16_t queue_id,
struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
@@ -2395,6 +2397,7 @@ rte_vhost_poll_enqueue_completed(int vid, uint16_t queue_id,
return n_pkts_cpl;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_clear_queue_thread_unsafe, 21.08)
uint16_t
rte_vhost_clear_queue_thread_unsafe(int vid, uint16_t queue_id,
struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
@@ -2452,6 +2455,7 @@ rte_vhost_clear_queue_thread_unsafe(int vid, uint16_t queue_id,
return n_pkts_cpl;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_clear_queue, 22.07)
uint16_t
rte_vhost_clear_queue(int vid, uint16_t queue_id, struct rte_mbuf **pkts,
uint16_t count, int16_t dma_id, uint16_t vchan_id)
@@ -2567,6 +2571,7 @@ virtio_dev_rx_async_submit(struct virtio_net *dev, struct vhost_virtqueue *vq,
return nb_tx;
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_submit_enqueue_burst, 20.08)
uint16_t
rte_vhost_submit_enqueue_burst(int vid, uint16_t queue_id,
struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
@@ -3588,6 +3593,7 @@ virtio_dev_tx_packed_compliant(struct virtio_net *dev,
return virtio_dev_tx_packed(dev, vq, mbuf_pool, pkts, count, false);
}
+RTE_EXPORT_SYMBOL(rte_vhost_dequeue_burst)
uint16_t
rte_vhost_dequeue_burst(int vid, uint16_t queue_id,
struct rte_mempool *mbuf_pool, struct rte_mbuf **pkts, uint16_t count)
@@ -4197,6 +4203,7 @@ virtio_dev_tx_async_packed_compliant(struct virtio_net *dev, struct vhost_virtqu
pkts, count, dma_id, vchan_id, false);
}
+RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_vhost_async_try_dequeue_burst, 22.07)
uint16_t
rte_vhost_async_try_dequeue_burst(int vid, uint16_t queue_id,
struct rte_mempool *mbuf_pool, struct rte_mbuf **pkts, uint16_t count,
--
2.48.1
next prev parent reply other threads:[~2025-03-17 15:44 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-05 21:23 [RFC] eal: add new function versioning macros David Marchand
2025-03-06 2:57 ` Patrick Robb
2025-03-06 10:23 ` Bruce Richardson
2025-03-06 12:50 ` [RFC v2 1/2] " David Marchand
2025-03-06 12:50 ` [RFC v2 2/2] build: generate symbol maps David Marchand
2025-03-06 15:45 ` [RFC v2 1/2] eal: add new function versioning macros Andre Muezerie
2025-03-11 9:55 ` [RFC v3 0/8] Symbol versioning and export rework David Marchand
2025-03-11 9:55 ` [RFC v3 1/8] lib: remove incorrect exported symbols David Marchand
2025-03-11 9:56 ` [RFC v3 2/8] drivers: " David Marchand
2025-03-11 9:56 ` [RFC v3 3/8] eal: rework function versioning macros David Marchand
2025-03-13 16:53 ` Bruce Richardson
2025-03-13 17:09 ` David Marchand
2025-03-11 9:56 ` [RFC v3 4/8] buildtools: display version when listing symbols David Marchand
2025-03-11 9:56 ` [RFC v3 5/8] build: generate symbol maps David Marchand
2025-03-13 17:26 ` Bruce Richardson
2025-03-14 15:38 ` David Marchand
2025-03-14 14:24 ` Thomas Monjalon
2025-03-14 15:38 ` David Marchand
2025-03-14 15:27 ` Andre Muezerie
2025-03-14 15:51 ` David Marchand
2025-03-11 9:56 ` [RFC v3 6/8] build: mark exported symbols David Marchand
2025-03-13 17:30 ` Bruce Richardson
2025-03-14 16:14 ` David Marchand
2025-03-14 16:23 ` Bruce Richardson
2025-03-14 16:53 ` David Marchand
2025-03-14 17:21 ` David Marchand
2025-03-14 17:28 ` Bruce Richardson
2025-03-14 17:39 ` David Marchand
2025-03-14 17:51 ` Bruce Richardson
2025-03-11 9:56 ` [RFC v3 7/8] build: use dynamically generated version maps David Marchand
2025-03-11 9:56 ` [RFC v3 8/8] build: remove static " David Marchand
2025-03-11 10:18 ` [RFC v3 0/8] Symbol versioning and export rework Morten Brørup
2025-03-11 13:43 ` David Marchand
2025-03-17 15:42 ` [RFC v4 " David Marchand
2025-03-17 15:42 ` [RFC v4 1/8] lib: remove incorrect exported symbols David Marchand
2025-03-17 15:42 ` [RFC v4 2/8] drivers: " David Marchand
2025-03-17 15:42 ` [RFC v4 3/8] eal: rework function versioning macros David Marchand
2025-03-17 15:43 ` [RFC v4 4/8] buildtools: display version when listing symbols David Marchand
2025-03-17 15:43 ` [RFC v4 5/8] build: generate symbol maps David Marchand
2025-03-17 15:43 ` David Marchand [this message]
2025-03-17 15:43 ` [RFC v4 7/8] build: use dynamically generated version maps David Marchand
2025-03-17 15:43 ` [RFC v4 8/8] build: remove static " David Marchand
2025-03-18 8:19 ` [RFC v4 0/8] Symbol versioning and export rework David Marchand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250317154308.2782689-7-david.marchand@redhat.com \
--to=david.marchand@redhat.com \
--cc=abhinandan.gujjar@intel.com \
--cc=adwivedi@marvell.com \
--cc=ajit.khaparde@broadcom.com \
--cc=amitprakashs@marvell.com \
--cc=anatoly.burakov@intel.com \
--cc=andremue@linux.microsoft.com \
--cc=andrew.boyer@amd.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=anoobj@marvell.com \
--cc=asekhar@marvell.com \
--cc=ashish.gupta@marvell.com \
--cc=bingz@nvidia.com \
--cc=bruce.richardson@intel.com \
--cc=byron.marohn@intel.com \
--cc=chaoyong.he@corigine.com \
--cc=chas3@att.com \
--cc=chenbox@nvidia.com \
--cc=cristian.dumitrescu@intel.com \
--cc=david.hunt@intel.com \
--cc=dev@dpdk.org \
--cc=dmitry.kozliuk@gmail.com \
--cc=drc@linux.ibm.com \
--cc=dsosnowski@nvidia.com \
--cc=eagostini@nvidia.com \
--cc=erik.g.carrillo@intel.com \
--cc=fanzhang.oss@gmail.com \
--cc=fengchengwen@huawei.com \
--cc=ferruh.yigit@amd.com \
--cc=g.singh@nxp.com \
--cc=gakhil@marvell.com \
--cc=grive@u256.net \
--cc=harry.van.haaren@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=hkalra@marvell.com \
--cc=honnappa.nagarahalli@arm.com \
--cc=hujiayu.hu@foxmail.com \
--cc=humin29@huawei.com \
--cc=ian.stokes@intel.com \
--cc=irusskikh@marvell.com \
--cc=jasvinder.singh@intel.com \
--cc=jerinj@marvell.com \
--cc=jingjing.wu@intel.com \
--cc=jsrikanth@marvell.com \
--cc=kai.ji@intel.com \
--cc=kevin.laatz@intel.com \
--cc=kirankumark@marvell.com \
--cc=konstantin.v.ananyev@yandex.ru \
--cc=ktejasree@marvell.com \
--cc=lironh@marvell.com \
--cc=longli@microsoft.com \
--cc=matan@nvidia.com \
--cc=mattias.ronnblom@ericsson.com \
--cc=maxime.coquelin@redhat.com \
--cc=mb@smartsharesystems.com \
--cc=ndabilpuram@marvell.com \
--cc=nicolas.chautru@intel.com \
--cc=nikhil.agarwal@amd.com \
--cc=nipun.gupta@amd.com \
--cc=orika@nvidia.com \
--cc=parav@nvidia.com \
--cc=pbhagavatula@marvell.com \
--cc=praveen.shetty@intel.com \
--cc=pravin.pathak@intel.com \
--cc=reshma.pattan@intel.com \
--cc=rnagadheeraj@marvell.com \
--cc=roretzla@linux.microsoft.com \
--cc=rosen.xu@altera.com \
--cc=s.v.naga.harish.k@intel.com \
--cc=sachin.saxena@nxp.com \
--cc=sameh.gobriel@intel.com \
--cc=sivaprasad.tummala@amd.com \
--cc=skori@marvell.com \
--cc=skoteshwar@marvell.com \
--cc=somnath.kotur@broadcom.com \
--cc=stanislaw.kardach@gmail.com \
--cc=stephen@networkplumber.org \
--cc=sthotton@marvell.com \
--cc=suanmingm@nvidia.com \
--cc=syalavarthi@marvell.com \
--cc=tduszynski@marvell.com \
--cc=thomas@monjalon.net \
--cc=vattunuru@marvell.com \
--cc=vfialko@marvell.com \
--cc=viacheslavo@nvidia.com \
--cc=vladimir.medvedkin@intel.com \
--cc=wathsala.vithanage@arm.com \
--cc=weh@microsoft.com \
--cc=xuemingl@nvidia.com \
--cc=yanzhirun_163@163.com \
--cc=yipeng1.wang@intel.com \
--cc=zhoumin@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).