libnl_3 {
global:
	# these functions are in private header files and should have never
	# been exported. We might hide them later.
	rtnl_link_af_alloc;
	rtnl_link_af_data;
	rtnl_link_af_data_compare;
	rtnl_link_af_ops_lookup;
	rtnl_link_af_ops_put;
	rtnl_link_af_register;
	rtnl_link_af_unregister;
	rtnl_link_info_ops_lookup;
	rtnl_link_info_ops_put;
	rtnl_link_register_info;
	rtnl_link_unregister_info;
	rtnl_tc_build_rate_table;
	rtnl_tc_clone;
	rtnl_tc_compare;
	rtnl_tc_data;
	rtnl_tc_data_check;
	rtnl_tc_dump_details;
	rtnl_tc_dump_line;
	rtnl_tc_dump_stats;
	rtnl_tc_free_data;
	rtnl_tc_msg_build;
	rtnl_tc_msg_parse;
	rtnl_tc_register;
	rtnl_tc_type_register;
	rtnl_tc_type_unregister;
	rtnl_tc_unregister;

	# these functions are in private header files and should have never
	# been exported. They are used by libnl internals
	rtnl_tc_get_ops;
	rtnl_tc_lookup_ops;

	# internal symbols that are in public headers
	rtln_link_policy;

	# ops structure
	route_obj_ops;

	flnl_lookup;
	flnl_lookup_build_request;
	flnl_request_alloc;
	flnl_request_get_addr;
	flnl_request_get_fwmark;
	flnl_request_get_scope;
	flnl_request_get_table;
	flnl_request_get_tos;
	flnl_request_set_addr;
	flnl_request_set_fwmark;
	flnl_request_set_scope;
	flnl_request_set_table;
	flnl_request_set_tos;
	flnl_result_alloc;
	flnl_result_alloc_cache;
	flnl_result_get_error;
	flnl_result_get_nexthop_sel;
	flnl_result_get_prefixlen;
	flnl_result_get_scope;
	flnl_result_get_table_id;
	flnl_result_get_type;
	flnl_result_put;
	nl_ovl_strategy2str;
	nl_police2str;
	nl_rtgen_request;
	nl_rtntype2str;
	nl_str2ovl_strategy;
	nl_str2police;
	nl_str2rtntype;
	rtnl_act_add;
	rtnl_act_alloc;
	rtnl_act_append;
	rtnl_act_build_add_request;
	rtnl_act_build_change_request;
	rtnl_act_build_delete_request;
	rtnl_act_change;
	rtnl_act_delete;
	rtnl_act_fill;
	rtnl_act_get;
	rtnl_act_parse;
	rtnl_act_put;
	rtnl_act_put_all;
	rtnl_act_remove;
	rtnl_addr_add;
	rtnl_addr_alloc;
	rtnl_addr_alloc_cache;
	rtnl_addr_build_add_request;
	rtnl_addr_build_delete_request;
	rtnl_addr_delete;
	rtnl_addr_flags2str;
	rtnl_addr_get;
	rtnl_addr_get_anycast;
	rtnl_addr_get_broadcast;
	rtnl_addr_get_create_time;
	rtnl_addr_get_family;
	rtnl_addr_get_flags;
	rtnl_addr_get_ifindex;
	rtnl_addr_get_label;
	rtnl_addr_get_last_update_time;
	rtnl_addr_get_link;
	rtnl_addr_get_local;
	rtnl_addr_get_multicast;
	rtnl_addr_get_peer;
	rtnl_addr_get_preferred_lifetime;
	rtnl_addr_get_prefixlen;
	rtnl_addr_get_scope;
	rtnl_addr_get_valid_lifetime;
	rtnl_addr_put;
	rtnl_addr_set_anycast;
	rtnl_addr_set_broadcast;
	rtnl_addr_set_family;
	rtnl_addr_set_flags;
	rtnl_addr_set_ifindex;
	rtnl_addr_set_label;
	rtnl_addr_set_link;
	rtnl_addr_set_local;
	rtnl_addr_set_multicast;
	rtnl_addr_set_peer;
	rtnl_addr_set_preferred_lifetime;
	rtnl_addr_set_prefixlen;
	rtnl_addr_set_scope;
	rtnl_addr_set_valid_lifetime;
	rtnl_addr_str2flags;
	rtnl_addr_unset_flags;
	rtnl_basic_add_action;
	rtnl_basic_del_action;
	rtnl_basic_get_ematch;
	rtnl_basic_get_target;
	rtnl_basic_set_ematch;
	rtnl_basic_set_target;
	rtnl_cgroup_get_ematch;
	rtnl_cgroup_set_ematch;
	rtnl_class_add;
	rtnl_class_alloc;
	rtnl_class_alloc_cache;
	rtnl_class_build_add_request;
	rtnl_class_build_delete_request;
	rtnl_class_delete;
	rtnl_class_dsmark_get_bitmask;
	rtnl_class_dsmark_get_value;
	rtnl_class_dsmark_set_bitmask;
	rtnl_class_dsmark_set_value;
	rtnl_class_foreach_child;
	rtnl_class_foreach_cls;
	rtnl_class_get;
	rtnl_class_leaf_qdisc;
	rtnl_class_put;
	rtnl_classid_generate;
	rtnl_cls_add;
	rtnl_cls_alloc;
	rtnl_cls_alloc_cache;
	rtnl_cls_build_add_request;
	rtnl_cls_build_change_request;
	rtnl_cls_build_delete_request;
	rtnl_cls_change;
	rtnl_cls_delete;
	rtnl_cls_get_prio;
	rtnl_cls_get_protocol;
	rtnl_cls_put;
	rtnl_cls_set_prio;
	rtnl_cls_set_protocol;
	rtnl_ematch_add_child;
	rtnl_ematch_alloc;
	rtnl_ematch_cmp_get;
	rtnl_ematch_cmp_set;
	rtnl_ematch_data;
	rtnl_ematch_fill_attr;
	rtnl_ematch_free;
	rtnl_ematch_get_flags;
	rtnl_ematch_lookup_ops;
	rtnl_ematch_lookup_ops_by_name;
	rtnl_ematch_meta_set_lvalue;
	rtnl_ematch_meta_set_operand;
	rtnl_ematch_meta_set_rvalue;
	rtnl_ematch_nbyte_get_layer;
	rtnl_ematch_nbyte_get_len;
	rtnl_ematch_nbyte_get_offset;
	rtnl_ematch_nbyte_get_pattern;
	rtnl_ematch_nbyte_set_offset;
	rtnl_ematch_nbyte_set_pattern;
	rtnl_ematch_offset2txt;
	rtnl_ematch_opnd2txt;
	rtnl_ematch_parse_attr;
	rtnl_ematch_parse_expr;
	rtnl_ematch_register;
	rtnl_ematch_set_flags;
	rtnl_ematch_set_kind;
	rtnl_ematch_set_name;
	rtnl_ematch_set_ops;
	rtnl_ematch_text_get_algo;
	rtnl_ematch_text_get_from_layer;
	rtnl_ematch_text_get_from_offset;
	rtnl_ematch_text_get_len;
	rtnl_ematch_text_get_pattern;
	rtnl_ematch_text_get_to_layer;
	rtnl_ematch_text_get_to_offset;
	rtnl_ematch_text_set_algo;
	rtnl_ematch_text_set_from;
	rtnl_ematch_text_set_pattern;
	rtnl_ematch_text_set_to;
	rtnl_ematch_tree_add;
	rtnl_ematch_tree_alloc;
	rtnl_ematch_tree_dump;
	rtnl_ematch_tree_free;
	rtnl_ematch_unlink;
	rtnl_ematch_unset_flags;
	rtnl_fw_set_classid;
	rtnl_fw_set_mask;
	rtnl_htb_get_cbuffer;
	rtnl_htb_get_ceil;
	rtnl_htb_get_defcls;
	rtnl_htb_get_level;
	rtnl_htb_get_prio;
	rtnl_htb_get_quantum;
	rtnl_htb_get_rate2quantum;
	rtnl_htb_get_rate;
	rtnl_htb_get_rbuffer;
	rtnl_htb_set_cbuffer;
	rtnl_htb_set_ceil;
	rtnl_htb_set_defcls;
	rtnl_htb_set_level;
	rtnl_htb_set_prio;
	rtnl_htb_set_quantum;
	rtnl_htb_set_rate2quantum;
	rtnl_htb_set_rate;
	rtnl_htb_set_rbuffer;
	rtnl_link_add;
	rtnl_link_alloc;
	rtnl_link_alloc_cache;
	rtnl_link_bond_add;
	rtnl_link_bond_alloc;
	rtnl_link_bond_enslave;
	rtnl_link_bond_enslave_ifindex;
	rtnl_link_bond_release;
	rtnl_link_bond_release_ifindex;
	rtnl_link_bridge_add;
	rtnl_link_bridge_alloc;
	rtnl_link_bridge_flags2str;
	rtnl_link_bridge_get_cost;
	rtnl_link_bridge_get_flags;
	rtnl_link_bridge_get_port_state;
	rtnl_link_bridge_get_priority;
	rtnl_link_bridge_has_ext_info;
	rtnl_link_bridge_set_cost;
	rtnl_link_bridge_set_flags;
	rtnl_link_bridge_set_port_state;
	rtnl_link_bridge_set_priority;
	rtnl_link_bridge_str2flags;
	rtnl_link_bridge_unset_flags;
	rtnl_link_build_add_request;
	rtnl_link_build_change_request;
	rtnl_link_build_delete_request;
	rtnl_link_build_get_request;
	rtnl_link_can_berr;
	rtnl_link_can_berr_rx;
	rtnl_link_can_berr_tx;
	rtnl_link_can_ctrlmode2str;
	rtnl_link_can_freq;
	rtnl_link_can_get_bitrate;
	rtnl_link_can_get_bittiming;
	rtnl_link_can_get_bt_const;
	rtnl_link_can_get_ctrlmode;
	rtnl_link_can_get_restart_ms;
	rtnl_link_can_get_sample_point;
	rtnl_link_can_restart;
	rtnl_link_can_set_bitrate;
	rtnl_link_can_set_bittiming;
	rtnl_link_can_set_ctrlmode;
	rtnl_link_can_set_restart_ms;
	rtnl_link_can_set_sample_point;
	rtnl_link_can_state;
	rtnl_link_can_str2ctrlmode;
	rtnl_link_can_unset_ctrlmode;
	rtnl_link_carrier2str;
	rtnl_link_change;
	rtnl_link_delete;
	rtnl_link_enslave;
	rtnl_link_enslave_ifindex;
	rtnl_link_fill_info;
	rtnl_link_flags2str;
	rtnl_link_get;
	rtnl_link_get_addr;
	rtnl_link_get_arptype;
	rtnl_link_get_broadcast;
	rtnl_link_get_by_name;
	rtnl_link_get_carrier;
	rtnl_link_get_family;
	rtnl_link_get_flags;
	rtnl_link_get_group;
	rtnl_link_get_ifalias;
	rtnl_link_get_ifindex;
	rtnl_link_get_info_type;
	rtnl_link_get_kernel;
	rtnl_link_get_link;
	rtnl_link_get_linkmode;
	rtnl_link_get_master;
	rtnl_link_get_mtu;
	rtnl_link_get_name;
	rtnl_link_get_ns_fd;
	rtnl_link_get_ns_pid;
	rtnl_link_get_num_rx_queues;
	rtnl_link_get_num_tx_queues;
	rtnl_link_get_num_vf;
	rtnl_link_get_operstate;
	rtnl_link_get_phys_port_id;
	rtnl_link_get_pmtudisc;
	rtnl_link_get_promiscuity;
	rtnl_link_get_qdisc;
	rtnl_link_get_stat;
	rtnl_link_get_txqlen;
	rtnl_link_get_type;
	rtnl_link_get_weight;
	rtnl_link_i2name;
	rtnl_link_inet_devconf2str;
	rtnl_link_inet_get_conf;
	rtnl_link_inet_set_conf;
	rtnl_link_inet_str2devconf;
	rtnl_link_info_parse;
	rtnl_link_ip6_tnl_add;
	rtnl_link_ip6_tnl_alloc;
	rtnl_link_ip6_tnl_get_encaplimit;
	rtnl_link_ip6_tnl_get_flags;
	rtnl_link_ip6_tnl_get_flowinfo;
	rtnl_link_ip6_tnl_get_link;
	rtnl_link_ip6_tnl_get_local;
	rtnl_link_ip6_tnl_get_proto;
	rtnl_link_ip6_tnl_get_remote;
	rtnl_link_ip6_tnl_get_tos;
	rtnl_link_ip6_tnl_get_ttl;
	rtnl_link_ip6_tnl_set_encaplimit;
	rtnl_link_ip6_tnl_set_flags;
	rtnl_link_ip6_tnl_set_flowinfo;
	rtnl_link_ip6_tnl_set_link;
	rtnl_link_ip6_tnl_set_local;
	rtnl_link_ip6_tnl_set_proto;
	rtnl_link_ip6_tnl_set_remote;
	rtnl_link_ip6_tnl_set_tos;
	rtnl_link_ip6_tnl_set_ttl;
	rtnl_link_ipgre_add;
	rtnl_link_ipgre_alloc;
	rtnl_link_ipgre_get_iflags;
	rtnl_link_ipgre_get_ikey;
	rtnl_link_ipgre_get_link;
	rtnl_link_ipgre_get_local;
	rtnl_link_ipgre_get_oflags;
	rtnl_link_ipgre_get_okey;
	rtnl_link_ipgre_get_remote;
	rtnl_link_ipgre_get_tos;
	rtnl_link_ipgre_get_ttl;
	rtnl_link_ipgre_set_iflags;
	rtnl_link_ipgre_set_ikey;
	rtnl_link_ipgre_set_link;
	rtnl_link_ipgre_set_local;
	rtnl_link_ipgre_set_oflags;
	rtnl_link_ipgre_set_okey;
	rtnl_link_ipgre_set_pmtudisc;
	rtnl_link_ipgre_set_remote;
	rtnl_link_ipgre_set_tos;
	rtnl_link_ipgre_set_ttl;
	rtnl_link_ipip_add;
	rtnl_link_ipip_alloc;
	rtnl_link_ipip_get_link;
	rtnl_link_ipip_get_local;
	rtnl_link_ipip_get_pmtudisc;
	rtnl_link_ipip_get_remote;
	rtnl_link_ipip_get_tos;
	rtnl_link_ipip_get_ttl;
	rtnl_link_ipip_set_link;
	rtnl_link_ipip_set_local;
	rtnl_link_ipip_set_pmtudisc;
	rtnl_link_ipip_set_remote;
	rtnl_link_ipip_set_tos;
	rtnl_link_ipip_set_ttl;
	rtnl_link_ipvti_add;
	rtnl_link_ipvti_alloc;
	rtnl_link_ipvti_get_ikey;
	rtnl_link_ipvti_get_link;
	rtnl_link_ipvti_get_local;
	rtnl_link_ipvti_get_okey;
	rtnl_link_ipvti_get_remote;
	rtnl_link_ipvti_set_ikey;
	rtnl_link_ipvti_set_link;
	rtnl_link_ipvti_set_local;
	rtnl_link_ipvti_set_okey;
	rtnl_link_ipvti_set_remote;
	rtnl_link_is_bridge;
	rtnl_link_is_can;
	rtnl_link_is_ip6_tnl;
	rtnl_link_is_ipgre;
	rtnl_link_is_ipip;
	rtnl_link_is_ipvti;
	rtnl_link_is_macvlan;
	rtnl_link_is_sit;
	rtnl_link_is_veth;
	rtnl_link_is_vlan;
	rtnl_link_is_vxlan;
	rtnl_link_macvlan_alloc;
	rtnl_link_macvlan_flags2str;
	rtnl_link_macvlan_get_flags;
	rtnl_link_macvlan_get_mode;
	rtnl_link_macvlan_mode2str;
	rtnl_link_macvlan_set_flags;
	rtnl_link_macvlan_set_mode;
	rtnl_link_macvlan_str2flags;
	rtnl_link_macvlan_str2mode;
	rtnl_link_macvlan_unset_flags;
	rtnl_link_mode2str;
	rtnl_link_name2i;
	rtnl_link_operstate2str;
	rtnl_link_put;
	rtnl_link_release;
	rtnl_link_release_ifindex;
	rtnl_link_set_addr;
	rtnl_link_set_arptype;
	rtnl_link_set_broadcast;
	rtnl_link_set_carrier;
	rtnl_link_set_family;
	rtnl_link_set_flags;
	rtnl_link_set_group;
	rtnl_link_set_ifalias;
	rtnl_link_set_ifindex;
	rtnl_link_set_info_type;
	rtnl_link_set_link;
	rtnl_link_set_linkmode;
	rtnl_link_set_master;
	rtnl_link_set_mtu;
	rtnl_link_set_name;
	rtnl_link_set_ns_fd;
	rtnl_link_set_ns_pid;
	rtnl_link_set_num_rx_queues;
	rtnl_link_set_num_tx_queues;
	rtnl_link_set_operstate;
	rtnl_link_set_promiscuity;
	rtnl_link_set_qdisc;
	rtnl_link_set_stat;
	rtnl_link_set_txqlen;
	rtnl_link_set_type;
	rtnl_link_set_weight;
	rtnl_link_sit_add;
	rtnl_link_sit_alloc;
	rtnl_link_sit_get_flags;
	rtnl_link_sit_get_link;
	rtnl_link_sit_get_local;
	rtnl_link_sit_get_pmtudisc;
	rtnl_link_sit_get_proto;
	rtnl_link_sit_get_remote;
	rtnl_link_sit_get_tos;
	rtnl_link_sit_get_ttl;
	rtnl_link_sit_set_flags;
	rtnl_link_sit_set_link;
	rtnl_link_sit_set_local;
	rtnl_link_sit_set_pmtudisc;
	rtnl_link_sit_set_proto;
	rtnl_link_sit_set_remote;
	rtnl_link_sit_set_tos;
	rtnl_link_sit_set_ttl;
	rtnl_link_stat2str;
	rtnl_link_str2carrier;
	rtnl_link_str2flags;
	rtnl_link_str2mode;
	rtnl_link_str2operstate;
	rtnl_link_str2stat;
	rtnl_link_unset_flags;
	rtnl_link_veth_add;
	rtnl_link_veth_alloc;
	rtnl_link_veth_get_peer;
	rtnl_link_veth_release;
	rtnl_link_vlan_alloc;
	rtnl_link_vlan_flags2str;
	rtnl_link_vlan_get_egress_map;
	rtnl_link_vlan_get_flags;
	rtnl_link_vlan_get_id;
	rtnl_link_vlan_get_ingress_map;
	rtnl_link_vlan_get_protocol;
	rtnl_link_vlan_set_egress_map;
	rtnl_link_vlan_set_flags;
	rtnl_link_vlan_set_id;
	rtnl_link_vlan_set_ingress_map;
	rtnl_link_vlan_set_protocol;
	rtnl_link_vlan_str2flags;
	rtnl_link_vlan_unset_flags;
	rtnl_link_vxlan_alloc;
	rtnl_link_vxlan_disable_l2miss;
	rtnl_link_vxlan_disable_l3miss;
	rtnl_link_vxlan_disable_learning;
	rtnl_link_vxlan_disable_proxy;
	rtnl_link_vxlan_disable_rsc;
	rtnl_link_vxlan_enable_l2miss;
	rtnl_link_vxlan_enable_l3miss;
	rtnl_link_vxlan_enable_learning;
	rtnl_link_vxlan_enable_proxy;
	rtnl_link_vxlan_enable_rsc;
	rtnl_link_vxlan_get_ageing;
	rtnl_link_vxlan_get_group;
	rtnl_link_vxlan_get_id;
	rtnl_link_vxlan_get_l2miss;
	rtnl_link_vxlan_get_l3miss;
	rtnl_link_vxlan_get_learning;
	rtnl_link_vxlan_get_limit;
	rtnl_link_vxlan_get_link;
	rtnl_link_vxlan_get_local;
	rtnl_link_vxlan_get_port_range;
	rtnl_link_vxlan_get_proxy;
	rtnl_link_vxlan_get_rsc;
	rtnl_link_vxlan_get_tos;
	rtnl_link_vxlan_get_ttl;
	rtnl_link_vxlan_set_ageing;
	rtnl_link_vxlan_set_group;
	rtnl_link_vxlan_set_id;
	rtnl_link_vxlan_set_l2miss;
	rtnl_link_vxlan_set_l3miss;
	rtnl_link_vxlan_set_learning;
	rtnl_link_vxlan_set_limit;
	rtnl_link_vxlan_set_link;
	rtnl_link_vxlan_set_local;
	rtnl_link_vxlan_set_port_range;
	rtnl_link_vxlan_set_proxy;
	rtnl_link_vxlan_set_rsc;
	rtnl_link_vxlan_set_tos;
	rtnl_link_vxlan_set_ttl;
	rtnl_meta_value_alloc_id;
	rtnl_meta_value_alloc_int;
	rtnl_meta_value_alloc_var;
	rtnl_meta_value_put;
	rtnl_mirred_get_action;
	rtnl_mirred_get_ifindex;
	rtnl_mirred_get_policy;
	rtnl_mirred_set_action;
	rtnl_mirred_set_ifindex;
	rtnl_mirred_set_policy;
	rtnl_neigh_add;
	rtnl_neigh_alloc;
	rtnl_neigh_alloc_cache;
	rtnl_neigh_build_add_request;
	rtnl_neigh_build_delete_request;
	rtnl_neigh_delete;
	rtnl_neigh_flags2str;
	rtnl_neigh_get;
	rtnl_neigh_get_dst;
	rtnl_neigh_get_family;
	rtnl_neigh_get_flags;
	rtnl_neigh_get_ifindex;
	rtnl_neigh_get_lladdr;
	rtnl_neigh_get_state;
	rtnl_neigh_get_type;
	rtnl_neigh_parse;
	rtnl_neigh_put;
	rtnl_neigh_set_dst;
	rtnl_neigh_set_family;
	rtnl_neigh_set_flags;
	rtnl_neigh_set_ifindex;
	rtnl_neigh_set_lladdr;
	rtnl_neigh_set_state;
	rtnl_neigh_set_type;
	rtnl_neigh_state2str;
	rtnl_neigh_str2flag;
	rtnl_neigh_str2state;
	rtnl_neigh_unset_flags;
	rtnl_neigh_unset_state;
	rtnl_neightbl_alloc;
	rtnl_neightbl_alloc_cache;
	rtnl_neightbl_build_change_request;
	rtnl_neightbl_change;
	rtnl_neightbl_get;
	rtnl_neightbl_put;
	rtnl_neightbl_set_anycast_delay;
	rtnl_neightbl_set_app_probes;
	rtnl_neightbl_set_base_reachable_time;
	rtnl_neightbl_set_delay_probe_time;
	rtnl_neightbl_set_dev;
	rtnl_neightbl_set_family;
	rtnl_neightbl_set_gc_interval;
	rtnl_neightbl_set_gc_stale_time;
	rtnl_neightbl_set_gc_tresh1;
	rtnl_neightbl_set_gc_tresh2;
	rtnl_neightbl_set_gc_tresh3;
	rtnl_neightbl_set_locktime;
	rtnl_neightbl_set_mcast_probes;
	rtnl_neightbl_set_name;
	rtnl_neightbl_set_proxy_delay;
	rtnl_neightbl_set_proxy_queue_len;
	rtnl_neightbl_set_queue_len;
	rtnl_neightbl_set_retrans_time;
	rtnl_neightbl_set_ucast_probes;
	rtnl_netem_get_corruption_correlation;
	rtnl_netem_get_corruption_probability;
	rtnl_netem_get_delay;
	rtnl_netem_get_delay_correlation;
	rtnl_netem_get_delay_distribution;
	rtnl_netem_get_delay_distribution_size;
	rtnl_netem_get_duplicate;
	rtnl_netem_get_duplicate_correlation;
	rtnl_netem_get_gap;
	rtnl_netem_get_jitter;
	rtnl_netem_get_limit;
	rtnl_netem_get_loss;
	rtnl_netem_get_loss_correlation;
	rtnl_netem_get_reorder_correlation;
	rtnl_netem_get_reorder_probability;
	rtnl_netem_set_corruption_correlation;
	rtnl_netem_set_corruption_probability;
	rtnl_netem_set_delay;
	rtnl_netem_set_delay_correlation;
	rtnl_netem_set_delay_distribution;
	rtnl_netem_set_duplicate;
	rtnl_netem_set_duplicate_correlation;
	rtnl_netem_set_gap;
	rtnl_netem_set_jitter;
	rtnl_netem_set_limit;
	rtnl_netem_set_loss;
	rtnl_netem_set_loss_correlation;
	rtnl_netem_set_reorder_correlation;
	rtnl_netem_set_reorder_probability;
	rtnl_pktloc_add;
	rtnl_pktloc_alloc;
	rtnl_pktloc_foreach;
	rtnl_pktloc_lookup;
	rtnl_pktloc_put;
	rtnl_prio2str;
	rtnl_qdisc_add;
	rtnl_qdisc_alloc;
	rtnl_qdisc_alloc_cache;
	rtnl_qdisc_build_add_request;
	rtnl_qdisc_build_change_request;
	rtnl_qdisc_build_delete_request;
	rtnl_qdisc_build_update_request;
	rtnl_qdisc_change;
	rtnl_qdisc_delete;
	rtnl_qdisc_dsmark_get_default_index;
	rtnl_qdisc_dsmark_get_indices;
	rtnl_qdisc_dsmark_get_set_tc_index;
	rtnl_qdisc_dsmark_set_default_index;
	rtnl_qdisc_dsmark_set_indices;
	rtnl_qdisc_dsmark_set_set_tc_index;
	rtnl_qdisc_fifo_get_limit;
	rtnl_qdisc_fifo_set_limit;
	rtnl_qdisc_foreach_child;
	rtnl_qdisc_foreach_cls;
	rtnl_qdisc_fq_codel_get_ecn;
	rtnl_qdisc_fq_codel_get_flows;
	rtnl_qdisc_fq_codel_get_interval;
	rtnl_qdisc_fq_codel_get_limit;
	rtnl_qdisc_fq_codel_get_quantum;
	rtnl_qdisc_fq_codel_get_target;
	rtnl_qdisc_fq_codel_set_ecn;
	rtnl_qdisc_fq_codel_set_flows;
	rtnl_qdisc_fq_codel_set_interval;
	rtnl_qdisc_fq_codel_set_limit;
	rtnl_qdisc_fq_codel_set_quantum;
	rtnl_qdisc_fq_codel_set_target;
	rtnl_qdisc_get;
	rtnl_qdisc_get_by_parent;
	rtnl_qdisc_plug_buffer;
	rtnl_qdisc_plug_release_indefinite;
	rtnl_qdisc_plug_release_one;
	rtnl_qdisc_plug_set_limit;
	rtnl_qdisc_prio_get_bands;
	rtnl_qdisc_prio_get_priomap;
	rtnl_qdisc_prio_set_bands;
	rtnl_qdisc_prio_set_priomap;
	rtnl_qdisc_put;
	rtnl_qdisc_tbf_get_limit;
	rtnl_qdisc_tbf_get_peakrate;
	rtnl_qdisc_tbf_get_peakrate_bucket;
	rtnl_qdisc_tbf_get_peakrate_cell;
	rtnl_qdisc_tbf_get_rate;
	rtnl_qdisc_tbf_get_rate_bucket;
	rtnl_qdisc_tbf_get_rate_cell;
	rtnl_qdisc_tbf_set_limit;
	rtnl_qdisc_tbf_set_limit_by_latency;
	rtnl_qdisc_tbf_set_peakrate;
	rtnl_qdisc_tbf_set_rate;
	rtnl_qdisc_update;
	rtnl_realms2str;
	rtnl_red_get_limit;
	rtnl_red_set_limit;
	rtnl_route_add;
	rtnl_route_add_nexthop;
	rtnl_route_alloc;
	rtnl_route_alloc_cache;
	rtnl_route_build_add_request;
	rtnl_route_build_del_request;
	rtnl_route_build_msg;
	rtnl_route_delete;
	rtnl_route_foreach_nexthop;
	rtnl_route_get;
	rtnl_route_get_dst;
	rtnl_route_get_family;
	rtnl_route_get_flags;
	rtnl_route_get_iif;
	rtnl_route_get_metric;
	rtnl_route_get_nexthops;
	rtnl_route_get_nnexthops;
	rtnl_route_get_pref_src;
	rtnl_route_get_priority;
	rtnl_route_get_protocol;
	rtnl_route_get_scope;
	rtnl_route_get_src;
	rtnl_route_get_table;
	rtnl_route_get_tos;
	rtnl_route_get_type;
	rtnl_route_guess_scope;
	rtnl_route_metric2str;
	rtnl_route_nexthop_n;
	rtnl_route_nh_alloc;
	rtnl_route_nh_clone;
	rtnl_route_nh_compare;
	rtnl_route_nh_dump;
	rtnl_route_nh_flags2str;
	rtnl_route_nh_free;
	rtnl_route_nh_get_flags;
	rtnl_route_nh_get_gateway;
	rtnl_route_nh_get_ifindex;
	rtnl_route_nh_get_realms;
	rtnl_route_nh_get_weight;
	rtnl_route_nh_set_flags;
	rtnl_route_nh_set_gateway;
	rtnl_route_nh_set_ifindex;
	rtnl_route_nh_set_realms;
	rtnl_route_nh_set_weight;
	rtnl_route_nh_str2flags;
	rtnl_route_nh_unset_flags;
	rtnl_route_parse;
	rtnl_route_proto2str;
	rtnl_route_put;
	rtnl_route_read_protocol_names;
	rtnl_route_read_table_names;
	rtnl_route_remove_nexthop;
	rtnl_route_set_dst;
	rtnl_route_set_family;
	rtnl_route_set_flags;
	rtnl_route_set_iif;
	rtnl_route_set_metric;
	rtnl_route_set_pref_src;
	rtnl_route_set_priority;
	rtnl_route_set_protocol;
	rtnl_route_set_scope;
	rtnl_route_set_src;
	rtnl_route_set_table;
	rtnl_route_set_tos;
	rtnl_route_set_type;
	rtnl_route_str2metric;
	rtnl_route_str2proto;
	rtnl_route_str2table;
	rtnl_route_table2str;
	rtnl_route_unset_flags;
	rtnl_route_unset_metric;
	rtnl_rule_add;
	rtnl_rule_alloc;
	rtnl_rule_alloc_cache;
	rtnl_rule_build_add_request;
	rtnl_rule_build_delete_request;
	rtnl_rule_delete;
	rtnl_rule_get_action;
	rtnl_rule_get_dsfield;
	rtnl_rule_get_dst;
	rtnl_rule_get_family;
	rtnl_rule_get_goto;
	rtnl_rule_get_iif;
	rtnl_rule_get_mark;
	rtnl_rule_get_mask;
	rtnl_rule_get_oif;
	rtnl_rule_get_prio;
	rtnl_rule_get_realms;
	rtnl_rule_get_src;
	rtnl_rule_get_table;
	rtnl_rule_put;
	rtnl_rule_set_action;
	rtnl_rule_set_dsfield;
	rtnl_rule_set_dst;
	rtnl_rule_set_family;
	rtnl_rule_set_goto;
	rtnl_rule_set_iif;
	rtnl_rule_set_mark;
	rtnl_rule_set_mask;
	rtnl_rule_set_oif;
	rtnl_rule_set_prio;
	rtnl_rule_set_realms;
	rtnl_rule_set_src;
	rtnl_rule_set_table;
	rtnl_scope2str;
	rtnl_sfq_get_divisor;
	rtnl_sfq_get_limit;
	rtnl_sfq_get_perturb;
	rtnl_sfq_get_quantum;
	rtnl_sfq_set_limit;
	rtnl_sfq_set_perturb;
	rtnl_sfq_set_quantum;
	rtnl_str2prio;
	rtnl_str2scope;
	rtnl_tc_calc_bufsize;
	rtnl_tc_calc_cell_log;
	rtnl_tc_calc_txtime;
	rtnl_tc_get_handle;
	rtnl_tc_get_ifindex;
	rtnl_tc_get_kind;
	rtnl_tc_get_link;
	rtnl_tc_get_linktype;
	rtnl_tc_get_mpu;
	rtnl_tc_get_mtu;
	rtnl_tc_get_overhead;
	rtnl_tc_get_parent;
	rtnl_tc_get_stat;
	rtnl_tc_handle2str;
	rtnl_tc_read_classid_file;
	rtnl_tc_set_handle;
	rtnl_tc_set_ifindex;
	rtnl_tc_set_kind;
	rtnl_tc_set_link;
	rtnl_tc_set_linktype;
	rtnl_tc_set_mpu;
	rtnl_tc_set_mtu;
	rtnl_tc_set_overhead;
	rtnl_tc_set_parent;
	rtnl_tc_str2handle;
	rtnl_u32_add_action;
	rtnl_u32_add_key;
	rtnl_u32_add_key_in6_addr;
	rtnl_u32_add_key_in_addr;
	rtnl_u32_add_key_uint16;
	rtnl_u32_add_key_uint32;
	rtnl_u32_add_key_uint8;
	rtnl_u32_del_action;
	rtnl_u32_get_key;
	rtnl_u32_set_classid;
	rtnl_u32_set_cls_terminal;
	rtnl_u32_set_divisor;
	rtnl_u32_set_flags;
	rtnl_u32_set_handle;
	rtnl_u32_set_hashmask;
	rtnl_u32_set_hashtable;
	rtnl_u32_set_link;

	# The following symbols were added during the development of 3.2.26.
	# Keep them in libnl_3 to avoid breaking users.
	rtnl_class_hfsc_get_fsc;
	rtnl_class_hfsc_get_rsc;
	rtnl_class_hfsc_get_usc;
	rtnl_class_hfsc_set_fsc;
	rtnl_class_hfsc_set_rsc;
	rtnl_class_hfsc_set_usc;
	rtnl_link_inet6_addrgenmode2str;
	rtnl_link_inet6_get_addr_gen_mode;
	rtnl_link_inet6_get_token;
	rtnl_link_inet6_set_addr_gen_mode;
	rtnl_link_inet6_set_token;
	rtnl_link_inet6_str2addrgenmode;
	rtnl_qdisc_hfsc_get_defcls;
	rtnl_qdisc_hfsc_set_defcls;
	rtnl_u32_add_mark;
	rtnl_u32_del_mark;

local:
	*;
};

libnl_3_2_26 {
global:
	rtnl_neigh_get_vlan;
	rtnl_neigh_set_vlan;
	rtnl_skbedit_get_action;
	rtnl_skbedit_get_mark;
	rtnl_skbedit_get_priority;
	rtnl_skbedit_get_queue_mapping;
	rtnl_skbedit_set_action;
	rtnl_skbedit_set_mark;
	rtnl_skbedit_set_priority;
	rtnl_skbedit_set_queue_mapping;
	rtnl_tc_stat2str;
	rtnl_tc_str2stat;
	rtnl_u32_get_classid;
} libnl_3;

libnl_3_2_27 {
global:
	rtnl_link_get_link_netnsid;
	rtnl_link_ipvlan_alloc;
	rtnl_link_is_ipvlan;
	rtnl_link_ipvlan_mode2str;
	rtnl_link_ipvlan_str2mode;
	rtnl_link_ipvlan_set_mode;
	rtnl_link_ipvlan_get_mode;
	rtnl_link_set_link_netnsid;
} libnl_3_2_26;

libnl_3_2_28 {
global:
	rtnl_link_alloc_cache_flags;
	rtnl_link_bridge_get_port_vlan;
	rtnl_link_bridge_has_vlan;
	rtnl_link_bridge_pvid;
	rtnl_link_is_macvtap;
	rtnl_link_is_vrf;
	rtnl_link_ipgretap_add;
	rtnl_link_ipgretap_alloc;
	rtnl_link_macsec_alloc;
	rtnl_link_macsec_set_sci;
	rtnl_link_macsec_get_sci;
	rtnl_link_macsec_set_port;
	rtnl_link_macsec_get_port;
	rtnl_link_macsec_set_cipher_suite;
	rtnl_link_macsec_get_cipher_suite;
	rtnl_link_macsec_set_icv_len;
	rtnl_link_macsec_get_icv_len;
	rtnl_link_macsec_set_protect;
	rtnl_link_macsec_get_protect;
	rtnl_link_macsec_set_encrypt;
	rtnl_link_macsec_get_encrypt;
	rtnl_link_macsec_set_encoding_sa;
	rtnl_link_macsec_get_encoding_sa;
	rtnl_link_macsec_set_validation_type;
	rtnl_link_macsec_get_validation_type;
	rtnl_link_macsec_set_replay_protect;
	rtnl_link_macsec_get_replay_protect;
	rtnl_link_macsec_set_window;
	rtnl_link_macsec_get_window;
	rtnl_link_macsec_set_send_sci;
	rtnl_link_macsec_get_send_sci;
	rtnl_link_macsec_set_end_station;
	rtnl_link_macsec_get_end_station;
	rtnl_link_macsec_set_scb;
	rtnl_link_macsec_get_scb;
	rtnl_link_macvtap_alloc;
	rtnl_link_macvtap_flags2str;
	rtnl_link_macvtap_get_flags;
	rtnl_link_macvtap_get_mode;
	rtnl_link_macvtap_mode2str;
	rtnl_link_macvtap_set_flags;
	rtnl_link_macvtap_set_mode;
	rtnl_link_macvtap_str2flags;
	rtnl_link_macvtap_str2mode;
	rtnl_link_macvtap_unset_flags;
	rtnl_link_sit_get_ip6rd_prefix;
	rtnl_link_sit_get_ip6rd_prefixlen;
	rtnl_link_sit_get_ip6rd_relay_prefix;
	rtnl_link_sit_get_ip6rd_relay_prefixlen;
	rtnl_link_sit_set_ip6rd_prefix;
	rtnl_link_sit_set_ip6rd_prefixlen;
	rtnl_link_sit_set_ip6rd_relay_prefix;
	rtnl_link_sit_set_ip6rd_relay_prefixlen;
	rtnl_link_vrf_alloc;
	rtnl_link_vrf_get_tableid;
	rtnl_link_vrf_set_tableid;
	rtnl_neigh_alloc_cache_flags;
	rtnl_neigh_ll_get;
} libnl_3_2_27;

libnl_3_2_29 {
global:
	rtnl_gact_set_action;
	rtnl_gact_get_action;
	rtnl_link_bridge_portstate2str;
	rtnl_link_bridge_str2portstate;
	rtnl_link_bridge_set_self;
	rtnl_link_bridge_get_hwmode;
	rtnl_link_bridge_set_hwmode;
	rtnl_link_bridge_hwmode2str;
	rtnl_link_bridge_str2hwmode;
	rtnl_link_get_carrier_changes;
	rtnl_link_get_gso_max_segs;
	rtnl_link_get_gso_max_size;
	rtnl_link_get_phys_port_name;
	rtnl_link_get_phys_switch_id;
	rtnl_link_ipgre_get_pmtudisc;
	rtnl_link_is_ipgretap;
	rtnl_link_macvlan_add_macaddr;
	rtnl_link_macvlan_count_macaddr;
	rtnl_link_macvlan_del_macaddr;
	rtnl_link_macvlan_get_macaddr;
	rtnl_link_macvlan_get_macmode;
	rtnl_link_macvlan_macmode2str;
	rtnl_link_macvlan_set_macmode;
	rtnl_link_macvlan_str2macmode;
	rtnl_link_ppp_alloc;
	rtnl_link_ppp_set_fd;
	rtnl_link_ppp_get_fd;
	rtnl_link_vxlan_get_collect_metadata;
	rtnl_link_vxlan_get_flags;
	rtnl_link_vxlan_get_label;
	rtnl_link_vxlan_get_port;
	rtnl_link_vxlan_get_remcsum_rx;
	rtnl_link_vxlan_get_remcsum_tx;
	rtnl_link_vxlan_get_udp_csum;
	rtnl_link_vxlan_get_udp_zero_csum6_rx;
	rtnl_link_vxlan_get_udp_zero_csum6_tx;
	rtnl_link_vxlan_set_collect_metadata;
	rtnl_link_vxlan_set_flags;
	rtnl_link_vxlan_set_label;
	rtnl_link_vxlan_set_port;
	rtnl_link_vxlan_set_remcsum_rx;
	rtnl_link_vxlan_set_remcsum_tx;
	rtnl_link_vxlan_set_udp_csum;
	rtnl_link_vxlan_set_udp_zero_csum6_rx;
	rtnl_link_vxlan_set_udp_zero_csum6_tx;
	rtnl_link_has_vf_list;
	rtnl_link_set_vf_list;
	rtnl_link_unset_vf_list;
	rtnl_link_vf_add;
	rtnl_link_vf_alloc;
	rtnl_link_vf_free;
	rtnl_link_vf_get;
	rtnl_link_vf_put;
	rtnl_link_vf_get_addr;
	rtnl_link_vf_set_addr;
	rtnl_link_vf_set_ib_node_guid;
	rtnl_link_vf_set_ib_port_guid;
	rtnl_link_vf_get_index;
	rtnl_link_vf_set_index;
	rtnl_link_vf_get_linkstate;
	rtnl_link_vf_set_linkstate;
	rtnl_link_vf_get_rate;
	rtnl_link_vf_set_rate;
	rtnl_link_vf_get_rss_query_en;
	rtnl_link_vf_set_rss_query_en;
	rtnl_link_vf_get_spoofchk;
	rtnl_link_vf_set_spoofchk;
	rtnl_link_vf_get_stat;
	rtnl_link_vf_get_trust;
	rtnl_link_vf_set_trust;
	rtnl_link_vf_get_vlans;
	rtnl_link_vf_set_vlans;
	rtnl_link_vf_vlan_alloc;
	rtnl_link_vf_vlan_free;
	rtnl_link_vf_vlan_put;
	rtnl_link_vf_linkstate2str;
	rtnl_link_vf_str2linkstate;
	rtnl_link_vf_vlanproto2str;
	rtnl_link_vf_str2vlanproto;
	rtnl_link_vf_str2guid;
	rtnl_u32_set_selector;
} libnl_3_2_28;

libnl_3_4 {
global:
	rtnl_act_next;
	rtnl_basic_get_action;
	rtnl_link_inet6_flags2str;
	rtnl_link_inet6_get_flags;
	rtnl_link_inet6_set_flags;
	rtnl_link_inet6_str2flags;
	rtnl_netconf_get_all;
	rtnl_netconf_get_by_idx;
	rtnl_netconf_get_default;
	rtnl_netconf_get_family;
	rtnl_netconf_get_forwarding;
	rtnl_netconf_get_ifindex;
	rtnl_netconf_get_input;
	rtnl_netconf_get_mc_forwarding;
	rtnl_netconf_get_rp_filter;
	rtnl_netconf_put;
	rtnl_rule_get_l3mdev;
	rtnl_rule_set_l3mdev;
	rtnl_u32_get_action;
	rtnl_route_nh_set_newdst;
	rtnl_route_nh_get_newdst;
	rtnl_route_nh_set_via;
	rtnl_route_nh_get_via;
	rtnl_route_set_ttl_propagate;
	rtnl_route_get_ttl_propagate;
	rtnl_route_nh_encap_mpls;
} libnl_3_2_29;
