#include <linux/module.h>
#define INCLUDE_VERMAGIC
#include <linux/build-salt.h>
#include <linux/elfnote-lto.h>
#include <linux/export-internal.h>
#include <linux/vermagic.h>
#include <linux/compiler.h>

#ifdef CONFIG_UNWINDER_ORC
#include <asm/orc_header.h>
ORC_HEADER;
#endif

BUILD_SALT;
BUILD_LTO_INFO;

MODULE_INFO(vermagic, VERMAGIC_STRING);
MODULE_INFO(name, KBUILD_MODNAME);

__visible struct module __this_module
__section(".gnu.linkonce.this_module") = {
	.name = KBUILD_MODNAME,
	.init = init_module,
#ifdef CONFIG_MODULE_UNLOAD
	.exit = cleanup_module,
#endif
	.arch = MODULE_ARCH_INIT,
};

MODULE_INFO(intree, "Y");

#ifdef CONFIG_RETPOLINE
MODULE_INFO(retpoline, "Y");
#endif

KSYMTAB_FUNC(ip6_tnl_parse_tlv_enc_lim, "", "");
KSYMTAB_FUNC(ip6_tnl_get_cap, "", "");
KSYMTAB_FUNC(ip6_tnl_rcv_ctl, "_gpl", "");
KSYMTAB_FUNC(ip6_tnl_rcv, "", "");
KSYMTAB_FUNC(ip6_tnl_xmit_ctl, "_gpl", "");
KSYMTAB_FUNC(ip6_tnl_xmit, "", "");
KSYMTAB_FUNC(ip6_tnl_change_mtu, "", "");
KSYMTAB_FUNC(ip6_tnl_get_iflink, "", "");
KSYMTAB_FUNC(ip6_tnl_encap_add_ops, "", "");
KSYMTAB_FUNC(ip6_tnl_encap_del_ops, "", "");
KSYMTAB_FUNC(ip6_tnl_encap_setup, "_gpl", "");
KSYMTAB_FUNC(ip6_tnl_get_link_net, "", "");

SYMBOL_CRC(ip6_tnl_parse_tlv_enc_lim, 0xc1d996cc, "");
SYMBOL_CRC(ip6_tnl_get_cap, 0x0d1be17b, "");
SYMBOL_CRC(ip6_tnl_rcv_ctl, 0x74fb0d9e, "_gpl");
SYMBOL_CRC(ip6_tnl_rcv, 0x0a624512, "");
SYMBOL_CRC(ip6_tnl_xmit_ctl, 0x9a6ade05, "_gpl");
SYMBOL_CRC(ip6_tnl_xmit, 0xe9ecfb8d, "");
SYMBOL_CRC(ip6_tnl_change_mtu, 0x7adc6c5b, "");
SYMBOL_CRC(ip6_tnl_get_iflink, 0xea14be63, "");
SYMBOL_CRC(ip6_tnl_encap_add_ops, 0x87093886, "");
SYMBOL_CRC(ip6_tnl_encap_del_ops, 0xc9196f4a, "");
SYMBOL_CRC(ip6_tnl_encap_setup, 0x1da7579e, "_gpl");
SYMBOL_CRC(ip6_tnl_get_link_net, 0xc9f03ff4, "");

static const struct modversion_info ____versions[]
__used __section("__versions") = {
	{ 0xe8c0d7, "ip6tun_encaps" },
	{ 0xd542439, "__ipv6_addr_type" },
	{ 0x68eb31ce, "ipv6_chk_addr_and_flags" },
	{ 0x32ad1ac4, "dev_get_by_index_rcu" },
	{ 0x8d522714, "__rcu_read_lock" },
	{ 0x2469810f, "__rcu_read_unlock" },
	{ 0x1d24c881, "___ratelimit" },
	{ 0x122c3a7e, "_printk" },
	{ 0x609f1c7e, "synchronize_net" },
	{ 0x437eb1df, "ipv6_mod_enabled" },
	{ 0x8da38f9, "register_pernet_device" },
	{ 0xdefb510e, "xfrm6_tunnel_register" },
	{ 0xd1ac52cb, "rtnl_link_register" },
	{ 0x432b123, "unregister_pernet_device" },
	{ 0x49f212eb, "xfrm6_tunnel_deregister" },
	{ 0xb5f70e15, "nla_put" },
	{ 0xf54ab36d, "unregister_netdevice_queue" },
	{ 0xdcb764ad, "memset" },
	{ 0xf1db1704, "nla_memcpy" },
	{ 0x73d05b09, "dev_addr_mod" },
	{ 0x4ff254b1, "rt6_lookup" },
	{ 0x29f2685b, "dst_release" },
	{ 0xdda999eb, "__dev_get_by_index" },
	{ 0x9f54ead7, "gro_cells_destroy" },
	{ 0xada38766, "dst_cache_destroy" },
	{ 0xc9ec4e21, "free_percpu" },
	{ 0xafede17d, "ip_tunnel_header_ops" },
	{ 0x41ed3709, "get_random_bytes" },
	{ 0xc7a4fbed, "rtnl_lock" },
	{ 0x9fdecc31, "unregister_netdevice_many" },
	{ 0x6e720ff2, "rtnl_unlock" },
	{ 0x9cdfb3f7, "sysctl_fb_tunnels_only_for_init_net" },
	{ 0x215e000a, "init_net" },
	{ 0x2aa2188e, "alloc_netdev_mqs" },
	{ 0x919736e6, "register_netdev" },
	{ 0xa916b694, "strnlen" },
	{ 0x4829a47e, "memcpy" },
	{ 0xd0ec541e, "free_netdev" },
	{ 0xcbd4898c, "fortify_panic" },
	{ 0x8c464738, "rtnl_link_unregister" },
	{ 0xd38ee2c7, "__get_hash_from_flowi6" },
	{ 0xaf793668, "__alloc_percpu_gfp" },
	{ 0xed81bdcb, "__cpu_possible_mask" },
	{ 0xae39f80e, "dst_cache_init" },
	{ 0x6b8c00b, "gro_cells_init" },
	{ 0xf70e4a4d, "preempt_schedule_notrace" },
	{ 0x30d6e866, "skb_copy_bits" },
	{ 0xc25a29f, "register_netdevice" },
	{ 0x62849ac7, "dev_valid_name" },
	{ 0xdd64e639, "strscpy" },
	{ 0x3c3ff9fd, "sprintf" },
	{ 0x3e903560, "ip_tunnel_netlink_encap_parms" },
	{ 0x15ba50a6, "jiffies" },
	{ 0x1c4606ea, "netdev_state_change" },
	{ 0x452ba683, "ipv6_ext_hdr" },
	{ 0x5327492a, "__pskb_pull_tail" },
	{ 0x7fac6cd, "make_kuid" },
	{ 0xf86b8c63, "ip6_redirect" },
	{ 0x34f95f81, "ip6_update_pmtu" },
	{ 0xf6ebc03b, "net_ratelimit" },
	{ 0x2cf56265, "__dynamic_pr_debug" },
	{ 0x433a6774, "skb_clone" },
	{ 0x6c86c0ae, "skb_pull" },
	{ 0xf4de8c7e, "icmp6_send" },
	{ 0xa3d1d07e, "kfree_skb_reason" },
	{ 0x5ac77bd5, "ip_route_output_flow" },
	{ 0x51fda023, "ip_route_input_noref" },
	{ 0x29526780, "__icmp_send" },
	{ 0x33338211, "rcuref_get_slowpath" },
	{ 0xdb3fdf1f, "skb_scrub_packet" },
	{ 0x828ccb45, "gro_cells_receive" },
	{ 0x7f767a05, "eth_type_trans" },
	{ 0xe113bbbc, "csum_partial" },
	{ 0xbf6922ce, "__xfrm_policy_check" },
	{ 0xbb1b8857, "__iptunnel_pull_header" },
	{ 0xb14fa253, "metadata_dst_alloc" },
	{ 0xab82185d, "ip6_route_output_flags" },
	{ 0x552ed01c, "xfrm_lookup" },
	{ 0x9333083a, "dst_cache_get" },
	{ 0x718ecc42, "skb_realloc_headroom" },
	{ 0xc47c7cc, "skb_set_owner_w" },
	{ 0xb1899881, "consume_skb" },
	{ 0x8f795367, "ipv6_push_frag_opts" },
	{ 0xbd9a1fbf, "skb_push" },
	{ 0xc9f3006c, "ip6_local_out" },
	{ 0xe8ac8c02, "dst_cache_set_ip6" },
	{ 0x296695f, "refcount_warn_saturate" },
	{ 0xa61a8877, "ip6_dst_hoplimit" },
	{ 0x7bba355a, "ipv6_dev_get_saddr" },
	{ 0x43b0c9c3, "preempt_schedule" },
	{ 0x6a3a9aef, "neigh_destroy" },
	{ 0xd3c486d8, "iptunnel_handle_offloads" },
	{ 0x8d396cce, "icmpv6_ndo_send" },
	{ 0xa5ecf4d1, "icmp_ndo_send" },
	{ 0x8fbca63c, "ns_capable" },
	{ 0x12a4e128, "__arch_copy_from_user" },
	{ 0x6cbbfc54, "__arch_copy_to_user" },
	{ 0x56cbff88, "dev_get_tstats64" },
	{ 0x19858e93, "param_ops_bool" },
	{ 0x17608925, "module_layout" },
};

MODULE_INFO(depends, "tunnel6");

