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 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 int nf_ip_reroute(struct sk_buff *skb, const struct nf_queue_entry *entry); 29 #else 30 static inline __sum16 nf_ip_checksum(struct sk_buff *skb, unsigned int hook, 31 unsigned int dataoff, u_int8_t protocol) 32 { 33 return 0; 34 } 35 static inline int nf_ip_route(struct net *net, struct dst_entry **dst, 36 struct flowi *fl, bool strict) 37 { 38 return -EOPNOTSUPP; 39 } 40 static inline int nf_ip_reroute(struct sk_buff *skb, 41 const struct nf_queue_entry *entry) 42 { 43 return -EOPNOTSUPP; 44 } 45 #endif /* CONFIG_INET */ 46 47 #endif /*__LINUX_IP_NETFILTER_H*/ 48