1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _IPV6_NF_REJECT_H
3#define _IPV6_NF_REJECT_H
4
5#include <linux/icmpv6.h>
6#include <net/netfilter/nf_reject.h>
7
8void nf_send_unreach6(struct net *net, struct sk_buff *skb_in, unsigned char code,
9		      unsigned int hooknum);
10void nf_send_reset6(struct net *net, struct sock *sk, struct sk_buff *oldskb,
11		    int hook);
12const struct tcphdr *nf_reject_ip6_tcphdr_get(struct sk_buff *oldskb,
13					      struct tcphdr *otcph,
14					      unsigned int *otcplen, int hook);
15struct ipv6hdr *nf_reject_ip6hdr_put(struct sk_buff *nskb,
16				     const struct sk_buff *oldskb,
17				     __u8 protocol, int hoplimit);
18void nf_reject_ip6_tcphdr_put(struct sk_buff *nskb,
19			      const struct sk_buff *oldskb,
20			      const struct tcphdr *oth, unsigned int otcplen);
21
22struct sk_buff *nf_reject_skb_v6_tcp_reset(struct net *net,
23					   struct sk_buff *oldskb,
24					   const struct net_device *dev,
25					   int hook);
26struct sk_buff *nf_reject_skb_v6_unreach(struct net *net,
27					 struct sk_buff *oldskb,
28					 const struct net_device *dev,
29					 int hook, u8 code);
30
31#endif /* _IPV6_NF_REJECT_H */
32