From: Neil Horman <nhorman@tuxdriver.com>
To: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 2/4] Provide initial versioning for all DPDK libraries
Date: Wed, 1 Oct 2014 10:43:41 -0400 [thread overview]
Message-ID: <20141001144341.GA24028@localhost.localdomain> (raw)
In-Reply-To: <20141001112546.GA17019@sivswdev02.ir.intel.com>
On Wed, Oct 01, 2014 at 12:25:52PM +0100, Sergio Gonzalez Monroy wrote:
> On Mon, Sep 15, 2014 at 03:23:49PM -0400, Neil Horman wrote:
> > Add linker version script files to each DPDK library to put a stake in the
> > ground from which we can start cleaning up API's
> >
> > Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
> > CC: Thomas Monjalon <thomas.monjalon@6wind.com>
> > CC: "Richardson, Bruce" <bruce.richardson@intel.com>
> > ---
> > lib/librte_acl/Makefile | 2 +
> > lib/librte_acl/rte_acl_version.map | 19 ++++
> > lib/librte_cfgfile/Makefile | 2 +
> > lib/librte_cfgfile/rte_cfgfile_version.map | 14 +++
> > lib/librte_cmdline/Makefile | 2 +
> > lib/librte_cmdline/rte_cmdline_version.map | 69 +++++++++++++
> > lib/librte_distributor/Makefile | 2 +
> > lib/librte_distributor/rte_distributor_version.map | 16 +++
> > lib/librte_eal/bsdapp/eal/Makefile | 2 +
> > lib/librte_eal/bsdapp/eal/rte_eal_version.map | 89 +++++++++++++++++
> > lib/librte_eal/linuxapp/eal/Makefile | 2 +
> > lib/librte_eal/linuxapp/eal/rte_eal_version.map | 89 +++++++++++++++++
> > lib/librte_ether/Makefile | 2 +
> > lib/librte_ether/rte_ether_version.map | 108 +++++++++++++++++++++
> > lib/librte_hash/Makefile | 2 +
> > lib/librte_hash/rte_hash_version.map | 18 ++++
> > lib/librte_ip_frag/Makefile | 2 +
> > lib/librte_ip_frag/rte_ipfrag_version.map | 14 +++
> > lib/librte_ivshmem/Makefile | 2 +
> > lib/librte_ivshmem/rte_ivshmem_version.map | 13 +++
> > lib/librte_kni/Makefile | 2 +
> > lib/librte_kni/rte_kni_version.map | 19 ++++
> > lib/librte_kvargs/Makefile | 2 +
> > lib/librte_kvargs/rte_kvargs_version.map | 10 ++
> > lib/librte_lpm/Makefile | 2 +
> > lib/librte_lpm/rte_lpm_version.map | 24 +++++
> > lib/librte_malloc/Makefile | 2 +
> > lib/librte_malloc/rte_malloc_version.map | 19 ++++
> > lib/librte_mbuf/Makefile | 2 +
> > lib/librte_mbuf/rte_mbuf_version.map | 12 +++
> > lib/librte_mempool/Makefile | 2 +
> > lib/librte_mempool/rte_mempool_version.map | 18 ++++
> > lib/librte_meter/Makefile | 2 +
> > lib/librte_meter/rte_meter_version.map | 13 +++
> > lib/librte_pipeline/Makefile | 2 +
> > lib/librte_pipeline/rte_pipeline_version.map | 23 +++++
> > lib/librte_pmd_bond/Makefile | 2 +
> > lib/librte_pmd_bond/rte_eth_bond_version.map | 20 ++++
> > lib/librte_pmd_e1000/Makefile | 2 +
> > lib/librte_pmd_e1000/rte_pmd_e1000_version.map | 5 +
> > lib/librte_pmd_i40e/Makefile | 2 +
> > lib/librte_pmd_i40e/rte_pmd_i40e_version.map | 5 +
> > lib/librte_pmd_ixgbe/Makefile | 2 +
> > lib/librte_pmd_ixgbe/rte_pmd_ixgbe_version.map | 5 +
> > lib/librte_pmd_pcap/Makefile | 2 +
> > lib/librte_pmd_pcap/rte_pmd_pcap_version.map | 5 +
> > lib/librte_pmd_ring/Makefile | 2 +
> > lib/librte_pmd_ring/rte_eth_ring.c | 2 +-
> > lib/librte_pmd_ring/rte_eth_ring.h | 6 --
> > lib/librte_pmd_ring/rte_eth_ring_version.map | 10 ++
> > lib/librte_pmd_virtio/Makefile | 1 +
> > lib/librte_pmd_virtio/rte_pmd_virtio_version.map | 5 +
> > lib/librte_pmd_vmxnet3/Makefile | 2 +
> > lib/librte_pmd_vmxnet3/rte_pmd_vmxnet3_version.map | 5 +
> > lib/librte_pmd_xenvirt/Makefile | 2 +
> > lib/librte_pmd_xenvirt/rte_eth_xenvirt_version.map | 8 ++
> > lib/librte_port/Makefile | 2 +
> > lib/librte_port/rte_port_version.map | 18 ++++
> > lib/librte_power/Makefile | 2 +
> > lib/librte_power/rte_power_version.map | 14 +++
> > lib/librte_ring/Makefile | 2 +
> > lib/librte_ring/rte_ring_version.map | 12 +++
> > lib/librte_sched/Makefile | 2 +
> > lib/librte_sched/rte_sched_version.map | 22 +++++
> > lib/librte_table/Makefile | 2 +
> > lib/librte_table/rte_table_version.map | 22 +++++
> > lib/librte_timer/Makefile | 2 +
> > lib/librte_timer/rte_timer_version.map | 16 +++
> > 68 files changed, 825 insertions(+), 7 deletions(-)
> > create mode 100644 lib/librte_acl/rte_acl_version.map
> > create mode 100644 lib/librte_cfgfile/rte_cfgfile_version.map
> > create mode 100644 lib/librte_cmdline/rte_cmdline_version.map
> > create mode 100644 lib/librte_distributor/rte_distributor_version.map
> > create mode 100644 lib/librte_eal/bsdapp/eal/rte_eal_version.map
> > create mode 100644 lib/librte_eal/linuxapp/eal/rte_eal_version.map
> > create mode 100644 lib/librte_ether/rte_ether_version.map
> > create mode 100644 lib/librte_hash/rte_hash_version.map
> > create mode 100644 lib/librte_ip_frag/rte_ipfrag_version.map
> > create mode 100644 lib/librte_ivshmem/rte_ivshmem_version.map
> > create mode 100644 lib/librte_kni/rte_kni_version.map
> > create mode 100644 lib/librte_kvargs/rte_kvargs_version.map
> > create mode 100644 lib/librte_lpm/rte_lpm_version.map
> > create mode 100644 lib/librte_malloc/rte_malloc_version.map
> > create mode 100644 lib/librte_mbuf/rte_mbuf_version.map
> > create mode 100644 lib/librte_mempool/rte_mempool_version.map
> > create mode 100644 lib/librte_meter/rte_meter_version.map
> > create mode 100644 lib/librte_pipeline/rte_pipeline_version.map
> > create mode 100644 lib/librte_pmd_bond/rte_eth_bond_version.map
> > create mode 100644 lib/librte_pmd_e1000/rte_pmd_e1000_version.map
> > create mode 100644 lib/librte_pmd_i40e/rte_pmd_i40e_version.map
> > create mode 100644 lib/librte_pmd_ixgbe/rte_pmd_ixgbe_version.map
> > create mode 100644 lib/librte_pmd_pcap/rte_pmd_pcap_version.map
> > create mode 100644 lib/librte_pmd_ring/rte_eth_ring_version.map
> > create mode 100644 lib/librte_pmd_virtio/rte_pmd_virtio_version.map
> > create mode 100644 lib/librte_pmd_vmxnet3/rte_pmd_vmxnet3_version.map
> > create mode 100644 lib/librte_pmd_xenvirt/rte_eth_xenvirt_version.map
> > create mode 100644 lib/librte_port/rte_port_version.map
> > create mode 100644 lib/librte_power/rte_power_version.map
> > create mode 100644 lib/librte_ring/rte_ring_version.map
> > create mode 100644 lib/librte_sched/rte_sched_version.map
> > create mode 100644 lib/librte_table/rte_table_version.map
> > create mode 100644 lib/librte_timer/rte_timer_version.map
> >
> > diff --git a/lib/librte_acl/Makefile b/lib/librte_acl/Makefile
> > index 65e566d..1f96645 100644
> > --- a/lib/librte_acl/Makefile
> > +++ b/lib/librte_acl/Makefile
> > @@ -37,6 +37,8 @@ LIB = librte_acl.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_acl/rte_acl_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_ACL) += tb_mem.c
> >
> > diff --git a/lib/librte_acl/rte_acl_version.map b/lib/librte_acl/rte_acl_version.map
> > new file mode 100644
> > index 0000000..4480690
> > --- /dev/null
> > +++ b/lib/librte_acl/rte_acl_version.map
> > @@ -0,0 +1,19 @@
> > +DPDK_1.8 {
> > + global:
> > + rte_acl_create;
> > + rte_acl_find_existing;
> > + rte_acl_free;
> > + rte_acl_add_rules;
> > + rte_acl_reset_rules;
> > + rte_acl_build;
> > + rte_acl_reset;
> > + rte_acl_classify;
> > + rte_acl_dump;
> > + rte_acl_list_dump;
> > + rte_acl_ipv4vlan_add_rules;
> > + rte_acl_ipv4vlan_build;
> > + rte_acl_classify_scalar;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile
> > index 55e8701..e655098 100644
> > --- a/lib/librte_cfgfile/Makefile
> > +++ b/lib/librte_cfgfile/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_cfgfile.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_cfgfile/rte_cfgfile_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_cfgfile/rte_cfgfile_version.map b/lib/librte_cfgfile/rte_cfgfile_version.map
> > new file mode 100644
> > index 0000000..10ecea6
> > --- /dev/null
> > +++ b/lib/librte_cfgfile/rte_cfgfile_version.map
> > @@ -0,0 +1,14 @@
> > +DPDK_1.8 {
> > + global:
> > + rte_cfgfile_load;
> > + rte_cfgfile_num_sections;
> > + rte_cfgfile_sections;
> > + rte_cfgfile_has_section;
> > + rte_cfgfile_section_num_entries;
> > + rte_cfgfile_section_entries;
> > + rte_cfgfile_get_entry;
> > + rte_cfgfile_has_entry;
> > + rte_cfgfile_close;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile
> > index 7eae449..1a47173 100644
> > --- a/lib/librte_cmdline/Makefile
> > +++ b/lib/librte_cmdline/Makefile
> > @@ -36,6 +36,8 @@ LIB = librte_cmdline.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_cmdline/rte_cmdline_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := cmdline.c
> > SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_cirbuf.c
> > diff --git a/lib/librte_cmdline/rte_cmdline_version.map b/lib/librte_cmdline/rte_cmdline_version.map
> > new file mode 100644
> > index 0000000..7616eff
> > --- /dev/null
> > +++ b/lib/librte_cmdline/rte_cmdline_version.map
> > @@ -0,0 +1,69 @@
> > +DPDK_1.8 {
> > + global:
> > + cmdline_new;
> > + cmdline_set_prompt;
> > + cmdline_free;
> > + cmdline_printf;
> > + cmdline_in;
> > + cmdline_write_char;
> > + cmdline_interact;
> > + cmdline_quit;
> > + cmdline_parse;
> > + cmdline_complete;
> > + cmdline_isendoftoken;
> > + cmdline_parse_num;
> > + cmdline_get_help_num;
> > + cmdline_parse_ipaddr;
> > + cmdline_get_help_ipaddr;
> > + cmdline_parse_etheraddr;
> > + cmdline_get_help_etheraddr;
> > + cmdline_parse_string;
> > + cmdline_complete_get_nb_string;
> > + cmdline_complete_get_elt_string;
> > + cmdline_get_help_string;
> > + cmdline_parse_portlist;
> > + cmdline_get_help_portlist;
> > + cmdline_token_string_ops;
> > + cmdline_token_num_ops;
> > + cmdline_token_string_ops;
> > + cmdline_token_ipaddr_ops;
> > + cmdline_token_etheraddr_ops;
> > + vt100_init;
> > + vt100_parser;
> > + cmdline_file_new;
> > + cmdline_stdin_new;
> > + cmdline_stdin_exit;
> > + cirbuf_init;
> > + cirbuf_add_head_safe;
> > + cirbuf_add_head;
> > + cirbuf_add_tail_safe;
> > + cirbuf_add_tail;
> > + cirbuf_del_head_safe;
> > + cirbuf_del_head;
> > + cirbuf_del_tail_safe;
> > + cirbuf_del_tail;
> > + cirbuf_get_head;
> > + cirbuf_get_tail;
> > + cirbuf_add_buf_head;
> > + cirbuf_add_buf_tail;
> > + cirbuf_del_buf_head;
> > + cirbuf_del_buf_tail;
> > + cirbuf_get_buf_head;
> > + cirbuf_get_buf_tail;
> > + cirbuf_align_left;
> > + cirbuf_align_right;
> > + rdline_init;
> > + rdline_newline;
> > + rdline_stop;
> > + rdline_quit;
> > + rdline_restart;
> > + rdline_redisplay;
> > + rdline_reset;
> > + rdline_char_in;
> > + rdline_get_buffer;
> > + rdline_add_history;
> > + rdline_clear_history;
> > + rdline_get_history_item;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile
> > index 36699f8..97d8bbb 100644
> > --- a/lib/librte_distributor/Makefile
> > +++ b/lib/librte_distributor/Makefile
> > @@ -37,6 +37,8 @@ LIB = librte_distributor.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_distributor/rte_distributor_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor.c
> >
> > diff --git a/lib/librte_distributor/rte_distributor_version.map b/lib/librte_distributor/rte_distributor_version.map
> > new file mode 100644
> > index 0000000..b81ddc8
> > --- /dev/null
> > +++ b/lib/librte_distributor/rte_distributor_version.map
> > @@ -0,0 +1,16 @@
> > +DPDK_1.8 {
> > +
> > + global:
> > + rte_distributor_create;
> > + rte_distributor_process;
> > + rte_distributor_returned_pkts;
> > + rte_distributor_flush;
> > + rte_distributor_clear_returns;
> > + rte_distributor_get_pkt;
> > + rte_distributor_return_pkt;
> > + rte_distributor_request_pkt;
> > + rte_distributor_poll_pkt;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile
> > index 8f44273..2caaf00 100644
> > --- a/lib/librte_eal/bsdapp/eal/Makefile
> > +++ b/lib/librte_eal/bsdapp/eal/Makefile
> > @@ -45,6 +45,8 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_pmd_ring
> > CFLAGS += -I$(RTE_SDK)/lib/librte_pmd_pcap
> > CFLAGS += $(WERROR_FLAGS) -O3
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_eal/bsdapp/eal/rte_eal_version.map
> > +
> > # specific to linuxapp exec-env
> > SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) := eal.c
> > SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_memory.c
> > diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
> > new file mode 100644
> > index 0000000..71788e1
> > --- /dev/null
> > +++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
> > @@ -0,0 +1,89 @@
> > +DPDK_1.8 {
> > + global:
> > + rte_eal_alarm_set;
> > + rte_eal_alarm_cancel;
> > + rte_exit;
> > + rte_cpu_get_flag_enabled;
> > + rte_cpu_check_supported;
> > + rte_get_tsc_hz;
> > + rte_get_hpet_cycles;
> > + rte_get_hpet_hz;
> > + rte_eal_hpet_init;
> > + rte_delay_us;
> > + rte_dump_stack;
> > + rte_dump_registers;
> > + __rte_panic;
> > + rte_eal_devargs_add;
> > + rte_eal_devargs_type_count;
> > + rte_eal_devargs_dump;
> > + rte_eal_driver_register;
> > + rte_eal_driver_unregister;
> > + rte_eal_dev_init;
> > + rte_eal_init;
> > + rte_set_application_usage_hook;
> > + rte_eal_has_hugepages;
> > + rte_strerror;
> > + rte_hexdump;
> > + rte_memdump;
> > + rte_intr_callback_register;
> > + rte_intr_callback_unregister;
> > + rte_intr_enable;
> > + rte_intr_disable;
> > + rte_eal_remote_launch;
> > + rte_eal_mp_remote_launch;
> > + rte_eal_get_lcore_state;
> > + rte_eal_wait_lcore;
> > + rte_eal_mp_wait_lcore;
> > + rte_openlog_stream;
> > + rte_set_log_level;
> > + rte_set_log_type;
> > + rte_log_cur_msg_loglevel;
> > + rte_log_cur_msg_logtype;
> > + rte_log_set_history;
> > + rte_log_dump_history;
> > + rte_log_add_in_history;
> > + rte_log;
> > + rte_vlog;
> > + rte_mem_lock_page;
> > + rte_mem_virt2phy;
> > + rte_eal_get_physmem_layout;
> > + rte_dump_physmem_layout;
> > + rte_eal_get_physmem_size;
> > + rte_memory_get_nchannel;
> > + rte_memory_get_nrank;
> > + rte_mem_phy2mch;
> > + rte_xen_dom0_memory_init;
> > + rte_xen_dom0_memory_attach;
> > + rte_memzone_reserve;
> > + rte_memzone_reserve_aligned;
> > + rte_memzone_reserve_bounded;
> > + rte_memzone_lookup;
> > + rte_memzone_dump;
> > + rte_memzone_walk;
> > + rte_eal_pci_probe;
> > + rte_eal_pci_dump;
> > + rte_eal_pci_register;
> > + rte_eal_pci_unregister;
> > + rte_snprintf;
> > + rte_strsplit;
> > + rte_eal_tailq_reserve;
> > + rte_eal_tailq_reserve_by_idx;
> > + rte_dump_tailq;
> > + rte_eal_tailq_lookup;
> > + rte_eal_tailq_lookup_by_idx;
> > + lcore_config;
> > + per_lcore__lcore_id;
> > + eal_timer_source;
> > + rte_cycles_vmware_tsc_map;
> > + rte_eal_get_configuration;
> > + rte_logs;
> > + rte_eal_lcore_role;
> > + test_mp_secondary;
> > + rte_eal_process_type;
> > + per_lcore__rte_errno;
> > + pci_device_list;
> > + devargs_list;
> > + eal_parse_sysfs_value;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile
> > index 756d6b0..254d59c 100644
> > --- a/lib/librte_eal/linuxapp/eal/Makefile
> > +++ b/lib/librte_eal/linuxapp/eal/Makefile
> > @@ -33,6 +33,8 @@ include $(RTE_SDK)/mk/rte.vars.mk
> >
> > LIB = librte_eal.a
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> > +
> > VPATH += $(RTE_SDK)/lib/librte_eal/common
> >
> > CFLAGS += -I$(SRCDIR)/include
> > diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> > new file mode 100644
> > index 0000000..71788e1
> > --- /dev/null
> > +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> > @@ -0,0 +1,89 @@
> > +DPDK_1.8 {
> > + global:
> > + rte_eal_alarm_set;
> > + rte_eal_alarm_cancel;
> > + rte_exit;
> > + rte_cpu_get_flag_enabled;
> > + rte_cpu_check_supported;
> > + rte_get_tsc_hz;
> > + rte_get_hpet_cycles;
> > + rte_get_hpet_hz;
> > + rte_eal_hpet_init;
> > + rte_delay_us;
> > + rte_dump_stack;
> > + rte_dump_registers;
> > + __rte_panic;
> > + rte_eal_devargs_add;
> > + rte_eal_devargs_type_count;
> > + rte_eal_devargs_dump;
> > + rte_eal_driver_register;
> > + rte_eal_driver_unregister;
> > + rte_eal_dev_init;
> > + rte_eal_init;
> > + rte_set_application_usage_hook;
> > + rte_eal_has_hugepages;
> > + rte_strerror;
> > + rte_hexdump;
> > + rte_memdump;
> > + rte_intr_callback_register;
> > + rte_intr_callback_unregister;
> > + rte_intr_enable;
> > + rte_intr_disable;
> > + rte_eal_remote_launch;
> > + rte_eal_mp_remote_launch;
> > + rte_eal_get_lcore_state;
> > + rte_eal_wait_lcore;
> > + rte_eal_mp_wait_lcore;
> > + rte_openlog_stream;
> > + rte_set_log_level;
> > + rte_set_log_type;
> > + rte_log_cur_msg_loglevel;
> > + rte_log_cur_msg_logtype;
> > + rte_log_set_history;
> > + rte_log_dump_history;
> > + rte_log_add_in_history;
> > + rte_log;
> > + rte_vlog;
> > + rte_mem_lock_page;
> > + rte_mem_virt2phy;
> > + rte_eal_get_physmem_layout;
> > + rte_dump_physmem_layout;
> > + rte_eal_get_physmem_size;
> > + rte_memory_get_nchannel;
> > + rte_memory_get_nrank;
> > + rte_mem_phy2mch;
> > + rte_xen_dom0_memory_init;
> > + rte_xen_dom0_memory_attach;
> > + rte_memzone_reserve;
> > + rte_memzone_reserve_aligned;
> > + rte_memzone_reserve_bounded;
> > + rte_memzone_lookup;
> > + rte_memzone_dump;
> > + rte_memzone_walk;
> > + rte_eal_pci_probe;
> > + rte_eal_pci_dump;
> > + rte_eal_pci_register;
> > + rte_eal_pci_unregister;
> > + rte_snprintf;
> > + rte_strsplit;
> > + rte_eal_tailq_reserve;
> > + rte_eal_tailq_reserve_by_idx;
> > + rte_dump_tailq;
> > + rte_eal_tailq_lookup;
> > + rte_eal_tailq_lookup_by_idx;
> > + lcore_config;
> > + per_lcore__lcore_id;
> > + eal_timer_source;
> > + rte_cycles_vmware_tsc_map;
> > + rte_eal_get_configuration;
> > + rte_logs;
> > + rte_eal_lcore_role;
> > + test_mp_secondary;
> > + rte_eal_process_type;
> > + per_lcore__rte_errno;
> > + pci_device_list;
> > + devargs_list;
> > + eal_parse_sysfs_value;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile
> > index b310f8b..f40b5cc 100644
> > --- a/lib/librte_ether/Makefile
> > +++ b/lib/librte_ether/Makefile
> > @@ -39,6 +39,8 @@ LIB = libethdev.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_ether/rte_ether_version.map
> > +
> > SRCS-y += rte_ethdev.c
> >
> > #
> > diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map
> > new file mode 100644
> > index 0000000..41952ab
> > --- /dev/null
> > +++ b/lib/librte_ether/rte_ether_version.map
> > @@ -0,0 +1,108 @@
> > +DPDK_1.8 {
> > + global:
> > + rte_eth_driver_register;
> > + rte_eth_dev_configure;
> > + rte_eth_rx_queue_setup;
> > + rte_eth_tx_queue_setup;
> > + rte_eth_dev_socket_id;
> > + rte_eth_dev_rx_queue_start;
> > + rte_eth_dev_rx_queue_stop;
> > + rte_eth_dev_tx_queue_start;
> > + rte_eth_dev_tx_queue_stop;
> > + rte_eth_dev_start;
> > + rte_eth_dev_stop;
> > + rte_eth_dev_set_link_up;
> > + rte_eth_dev_set_link_down;
> > + rte_eth_dev_close;
> > + rte_eth_promiscuous_enable;
> > + rte_eth_promiscuous_disable;
> > + rte_eth_promiscuous_get;
> > + rte_eth_allmulticast_enable;
> > + rte_eth_allmulticast_disable;
> > + rte_eth_allmulticast_get;
> > + rte_eth_link;
> > + rte_eth_link_get_nowait;
> > + rte_eth_stats;
> > + rte_eth_stats_reset;
> > + rte_eth_dev_set_tx_queue_stats_mapping;
> > + rte_eth_dev_set_rx_queue_stats_mapping;
> > + rte_eth_macaddr_get;
> > + rte_eth_dev_info_get;
> > + rte_eth_dev_get_mtu;
> > + rte_eth_dev_set_mtu;
> > + rte_eth_dev_vlan_filter;
> > + rte_eth_dev_set_vlan_strip_on_queue;
> > + rte_eth_dev_set_vlan_ether_type;
> > + rte_eth_dev_set_vlan_offload;
> > + rte_eth_dev_get_vlan_offload;
> > + rte_eth_dev_set_vlan_pvid;
> > + rte_eth_rx_burst;
> > + rte_eth_rx_queue_count;
> > + rte_eth_rx_descriptor_done;
> > + rte_eth_tx_burst;
> > + rte_eth_dev_fdir_add_signature_filter;
> > + rte_eth_dev_fdir_update_signature_filter;
> > + rte_eth_dev_fdir_remove_signature_filter;
> > + rte_eth_dev_fdir_get_infos;
> > + rte_eth_dev_fdir_add_perfect_filter;
> > + rte_eth_dev_fdir_update_perfect_filter;
> > + rte_eth_dev_fdir_remove_perfect_filter;
> > + rte_eth_dev_fdir_set_masks;
> > + rte_eth_dev_callback_register;
> > + rte_eth_dev_callback_unregister;
> > + rte_eth_dev_callback_process;
> > + rte_eth_led_on;
> > + rte_eth_led_off;
> > + rte_eth_dev_flow_ctrl_get;
> > + rte_eth_dev_flow_ctrl_set;
> > + rte_eth_dev_priority_flow_ctrl_set;
> > + rte_eth_dev_mac_addr_add;
> > + rte_eth_dev_mac_addr_remove;
> > + rte_eth_dev_rss_reta_update;
> > + rte_eth_dev_rss_reta_query;
> > + rte_eth_dev_uc_hash_table_set;
> > + rte_eth_dev_uc_all_hash_table_set;
> > + rte_eth_dev_set_vf_rxmode;
> > + rte_eth_dev_set_vf_tx;
> > + rte_eth_dev_set_vf_rx;
> > + rte_eth_dev_set_vf_vlan_filter;
> > + rte_eth_mirror_rule_set;
> > + rte_eth_mirror_rule_reset;
> > + rte_eth_set_queue_rate_limit;
> > + rte_eth_set_vf_rate_limit;
> > + rte_eth_dev_bypass_init;
> > + rte_eth_dev_bypass_state_show;
> > + rte_eth_dev_bypass_state_set;
> > + rte_eth_dev_bypass_event_show;
> > + rte_eth_dev_bypass_event_store;
> > + rte_eth_dev_wd_timeout_store;
> > + rte_eth_dev_bypass_ver_show;
> > + rte_eth_dev_bypass_wd_timeout_show;
> > + rte_eth_dev_bypass_wd_reset;
> > + rte_eth_dev_rss_hash_update;
> > + rte_eth_dev_rss_hash_conf_get;
> > + rte_eth_dev_add_syn_filter;
> > + rte_eth_dev_remove_syn_filter;
> > + rte_eth_dev_get_syn_filter;
> > + rte_eth_dev_add_ethertype_filter;
> > + rte_eth_dev_remove_ethertype_filter;
> > + rte_eth_dev_get_ethertype_filter;
> > + rte_eth_dev_add_2tuple_filter;
> > + rte_eth_dev_remove_2tuple_filter;
> > + rte_eth_dev_get_2tuple_filter;
> > + rte_eth_dev_add_5tuple_filter;
> > + rte_eth_dev_remove_5tuple_filter;
> > + rte_eth_dev_get_5tuple_filter;
> > + rte_eth_dev_add_flex_filter;
> > + rte_eth_dev_remove_flex_filter;
> > + rte_eth_dev_get_flex_filter;
> > + rte_eth_dev_count;
> > + rte_eth_link_get;
> > + rte_eth_devices;
> > + rte_eth_stats_get;
> > + rte_eth_dev_allocate;
> > + _rte_eth_dev_callback_process;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile
> > index 95e4c09..a449ec2 100644
> > --- a/lib/librte_hash/Makefile
> > +++ b/lib/librte_hash/Makefile
> > @@ -37,6 +37,8 @@ LIB = librte_hash.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_hash/rte_hash_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_HASH) := rte_hash.c
> > SRCS-$(CONFIG_RTE_LIBRTE_HASH) += rte_fbk_hash.c
> > diff --git a/lib/librte_hash/rte_hash_version.map b/lib/librte_hash/rte_hash_version.map
> > new file mode 100644
> > index 0000000..2a34313
> > --- /dev/null
> > +++ b/lib/librte_hash/rte_hash_version.map
> > @@ -0,0 +1,18 @@
> > +DPDK_1.8 {
> > + global:
> > + rte_fbk_hash_find_existing;
> > + rte_fbk_hash_create;
> > + rte_fbk_hash_free;
> > + rte_hash_create;
> > + rte_hash_find_existing;
> > + rte_hash_free;
> > + rte_hash_add_key;
> > + rte_hash_add_key_with_hash;
> > + rte_hash_del_key;
> > + rte_hash_del_key_with_hash;
> > + rte_hash_lookup;
> > + rte_hash_lookup_with_hash;
> > + rte_hash_lookup_bulk;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_ip_frag/Makefile b/lib/librte_ip_frag/Makefile
> > index 2265c93..ede5a89 100644
> > --- a/lib/librte_ip_frag/Makefile
> > +++ b/lib/librte_ip_frag/Makefile
> > @@ -37,6 +37,8 @@ LIB = librte_ip_frag.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_ip_frag/rte_ipfrag_version.map
> > +
> > #source files
> > SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_fragmentation.c
> > SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_reassembly.c
> > diff --git a/lib/librte_ip_frag/rte_ipfrag_version.map b/lib/librte_ip_frag/rte_ipfrag_version.map
> > new file mode 100644
> > index 0000000..afe1a0b
> > --- /dev/null
> > +++ b/lib/librte_ip_frag/rte_ipfrag_version.map
> > @@ -0,0 +1,14 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_ip_frag_table_create;
> > + rte_ipv6_fragment_packet;
> > + rte_ipv6_frag_reassemble_packet;
> > + rte_ipv4_fragment_packet;
> > + rte_ipv4_frag_reassemble_packet;
> > + rte_ip_frag_free_death_row;
> > + rte_ip_frag_table_statistics_dump;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_ivshmem/Makefile b/lib/librte_ivshmem/Makefile
> > index 536814c..be6f21a 100644
> > --- a/lib/librte_ivshmem/Makefile
> > +++ b/lib/librte_ivshmem/Makefile
> > @@ -36,6 +36,8 @@ LIB = librte_ivshmem.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
> >
> > +EXPORT_MAPS := $(RTE_SDK)/lib/librte_ivshmem/rte_ivshmem_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_IVSHMEM) := rte_ivshmem.c
> >
> > diff --git a/lib/librte_ivshmem/rte_ivshmem_version.map b/lib/librte_ivshmem/rte_ivshmem_version.map
> > new file mode 100644
> > index 0000000..a204339
> > --- /dev/null
> > +++ b/lib/librte_ivshmem/rte_ivshmem_version.map
> > @@ -0,0 +1,13 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_ivshmem_metadata_create;
> > + rte_ivshmem_metadata_add_memzone;
> > + rte_ivshmem_metadata_add_ring;
> > + rte_ivshmem_metadata_add_mempool;
> > + rte_ivshmem_metadata_cmdline_generate;
> > + rte_ivshmem_metadata_dump;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile
> > index 5267304..c119fc1 100644
> > --- a/lib/librte_kni/Makefile
> > +++ b/lib/librte_kni/Makefile
> > @@ -36,6 +36,8 @@ LIB = librte_kni.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_kni/rte_kni_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_KNI) := rte_kni.c
> >
> > diff --git a/lib/librte_kni/rte_kni_version.map b/lib/librte_kni/rte_kni_version.map
> > new file mode 100644
> > index 0000000..58fbc1f
> > --- /dev/null
> > +++ b/lib/librte_kni/rte_kni_version.map
> > @@ -0,0 +1,19 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_kni_alloc;
> > + rte_kni_create;
> > + rte_kni_release;
> > + rte_kni_handle_request;
> > + rte_kni_rx_burst;
> > + rte_kni_tx_burst;
> > + rte_kni_get_port_id;
> > + rte_kni_get;
> > + rte_kni_info_get;
> > + rte_kni_register_handlers;
> > + rte_kni_unregister_handlers;
> > + rte_kni_close;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile
> > index b09359a..83a42b1 100644
> > --- a/lib/librte_kvargs/Makefile
> > +++ b/lib/librte_kvargs/Makefile
> > @@ -38,6 +38,8 @@ LIB = librte_kvargs.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_kvargs/rte_kvargs_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) := rte_kvargs.c
> >
> > diff --git a/lib/librte_kvargs/rte_kvargs_version.map b/lib/librte_kvargs/rte_kvargs_version.map
> > new file mode 100644
> > index 0000000..7873c8c
> > --- /dev/null
> > +++ b/lib/librte_kvargs/rte_kvargs_version.map
> > @@ -0,0 +1,10 @@
> > +DPDK_1.8 {
> > +
> > + global:
> > + rte_kvargs_parse;
> > + rte_kvargs_free;
> > + rte_kvargs_process;
> > + rte_kvargs_count;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_lpm/Makefile b/lib/librte_lpm/Makefile
> > index fa94163..05de8d9 100644
> > --- a/lib/librte_lpm/Makefile
> > +++ b/lib/librte_lpm/Makefile
> > @@ -37,6 +37,8 @@ LIB = librte_lpm.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_lpm/rte_lpm_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_LPM) := rte_lpm.c rte_lpm6.c
> >
> > diff --git a/lib/librte_lpm/rte_lpm_version.map b/lib/librte_lpm/rte_lpm_version.map
> > new file mode 100644
> > index 0000000..8ae9318
> > --- /dev/null
> > +++ b/lib/librte_lpm/rte_lpm_version.map
> > @@ -0,0 +1,24 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_lpm_create;
> > + rte_lpm_find_existing;
> > + rte_lpm_free;
> > + rte_lpm_add;
> > + rte_lpm_is_rule_present;
> > + rte_lpm_delete;
> > + rte_lpm_delete_all;
> > + rte_lpm6_create;
> > + rte_lpm6_find_existing;
> > + rte_lpm6_free;
> > + rte_lpm6_add;
> > + rte_lpm6_is_rule_present;
> > + rte_lpm6_delete;
> > + rte_lpm6_delete_bulk_func;
> > + rte_lpm6_delete_all;
> > + rte_lpm6_lookup;
> > + rte_lpm6_lookup_bulk_func;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_malloc/Makefile b/lib/librte_malloc/Makefile
> > index ba87e34..1a5c288 100644
> > --- a/lib/librte_malloc/Makefile
> > +++ b/lib/librte_malloc/Makefile
> > @@ -36,6 +36,8 @@ LIB = librte_malloc.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_malloc/rte_malloc_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_MALLOC) := rte_malloc.c malloc_elem.c malloc_heap.c
> >
> > diff --git a/lib/librte_malloc/rte_malloc_version.map b/lib/librte_malloc/rte_malloc_version.map
> > new file mode 100644
> > index 0000000..77db879
> > --- /dev/null
> > +++ b/lib/librte_malloc/rte_malloc_version.map
> > @@ -0,0 +1,19 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_malloc;
> > + rte_zmalloc;
> > + rte_calloc;
> > + rte_realloc;
> > + rte_malloc_socket;
> > + rte_zmalloc_socket;
> > + rte_calloc_socket;
> > + rte_free;
> > + rte_malloc_validate;
> > + rte_malloc_get_socket_stats;
> > + rte_malloc_dump_stats;
> > + rte_malloc_set_limit;
> > + rte_malloc_virt2phy;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_mbuf/Makefile b/lib/librte_mbuf/Makefile
> > index 9b45ba4..5cd4941 100644
> > --- a/lib/librte_mbuf/Makefile
> > +++ b/lib/librte_mbuf/Makefile
> > @@ -36,6 +36,8 @@ LIB = librte_mbuf.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_mbuf/rte_mbuf_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_MBUF) := rte_mbuf.c
> >
> > diff --git a/lib/librte_mbuf/rte_mbuf_version.map b/lib/librte_mbuf/rte_mbuf_version.map
> > new file mode 100644
> > index 0000000..55e352b
> > --- /dev/null
> > +++ b/lib/librte_mbuf/rte_mbuf_version.map
> > @@ -0,0 +1,12 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_mbuf_sanity_check;
> > + rte_ctrlmbuf_init;
> > + rte_pktmbuf_init;
> > + rte_pktmbuf_pool_init;
> > + rte_pktmbuf_dump;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_mempool/Makefile b/lib/librte_mempool/Makefile
> > index 9939e10..07b5b4e 100644
> > --- a/lib/librte_mempool/Makefile
> > +++ b/lib/librte_mempool/Makefile
> > @@ -36,6 +36,8 @@ LIB = librte_mempool.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_mempool/rte_mempool_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += rte_mempool.c
> > ifeq ($(CONFIG_RTE_LIBRTE_XEN_DOM0),y)
> > diff --git a/lib/librte_mempool/rte_mempool_version.map b/lib/librte_mempool/rte_mempool_version.map
> > new file mode 100644
> > index 0000000..7a19982
> > --- /dev/null
> > +++ b/lib/librte_mempool/rte_mempool_version.map
> > @@ -0,0 +1,18 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_mempool_create;
> > + rte_mempool_xmem_create;
> > + rte_dom0_mempool_create;
> > + rte_mempool_dump;
> > + rte_mempool_audit;
> > + rte_mempool_list_dump;
> > + rte_mempool_lookup;
> > + rte_mempool_calc_obj_size;
> > + rte_mempool_xmem_size;
> > + rte_mempool_xmem_usage;
> > + rte_mempool_walk;
> > + rte_mempool_count;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_meter/Makefile b/lib/librte_meter/Makefile
> > index b25c0cc..0778690 100644
> > --- a/lib/librte_meter/Makefile
> > +++ b/lib/librte_meter/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_meter.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_meter/rte_meter_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_meter/rte_meter_version.map b/lib/librte_meter/rte_meter_version.map
> > new file mode 100644
> > index 0000000..51a73b1
> > --- /dev/null
> > +++ b/lib/librte_meter/rte_meter_version.map
> > @@ -0,0 +1,13 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_meter_srtcm_config;
> > + rte_meter_trtcm_config;
> > + rte_meter_srtcm_color_blind_check;
> > + rte_meter_srtcm_color_aware_check;
> > + rte_meter_trtcm_color_blind_check;
> > + rte_meter_trtcm_color_aware_check;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_pipeline/Makefile b/lib/librte_pipeline/Makefile
> > index cf8fde8..5465d00 100644
> > --- a/lib/librte_pipeline/Makefile
> > +++ b/lib/librte_pipeline/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_pipeline.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pipeline/rte_pipeline_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_pipeline/rte_pipeline_version.map b/lib/librte_pipeline/rte_pipeline_version.map
> > new file mode 100644
> > index 0000000..f868b96
> > --- /dev/null
> > +++ b/lib/librte_pipeline/rte_pipeline_version.map
> > @@ -0,0 +1,23 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_pipeline_create;
> > + rte_pipeline_free;
> > + rte_pipeline_check;
> > + rte_pipeline_run;
> > + rte_pipeline_flush;
> > + rte_pipeline_table_create;
> > + rte_pipeline_table_default_entry_add;
> > + rte_pipeline_table_default_entry_delete;
> > + rte_pipeline_table_entry_add;
> > + rte_pipeline_table_entry_delete;
> > + rte_pipeline_port_in_create;
> > + rte_pipeline_port_in_connect_to_table;
> > + rte_pipeline_port_in_enable;
> > + rte_pipeline_port_in_disable;
> > + rte_pipeline_port_out_create;
> > + rte_pipeline_port_out_packet_insert;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_pmd_bond/Makefile b/lib/librte_pmd_bond/Makefile
> > index 953d75e..5b14ce2 100644
> > --- a/lib/librte_pmd_bond/Makefile
> > +++ b/lib/librte_pmd_bond/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_pmd_bond.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_bond/rte_eth_bond_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_pmd_bond/rte_eth_bond_version.map b/lib/librte_pmd_bond/rte_eth_bond_version.map
> > new file mode 100644
> > index 0000000..17f0a1f
> > --- /dev/null
> > +++ b/lib/librte_pmd_bond/rte_eth_bond_version.map
> > @@ -0,0 +1,20 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_eth_bond_create;
> > + rte_eth_bond_slave_add;
> > + rte_eth_bond_slave_remove;
> > + rte_eth_bond_mode_set;
> > + rte_eth_bond_mode_get;
> > + rte_eth_bond_primary_set;
> > + rte_eth_bond_primary_get;
> > + rte_eth_bond_slaves_get;
> > + rte_eth_bond_active_slaves_get;
> > + rte_eth_bond_mac_address_set;
> > + rte_eth_bond_mac_address_reset;
> > + rte_eth_bond_xmit_policy_set;
> > + rte_eth_bond_xmit_policy_get;
> > +
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_pmd_e1000/Makefile b/lib/librte_pmd_e1000/Makefile
> > index 14bc4a2..e225bfe 100644
> > --- a/lib/librte_pmd_e1000/Makefile
> > +++ b/lib/librte_pmd_e1000/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_pmd_e1000.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_e1000/rte_pmd_e1000_version.map
> > +
> > ifeq ($(CC), icc)
> > #
> > # CFLAGS for icc
> > diff --git a/lib/librte_pmd_e1000/rte_pmd_e1000_version.map b/lib/librte_pmd_e1000/rte_pmd_e1000_version.map
> > new file mode 100644
> > index 0000000..cbc401f
> > --- /dev/null
> > +++ b/lib/librte_pmd_e1000/rte_pmd_e1000_version.map
> > @@ -0,0 +1,5 @@
> > +DPDK_1.8 {
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_pmd_i40e/Makefile b/lib/librte_pmd_i40e/Makefile
> > index 4b31675..cfbe816 100644
> > --- a/lib/librte_pmd_i40e/Makefile
> > +++ b/lib/librte_pmd_i40e/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_pmd_i40e.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_i40e/rte_pmd_i40e_version.map
> > +
> > #
> > # Add extra flags for base driver files (also known as shared code)
> > # to disable warnings
> > diff --git a/lib/librte_pmd_i40e/rte_pmd_i40e_version.map b/lib/librte_pmd_i40e/rte_pmd_i40e_version.map
> > new file mode 100644
> > index 0000000..cbc401f
> > --- /dev/null
> > +++ b/lib/librte_pmd_i40e/rte_pmd_i40e_version.map
> > @@ -0,0 +1,5 @@
> > +DPDK_1.8 {
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_pmd_ixgbe/Makefile b/lib/librte_pmd_ixgbe/Makefile
> > index 00ccedb..1dd14a6 100644
> > --- a/lib/librte_pmd_ixgbe/Makefile
> > +++ b/lib/librte_pmd_ixgbe/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_pmd_ixgbe.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_ixgbe/rte_pmd_ixgbe_version.map
> > +
> > ifeq ($(CC), icc)
> > #
> > # CFLAGS for icc
> > diff --git a/lib/librte_pmd_ixgbe/rte_pmd_ixgbe_version.map b/lib/librte_pmd_ixgbe/rte_pmd_ixgbe_version.map
> > new file mode 100644
> > index 0000000..cbc401f
> > --- /dev/null
> > +++ b/lib/librte_pmd_ixgbe/rte_pmd_ixgbe_version.map
> > @@ -0,0 +1,5 @@
> > +DPDK_1.8 {
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_pmd_pcap/Makefile b/lib/librte_pmd_pcap/Makefile
> > index c5c214d..fff5572 100644
> > --- a/lib/librte_pmd_pcap/Makefile
> > +++ b/lib/librte_pmd_pcap/Makefile
> > @@ -40,6 +40,8 @@ LIB = librte_pmd_pcap.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_pcap/rte_pmd_pcap_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_pmd_pcap/rte_pmd_pcap_version.map b/lib/librte_pmd_pcap/rte_pmd_pcap_version.map
> > new file mode 100644
> > index 0000000..cbc401f
> > --- /dev/null
> > +++ b/lib/librte_pmd_pcap/rte_pmd_pcap_version.map
> > @@ -0,0 +1,5 @@
> > +DPDK_1.8 {
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_pmd_ring/Makefile b/lib/librte_pmd_ring/Makefile
> > index b57e421..25ad27f 100644
> > --- a/lib/librte_pmd_ring/Makefile
> > +++ b/lib/librte_pmd_ring/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_pmd_ring.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_ring/rte_eth_ring_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_pmd_ring/rte_eth_ring.c b/lib/librte_pmd_ring/rte_eth_ring.c
> > index 4f1b6ed..df7b583 100644
> > --- a/lib/librte_pmd_ring/rte_eth_ring.c
> > +++ b/lib/librte_pmd_ring/rte_eth_ring.c
> > @@ -473,7 +473,7 @@ out:
> > return ret;
> > }
> >
> > -int
> > +static int
> > rte_pmd_ring_devinit(const char *name, const char *params)
> > {
> > struct rte_kvargs *kvlist;
> > diff --git a/lib/librte_pmd_ring/rte_eth_ring.h b/lib/librte_pmd_ring/rte_eth_ring.h
> > index e6ae19e..d36489a 100644
> > --- a/lib/librte_pmd_ring/rte_eth_ring.h
> > +++ b/lib/librte_pmd_ring/rte_eth_ring.h
> > @@ -50,12 +50,6 @@ int rte_eth_from_rings(const char *name,
> > int rte_eth_ring_pair_create(const char *name, const unsigned numa_node);
> > int rte_eth_ring_pair_attach(const char *name, const unsigned numa_node);
> >
> > -/**
> > - * For use by test apps only. Called as part of EAL init to set up any dummy NICs
> > - * configured on command line.
> > - */
> > -int rte_pmd_ring_devinit(const char *name, const char *params);
> > -
> > #ifdef __cplusplus
> > }
> > #endif
> > diff --git a/lib/librte_pmd_ring/rte_eth_ring_version.map b/lib/librte_pmd_ring/rte_eth_ring_version.map
> > new file mode 100644
> > index 0000000..5edaa3d
> > --- /dev/null
> > +++ b/lib/librte_pmd_ring/rte_eth_ring_version.map
> > @@ -0,0 +1,10 @@
> > +DPDK_1.8 {
> > +
> > + global:
> > +
> > + rte_eth_from_rings;
> > + rte_eth_ring_pair_create;
> > + rte_eth_ring_pair_attach;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_pmd_virtio/Makefile b/lib/librte_pmd_virtio/Makefile
> > index 456095b..bf51bd9 100644
> > --- a/lib/librte_pmd_virtio/Makefile
> > +++ b/lib/librte_pmd_virtio/Makefile
> > @@ -39,6 +39,7 @@ LIB = librte_pmd_virtio_uio.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_virtio/rte_pmd_virtio_version.map
> >
> > #
> > # all source are stored in SRCS-y
> > diff --git a/lib/librte_pmd_virtio/rte_pmd_virtio_version.map b/lib/librte_pmd_virtio/rte_pmd_virtio_version.map
> > new file mode 100644
> > index 0000000..cbc401f
> > --- /dev/null
> > +++ b/lib/librte_pmd_virtio/rte_pmd_virtio_version.map
> > @@ -0,0 +1,5 @@
> > +DPDK_1.8 {
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_pmd_vmxnet3/Makefile b/lib/librte_pmd_vmxnet3/Makefile
> > index 6872c74..e5a1c6b 100644
> > --- a/lib/librte_pmd_vmxnet3/Makefile
> > +++ b/lib/librte_pmd_vmxnet3/Makefile
> > @@ -66,6 +66,8 @@ endif
> >
> > VPATH += $(RTE_SDK)/lib/librte_pmd_vmxnet3/vmxnet3
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_vmxnet3/rte_pmd_vmxnet3_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_pmd_vmxnet3/rte_pmd_vmxnet3_version.map b/lib/librte_pmd_vmxnet3/rte_pmd_vmxnet3_version.map
> > new file mode 100644
> > index 0000000..cbc401f
> > --- /dev/null
> > +++ b/lib/librte_pmd_vmxnet3/rte_pmd_vmxnet3_version.map
> > @@ -0,0 +1,5 @@
> > +DPDK_1.8 {
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_pmd_xenvirt/Makefile b/lib/librte_pmd_xenvirt/Makefile
> > index 01bfcaa..0a08b1b 100644
> > --- a/lib/librte_pmd_xenvirt/Makefile
> > +++ b/lib/librte_pmd_xenvirt/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_pmd_xenvirt.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_pmd_xenvirt/rte_eth_xenvirt_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_pmd_xenvirt/rte_eth_xenvirt_version.map b/lib/librte_pmd_xenvirt/rte_eth_xenvirt_version.map
> > new file mode 100644
> > index 0000000..66199b1
> > --- /dev/null
> > +++ b/lib/librte_pmd_xenvirt/rte_eth_xenvirt_version.map
> > @@ -0,0 +1,8 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_mempool_gntalloc_create;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile
> > index 28793a5..e812bda 100644
> > --- a/lib/librte_port/Makefile
> > +++ b/lib/librte_port/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_port.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_port/rte_port_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_port/rte_port_version.map b/lib/librte_port/rte_port_version.map
> > new file mode 100644
> > index 0000000..57ccaa3
> > --- /dev/null
> > +++ b/lib/librte_port/rte_port_version.map
> > @@ -0,0 +1,18 @@
> > +DPDK_1.8 {
> > + global:
> > + rte_port_ring_reader_ops;
> > + rte_port_ring_writer_ops;
> > + rte_port_ethdev_reader_ops;
> > + rte_port_ethdev_writer_ops;
> > + rte_port_ring_reader_ipv4_frag_ops;
> > + rte_port_ring_writer_ipv4_ras_ops;
> > + rte_port_ring_reader_ops;
> > + rte_port_ring_writer_ops;
> > + rte_port_sched_reader_ops;
> > + rte_port_sched_writer_ops;
> > + rte_port_source_ops;
> > + rte_port_sink_ops;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_power/Makefile b/lib/librte_power/Makefile
> > index 6185812..26ee542 100644
> > --- a/lib/librte_power/Makefile
> > +++ b/lib/librte_power/Makefile
> > @@ -36,6 +36,8 @@ LIB = librte_power.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_power/rte_power_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_POWER) := rte_power.c
> >
> > diff --git a/lib/librte_power/rte_power_version.map b/lib/librte_power/rte_power_version.map
> > new file mode 100644
> > index 0000000..3b2375a
> > --- /dev/null
> > +++ b/lib/librte_power/rte_power_version.map
> > @@ -0,0 +1,14 @@
> > +DPDK_1.8 {
> > + global:
> > + rte_power_init;
> > + rte_power_exit;
> > + rte_power_freqs;
> > + rte_power_get_freq;
> > + rte_power_set_freq;
> > + rte_power_freq_up;
> > + rte_power_freq_down;
> > + rte_power_freq_max;
> > + rte_power_freq_min;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_ring/Makefile b/lib/librte_ring/Makefile
> > index 2380a43..0adaa00 100644
> > --- a/lib/librte_ring/Makefile
> > +++ b/lib/librte_ring/Makefile
> > @@ -36,6 +36,8 @@ LIB = librte_ring.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_ring/rte_ring_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_RING) := rte_ring.c
> >
> > diff --git a/lib/librte_ring/rte_ring_version.map b/lib/librte_ring/rte_ring_version.map
> > new file mode 100644
> > index 0000000..6c28af9
> > --- /dev/null
> > +++ b/lib/librte_ring/rte_ring_version.map
> > @@ -0,0 +1,12 @@
> > +DPDK_1.8 {
> > + global:
> > + rte_ring_get_memsize;
> > + rte_ring_init;
> > + rte_ring_create;
> > + rte_ring_set_water_mark;
> > + rte_ring_dump;
> > + rte_ring_list_dump;
> > + rte_ring_lookup;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile
> > index 1a25b21..205fb7a 100644
> > --- a/lib/librte_sched/Makefile
> > +++ b/lib/librte_sched/Makefile
> > @@ -41,6 +41,8 @@ CFLAGS += $(WERROR_FLAGS)
> >
> > CFLAGS_rte_red.o := -D_GNU_SOURCE
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_sched/rte_sched_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_sched/rte_sched_version.map b/lib/librte_sched/rte_sched_version.map
> > new file mode 100644
> > index 0000000..b5877ce
> > --- /dev/null
> > +++ b/lib/librte_sched/rte_sched_version.map
> > @@ -0,0 +1,22 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_approx;
> > + rte_red_rt_data_init;
> > + rte_red_config_init;
> > + rte_sched_port_config;
> > + rte_sched_port_free;
> > + rte_sched_subport_config;
> > + rte_sched_pipe_config;
> > + rte_sched_port_get_memory_footprint;
> > + rte_sched_subport_read_stats;
> > + rte_sched_queue_read_stats;
> > + rte_sched_port_enqueue;
> > + rte_sched_port_dequeue;
> > + rte_red_log2_1_minus_Wq;
> > + rte_red_pow2_frac_inv;
> > + rte_red_rand_val;
> > + rte_red_rand_seed;
> > +
> > + local: *;
> > +};
> > diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile
> > index dd684cc..5b54acc 100644
> > --- a/lib/librte_table/Makefile
> > +++ b/lib/librte_table/Makefile
> > @@ -39,6 +39,8 @@ LIB = librte_table.a
> > CFLAGS += -O3
> > CFLAGS += $(WERROR_FLAGS)
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_table/rte_table_version.map
> > +
> > #
> > # all source are stored in SRCS-y
> > #
> > diff --git a/lib/librte_table/rte_table_version.map b/lib/librte_table/rte_table_version.map
> > new file mode 100644
> > index 0000000..86f16b8
> > --- /dev/null
> > +++ b/lib/librte_table/rte_table_version.map
> > @@ -0,0 +1,22 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_table_stub_ops;
> > + rte_table_lpm_ops;
> > + rte_table_array_ops;
> > + rte_table_hash_key8_lru_ops;
> > + rte_table_hash_key8_lru_dosig_ops;
> > + rte_table_hash_key8_ext_ops;
> > + rte_table_hash_key8_ext_dosig_ops;
> > + rte_table_lpm_ipv6_ops;
> > + rte_table_hash_key16_lru_ops;
> > + rte_table_hash_key32_lru_ops;
> > + rte_table_hash_key16_ext_ops;
> > + rte_table_hash_key32_ext_ops;
> > + rte_table_acl_ops;
> > + rte_table_hash_lru_ops;
> > + rte_table_hash_ext_ops;
> > +
> > + local: *;
> > +};
> > +
> > diff --git a/lib/librte_timer/Makefile b/lib/librte_timer/Makefile
> > index 07eb0c6..f703e5f 100644
> > --- a/lib/librte_timer/Makefile
> > +++ b/lib/librte_timer/Makefile
> > @@ -36,6 +36,8 @@ LIB = librte_timer.a
> >
> > CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
> >
> > +EXPORT_MAP := $(RTE_SDK)/lib/librte_timer/rte_timer_version.map
> > +
> > # all source are stored in SRCS-y
> > SRCS-$(CONFIG_RTE_LIBRTE_TIMER) := rte_timer.c
> >
> > diff --git a/lib/librte_timer/rte_timer_version.map b/lib/librte_timer/rte_timer_version.map
> > new file mode 100644
> > index 0000000..00b6b52
> > --- /dev/null
> > +++ b/lib/librte_timer/rte_timer_version.map
> > @@ -0,0 +1,16 @@
> > +DPDK_1.8 {
> > + global:
> > +
> > + rte_timer_subsystem_init;
> > + rte_timer_init;
> > + rte_timer_reset;
> > + rte_timer_reset_sync;
> > + rte_timer_stop;
> > + rte_timer_stop_sync;
> > + rte_timer_pending;
> > + rte_timer_manage;
> > + rte_timer_dump_stats;
> > +
> > + local: *;
> > +};
> > +
> > --
> > 1.9.3
> >
>
> May need to update some of the version maps with new functions in head.
>
I'm certain we will, but thats a trivial matter once this is integrated.
Neil
> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
>
next prev parent reply other threads:[~2014-10-01 14:37 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-15 19:23 [dpdk-dev] [PATCH 0/4] Add DSO symbol versioning to support backwards compatibility Neil Horman
2014-09-15 19:23 ` [dpdk-dev] [PATCH 1/4] compat: Add infrastructure to support symbol versioning Neil Horman
2014-09-23 10:39 ` Sergio Gonzalez Monroy
2014-09-23 14:58 ` Neil Horman
2014-09-23 16:29 ` Sergio Gonzalez Monroy
2014-09-23 17:31 ` Neil Horman
2014-09-25 18:52 ` [dpdk-dev] [PATCH 1/4 v2] " Neil Horman
2014-09-26 14:16 ` Sergio Gonzalez Monroy
2014-09-26 15:16 ` Neil Horman
2014-09-26 15:33 ` Sergio Gonzalez Monroy
2014-09-26 16:22 ` Neil Horman
2014-09-26 19:19 ` Neil Horman
2014-09-29 15:44 ` [dpdk-dev] [PATCH 1/4 v3] " Neil Horman
2014-09-30 8:13 ` Sergio Gonzalez Monroy
2014-09-30 15:18 ` [dpdk-dev] [PATCH 1/4 v4] " Neil Horman
2014-10-01 10:15 ` Sergio Gonzalez Monroy
2014-10-01 10:38 ` Neil Horman
2014-10-01 11:28 ` Sergio Gonzalez Monroy
2014-09-15 19:23 ` [dpdk-dev] [PATCH 2/4] Provide initial versioning for all DPDK libraries Neil Horman
2014-09-19 9:45 ` Bruce Richardson
2014-09-19 10:22 ` Neil Horman
2014-10-01 11:25 ` Sergio Gonzalez Monroy
2014-10-01 14:43 ` Neil Horman [this message]
2014-09-15 19:23 ` [dpdk-dev] [PATCH 3/4] Add library version extenstion Neil Horman
2014-10-01 11:27 ` Sergio Gonzalez Monroy
2014-09-15 19:23 ` [dpdk-dev] [PATCH 4/4] docs: Add ABI documentation Neil Horman
2014-10-01 16:06 ` Sergio Gonzalez Monroy
2014-09-18 18:23 ` [dpdk-dev] [PATCH 0/4] Add DSO symbol versioning to support backwards compatibility Thomas Monjalon
2014-09-18 19:14 ` Neil Horman
2014-09-19 8:57 ` Richardson, Bruce
2014-09-19 14:18 ` Venkatesan, Venky
2014-09-19 17:45 ` Neil Horman
2014-09-24 18:19 ` Neil Horman
2014-09-26 10:41 ` Thomas Monjalon
2014-09-26 14:45 ` Neil Horman
2014-09-26 22:02 ` Stephen Hemminger
2014-09-27 2:22 ` Neil Horman
2014-10-01 18:59 ` Neil Horman
2014-10-07 21:01 ` Neil Horman
2014-10-08 15:57 ` Thomas Monjalon
2014-10-08 18:46 ` Butler, Siobhan A
2014-10-08 19:09 ` Neil Horman
2014-12-20 21:01 [dpdk-dev] Add DSO symbol versioning to supportbackwards compatibility Neil Horman
2014-12-20 21:01 ` [dpdk-dev] [PATCH 2/4] Provide initial versioning for all DPDK libraries Neil Horman
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=20141001144341.GA24028@localhost.localdomain \
--to=nhorman@tuxdriver.com \
--cc=dev@dpdk.org \
--cc=sergio.gonzalez.monroy@intel.com \
/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).