DPDK patches and discussions
 help / color / mirror / Atom feed
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>
> 

  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).