DPDK_2.2 {
	global:

	rte_eth_add_rx_callback;
	rte_eth_add_tx_callback;
	rte_eth_allmulticast_disable;
	rte_eth_allmulticast_enable;
	rte_eth_allmulticast_get;
	rte_eth_dev_allocate;
	rte_eth_dev_allocated;
	rte_eth_dev_attach;
	rte_eth_dev_callback_register;
	rte_eth_dev_callback_unregister;
	rte_eth_dev_close;
	rte_eth_dev_configure;
	rte_eth_dev_count;
	rte_eth_dev_default_mac_addr_set;
	rte_eth_dev_detach;
	rte_eth_dev_filter_supported;
	rte_eth_dev_flow_ctrl_get;
	rte_eth_dev_flow_ctrl_set;
	rte_eth_dev_get_dcb_info;
	rte_eth_dev_get_eeprom;
	rte_eth_dev_get_eeprom_length;
	rte_eth_dev_get_mtu;
	rte_eth_dev_get_reg_info;
	rte_eth_dev_get_vlan_offload;
	rte_eth_devices;
	rte_eth_dev_info_get;
	rte_eth_dev_is_valid_port;
	rte_eth_dev_mac_addr_add;
	rte_eth_dev_mac_addr_remove;
	rte_eth_dev_priority_flow_ctrl_set;
	rte_eth_dev_release_port;
	rte_eth_dev_rss_hash_conf_get;
	rte_eth_dev_rss_hash_update;
	rte_eth_dev_rss_reta_query;
	rte_eth_dev_rss_reta_update;
	rte_eth_dev_rx_intr_ctl;
	rte_eth_dev_rx_intr_ctl_q;
	rte_eth_dev_rx_intr_disable;
	rte_eth_dev_rx_intr_enable;
	rte_eth_dev_rx_queue_start;
	rte_eth_dev_rx_queue_stop;
	rte_eth_dev_set_eeprom;
	rte_eth_dev_set_link_down;
	rte_eth_dev_set_link_up;
	rte_eth_dev_set_mc_addr_list;
	rte_eth_dev_set_mtu;
	rte_eth_dev_set_rx_queue_stats_mapping;
	rte_eth_dev_set_tx_queue_stats_mapping;
	rte_eth_dev_set_vlan_offload;
	rte_eth_dev_set_vlan_pvid;
	rte_eth_dev_set_vlan_strip_on_queue;
	rte_eth_dev_socket_id;
	rte_eth_dev_start;
	rte_eth_dev_stop;
	rte_eth_dev_tx_queue_start;
	rte_eth_dev_tx_queue_stop;
	rte_eth_dev_uc_all_hash_table_set;
	rte_eth_dev_uc_hash_table_set;
	rte_eth_dev_vlan_filter;
	rte_eth_dma_zone_reserve;
	rte_eth_led_off;
	rte_eth_led_on;
	rte_eth_link;
	rte_eth_link_get;
	rte_eth_link_get_nowait;
	rte_eth_macaddr_get;
	rte_eth_mirror_rule_reset;
	rte_eth_mirror_rule_set;
	rte_eth_promiscuous_disable;
	rte_eth_promiscuous_enable;
	rte_eth_promiscuous_get;
	rte_eth_remove_rx_callback;
	rte_eth_remove_tx_callback;
	rte_eth_rx_queue_info_get;
	rte_eth_rx_queue_setup;
	rte_eth_set_queue_rate_limit;
	rte_eth_stats;
	rte_eth_stats_get;
	rte_eth_stats_reset;
	rte_eth_timesync_adjust_time;
	rte_eth_timesync_disable;
	rte_eth_timesync_enable;
	rte_eth_timesync_read_rx_timestamp;
	rte_eth_timesync_read_time;
	rte_eth_timesync_read_tx_timestamp;
	rte_eth_timesync_write_time;
	rte_eth_tx_queue_info_get;
	rte_eth_tx_queue_setup;
	rte_eth_xstats_get;
	rte_eth_xstats_reset;

	local: *;
};

DPDK_16.04 {
	global:

	rte_eth_dev_get_supported_ptypes;
	rte_eth_dev_l2_tunnel_eth_type_conf;
	rte_eth_dev_l2_tunnel_offload_set;
	rte_eth_dev_set_vlan_ether_type;
	rte_eth_dev_udp_tunnel_port_add;
	rte_eth_dev_udp_tunnel_port_delete;
	rte_eth_speed_bitflag;
	rte_eth_tx_buffer_count_callback;
	rte_eth_tx_buffer_drop_callback;
	rte_eth_tx_buffer_init;
	rte_eth_tx_buffer_set_err_callback;

} DPDK_2.2;

DPDK_16.07 {
	global:

	rte_eth_add_first_rx_callback;
	rte_eth_dev_get_name_by_port;
	rte_eth_dev_get_port_by_name;
	rte_eth_xstats_get_names;

} DPDK_16.04;

DPDK_17.02 {
	global:

	_rte_eth_dev_reset;
	rte_eth_dev_fw_version_get;

} DPDK_16.07;

DPDK_17.05 {
	global:

	rte_eth_dev_attach_secondary;
	rte_eth_find_next;
	rte_eth_tx_done_cleanup;
	rte_eth_xstats_get_by_id;
	rte_eth_xstats_get_id_by_name;
	rte_eth_xstats_get_names_by_id;

} DPDK_17.02;

DPDK_17.08 {
	global:

	_rte_eth_dev_callback_process;
	rte_eth_dev_adjust_nb_rx_tx_desc;
	rte_tm_capabilities_get;
	rte_tm_hierarchy_commit;
	rte_tm_level_capabilities_get;
	rte_tm_mark_ip_dscp;
	rte_tm_mark_ip_ecn;
	rte_tm_mark_vlan_dei;
	rte_tm_node_add;
	rte_tm_node_capabilities_get;
	rte_tm_node_cman_update;
	rte_tm_node_delete;
	rte_tm_node_parent_update;
	rte_tm_node_resume;
	rte_tm_node_shaper_update;
	rte_tm_node_shared_shaper_update;
	rte_tm_node_shared_wred_context_update;
	rte_tm_node_stats_read;
	rte_tm_node_stats_update;
	rte_tm_node_suspend;
	rte_tm_node_type_get;
	rte_tm_node_wfq_weight_mode_update;
	rte_tm_node_wred_context_update;
	rte_tm_shaper_profile_add;
	rte_tm_shaper_profile_delete;
	rte_tm_shared_shaper_add_update;
	rte_tm_shared_shaper_delete;
	rte_tm_shared_wred_context_add_update;
	rte_tm_shared_wred_context_delete;
	rte_tm_wred_profile_add;
	rte_tm_wred_profile_delete;

} DPDK_17.05;

DPDK_17.11 {
	global:

	rte_eth_dev_get_sec_ctx;
	rte_eth_dev_pool_ops_supported;
	rte_eth_dev_reset;

} DPDK_17.08;

DPDK_18.02 {
	global:

	rte_eth_dev_filter_ctrl;

} DPDK_17.11;

DPDK_18.05 {
	global:

	rte_eth_dev_count_avail;
	rte_eth_find_next_owned_by;
	rte_flow_copy;
	rte_flow_create;
	rte_flow_destroy;
	rte_flow_error_set;
	rte_flow_flush;
	rte_flow_isolate;
	rte_flow_query;
	rte_flow_validate;

} DPDK_18.02;

EXPERIMENTAL {
	global:

	rte_eth_devargs_parse;
	rte_eth_dev_count_total;
	rte_eth_dev_create;
	rte_eth_dev_destroy;
	rte_eth_dev_get_module_eeprom;
	rte_eth_dev_get_module_info;
	rte_eth_dev_is_removed;
	rte_eth_dev_owner_delete;
	rte_eth_dev_owner_get;
	rte_eth_dev_owner_new;
	rte_eth_dev_owner_set;
	rte_eth_dev_owner_unset;
	rte_eth_dev_rx_offload_name;
	rte_eth_dev_tx_offload_name;
	rte_eth_switch_domain_alloc;
	rte_eth_switch_domain_free;
	rte_mtr_capabilities_get;
	rte_mtr_create;
	rte_mtr_destroy;
	rte_mtr_meter_disable;
	rte_mtr_meter_dscp_table_update;
	rte_mtr_meter_enable;
	rte_mtr_meter_profile_add;
	rte_mtr_meter_profile_delete;
	rte_mtr_meter_profile_update;
	rte_mtr_policer_actions_update;
	rte_mtr_stats_read;
	rte_mtr_stats_update;
};
