[PATCH 3/5] build: explicitly list exported symbols in linker scripts

Thomas Haller thaller at redhat.com
Sun Jan 4 08:24:38 PST 2015


Before all symbols (global: *;) were exported, which included some
symbols that should not be exported. Update the symbol files to
exclude everything by default and name the exported symbols
explicitly.

Still the same symbols as before are exported.

    for SO in ./lib/.libs/*.so ./src/lib/.libs/*.so; do
        SYM="$(basename "$SO")"
        SYM="${SYM%.so}.sym"
        cat <<EOF | sed 's/^ *>> //' > "$SYM"
            >> libnl_3 {
            >> global:
            >> $(nm "$SO" | sed -n 's/^[a-fA-F0-9]\+ [A-Zuvw] \(.*\)/\t\1;/p' | LANG=C sort)
            >> local:
            >> $(echo -e '\t')*;
            >> };
    EOF
    done

Signed-off-by: Thomas Haller <thaller at redhat.com>
---
 libnl-3.sym       | 325 ++++++++++++++++++-
 libnl-cli-3.sym   | 112 +++++++
 libnl-genl-3.sym  |  50 +++
 libnl-idiag-3.sym | 109 +++++++
 libnl-nf-3.sym    | 316 +++++++++++++++++++
 libnl-route-3.sym | 918 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 libnl-xfrm-3.sym  | 248 +++++++++++++++
 7 files changed, 2073 insertions(+), 5 deletions(-)

diff --git a/libnl-3.sym b/libnl-3.sym
index b1d72ff..a4b3390 100644
--- a/libnl-3.sym
+++ b/libnl-3.sym
@@ -1,9 +1,324 @@
 libnl_3 {
 global:
-	*;
+	__bss_start;
+	__flags2str;
+	__list_str2type;
+	__list_type2str;
+	__nl_cache_mngt_require;
+	__nl_read_num_str_file;
+	__str2flags;
+	__str2type;
+	__trans_list_add;
+	__trans_list_clear;
+	__type2str;
+	_edata;
+	_end;
+	_fini;
+	_init;
+	dump_from_ops;
+	libnl_3;
+	nl_addr2str;
+	nl_addr_alloc;
+	nl_addr_alloc_attr;
+	nl_addr_build;
+	nl_addr_clone;
+	nl_addr_cmp;
+	nl_addr_cmp_prefix;
+	nl_addr_fill_sockaddr;
+	nl_addr_get;
+	nl_addr_get_binary_addr;
+	nl_addr_get_family;
+	nl_addr_get_len;
+	nl_addr_get_prefixlen;
+	nl_addr_guess_family;
+	nl_addr_info;
+	nl_addr_iszero;
+	nl_addr_parse;
+	nl_addr_put;
+	nl_addr_resolve;
+	nl_addr_set_binary_addr;
+	nl_addr_set_family;
+	nl_addr_set_prefixlen;
+	nl_addr_shared;
+	nl_addr_valid;
+	nl_af2str;
+	nl_auto_complete;
+	nl_cache_add;
+	nl_cache_alloc;
+	nl_cache_alloc_and_fill;
+	nl_cache_alloc_name;
+	nl_cache_clear;
+	nl_cache_clone;
+	nl_cache_dump;
+	nl_cache_dump_filter;
+	nl_cache_find;
+	nl_cache_foreach;
+	nl_cache_foreach_filter;
+	nl_cache_free;
+	nl_cache_get;
+	nl_cache_get_first;
+	nl_cache_get_last;
+	nl_cache_get_next;
+	nl_cache_get_ops;
+	nl_cache_get_prev;
+	nl_cache_include;
+	nl_cache_is_empty;
+	nl_cache_mark_all;
+	nl_cache_mngr_add;
+	nl_cache_mngr_add_cache;
+	nl_cache_mngr_alloc;
+	nl_cache_mngr_data_ready;
+	nl_cache_mngr_free;
+	nl_cache_mngr_get_fd;
+	nl_cache_mngr_info;
+	nl_cache_mngr_poll;
+	nl_cache_mngt_provide;
+	nl_cache_mngt_register;
+	nl_cache_mngt_require;
+	nl_cache_mngt_require_safe;
+	nl_cache_mngt_unprovide;
+	nl_cache_mngt_unregister;
+	nl_cache_move;
+	nl_cache_nitems;
+	nl_cache_nitems_filter;
+	nl_cache_ops_associate;
+	nl_cache_ops_associate_safe;
+	nl_cache_ops_foreach;
+	nl_cache_ops_get;
+	nl_cache_ops_lookup;
+	nl_cache_ops_lookup_safe;
+	nl_cache_ops_put;
+	nl_cache_ops_set_flags;
+	nl_cache_parse;
+	nl_cache_parse_and_add;
+	nl_cache_pickup;
+	nl_cache_pickup_checkdup;
+	nl_cache_put;
+	nl_cache_refill;
+	nl_cache_remove;
+	nl_cache_resync;
+	nl_cache_search;
+	nl_cache_set_arg1;
+	nl_cache_set_arg2;
+	nl_cache_set_flags;
+	nl_cache_subset;
+	nl_cancel_down_bits;
+	nl_cancel_down_bytes;
+	nl_cancel_down_us;
+	nl_cb_active_type;
+	nl_cb_alloc;
+	nl_cb_clone;
+	nl_cb_err;
+	nl_cb_get;
+	nl_cb_overwrite_recv;
+	nl_cb_overwrite_recvmsgs;
+	nl_cb_overwrite_send;
+	nl_cb_put;
+	nl_cb_set;
+	nl_cb_set_all;
+	nl_close;
+	nl_complete_msg;
+	nl_connect;
+	nl_data_alloc;
+	nl_data_alloc_attr;
+	nl_data_append;
+	nl_data_clone;
+	nl_data_cmp;
+	nl_data_free;
+	nl_data_get;
+	nl_data_get_size;
+	nl_debug;
+	nl_debug_dp;
+	nl_dump;
+	nl_dump_line;
+	nl_ether_proto2str;
+	nl_get_psched_hz;
+	nl_get_user_hz;
+	nl_geterror;
+	nl_has_capability;
+	nl_hash;
+	nl_hash_any;
+	nl_hash_table_add;
+	nl_hash_table_alloc;
+	nl_hash_table_del;
+	nl_hash_table_free;
+	nl_hash_table_lookup;
+	nl_ip_proto2str;
+	nl_join_groups;
+	nl_llproto2str;
+	nl_msec2str;
+	nl_msg_dump;
+	nl_msg_parse;
+	nl_msgtype_lookup;
+	nl_new_line;
+	nl_nlfamily2str;
+	nl_nlmsg_flags2str;
+	nl_nlmsgtype2str;
+	nl_object_alloc;
+	nl_object_alloc_name;
+	nl_object_attr_list;
+	nl_object_attrs2str;
+	nl_object_clone;
+	nl_object_diff;
+	nl_object_dump;
+	nl_object_dump_buf;
+	nl_object_free;
+	nl_object_get;
+	nl_object_get_cache;
+	nl_object_get_id_attrs;
+	nl_object_get_msgtype;
+	nl_object_get_ops;
+	nl_object_get_refcnt;
+	nl_object_get_type;
+	nl_object_identical;
+	nl_object_is_marked;
+	nl_object_keygen;
+	nl_object_mark;
+	nl_object_match_filter;
+	nl_object_put;
+	nl_object_shared;
+	nl_object_unmark;
+	nl_object_update;
+	nl_perror;
+	nl_pickup;
+	nl_pickup_keep_syserr;
+	nl_prob2int;
+	nl_rate2str;
+	nl_recv;
+	nl_recvmsgs;
+	nl_recvmsgs_default;
+	nl_recvmsgs_report;
+	nl_send;
+	nl_send_auto;
+	nl_send_auto_complete;
+	nl_send_iovec;
+	nl_send_simple;
+	nl_send_sync;
+	nl_sendmsg;
+	nl_sendto;
+	nl_size2int;
+	nl_size2str;
+	nl_socket_add_membership;
+	nl_socket_add_memberships;
+	nl_socket_alloc;
+	nl_socket_alloc_cb;
+	nl_socket_disable_auto_ack;
+	nl_socket_disable_msg_peek;
+	nl_socket_disable_seq_check;
+	nl_socket_drop_membership;
+	nl_socket_drop_memberships;
+	nl_socket_enable_auto_ack;
+	nl_socket_enable_msg_peek;
+	nl_socket_free;
+	nl_socket_get_cb;
+	nl_socket_get_fd;
+	nl_socket_get_local_port;
+	nl_socket_get_msg_buf_size;
+	nl_socket_get_peer_groups;
+	nl_socket_get_peer_port;
+	nl_socket_modify_cb;
+	nl_socket_modify_err_cb;
+	nl_socket_recv_pktinfo;
+	nl_socket_set_buffer_size;
+	nl_socket_set_cb;
+	nl_socket_set_local_port;
+	nl_socket_set_msg_buf_size;
+	nl_socket_set_nonblocking;
+	nl_socket_set_passcred;
+	nl_socket_set_peer_groups;
+	nl_socket_set_peer_port;
+	nl_socket_use_seq;
+	nl_str2af;
+	nl_str2ether_proto;
+	nl_str2ip_proto;
+	nl_str2llproto;
+	nl_str2msec;
+	nl_str2nlfamily;
+	nl_str2nlmsgtype;
+	nl_syserr2nlerr;
+	nl_ticks2us;
+	nl_us2ticks;
+	nl_ver_maj;
+	nl_ver_mic;
+	nl_ver_min;
+	nl_ver_num;
+	nl_wait_for_ack;
+	nla_attr_size;
+	nla_data;
+	nla_find;
+	nla_get_flag;
+	nla_get_msecs;
+	nla_get_string;
+	nla_get_u16;
+	nla_get_u32;
+	nla_get_u64;
+	nla_get_u8;
+	nla_is_nested;
+	nla_len;
+	nla_memcmp;
+	nla_memcpy;
+	nla_nest_cancel;
+	nla_nest_end;
+	nla_nest_start;
+	nla_next;
+	nla_ok;
+	nla_padlen;
+	nla_parse;
+	nla_parse_nested;
+	nla_put;
+	nla_put_addr;
+	nla_put_data;
+	nla_put_flag;
+	nla_put_msecs;
+	nla_put_nested;
+	nla_put_string;
+	nla_put_u16;
+	nla_put_u32;
+	nla_put_u64;
+	nla_put_u8;
+	nla_reserve;
+	nla_strcmp;
+	nla_strdup;
+	nla_strlcpy;
+	nla_total_size;
+	nla_type;
+	nla_validate;
+	nlmsg_alloc;
+	nlmsg_alloc_simple;
+	nlmsg_alloc_size;
+	nlmsg_append;
+	nlmsg_attrdata;
+	nlmsg_attrlen;
+	nlmsg_convert;
+	nlmsg_data;
+	nlmsg_datalen;
+	nlmsg_expand;
+	nlmsg_find_attr;
+	nlmsg_free;
+	nlmsg_get;
+	nlmsg_get_creds;
+	nlmsg_get_dst;
+	nlmsg_get_max_size;
+	nlmsg_get_proto;
+	nlmsg_get_src;
+	nlmsg_hdr;
+	nlmsg_inherit;
+	nlmsg_next;
+	nlmsg_ok;
+	nlmsg_padlen;
+	nlmsg_parse;
+	nlmsg_put;
+	nlmsg_reserve;
+	nlmsg_set_creds;
+	nlmsg_set_default_size;
+	nlmsg_set_dst;
+	nlmsg_set_proto;
+	nlmsg_set_src;
+	nlmsg_size;
+	nlmsg_tail;
+	nlmsg_total_size;
+	nlmsg_valid_hdr;
+	nlmsg_validate;
 local:
-	_nl_socket_generate_local_port_no_release;
-	_nl_socket_is_local_port_unspecified;
-	_nl_socket_used_ports_release_all;
-	_nl_socket_used_ports_set;
+	*;
 };
diff --git a/libnl-cli-3.sym b/libnl-cli-3.sym
index 3532579..860c06f 100644
--- a/libnl-cli-3.sym
+++ b/libnl-cli-3.sym
@@ -1,4 +1,116 @@
 libnl_3 {
 global:
+	__bss_start;
+	_edata;
+	_end;
+	_fini;
+	_init;
+	libnl_3;
+	nl_cli_addr_alloc;
+	nl_cli_addr_parse;
+	nl_cli_addr_parse_broadcast;
+	nl_cli_addr_parse_dev;
+	nl_cli_addr_parse_family;
+	nl_cli_addr_parse_label;
+	nl_cli_addr_parse_local;
+	nl_cli_addr_parse_peer;
+	nl_cli_addr_parse_preferred;
+	nl_cli_addr_parse_scope;
+	nl_cli_addr_parse_valid;
+	nl_cli_alloc_cache;
+	nl_cli_alloc_socket;
+	nl_cli_class_alloc;
+	nl_cli_class_alloc_cache;
+	nl_cli_cls_alloc;
+	nl_cli_cls_alloc_cache;
+	nl_cli_cls_parse_ematch;
+	nl_cli_cls_parse_proto;
+	nl_cli_confirm;
+	nl_cli_connect;
+	nl_cli_ct_alloc;
+	nl_cli_ct_alloc_cache;
+	nl_cli_ct_parse_dst;
+	nl_cli_ct_parse_dst_port;
+	nl_cli_ct_parse_family;
+	nl_cli_ct_parse_id;
+	nl_cli_ct_parse_mark;
+	nl_cli_ct_parse_protocol;
+	nl_cli_ct_parse_src;
+	nl_cli_ct_parse_src_port;
+	nl_cli_ct_parse_status;
+	nl_cli_ct_parse_tcp_state;
+	nl_cli_ct_parse_timeout;
+	nl_cli_ct_parse_use;
+	nl_cli_ct_parse_zone;
+	nl_cli_exp_alloc;
+	nl_cli_exp_alloc_cache;
+	nl_cli_exp_parse_class;
+	nl_cli_exp_parse_dst;
+	nl_cli_exp_parse_dst_port;
+	nl_cli_exp_parse_family;
+	nl_cli_exp_parse_flags;
+	nl_cli_exp_parse_fn;
+	nl_cli_exp_parse_helper_name;
+	nl_cli_exp_parse_icmp_code;
+	nl_cli_exp_parse_icmp_id;
+	nl_cli_exp_parse_icmp_type;
+	nl_cli_exp_parse_id;
+	nl_cli_exp_parse_l4protonum;
+	nl_cli_exp_parse_nat_dir;
+	nl_cli_exp_parse_src;
+	nl_cli_exp_parse_src_port;
+	nl_cli_exp_parse_timeout;
+	nl_cli_exp_parse_zone;
+	nl_cli_fatal;
+	nl_cli_link_alloc;
+	nl_cli_link_alloc_cache;
+	nl_cli_link_alloc_cache_family;
+	nl_cli_link_parse_family;
+	nl_cli_link_parse_ifalias;
+	nl_cli_link_parse_ifindex;
+	nl_cli_link_parse_mtu;
+	nl_cli_link_parse_name;
+	nl_cli_link_parse_txqlen;
+	nl_cli_link_parse_weight;
+	nl_cli_load_module;
+	nl_cli_neigh_alloc;
+	nl_cli_neigh_parse_dev;
+	nl_cli_neigh_parse_dst;
+	nl_cli_neigh_parse_family;
+	nl_cli_neigh_parse_lladdr;
+	nl_cli_neigh_parse_state;
+	nl_cli_parse_dumptype;
+	nl_cli_parse_u32;
+	nl_cli_print_version;
+	nl_cli_qdisc_alloc;
+	nl_cli_route_alloc;
+	nl_cli_route_alloc_cache;
+	nl_cli_route_parse_dst;
+	nl_cli_route_parse_family;
+	nl_cli_route_parse_iif;
+	nl_cli_route_parse_metric;
+	nl_cli_route_parse_nexthop;
+	nl_cli_route_parse_pref_src;
+	nl_cli_route_parse_prio;
+	nl_cli_route_parse_protocol;
+	nl_cli_route_parse_scope;
+	nl_cli_route_parse_src;
+	nl_cli_route_parse_table;
+	nl_cli_route_parse_type;
+	nl_cli_rule_alloc;
+	nl_cli_rule_alloc_cache;
+	nl_cli_rule_parse_family;
+	nl_cli_tc_lookup;
+	nl_cli_tc_parse_dev;
+	nl_cli_tc_parse_handle;
+	nl_cli_tc_parse_kind;
+	nl_cli_tc_parse_linktype;
+	nl_cli_tc_parse_mpu;
+	nl_cli_tc_parse_mtu;
+	nl_cli_tc_parse_overhead;
+	nl_cli_tc_parse_parent;
+	nl_cli_tc_register;
+	nl_cli_tc_unregister;
+local:
 	*;
 };
diff --git a/libnl-genl-3.sym b/libnl-genl-3.sym
index 3532579..91c672e 100644
--- a/libnl-genl-3.sym
+++ b/libnl-genl-3.sym
@@ -1,4 +1,54 @@
 libnl_3 {
 global:
+	__bss_start;
+	_edata;
+	_end;
+	_fini;
+	_init;
+	genl_connect;
+	genl_ctrl_alloc_cache;
+	genl_ctrl_resolve;
+	genl_ctrl_resolve_grp;
+	genl_ctrl_search;
+	genl_ctrl_search_by_name;
+	genl_family_add_grp;
+	genl_family_add_op;
+	genl_family_alloc;
+	genl_family_get_hdrsize;
+	genl_family_get_id;
+	genl_family_get_maxattr;
+	genl_family_get_name;
+	genl_family_get_version;
+	genl_family_ops;
+	genl_family_put;
+	genl_family_set_hdrsize;
+	genl_family_set_id;
+	genl_family_set_maxattr;
+	genl_family_set_name;
+	genl_family_set_version;
+	genl_handle_msg;
+	genl_mngt_resolve;
+	genl_op2name;
+	genl_ops_resolve;
+	genl_register;
+	genl_register_family;
+	genl_resolve_id;
+	genl_send_simple;
+	genl_unregister;
+	genl_unregister_family;
+	genlmsg_attrdata;
+	genlmsg_attrlen;
+	genlmsg_data;
+	genlmsg_hdr;
+	genlmsg_len;
+	genlmsg_parse;
+	genlmsg_put;
+	genlmsg_user_data;
+	genlmsg_user_datalen;
+	genlmsg_user_hdr;
+	genlmsg_valid_hdr;
+	genlmsg_validate;
+	libnl_3;
+local:
 	*;
 };
diff --git a/libnl-idiag-3.sym b/libnl-idiag-3.sym
index 3532579..0bbfee2 100644
--- a/libnl-idiag-3.sym
+++ b/libnl-idiag-3.sym
@@ -1,4 +1,113 @@
 libnl_3 {
 global:
+	__bss_start;
+	_edata;
+	_end;
+	_fini;
+	_init;
+	idiagnl_attrs2str;
+	idiagnl_connect;
+	idiagnl_exts2str;
+	idiagnl_meminfo_alloc;
+	idiagnl_meminfo_get;
+	idiagnl_meminfo_get_fmem;
+	idiagnl_meminfo_get_rmem;
+	idiagnl_meminfo_get_tmem;
+	idiagnl_meminfo_get_wmem;
+	idiagnl_meminfo_obj_ops;
+	idiagnl_meminfo_put;
+	idiagnl_meminfo_set_fmem;
+	idiagnl_meminfo_set_rmem;
+	idiagnl_meminfo_set_tmem;
+	idiagnl_meminfo_set_wmem;
+	idiagnl_msg_alloc;
+	idiagnl_msg_alloc_cache;
+	idiagnl_msg_get;
+	idiagnl_msg_get_cong;
+	idiagnl_msg_get_dport;
+	idiagnl_msg_get_dst;
+	idiagnl_msg_get_expires;
+	idiagnl_msg_get_family;
+	idiagnl_msg_get_ifindex;
+	idiagnl_msg_get_inode;
+	idiagnl_msg_get_meminfo;
+	idiagnl_msg_get_retrans;
+	idiagnl_msg_get_rqueue;
+	idiagnl_msg_get_shutdown;
+	idiagnl_msg_get_sport;
+	idiagnl_msg_get_src;
+	idiagnl_msg_get_state;
+	idiagnl_msg_get_tclass;
+	idiagnl_msg_get_tcpinfo;
+	idiagnl_msg_get_timer;
+	idiagnl_msg_get_tos;
+	idiagnl_msg_get_uid;
+	idiagnl_msg_get_vegasinfo;
+	idiagnl_msg_get_wqueue;
+	idiagnl_msg_obj_ops;
+	idiagnl_msg_parse;
+	idiagnl_msg_put;
+	idiagnl_msg_set_cong;
+	idiagnl_msg_set_dport;
+	idiagnl_msg_set_dst;
+	idiagnl_msg_set_expires;
+	idiagnl_msg_set_family;
+	idiagnl_msg_set_ifindex;
+	idiagnl_msg_set_inode;
+	idiagnl_msg_set_meminfo;
+	idiagnl_msg_set_retrans;
+	idiagnl_msg_set_rqueue;
+	idiagnl_msg_set_shutdown;
+	idiagnl_msg_set_sport;
+	idiagnl_msg_set_src;
+	idiagnl_msg_set_state;
+	idiagnl_msg_set_tclass;
+	idiagnl_msg_set_tcpinfo;
+	idiagnl_msg_set_timer;
+	idiagnl_msg_set_tos;
+	idiagnl_msg_set_uid;
+	idiagnl_msg_set_vegasinfo;
+	idiagnl_msg_set_wqueue;
+	idiagnl_req_alloc;
+	idiagnl_req_get;
+	idiagnl_req_get_dbs;
+	idiagnl_req_get_dst;
+	idiagnl_req_get_ext;
+	idiagnl_req_get_family;
+	idiagnl_req_get_ifindex;
+	idiagnl_req_get_src;
+	idiagnl_req_get_states;
+	idiagnl_req_obj_ops;
+	idiagnl_req_parse;
+	idiagnl_req_put;
+	idiagnl_req_set_dbs;
+	idiagnl_req_set_dst;
+	idiagnl_req_set_ext;
+	idiagnl_req_set_family;
+	idiagnl_req_set_ifindex;
+	idiagnl_req_set_src;
+	idiagnl_req_set_states;
+	idiagnl_send_simple;
+	idiagnl_shutdown2str;
+	idiagnl_state2str;
+	idiagnl_str2state;
+	idiagnl_str2timer;
+	idiagnl_tcpopts2str;
+	idiagnl_tcpstate2str;
+	idiagnl_timer2str;
+	idiagnl_vegasinfo_alloc;
+	idiagnl_vegasinfo_get;
+	idiagnl_vegasinfo_get_enabled;
+	idiagnl_vegasinfo_get_minrtt;
+	idiagnl_vegasinfo_get_rtt;
+	idiagnl_vegasinfo_get_rttcnt;
+	idiagnl_vegasinfo_obj_ops;
+	idiagnl_vegasinfo_put;
+	idiagnl_vegasinfo_set_enabled;
+	idiagnl_vegasinfo_set_minrtt;
+	idiagnl_vegasinfo_set_rtt;
+	idiagnl_vegasinfo_set_rttcnt;
+	libnl_3;
+local:
 	*;
 };
diff --git a/libnl-nf-3.sym b/libnl-nf-3.sym
index 3532579..fb1331c 100644
--- a/libnl-nf-3.sym
+++ b/libnl-nf-3.sym
@@ -1,4 +1,320 @@
 libnl_3 {
 global:
+	__bss_start;
+	_edata;
+	_end;
+	_fini;
+	_init;
+	ct_obj_ops;
+	exp_obj_ops;
+	libnl_3;
+	log_msg_obj_ops;
+	log_obj_ops;
+	nfnl_connect;
+	nfnl_ct_add;
+	nfnl_ct_alloc;
+	nfnl_ct_alloc_cache;
+	nfnl_ct_build_add_request;
+	nfnl_ct_build_delete_request;
+	nfnl_ct_build_query_request;
+	nfnl_ct_del;
+	nfnl_ct_dump_request;
+	nfnl_ct_get;
+	nfnl_ct_get_bytes;
+	nfnl_ct_get_dst;
+	nfnl_ct_get_dst_port;
+	nfnl_ct_get_family;
+	nfnl_ct_get_icmp_code;
+	nfnl_ct_get_icmp_id;
+	nfnl_ct_get_icmp_type;
+	nfnl_ct_get_id;
+	nfnl_ct_get_mark;
+	nfnl_ct_get_packets;
+	nfnl_ct_get_proto;
+	nfnl_ct_get_src;
+	nfnl_ct_get_src_port;
+	nfnl_ct_get_status;
+	nfnl_ct_get_tcp_state;
+	nfnl_ct_get_timeout;
+	nfnl_ct_get_timestamp;
+	nfnl_ct_get_use;
+	nfnl_ct_get_zone;
+	nfnl_ct_put;
+	nfnl_ct_query;
+	nfnl_ct_set_bytes;
+	nfnl_ct_set_dst;
+	nfnl_ct_set_dst_port;
+	nfnl_ct_set_family;
+	nfnl_ct_set_icmp_code;
+	nfnl_ct_set_icmp_id;
+	nfnl_ct_set_icmp_type;
+	nfnl_ct_set_id;
+	nfnl_ct_set_mark;
+	nfnl_ct_set_packets;
+	nfnl_ct_set_proto;
+	nfnl_ct_set_src;
+	nfnl_ct_set_src_port;
+	nfnl_ct_set_status;
+	nfnl_ct_set_tcp_state;
+	nfnl_ct_set_timeout;
+	nfnl_ct_set_timestamp;
+	nfnl_ct_set_use;
+	nfnl_ct_set_zone;
+	nfnl_ct_status2str;
+	nfnl_ct_str2status;
+	nfnl_ct_str2tcp_state;
+	nfnl_ct_tcp_state2str;
+	nfnl_ct_test_bytes;
+	nfnl_ct_test_dst_port;
+	nfnl_ct_test_icmp_code;
+	nfnl_ct_test_icmp_id;
+	nfnl_ct_test_icmp_type;
+	nfnl_ct_test_id;
+	nfnl_ct_test_mark;
+	nfnl_ct_test_packets;
+	nfnl_ct_test_proto;
+	nfnl_ct_test_src_port;
+	nfnl_ct_test_status;
+	nfnl_ct_test_tcp_state;
+	nfnl_ct_test_timeout;
+	nfnl_ct_test_timestamp;
+	nfnl_ct_test_use;
+	nfnl_ct_test_zone;
+	nfnl_ct_unset_status;
+	nfnl_exp_add;
+	nfnl_exp_alloc;
+	nfnl_exp_alloc_cache;
+	nfnl_exp_build_add_request;
+	nfnl_exp_build_delete_request;
+	nfnl_exp_build_query_request;
+	nfnl_exp_del;
+	nfnl_exp_dump_request;
+	nfnl_exp_flags2str;
+	nfnl_exp_get;
+	nfnl_exp_get_class;
+	nfnl_exp_get_dst;
+	nfnl_exp_get_dst_port;
+	nfnl_exp_get_family;
+	nfnl_exp_get_flags;
+	nfnl_exp_get_fn;
+	nfnl_exp_get_helper_name;
+	nfnl_exp_get_icmp_code;
+	nfnl_exp_get_icmp_id;
+	nfnl_exp_get_icmp_type;
+	nfnl_exp_get_id;
+	nfnl_exp_get_l4protonum;
+	nfnl_exp_get_nat_dir;
+	nfnl_exp_get_src;
+	nfnl_exp_get_src_port;
+	nfnl_exp_get_timeout;
+	nfnl_exp_get_zone;
+	nfnl_exp_put;
+	nfnl_exp_query;
+	nfnl_exp_set_class;
+	nfnl_exp_set_dst;
+	nfnl_exp_set_family;
+	nfnl_exp_set_flags;
+	nfnl_exp_set_fn;
+	nfnl_exp_set_helper_name;
+	nfnl_exp_set_icmp;
+	nfnl_exp_set_id;
+	nfnl_exp_set_l4protonum;
+	nfnl_exp_set_nat_dir;
+	nfnl_exp_set_ports;
+	nfnl_exp_set_src;
+	nfnl_exp_set_timeout;
+	nfnl_exp_set_zone;
+	nfnl_exp_str2flags;
+	nfnl_exp_test_class;
+	nfnl_exp_test_dst;
+	nfnl_exp_test_flags;
+	nfnl_exp_test_fn;
+	nfnl_exp_test_helper_name;
+	nfnl_exp_test_icmp;
+	nfnl_exp_test_id;
+	nfnl_exp_test_l4protonum;
+	nfnl_exp_test_nat_dir;
+	nfnl_exp_test_ports;
+	nfnl_exp_test_src;
+	nfnl_exp_test_timeout;
+	nfnl_exp_test_zone;
+	nfnl_exp_unset_flags;
+	nfnl_inet_hook2str;
+	nfnl_log_alloc;
+	nfnl_log_build_change_request;
+	nfnl_log_build_create_request;
+	nfnl_log_build_delete_request;
+	nfnl_log_build_pf_bind;
+	nfnl_log_build_pf_unbind;
+	nfnl_log_change;
+	nfnl_log_copy_mode2str;
+	nfnl_log_create;
+	nfnl_log_delete;
+	nfnl_log_flags2str;
+	nfnl_log_get;
+	nfnl_log_get_alloc_size;
+	nfnl_log_get_copy_mode;
+	nfnl_log_get_copy_range;
+	nfnl_log_get_flush_timeout;
+	nfnl_log_get_group;
+	nfnl_log_get_queue_threshold;
+	nfnl_log_msg_alloc;
+	nfnl_log_msg_get;
+	nfnl_log_msg_get_family;
+	nfnl_log_msg_get_gid;
+	nfnl_log_msg_get_hook;
+	nfnl_log_msg_get_hwaddr;
+	nfnl_log_msg_get_hwproto;
+	nfnl_log_msg_get_indev;
+	nfnl_log_msg_get_mark;
+	nfnl_log_msg_get_outdev;
+	nfnl_log_msg_get_payload;
+	nfnl_log_msg_get_physindev;
+	nfnl_log_msg_get_physoutdev;
+	nfnl_log_msg_get_prefix;
+	nfnl_log_msg_get_seq;
+	nfnl_log_msg_get_seq_global;
+	nfnl_log_msg_get_timestamp;
+	nfnl_log_msg_get_uid;
+	nfnl_log_msg_put;
+	nfnl_log_msg_set_family;
+	nfnl_log_msg_set_gid;
+	nfnl_log_msg_set_hook;
+	nfnl_log_msg_set_hwaddr;
+	nfnl_log_msg_set_hwproto;
+	nfnl_log_msg_set_indev;
+	nfnl_log_msg_set_mark;
+	nfnl_log_msg_set_outdev;
+	nfnl_log_msg_set_payload;
+	nfnl_log_msg_set_physindev;
+	nfnl_log_msg_set_physoutdev;
+	nfnl_log_msg_set_prefix;
+	nfnl_log_msg_set_seq;
+	nfnl_log_msg_set_seq_global;
+	nfnl_log_msg_set_timestamp;
+	nfnl_log_msg_set_uid;
+	nfnl_log_msg_test_gid;
+	nfnl_log_msg_test_hook;
+	nfnl_log_msg_test_hwproto;
+	nfnl_log_msg_test_mark;
+	nfnl_log_msg_test_seq;
+	nfnl_log_msg_test_seq_global;
+	nfnl_log_msg_test_uid;
+	nfnl_log_pf_bind;
+	nfnl_log_pf_unbind;
+	nfnl_log_put;
+	nfnl_log_set_alloc_size;
+	nfnl_log_set_copy_mode;
+	nfnl_log_set_copy_range;
+	nfnl_log_set_flags;
+	nfnl_log_set_flush_timeout;
+	nfnl_log_set_group;
+	nfnl_log_set_queue_threshold;
+	nfnl_log_str2copy_mode;
+	nfnl_log_str2flags;
+	nfnl_log_test_alloc_size;
+	nfnl_log_test_copy_mode;
+	nfnl_log_test_copy_range;
+	nfnl_log_test_flush_timeout;
+	nfnl_log_test_group;
+	nfnl_log_test_queue_threshold;
+	nfnl_log_unset_flags;
+	nfnl_queue_alloc;
+	nfnl_queue_build_change_request;
+	nfnl_queue_build_create_request;
+	nfnl_queue_build_delete_request;
+	nfnl_queue_build_pf_bind;
+	nfnl_queue_build_pf_unbind;
+	nfnl_queue_change;
+	nfnl_queue_copy_mode2str;
+	nfnl_queue_create;
+	nfnl_queue_delete;
+	nfnl_queue_get;
+	nfnl_queue_get_copy_mode;
+	nfnl_queue_get_copy_range;
+	nfnl_queue_get_group;
+	nfnl_queue_get_maxlen;
+	nfnl_queue_msg_alloc;
+	nfnl_queue_msg_build_verdict;
+	nfnl_queue_msg_build_verdict_batch;
+	nfnl_queue_msg_get;
+	nfnl_queue_msg_get_family;
+	nfnl_queue_msg_get_group;
+	nfnl_queue_msg_get_hook;
+	nfnl_queue_msg_get_hwaddr;
+	nfnl_queue_msg_get_hwproto;
+	nfnl_queue_msg_get_indev;
+	nfnl_queue_msg_get_mark;
+	nfnl_queue_msg_get_outdev;
+	nfnl_queue_msg_get_packetid;
+	nfnl_queue_msg_get_payload;
+	nfnl_queue_msg_get_physindev;
+	nfnl_queue_msg_get_physoutdev;
+	nfnl_queue_msg_get_timestamp;
+	nfnl_queue_msg_get_verdict;
+	nfnl_queue_msg_put;
+	nfnl_queue_msg_send_verdict;
+	nfnl_queue_msg_send_verdict_batch;
+	nfnl_queue_msg_send_verdict_payload;
+	nfnl_queue_msg_set_family;
+	nfnl_queue_msg_set_group;
+	nfnl_queue_msg_set_hook;
+	nfnl_queue_msg_set_hwaddr;
+	nfnl_queue_msg_set_hwproto;
+	nfnl_queue_msg_set_indev;
+	nfnl_queue_msg_set_mark;
+	nfnl_queue_msg_set_outdev;
+	nfnl_queue_msg_set_packetid;
+	nfnl_queue_msg_set_payload;
+	nfnl_queue_msg_set_physindev;
+	nfnl_queue_msg_set_physoutdev;
+	nfnl_queue_msg_set_timestamp;
+	nfnl_queue_msg_set_verdict;
+	nfnl_queue_msg_test_family;
+	nfnl_queue_msg_test_group;
+	nfnl_queue_msg_test_hook;
+	nfnl_queue_msg_test_hwaddr;
+	nfnl_queue_msg_test_hwproto;
+	nfnl_queue_msg_test_indev;
+	nfnl_queue_msg_test_mark;
+	nfnl_queue_msg_test_outdev;
+	nfnl_queue_msg_test_packetid;
+	nfnl_queue_msg_test_payload;
+	nfnl_queue_msg_test_physindev;
+	nfnl_queue_msg_test_physoutdev;
+	nfnl_queue_msg_test_timestamp;
+	nfnl_queue_msg_test_verdict;
+	nfnl_queue_pf_bind;
+	nfnl_queue_pf_unbind;
+	nfnl_queue_put;
+	nfnl_queue_set_copy_mode;
+	nfnl_queue_set_copy_range;
+	nfnl_queue_set_group;
+	nfnl_queue_set_maxlen;
+	nfnl_queue_socket_alloc;
+	nfnl_queue_str2copy_mode;
+	nfnl_queue_test_copy_mode;
+	nfnl_queue_test_copy_range;
+	nfnl_queue_test_group;
+	nfnl_queue_test_maxlen;
+	nfnl_send_simple;
+	nfnl_str2inet_hook;
+	nfnl_str2verdict;
+	nfnl_verdict2str;
+	nfnlmsg_alloc_simple;
+	nfnlmsg_ct_group;
+	nfnlmsg_ct_parse;
+	nfnlmsg_exp_group;
+	nfnlmsg_exp_parse;
+	nfnlmsg_family;
+	nfnlmsg_log_msg_parse;
+	nfnlmsg_put;
+	nfnlmsg_queue_msg_parse;
+	nfnlmsg_res_id;
+	nfnlmsg_subsys;
+	nfnlmsg_subtype;
+	queue_msg_obj_ops;
+	queue_obj_ops;
+local:
 	*;
 };
diff --git a/libnl-route-3.sym b/libnl-route-3.sym
index 3532579..cf38a31 100644
--- a/libnl-route-3.sym
+++ b/libnl-route-3.sym
@@ -1,4 +1,922 @@
 libnl_3 {
 global:
+	__bss_start;
+	_edata;
+	_end;
+	_fini;
+	_init;
+	ematch__create_buffer;
+	ematch__delete_buffer;
+	ematch__flush_buffer;
+	ematch__scan_buffer;
+	ematch__scan_bytes;
+	ematch__scan_string;
+	ematch__switch_to_buffer;
+	ematch_alloc;
+	ematch_free;
+	ematch_get_column;
+	ematch_get_debug;
+	ematch_get_extra;
+	ematch_get_in;
+	ematch_get_leng;
+	ematch_get_lineno;
+	ematch_get_lval;
+	ematch_get_out;
+	ematch_get_text;
+	ematch_lex;
+	ematch_lex_destroy;
+	ematch_lex_init;
+	ematch_lex_init_extra;
+	ematch_parse;
+	ematch_pop_buffer_state;
+	ematch_push_buffer_state;
+	ematch_realloc;
+	ematch_restart;
+	ematch_set_column;
+	ematch_set_debug;
+	ematch_set_extra;
+	ematch_set_in;
+	ematch_set_lineno;
+	ematch_set_lval;
+	ematch_set_out;
+	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;
+	libnl_3;
+	nl_ovl_strategy2str;
+	nl_police2str;
+	nl_rtgen_request;
+	nl_rtntype2str;
+	nl_str2ovl_strategy;
+	nl_str2police;
+	nl_str2rtntype;
+	pktloc__create_buffer;
+	pktloc__delete_buffer;
+	pktloc__flush_buffer;
+	pktloc__scan_buffer;
+	pktloc__scan_bytes;
+	pktloc__scan_string;
+	pktloc__switch_to_buffer;
+	pktloc_alloc;
+	pktloc_free;
+	pktloc_get_column;
+	pktloc_get_debug;
+	pktloc_get_extra;
+	pktloc_get_in;
+	pktloc_get_leng;
+	pktloc_get_lineno;
+	pktloc_get_lloc;
+	pktloc_get_lval;
+	pktloc_get_out;
+	pktloc_get_text;
+	pktloc_lex;
+	pktloc_lex_destroy;
+	pktloc_lex_init;
+	pktloc_lex_init_extra;
+	pktloc_parse;
+	pktloc_pop_buffer_state;
+	pktloc_push_buffer_state;
+	pktloc_realloc;
+	pktloc_restart;
+	pktloc_set_column;
+	pktloc_set_debug;
+	pktloc_set_extra;
+	pktloc_set_in;
+	pktloc_set_lineno;
+	pktloc_set_lloc;
+	pktloc_set_lval;
+	pktloc_set_out;
+	route_obj_ops;
+	rtln_link_policy;
+	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_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_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_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_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_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_link_inet_devconf2str;
+	rtnl_link_inet_get_conf;
+	rtnl_link_inet_set_conf;
+	rtnl_link_inet_str2devconf;
+	rtnl_link_info_ops_lookup;
+	rtnl_link_info_ops_put;
+	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_register_info;
+	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_unregister_info;
+	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_hfsc_get_defcls;
+	rtnl_qdisc_hfsc_set_defcls;
+	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_build_rate_table;
+	rtnl_tc_calc_bufsize;
+	rtnl_tc_calc_cell_log;
+	rtnl_tc_calc_txtime;
+	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_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_ops;
+	rtnl_tc_get_overhead;
+	rtnl_tc_get_parent;
+	rtnl_tc_get_stat;
+	rtnl_tc_handle2str;
+	rtnl_tc_lookup_ops;
+	rtnl_tc_msg_build;
+	rtnl_tc_msg_parse;
+	rtnl_tc_read_classid_file;
+	rtnl_tc_register;
+	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_tc_type_register;
+	rtnl_tc_type_unregister;
+	rtnl_tc_unregister;
+	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_add_mark;
+	rtnl_u32_del_action;
+	rtnl_u32_del_mark;
+	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;
+	tc_groups;
+	tca_parse;
+	tca_set_kind;
+local:
 	*;
 };
diff --git a/libnl-xfrm-3.sym b/libnl-xfrm-3.sym
index 3532579..30349b5 100644
--- a/libnl-xfrm-3.sym
+++ b/libnl-xfrm-3.sym
@@ -1,4 +1,252 @@
 libnl_3 {
 global:
+	__bss_start;
+	_edata;
+	_end;
+	_fini;
+	_init;
+	libnl_3;
+	xfrmnl_ae_alloc;
+	xfrmnl_ae_build_get_request;
+	xfrmnl_ae_flags2str;
+	xfrmnl_ae_get_curlifetime;
+	xfrmnl_ae_get_daddr;
+	xfrmnl_ae_get_family;
+	xfrmnl_ae_get_flags;
+	xfrmnl_ae_get_kernel;
+	xfrmnl_ae_get_mark;
+	xfrmnl_ae_get_proto;
+	xfrmnl_ae_get_replay_maxage;
+	xfrmnl_ae_get_replay_maxdiff;
+	xfrmnl_ae_get_replay_state;
+	xfrmnl_ae_get_replay_state_esn;
+	xfrmnl_ae_get_reqid;
+	xfrmnl_ae_get_saddr;
+	xfrmnl_ae_get_spi;
+	xfrmnl_ae_parse;
+	xfrmnl_ae_put;
+	xfrmnl_ae_set;
+	xfrmnl_ae_set_curlifetime;
+	xfrmnl_ae_set_daddr;
+	xfrmnl_ae_set_family;
+	xfrmnl_ae_set_flags;
+	xfrmnl_ae_set_mark;
+	xfrmnl_ae_set_proto;
+	xfrmnl_ae_set_replay_maxage;
+	xfrmnl_ae_set_replay_maxdiff;
+	xfrmnl_ae_set_replay_state;
+	xfrmnl_ae_set_replay_state_esn;
+	xfrmnl_ae_set_reqid;
+	xfrmnl_ae_set_saddr;
+	xfrmnl_ae_set_spi;
+	xfrmnl_ae_str2flag;
+	xfrmnl_ltime_cfg_alloc;
+	xfrmnl_ltime_cfg_clone;
+	xfrmnl_ltime_cfg_cmp;
+	xfrmnl_ltime_cfg_get;
+	xfrmnl_ltime_cfg_get_hard_addexpires;
+	xfrmnl_ltime_cfg_get_hard_bytelimit;
+	xfrmnl_ltime_cfg_get_hard_packetlimit;
+	xfrmnl_ltime_cfg_get_hard_useexpires;
+	xfrmnl_ltime_cfg_get_soft_addexpires;
+	xfrmnl_ltime_cfg_get_soft_bytelimit;
+	xfrmnl_ltime_cfg_get_soft_packetlimit;
+	xfrmnl_ltime_cfg_get_soft_useexpires;
+	xfrmnl_ltime_cfg_put;
+	xfrmnl_ltime_cfg_set_hard_addexpires;
+	xfrmnl_ltime_cfg_set_hard_bytelimit;
+	xfrmnl_ltime_cfg_set_hard_packetlimit;
+	xfrmnl_ltime_cfg_set_hard_useexpires;
+	xfrmnl_ltime_cfg_set_soft_addexpires;
+	xfrmnl_ltime_cfg_set_soft_bytelimit;
+	xfrmnl_ltime_cfg_set_soft_packetlimit;
+	xfrmnl_ltime_cfg_set_soft_useexpires;
+	xfrmnl_ltime_cfg_shared;
+	xfrmnl_sa_add;
+	xfrmnl_sa_alloc;
+	xfrmnl_sa_alloc_cache;
+	xfrmnl_sa_build_add_request;
+	xfrmnl_sa_build_delete_request;
+	xfrmnl_sa_build_get_request;
+	xfrmnl_sa_build_update_request;
+	xfrmnl_sa_delete;
+	xfrmnl_sa_flags2str;
+	xfrmnl_sa_get;
+	xfrmnl_sa_get_aead_params;
+	xfrmnl_sa_get_auth_params;
+	xfrmnl_sa_get_coaddr;
+	xfrmnl_sa_get_comp_params;
+	xfrmnl_sa_get_crypto_params;
+	xfrmnl_sa_get_curlifetime;
+	xfrmnl_sa_get_daddr;
+	xfrmnl_sa_get_encap_tmpl;
+	xfrmnl_sa_get_family;
+	xfrmnl_sa_get_flags;
+	xfrmnl_sa_get_kernel;
+	xfrmnl_sa_get_lifetime_cfg;
+	xfrmnl_sa_get_mark;
+	xfrmnl_sa_get_mode;
+	xfrmnl_sa_get_proto;
+	xfrmnl_sa_get_replay_maxage;
+	xfrmnl_sa_get_replay_maxdiff;
+	xfrmnl_sa_get_replay_state;
+	xfrmnl_sa_get_replay_state_esn;
+	xfrmnl_sa_get_replay_window;
+	xfrmnl_sa_get_reqid;
+	xfrmnl_sa_get_saddr;
+	xfrmnl_sa_get_sec_ctx;
+	xfrmnl_sa_get_sel;
+	xfrmnl_sa_get_seq;
+	xfrmnl_sa_get_spi;
+	xfrmnl_sa_get_stats;
+	xfrmnl_sa_get_tfcpad;
+	xfrmnl_sa_is_expiry_reached;
+	xfrmnl_sa_is_hardexpiry_reached;
+	xfrmnl_sa_mode2str;
+	xfrmnl_sa_parse;
+	xfrmnl_sa_put;
+	xfrmnl_sa_set_aead_params;
+	xfrmnl_sa_set_auth_params;
+	xfrmnl_sa_set_coaddr;
+	xfrmnl_sa_set_comp_params;
+	xfrmnl_sa_set_crypto_params;
+	xfrmnl_sa_set_daddr;
+	xfrmnl_sa_set_encap_tmpl;
+	xfrmnl_sa_set_family;
+	xfrmnl_sa_set_flags;
+	xfrmnl_sa_set_lifetime_cfg;
+	xfrmnl_sa_set_mark;
+	xfrmnl_sa_set_mode;
+	xfrmnl_sa_set_proto;
+	xfrmnl_sa_set_replay_maxage;
+	xfrmnl_sa_set_replay_maxdiff;
+	xfrmnl_sa_set_replay_state;
+	xfrmnl_sa_set_replay_state_esn;
+	xfrmnl_sa_set_replay_window;
+	xfrmnl_sa_set_reqid;
+	xfrmnl_sa_set_saddr;
+	xfrmnl_sa_set_sec_ctx;
+	xfrmnl_sa_set_sel;
+	xfrmnl_sa_set_spi;
+	xfrmnl_sa_set_tfcpad;
+	xfrmnl_sa_str2flag;
+	xfrmnl_sa_str2mode;
+	xfrmnl_sa_update;
+	xfrmnl_sel_alloc;
+	xfrmnl_sel_clone;
+	xfrmnl_sel_cmp;
+	xfrmnl_sel_dump;
+	xfrmnl_sel_get;
+	xfrmnl_sel_get_daddr;
+	xfrmnl_sel_get_dport;
+	xfrmnl_sel_get_dportmask;
+	xfrmnl_sel_get_family;
+	xfrmnl_sel_get_ifindex;
+	xfrmnl_sel_get_prefixlen_d;
+	xfrmnl_sel_get_prefixlen_s;
+	xfrmnl_sel_get_proto;
+	xfrmnl_sel_get_saddr;
+	xfrmnl_sel_get_sport;
+	xfrmnl_sel_get_sportmask;
+	xfrmnl_sel_get_userid;
+	xfrmnl_sel_put;
+	xfrmnl_sel_set_daddr;
+	xfrmnl_sel_set_dport;
+	xfrmnl_sel_set_dportmask;
+	xfrmnl_sel_set_family;
+	xfrmnl_sel_set_ifindex;
+	xfrmnl_sel_set_prefixlen_d;
+	xfrmnl_sel_set_prefixlen_s;
+	xfrmnl_sel_set_proto;
+	xfrmnl_sel_set_saddr;
+	xfrmnl_sel_set_sport;
+	xfrmnl_sel_set_sportmask;
+	xfrmnl_sel_set_userid;
+	xfrmnl_sel_shared;
+	xfrmnl_sp_action2str;
+	xfrmnl_sp_add;
+	xfrmnl_sp_add_usertemplate;
+	xfrmnl_sp_alloc;
+	xfrmnl_sp_alloc_cache;
+	xfrmnl_sp_build_add_request;
+	xfrmnl_sp_build_delete_request;
+	xfrmnl_sp_build_get_request;
+	xfrmnl_sp_build_update_request;
+	xfrmnl_sp_delete;
+	xfrmnl_sp_dir2str;
+	xfrmnl_sp_flags2str;
+	xfrmnl_sp_foreach_usertemplate;
+	xfrmnl_sp_get;
+	xfrmnl_sp_get_action;
+	xfrmnl_sp_get_curlifetime;
+	xfrmnl_sp_get_dir;
+	xfrmnl_sp_get_flags;
+	xfrmnl_sp_get_index;
+	xfrmnl_sp_get_kernel;
+	xfrmnl_sp_get_lifetime_cfg;
+	xfrmnl_sp_get_mark;
+	xfrmnl_sp_get_nusertemplates;
+	xfrmnl_sp_get_priority;
+	xfrmnl_sp_get_sec_ctx;
+	xfrmnl_sp_get_sel;
+	xfrmnl_sp_get_share;
+	xfrmnl_sp_get_userpolicy_type;
+	xfrmnl_sp_get_usertemplates;
+	xfrmnl_sp_index2dir;
+	xfrmnl_sp_parse;
+	xfrmnl_sp_put;
+	xfrmnl_sp_remove_usertemplate;
+	xfrmnl_sp_set_action;
+	xfrmnl_sp_set_dir;
+	xfrmnl_sp_set_flags;
+	xfrmnl_sp_set_index;
+	xfrmnl_sp_set_lifetime_cfg;
+	xfrmnl_sp_set_mark;
+	xfrmnl_sp_set_priority;
+	xfrmnl_sp_set_sec_ctx;
+	xfrmnl_sp_set_sel;
+	xfrmnl_sp_set_share;
+	xfrmnl_sp_set_userpolicy_type;
+	xfrmnl_sp_share2str;
+	xfrmnl_sp_str2action;
+	xfrmnl_sp_str2dir;
+	xfrmnl_sp_str2flag;
+	xfrmnl_sp_str2share;
+	xfrmnl_sp_str2type;
+	xfrmnl_sp_type2str;
+	xfrmnl_sp_update;
+	xfrmnl_sp_usertemplate_n;
+	xfrmnl_user_tmpl_alloc;
+	xfrmnl_user_tmpl_clone;
+	xfrmnl_user_tmpl_cmp;
+	xfrmnl_user_tmpl_dump;
+	xfrmnl_user_tmpl_free;
+	xfrmnl_user_tmpl_get_aalgos;
+	xfrmnl_user_tmpl_get_calgos;
+	xfrmnl_user_tmpl_get_daddr;
+	xfrmnl_user_tmpl_get_ealgos;
+	xfrmnl_user_tmpl_get_family;
+	xfrmnl_user_tmpl_get_mode;
+	xfrmnl_user_tmpl_get_optional;
+	xfrmnl_user_tmpl_get_proto;
+	xfrmnl_user_tmpl_get_reqid;
+	xfrmnl_user_tmpl_get_saddr;
+	xfrmnl_user_tmpl_get_share;
+	xfrmnl_user_tmpl_get_spi;
+	xfrmnl_user_tmpl_mode2str;
+	xfrmnl_user_tmpl_set_aalgos;
+	xfrmnl_user_tmpl_set_calgos;
+	xfrmnl_user_tmpl_set_daddr;
+	xfrmnl_user_tmpl_set_ealgos;
+	xfrmnl_user_tmpl_set_family;
+	xfrmnl_user_tmpl_set_mode;
+	xfrmnl_user_tmpl_set_optional;
+	xfrmnl_user_tmpl_set_proto;
+	xfrmnl_user_tmpl_set_reqid;
+	xfrmnl_user_tmpl_set_saddr;
+	xfrmnl_user_tmpl_set_share;
+	xfrmnl_user_tmpl_set_spi;
+	xfrmnl_user_tmpl_str2mode;
+local:
 	*;
 };
-- 
1.9.3




More information about the libnl mailing list