From: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
To: Sergio Gonzalez Monroy
<sergio.gonzalez.monroy-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [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-IWE99D/oH1/+pXziaqXtF9h3ngVCH38I@public.gmane.org>
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-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
> > CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
> > CC: "Richardson, Bruce" <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > ---
> > 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-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
>
next prev parent reply other threads:[~2014-10-01 14:43 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-15 19:23 [PATCH 0/4] Add DSO symbol versioning to support backwards compatibility Neil Horman
[not found] ` <1410809031-19114-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-09-15 19:23 ` [PATCH 1/4] compat: Add infrastructure to support symbol versioning Neil Horman
[not found] ` <1410809031-19114-2-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-09-23 10:39 ` Sergio Gonzalez Monroy
[not found] ` <20140923103923.GA4642-IWE99D/oH1/+pXziaqXtF9h3ngVCH38I@public.gmane.org>
2014-09-23 14:58 ` Neil Horman
[not found] ` <20140923145829.GB12884-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-09-23 16:29 ` Sergio Gonzalez Monroy
[not found] ` <20140923162947.GA22463-IWE99D/oH1/+pXziaqXtF9h3ngVCH38I@public.gmane.org>
2014-09-23 17:31 ` Neil Horman
2014-09-25 18:52 ` [PATCH 1/4 v2] " Neil Horman
[not found] ` <1411671152-27245-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-09-26 14:16 ` Sergio Gonzalez Monroy
[not found] ` <20140926141608.GA10993-IWE99D/oH1/+pXziaqXtF9h3ngVCH38I@public.gmane.org>
2014-09-26 15:16 ` Neil Horman
[not found] ` <20140926151630.GD5619-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-09-26 15:33 ` Sergio Gonzalez Monroy
[not found] ` <20140926153304.GA16923-IWE99D/oH1/+pXziaqXtF9h3ngVCH38I@public.gmane.org>
2014-09-26 16:22 ` Neil Horman
[not found] ` <20140926162256.GF5619-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-09-26 19:19 ` Neil Horman
2014-09-29 15:44 ` [PATCH 1/4 v3] " Neil Horman
[not found] ` <1412005443-20000-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-09-30 8:13 ` Sergio Gonzalez Monroy
2014-09-30 15:18 ` [PATCH 1/4 v4] " Neil Horman
[not found] ` <1412090280-9306-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-10-01 10:15 ` Sergio Gonzalez Monroy
[not found] ` <20141001101530.GA28292-IWE99D/oH1/+pXziaqXtF9h3ngVCH38I@public.gmane.org>
2014-10-01 10:38 ` Neil Horman
2014-10-01 11:28 ` Sergio Gonzalez Monroy
2014-09-15 19:23 ` [PATCH 2/4] Provide initial versioning for all DPDK libraries Neil Horman
[not found] ` <1410809031-19114-3-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-09-19 9:45 ` Bruce Richardson
2014-09-19 10:22 ` Neil Horman
2014-10-01 11:25 ` Sergio Gonzalez Monroy
[not found] ` <20141001112546.GA17019-IWE99D/oH1/+pXziaqXtF9h3ngVCH38I@public.gmane.org>
2014-10-01 14:43 ` Neil Horman [this message]
2014-09-15 19:23 ` [PATCH 3/4] Add library version extenstion Neil Horman
[not found] ` <1410809031-19114-4-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-10-01 11:27 ` Sergio Gonzalez Monroy
2014-09-15 19:23 ` [PATCH 4/4] docs: Add ABI documentation Neil Horman
[not found] ` <1410809031-19114-5-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-10-01 16:06 ` Sergio Gonzalez Monroy
2014-09-18 18:23 ` [PATCH 0/4] Add DSO symbol versioning to support backwards compatibility Thomas Monjalon
2014-09-18 19:14 ` Neil Horman
[not found] ` <20140918191401.GP20389-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-09-19 8:57 ` Richardson, Bruce
2014-09-19 14:18 ` Venkatesan, Venky
[not found] ` <541C3B3C.9070105-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-09-19 17:45 ` Neil Horman
2014-09-24 18:19 ` Neil Horman
[not found] ` <20140924181940.GB4651-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-09-26 10:41 ` Thomas Monjalon
2014-09-26 14:45 ` Neil Horman
[not found] ` <20140926144549.GA5619-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-09-26 22:02 ` Stephen Hemminger
2014-09-27 2:22 ` Neil Horman
2014-10-01 18:59 ` Neil Horman
[not found] ` <20141001185940.GA27437-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-10-07 21:01 ` Neil Horman
[not found] ` <20141007210135.GH27719-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-10-08 15:57 ` Thomas Monjalon
2014-10-08 18:46 ` Butler, Siobhan A
2014-10-08 19:09 ` Neil Horman
-- strict thread matches above, loose matches on Subject: below --
2014-12-20 21:01 Add DSO symbol versioning to supportbackwards compatibility Neil Horman
[not found] ` <1419109299-9603-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-12-20 21:01 ` [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-2xusbdqka4r54taoqtywwq@public.gmane.org \
--cc=dev-VfR2kkLFssw@public.gmane.org \
--cc=sergio.gonzalez.monroy-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.