1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2cc70d069SEric Leblond #ifndef _IPV6_NF_REJECT_H
3cc70d069SEric Leblond #define _IPV6_NF_REJECT_H
4cc70d069SEric Leblond 
591c1a09bSPablo Neira Ayuso #include <linux/icmpv6.h>
67fc38225SAlin Nastac #include <net/netfilter/nf_reject.h>
7cc70d069SEric Leblond 
8ee586bbcSFlorian Westphal void nf_send_unreach6(struct net *net, struct sk_buff *skb_in, unsigned char code,
9ee586bbcSFlorian Westphal 		      unsigned int hooknum);
10*04295878SJan Engelhardt void nf_send_reset6(struct net *net, struct sock *sk, struct sk_buff *oldskb,
11*04295878SJan Engelhardt 		    int hook);
128bfcdf66SPablo Neira Ayuso const struct tcphdr *nf_reject_ip6_tcphdr_get(struct sk_buff *oldskb,
138bfcdf66SPablo Neira Ayuso 					      struct tcphdr *otcph,
148bfcdf66SPablo Neira Ayuso 					      unsigned int *otcplen, int hook);
158bfcdf66SPablo Neira Ayuso struct ipv6hdr *nf_reject_ip6hdr_put(struct sk_buff *nskb,
168bfcdf66SPablo Neira Ayuso 				     const struct sk_buff *oldskb,
17a03a8dbeSFlorian Westphal 				     __u8 protocol, int hoplimit);
188bfcdf66SPablo Neira Ayuso void nf_reject_ip6_tcphdr_put(struct sk_buff *nskb,
198bfcdf66SPablo Neira Ayuso 			      const struct sk_buff *oldskb,
208bfcdf66SPablo Neira Ayuso 			      const struct tcphdr *oth, unsigned int otcplen);
218bfcdf66SPablo Neira Ayuso 
22fa538f7cSJose M. Guisado Gomez struct sk_buff *nf_reject_skb_v6_tcp_reset(struct net *net,
23fa538f7cSJose M. Guisado Gomez 					   struct sk_buff *oldskb,
24fa538f7cSJose M. Guisado Gomez 					   const struct net_device *dev,
25fa538f7cSJose M. Guisado Gomez 					   int hook);
26fa538f7cSJose M. Guisado Gomez struct sk_buff *nf_reject_skb_v6_unreach(struct net *net,
27fa538f7cSJose M. Guisado Gomez 					 struct sk_buff *oldskb,
28fa538f7cSJose M. Guisado Gomez 					 const struct net_device *dev,
29fa538f7cSJose M. Guisado Gomez 					 int hook, u8 code);
30fa538f7cSJose M. Guisado Gomez 
31cc70d069SEric Leblond #endif /* _IPV6_NF_REJECT_H */
32