#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_MITIGATION_RETPOLINE
MODULE_INFO(retpoline, "Y");
#endif

KSYMTAB_FUNC(nft_do_chain, "_gpl", "");
KSYMTAB_FUNC(nft_reg_track_update, "_gpl", "");
KSYMTAB_FUNC(nft_reg_track_cancel, "_gpl", "");
KSYMTAB_FUNC(__nft_reg_track_cancel, "_gpl", "");
KSYMTAB_FUNC(nft_request_module, "_gpl", "");
KSYMTAB_FUNC(nft_register_chain_type, "_gpl", "");
KSYMTAB_FUNC(nft_unregister_chain_type, "_gpl", "");
KSYMTAB_FUNC(nft_register_expr, "_gpl", "");
KSYMTAB_FUNC(nft_unregister_expr, "_gpl", "");
KSYMTAB_FUNC(nft_chain_validate, "_gpl", "");
KSYMTAB_FUNC(nft_set_lookup_global, "_gpl", "");
KSYMTAB_FUNC(nf_tables_bind_set, "_gpl", "");
KSYMTAB_FUNC(nf_tables_activate_set, "_gpl", "");
KSYMTAB_FUNC(nf_tables_deactivate_set, "_gpl", "");
KSYMTAB_FUNC(nf_tables_destroy_set, "_gpl", "");
KSYMTAB_FUNC(nft_set_elem_destroy, "_gpl", "");
KSYMTAB_FUNC(nft_set_catchall_lookup, "_gpl", "");
KSYMTAB_FUNC(nft_register_obj, "_gpl", "");
KSYMTAB_FUNC(nft_unregister_obj, "_gpl", "");
KSYMTAB_FUNC(nft_obj_lookup, "_gpl", "");
KSYMTAB_FUNC(nft_obj_notify, "_gpl", "");
KSYMTAB_FUNC(nft_register_flowtable_type, "_gpl", "");
KSYMTAB_FUNC(nft_unregister_flowtable_type, "_gpl", "");
KSYMTAB_FUNC(nft_flowtable_lookup, "_gpl", "");
KSYMTAB_FUNC(nf_tables_deactivate_flowtable, "_gpl", "");
KSYMTAB_FUNC(nf_tables_trans_destroy_flush_work, "_gpl", "");
KSYMTAB_FUNC(nft_chain_validate_dependency, "_gpl", "");
KSYMTAB_FUNC(nft_chain_validate_hooks, "_gpl", "");
KSYMTAB_FUNC(nft_parse_u32_check, "_gpl", "");
KSYMTAB_FUNC(nft_dump_register, "_gpl", "");
KSYMTAB_FUNC(nft_parse_register_load, "_gpl", "");
KSYMTAB_FUNC(nft_parse_register_store, "_gpl", "");
KSYMTAB_FUNC(nft_data_init, "_gpl", "");
KSYMTAB_FUNC(nft_data_release, "_gpl", "");
KSYMTAB_FUNC(nft_data_dump, "_gpl", "");
KSYMTAB_FUNC(__nft_release_basechain, "_gpl", "");
KSYMTAB_DATA(nft_trace_enabled, "_gpl", "");
KSYMTAB_FUNC(nft_expr_reduce_bitwise, "_gpl", "");
KSYMTAB_FUNC(nft_meta_get_eval, "_gpl", "");
KSYMTAB_FUNC(nft_meta_set_eval, "_gpl", "");
KSYMTAB_DATA(nft_meta_policy, "_gpl", "");
KSYMTAB_FUNC(nft_meta_get_init, "_gpl", "");
KSYMTAB_FUNC(nft_meta_set_validate, "_gpl", "");
KSYMTAB_FUNC(nft_meta_set_init, "_gpl", "");
KSYMTAB_FUNC(nft_meta_get_dump, "_gpl", "");
KSYMTAB_FUNC(nft_meta_set_dump, "_gpl", "");
KSYMTAB_FUNC(nft_meta_set_destroy, "_gpl", "");
KSYMTAB_FUNC(nft_meta_get_reduce, "_gpl", "");
KSYMTAB_FUNC(nft_meta_inner_eval, "_gpl", "");

MODULE_INFO(depends, "nfnetlink,libcrc32c");

