1 /* IPv4-specific defines for netfilter.
2  * (C)1998 Rusty Russell -- This code is GPL.
3  */
4 #ifndef __LINUX_IP_NETFILTER_H
5 #define __LINUX_IP_NETFILTER_H
6 
7 #include <uapi/linux/netfilter_ipv4.h>
8 
9 /* Extra routing may needed on local out, as the QUEUE target never returns
10  * control to the table.
11  */
12 struct ip_rt_info {
13 	__be32 daddr;
14 	__be32 saddr;
15 	u_int8_t tos;
16 	u_int32_t mark;
17 };
18 
19 int ip_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb, unsigned addr_type);
20 
21 struct nf_queue_entry;
22 
23 #ifdef CONFIG_INET
24 __sum16 nf_ip_checksum(struct sk_buff *skb, unsigned int hook,
25 		       unsigned int dataoff, u_int8_t protocol);
26 int nf_ip_route(struct net *net, struct dst_entry **dst, struct flowi *fl,
27 		bool strict);
28 #else
nf_ip_checksum(struct sk_buff * skb,unsigned int hook,unsigned int dataoff,u_int8_t protocol)29 static inline __sum16 nf_ip_checksum(struct sk_buff *skb, unsigned int hook,
30 				     unsigned int dataoff, u_int8_t protocol)
31 {
32 	return 0;
33 }
nf_ip_route(struct net * net,struct dst_entry ** dst,struct flowi * fl,bool strict)34 static inline int nf_ip_route(struct net *net, struct dst_entry **dst,
35 			      struct flowi *fl, bool strict)
36 {
37 	return -EOPNOTSUPP;
38 }
39 #endif /* CONFIG_INET */
40 
41 #endif /*__LINUX_IP_NETFILTER_H*/
42