aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ip.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/ip.h')
-rw-r--r--include/net/ip.h28
1 files changed, 16 insertions, 12 deletions
diff --git a/include/net/ip.h b/include/net/ip.h
index e4563bbee6ea..8de0697b364c 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -24,14 +24,10 @@
24 24
25#include <linux/config.h> 25#include <linux/config.h>
26#include <linux/types.h> 26#include <linux/types.h>
27#include <linux/socket.h>
28#include <linux/ip.h> 27#include <linux/ip.h>
29#include <linux/in.h> 28#include <linux/in.h>
30#include <linux/netdevice.h> 29
31#include <linux/inetdevice.h> 30#include <net/inet_sock.h>
32#include <linux/in_route.h>
33#include <net/route.h>
34#include <net/arp.h>
35#include <net/snmp.h> 31#include <net/snmp.h>
36 32
37struct sock; 33struct sock;
@@ -41,10 +37,10 @@ struct inet_skb_parm
41 struct ip_options opt; /* Compiled IP options */ 37 struct ip_options opt; /* Compiled IP options */
42 unsigned char flags; 38 unsigned char flags;
43 39
44#define IPSKB_MASQUERADED 1 40#define IPSKB_FORWARDED 1
45#define IPSKB_TRANSLATED 2 41#define IPSKB_XFRM_TUNNEL_SIZE 2
46#define IPSKB_FORWARDED 4 42#define IPSKB_XFRM_TRANSFORMED 4
47#define IPSKB_XFRM_TUNNEL_SIZE 8 43#define IPSKB_FRAG_COMPLETE 8
48}; 44};
49 45
50struct ipcm_cookie 46struct ipcm_cookie
@@ -74,6 +70,13 @@ extern rwlock_t ip_ra_lock;
74 70
75#define IP_FRAG_TIME (30 * HZ) /* fragment lifetime */ 71#define IP_FRAG_TIME (30 * HZ) /* fragment lifetime */
76 72
73struct msghdr;
74struct net_device;
75struct packet_type;
76struct rtable;
77struct sk_buff;
78struct sockaddr;
79
77extern void ip_mc_dropsocket(struct sock *); 80extern void ip_mc_dropsocket(struct sock *);
78extern void ip_mc_dropdevice(struct net_device *dev); 81extern void ip_mc_dropdevice(struct net_device *dev);
79extern int igmp_mc_proc_init(void); 82extern int igmp_mc_proc_init(void);
@@ -91,7 +94,6 @@ extern int ip_local_deliver(struct sk_buff *skb);
91extern int ip_mr_input(struct sk_buff *skb); 94extern int ip_mr_input(struct sk_buff *skb);
92extern int ip_output(struct sk_buff *skb); 95extern int ip_output(struct sk_buff *skb);
93extern int ip_mc_output(struct sk_buff *skb); 96extern int ip_mc_output(struct sk_buff *skb);
94extern int ip_fragment(struct sk_buff *skb, int (*out)(struct sk_buff*));
95extern int ip_do_nat(struct sk_buff *skb); 97extern int ip_do_nat(struct sk_buff *skb);
96extern void ip_send_check(struct iphdr *ip); 98extern void ip_send_check(struct iphdr *ip);
97extern int ip_queue_xmit(struct sk_buff *skb, int ipfragok); 99extern int ip_queue_xmit(struct sk_buff *skb, int ipfragok);
@@ -168,6 +170,7 @@ extern int sysctl_ipfrag_high_thresh;
168extern int sysctl_ipfrag_low_thresh; 170extern int sysctl_ipfrag_low_thresh;
169extern int sysctl_ipfrag_time; 171extern int sysctl_ipfrag_time;
170extern int sysctl_ipfrag_secret_interval; 172extern int sysctl_ipfrag_secret_interval;
173extern int sysctl_ipfrag_max_dist;
171 174
172/* From inetpeer.c */ 175/* From inetpeer.c */
173extern int inet_peer_threshold; 176extern int inet_peer_threshold;
@@ -182,6 +185,8 @@ extern int sysctl_ip_dynaddr;
182extern void ipfrag_init(void); 185extern void ipfrag_init(void);
183 186
184#ifdef CONFIG_INET 187#ifdef CONFIG_INET
188#include <net/dst.h>
189
185/* The function in 2.2 was invalid, producing wrong result for 190/* The function in 2.2 was invalid, producing wrong result for
186 * check=0xFEFF. It was noticed by Arthur Skawina _year_ ago. --ANK(000625) */ 191 * check=0xFEFF. It was noticed by Arthur Skawina _year_ ago. --ANK(000625) */
187static inline 192static inline
@@ -310,7 +315,6 @@ enum ip_defrag_users
310 IP_DEFRAG_CALL_RA_CHAIN, 315 IP_DEFRAG_CALL_RA_CHAIN,
311 IP_DEFRAG_CONNTRACK_IN, 316 IP_DEFRAG_CONNTRACK_IN,
312 IP_DEFRAG_CONNTRACK_OUT, 317 IP_DEFRAG_CONNTRACK_OUT,
313 IP_DEFRAG_NAT_OUT,
314 IP_DEFRAG_VS_IN, 318 IP_DEFRAG_VS_IN,
315 IP_DEFRAG_VS_OUT, 319 IP_DEFRAG_VS_OUT,
316 IP_DEFRAG_VS_FWD 320 IP_DEFRAG_VS_FWD