1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _NFT_REJECT_H_ 3 #define _NFT_REJECT_H_ 4 5 #include <linux/types.h> 6 #include <net/netlink.h> 7 #include <net/netfilter/nf_tables.h> 8 #include <uapi/linux/netfilter/nf_tables.h> 9 10 struct nft_reject { 11 enum nft_reject_types type:8; 12 u8 icmp_code; 13 }; 14 15 extern const struct nla_policy nft_reject_policy[]; 16 17 int nft_reject_validate(const struct nft_ctx *ctx, 18 const struct nft_expr *expr, 19 const struct nft_data **data); 20 21 int nft_reject_init(const struct nft_ctx *ctx, 22 const struct nft_expr *expr, 23 const struct nlattr * const tb[]); 24 25 int nft_reject_dump(struct sk_buff *skb, const struct nft_expr *expr); 26 27 int nft_reject_icmp_code(u8 code); 28 int nft_reject_icmpv6_code(u8 code); 29 30 #endif 31