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