11da177e4SLinus Torvalds /* IPv4-specific defines for netfilter.
21da177e4SLinus Torvalds  * (C)1998 Rusty Russell -- This code is GPL.
31da177e4SLinus Torvalds  */
4607ca46eSDavid Howells #ifndef __LINUX_IP_NETFILTER_H
5607ca46eSDavid Howells #define __LINUX_IP_NETFILTER_H
61da177e4SLinus Torvalds 
7607ca46eSDavid Howells #include <uapi/linux/netfilter_ipv4.h>
81da177e4SLinus Torvalds 
97db9a51eSPablo Neira Ayuso /* Extra routing may needed on local out, as the QUEUE target never returns
107db9a51eSPablo Neira Ayuso  * control to the table.
117db9a51eSPablo Neira Ayuso  */
127db9a51eSPablo Neira Ayuso struct ip_rt_info {
137db9a51eSPablo Neira Ayuso 	__be32 daddr;
147db9a51eSPablo Neira Ayuso 	__be32 saddr;
157db9a51eSPablo Neira Ayuso 	u_int8_t tos;
167db9a51eSPablo Neira Ayuso 	u_int32_t mark;
177db9a51eSPablo Neira Ayuso };
187db9a51eSPablo Neira Ayuso 
1946d6c5aeSJason A. Donenfeld int ip_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb, unsigned addr_type);
20ef71fe27SPablo Neira Ayuso 
21ce388f45SPablo Neira Ayuso struct nf_queue_entry;
22ce388f45SPablo Neira Ayuso 
23ef71fe27SPablo Neira Ayuso #ifdef CONFIG_INET
24a0f4ecf3SJoe Perches __sum16 nf_ip_checksum(struct sk_buff *skb, unsigned int hook,
25422c346fSPatrick McHardy 		       unsigned int dataoff, u_int8_t protocol);
263f87c08cSPablo Neira Ayuso int nf_ip_route(struct net *net, struct dst_entry **dst, struct flowi *fl,
273f87c08cSPablo Neira Ayuso 		bool strict);
28ef71fe27SPablo Neira Ayuso #else
nf_ip_checksum(struct sk_buff * skb,unsigned int hook,unsigned int dataoff,u_int8_t protocol)29ef71fe27SPablo Neira Ayuso static inline __sum16 nf_ip_checksum(struct sk_buff *skb, unsigned int hook,
30ef71fe27SPablo Neira Ayuso 				     unsigned int dataoff, u_int8_t protocol)
31ef71fe27SPablo Neira Ayuso {
32ef71fe27SPablo Neira Ayuso 	return 0;
33ef71fe27SPablo Neira Ayuso }
nf_ip_route(struct net * net,struct dst_entry ** dst,struct flowi * fl,bool strict)343f87c08cSPablo Neira Ayuso static inline int nf_ip_route(struct net *net, struct dst_entry **dst,
353f87c08cSPablo Neira Ayuso 			      struct flowi *fl, bool strict)
363f87c08cSPablo Neira Ayuso {
373f87c08cSPablo Neira Ayuso 	return -EOPNOTSUPP;
383f87c08cSPablo Neira Ayuso }
39ef71fe27SPablo Neira Ayuso #endif /* CONFIG_INET */
40ef71fe27SPablo Neira Ayuso 
411da177e4SLinus Torvalds #endif /*__LINUX_IP_NETFILTER_H*/
42