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