aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/netfilter/nft_reject.h
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2014-09-26 14:35:14 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2014-10-02 18:29:57 +0200
commit51b0a5d8c21a91801bbef9bcc8639dc0b206c6cd (patch)
tree62255f89e7725a5173d4b4e4f002f114ad524dda /include/net/netfilter/nft_reject.h
parentipv4: mentions skb_gro_postpull_rcsum() in inet_gro_receive() (diff)
downloadlinux-dev-51b0a5d8c21a91801bbef9bcc8639dc0b206c6cd.tar.xz
linux-dev-51b0a5d8c21a91801bbef9bcc8639dc0b206c6cd.zip
netfilter: nft_reject: introduce icmp code abstraction for inet and bridge
This patch introduces the NFT_REJECT_ICMPX_UNREACH type which provides an abstraction to the ICMP and ICMPv6 codes that you can use from the inet and bridge tables, they are: * NFT_REJECT_ICMPX_NO_ROUTE: no route to host - network unreachable * NFT_REJECT_ICMPX_PORT_UNREACH: port unreachable * NFT_REJECT_ICMPX_HOST_UNREACH: host unreachable * NFT_REJECT_ICMPX_ADMIN_PROHIBITED: administratevely prohibited You can still use the specific codes when restricting the rule to match the corresponding layer 3 protocol. I decided to not overload the existing NFT_REJECT_ICMP_UNREACH to have different semantics depending on the table family and to allow the user to specify ICMP family specific codes if they restrict it to the corresponding family. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/net/netfilter/nft_reject.h')
-rw-r--r--include/net/netfilter/nft_reject.h9
1 files changed, 2 insertions, 7 deletions
diff --git a/include/net/netfilter/nft_reject.h b/include/net/netfilter/nft_reject.h
index 36b0da2d55bb..60fa1530006b 100644
--- a/include/net/netfilter/nft_reject.h
+++ b/include/net/netfilter/nft_reject.h
@@ -14,12 +14,7 @@ int nft_reject_init(const struct nft_ctx *ctx,
int nft_reject_dump(struct sk_buff *skb, const struct nft_expr *expr);
-void nft_reject_ipv4_eval(const struct nft_expr *expr,
- struct nft_data data[NFT_REG_MAX + 1],
- const struct nft_pktinfo *pkt);
-
-void nft_reject_ipv6_eval(const struct nft_expr *expr,
- struct nft_data data[NFT_REG_MAX + 1],
- const struct nft_pktinfo *pkt);
+int nft_reject_icmp_code(u8 code);
+int nft_reject_icmpv6_code(u8 code);
#endif