[INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h
authorArnaldo Carvalho de Melo <acme@mandriva.com>
Tue, 27 Dec 2005 04:43:12 +0000 (02:43 -0200)
committerDavid S. Miller <davem@sunset.davemloft.net>
Tue, 3 Jan 2006 21:11:21 +0000 (13:11 -0800)
To help in reducing the number of include dependencies, several files were
touched as they were getting needed headers indirectly for stuff they use.

Thanks also to Alan Menegotto for pointing out that net/dccp/proto.c had
linux/dccp.h include twice.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
87 files changed:
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
drivers/net/ns83820.c
drivers/net/sk98lin/skge.c
drivers/net/skge.c
drivers/net/tg3.c
fs/9p/trans_sock.c
fs/nfs/callback.c
include/linux/dccp.h
include/linux/ip.h
include/linux/ipv6.h
include/linux/udp.h
include/net/atmclip.h
include/net/dst.h
include/net/icmp.h
include/net/ieee80211_crypt.h
include/net/inet_connection_sock.h
include/net/inet_ecn.h
include/net/inet_hashtables.h
include/net/inet_sock.h [new file with mode: 0644]
include/net/inet_timewait_sock.h
include/net/ip.h
include/net/ip_fib.h
include/net/ip_vs.h
include/net/ipv6.h
include/net/ndisc.h
include/net/neighbour.h
include/net/pkt_act.h
include/net/raw.h
include/net/udp.h
include/net/xfrm.h
net/bridge/br_netfilter.c
net/bridge/netfilter/ebt_log.c
net/core/netpoll.c
net/dccp/ccid.h
net/dccp/ipv4.c
net/dccp/ipv6.c
net/dccp/output.c
net/dccp/proto.c
net/econet/af_econet.c
net/ipv4/af_inet.c
net/ipv4/ah4.c
net/ipv4/arp.c
net/ipv4/devinet.c
net/ipv4/esp4.c
net/ipv4/fib_frontend.c
net/ipv4/fib_hash.c
net/ipv4/fib_rules.c
net/ipv4/fib_semantics.c
net/ipv4/icmp.c
net/ipv4/igmp.c
net/ipv4/ip_input.c
net/ipv4/ip_options.c
net/ipv4/ip_sockglue.c
net/ipv4/ipcomp.c
net/ipv4/ipconfig.c
net/ipv4/ipmr.c
net/ipv4/ipvs/ip_vs_conn.c
net/ipv4/ipvs/ip_vs_ctl.c
net/ipv4/ipvs/ip_vs_dh.c
net/ipv4/ipvs/ip_vs_est.c
net/ipv4/ipvs/ip_vs_lblc.c
net/ipv4/ipvs/ip_vs_lblcr.c
net/ipv4/ipvs/ip_vs_proto_ah.c
net/ipv4/ipvs/ip_vs_proto_esp.c
net/ipv4/ipvs/ip_vs_proto_udp.c
net/ipv4/ipvs/ip_vs_sh.c
net/ipv4/ipvs/ip_vs_sync.c
net/ipv4/netfilter/ip_conntrack_amanda.c
net/ipv4/netfilter/ip_conntrack_proto_gre.c
net/ipv4/netfilter/ip_conntrack_proto_udp.c
net/ipv4/netfilter/ip_conntrack_standalone.c
net/ipv4/netfilter/ip_nat_snmp_basic.c
net/ipv4/netfilter/ipt_MASQUERADE.c
net/ipv4/netfilter/ipt_physdev.c
net/ipv4/proc.c
net/ipv4/sysctl_net_ipv4.c
net/ipv4/udp.c
net/ipv6/ah6.c
net/ipv6/esp6.c
net/ipv6/ipcomp6.c
net/ipv6/netfilter/ip6_tables.c
net/ipv6/netfilter/ip6t_LOG.c
net/ipv6/netfilter/ip6t_ah.c
net/ipv6/netfilter/ip6t_esp.c
net/sched/sch_teql.c
net/sctp/protocol.c

index 475d98fa9e26645c2b76b001d08bbea0fc6d12a7..780009c7eaa651f908e78def9a8106eea752cd81 100644 (file)
@@ -47,6 +47,8 @@
 #include <linux/ip.h>
 #include <linux/in.h>
 
+#include <net/dst.h>
+
 MODULE_AUTHOR("Roland Dreier");
 MODULE_DESCRIPTION("IP-over-InfiniBand net driver");
 MODULE_LICENSE("Dual BSD/GPL");
index ef3ee035bbc8e03f7930df570620368882be5fd3..ed0c2ead8bc16f0c215a054f0c765d4d2a440eee 100644 (file)
@@ -43,6 +43,8 @@
 #include <linux/delay.h>
 #include <linux/completion.h>
 
+#include <net/dst.h>
+
 #include "ipoib.h"
 
 #ifdef CONFIG_INFINIBAND_IPOIB_DEBUG
index f857ae94d261ab505dd809499c372878c0d79e93..b0c3b6ab62634ea01d8be0e3ac5ee0d246ccb1f4 100644 (file)
 #include <linux/ethtool.h>
 #include <linux/timer.h>
 #include <linux/if_vlan.h>
+#include <linux/rtnetlink.h>
 
 #include <asm/io.h>
 #include <asm/uaccess.h>
index ae734393475876a6c0bd9ce521fb714967c15f21..e1a2d52cc1fe11c274342fe0f877c2929fe2dbf3 100644 (file)
 
 #include       "h/skversion.h"
 
+#include       <linux/in.h>
 #include       <linux/module.h>
 #include       <linux/moduleparam.h>
 #include       <linux/init.h>
index 00d683063c01639c0faf91446001015c84b597e5..d8cc3aea032ab54d1be5ee91c13d9d4bc1de100d 100644 (file)
@@ -25,6 +25,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/in.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
index 2fc9893d69e10532bfe50c707c0f0ee816e586b9..59d916ccc810570796fa3ab95a3fc143e069e080 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/compiler.h>
 #include <linux/slab.h>
 #include <linux/delay.h>
+#include <linux/in.h>
 #include <linux/init.h>
 #include <linux/ioport.h>
 #include <linux/pci.h>
index a93c2bf94c331a7b20326caa5a36c217fab3f023..6a9a75d40f735c209c4e95aefab71178f07990fd 100644 (file)
@@ -26,6 +26,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/in.h>
 #include <linux/module.h>
 #include <linux/net.h>
 #include <linux/ipv6.h>
index f2ca782aba33d23a52b7c6ff93e3a5c03577beb1..30cae3602867b532773fb6c0074f5663c04d2734 100644 (file)
@@ -14,6 +14,9 @@
 #include <linux/sunrpc/svc.h>
 #include <linux/sunrpc/svcsock.h>
 #include <linux/nfs_fs.h>
+
+#include <net/inet_sock.h>
+
 #include "nfs4_fs.h"
 #include "callback.h"
 
index d0bdb499cf8de2cca24d51799919c9d0ee910e73..088529f549657214b9ce1352b7d2210a2caadaec 100644 (file)
@@ -192,10 +192,9 @@ enum {
 #include <linux/workqueue.h>
 
 #include <net/inet_connection_sock.h>
+#include <net/inet_sock.h>
 #include <net/inet_timewait_sock.h>
-#include <net/sock.h>
 #include <net/tcp_states.h>
-#include <net/tcp.h>
 
 enum dccp_state {
        DCCP_OPEN       = TCP_ESTABLISHED,
index 6ccc596c19c89239e303f0b067cb3757fc032a2f..9e2eb9a602ebdc7154e0ef3a629a9868e219e8c4 100644 (file)
@@ -16,6 +16,7 @@
  */
 #ifndef _LINUX_IP_H
 #define _LINUX_IP_H
+#include <linux/types.h>
 #include <asm/byteorder.h>
 
 #define IPTOS_TOS_MASK         0x1E
 #define        IPOPT_TS_TSANDADDR      1               /* timestamps and addresses */
 #define        IPOPT_TS_PRESPEC        3               /* specified modules only */
 
-#ifdef __KERNEL__
-#include <linux/config.h>
-#include <linux/types.h>
-#include <net/request_sock.h>
-#include <net/sock.h>
-#include <linux/igmp.h>
-#include <net/flow.h>
-
-struct ip_options {
-  __u32                faddr;                          /* Saved first hop address */
-  unsigned char        optlen;
-  unsigned char srr;
-  unsigned char rr;
-  unsigned char ts;
-  unsigned char is_setbyuser:1,                        /* Set by setsockopt?                   */
-                is_data:1,                     /* Options in __data, rather than skb   */
-                is_strictroute:1,              /* Strict source route                  */
-                srr_is_hit:1,                  /* Packet destination addr was our one  */
-                is_changed:1,                  /* IP checksum more not valid           */      
-                rr_needaddr:1,                 /* Need to record addr of outgoing dev  */
-                ts_needtime:1,                 /* Need to record timestamp             */
-                ts_needaddr:1;                 /* Need to record addr of outgoing dev  */
-  unsigned char router_alert;
-  unsigned char __pad1;
-  unsigned char __pad2;
-  unsigned char __data[0];
-};
-
-#define optlength(opt) (sizeof(struct ip_options) + opt->optlen)
-
-struct inet_request_sock {
-       struct request_sock     req;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
-       u16                     inet6_rsk_offset;
-       /* 2 bytes hole, try to pack */
-#endif
-       u32                     loc_addr;
-       u32                     rmt_addr;
-       u16                     rmt_port;
-       u16                     snd_wscale : 4, 
-                               rcv_wscale : 4, 
-                               tstamp_ok  : 1,
-                               sack_ok    : 1,
-                               wscale_ok  : 1,
-                               ecn_ok     : 1,
-                               acked      : 1;
-       struct ip_options       *opt;
-};
-
-static inline struct inet_request_sock *inet_rsk(const struct request_sock *sk)
-{
-       return (struct inet_request_sock *)sk;
-}
-
-struct ipv6_pinfo;
-
-struct inet_sock {
-       /* sk and pinet6 has to be the first two members of inet_sock */
-       struct sock             sk;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
-       struct ipv6_pinfo       *pinet6;
-#endif
-       /* Socket demultiplex comparisons on incoming packets. */
-       __u32                   daddr;          /* Foreign IPv4 addr */
-       __u32                   rcv_saddr;      /* Bound local IPv4 addr */
-       __u16                   dport;          /* Destination port */
-       __u16                   num;            /* Local port */
-       __u32                   saddr;          /* Sending source */
-       __s16                   uc_ttl;         /* Unicast TTL */
-       __u16                   cmsg_flags;
-       struct ip_options       *opt;
-       __u16                   sport;          /* Source port */
-       __u16                   id;             /* ID counter for DF pkts */
-       __u8                    tos;            /* TOS */
-       __u8                    mc_ttl;         /* Multicasting TTL */
-       __u8                    pmtudisc;
-       unsigned                recverr : 1,
-                               is_icsk : 1,    /* inet_connection_sock? */
-                               freebind : 1,
-                               hdrincl : 1,
-                               mc_loop : 1;
-       int                     mc_index;       /* Multicast device index */
-       __u32                   mc_addr;
-       struct ip_mc_socklist   *mc_list;       /* Group array */
-       /*
-        * Following members are used to retain the infomation to build
-        * an ip header on each ip fragmentation while the socket is corked.
-        */
-       struct {
-               unsigned int            flags;
-               unsigned int            fragsize;
-               struct ip_options       *opt;
-               struct rtable           *rt;
-               int                     length; /* Total length of all frames */
-               u32                     addr;
-               struct flowi            fl;
-       } cork;
-};
-
-#define IPCORK_OPT     1       /* ip-options has been held in ipcork.opt */
-#define IPCORK_ALLFRAG 2       /* always fragment (for ipv6 for now) */
-
-static inline struct inet_sock *inet_sk(const struct sock *sk)
-{
-       return (struct inet_sock *)sk;
-}
-
-static inline void __inet_sk_copy_descendant(struct sock *sk_to,
-                                            const struct sock *sk_from,
-                                            const int ancestor_size)
-{
-       memcpy(inet_sk(sk_to) + 1, inet_sk(sk_from) + 1,
-              sk_from->sk_prot->obj_size - ancestor_size);
-}
-#if !(defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE))
-static inline void inet_sk_copy_descendant(struct sock *sk_to,
-                                          const struct sock *sk_from)
-{
-       __inet_sk_copy_descendant(sk_to, sk_from, sizeof(struct inet_sock));
-}
-#endif
-#endif
-
-extern int inet_sk_rebuild_header(struct sock *sk);
-
 struct iphdr {
 #if defined(__LITTLE_ENDIAN_BITFIELD)
        __u8    ihl:4,
index a0d04891fe12657905a7c24042d230e9bbb964fe..93bbed5c6cf426a61683ec8204363f75f67fc08b 100644 (file)
@@ -171,12 +171,13 @@ enum {
 };
 
 #ifdef __KERNEL__
-#include <linux/in6.h>          /* struct sockaddr_in6 */
 #include <linux/icmpv6.h>
-#include <net/if_inet6.h>       /* struct ipv6_mc_socklist */
 #include <linux/tcp.h>
 #include <linux/udp.h>
 
+#include <net/if_inet6.h>       /* struct ipv6_mc_socklist */
+#include <net/inet_sock.h>
+
 /* 
    This structure contains results of exthdrs parsing
    as offsets from skb->nh.
@@ -346,8 +347,6 @@ static inline void inet_sk_copy_descendant(struct sock *sk_to,
 #define __ipv6_only_sock(sk)   (inet6_sk(sk)->ipv6only)
 #define ipv6_only_sock(sk)     ((sk)->sk_family == PF_INET6 && __ipv6_only_sock(sk))
 
-#include <linux/tcp.h>
-
 struct inet6_timewait_sock {
        struct in6_addr tw_v6_daddr;
        struct in6_addr tw_v6_rcv_saddr;
index b60e0b4a25c41fd4cb91d333f0d001643c9cc424..85a55658831c5f0acdf8edda61921f7df7e14e77 100644 (file)
@@ -35,10 +35,10 @@ struct udphdr {
 #define UDP_ENCAP_ESPINUDP     2 /* draft-ietf-ipsec-udp-encaps-06 */
 
 #ifdef __KERNEL__
-
 #include <linux/config.h>
-#include <net/sock.h>
-#include <linux/ip.h>
+#include <linux/types.h>
+
+#include <net/inet_sock.h>
 
 struct udp_sock {
        /* inet_sock has to be the first member */
index 47048b1d179a61c6d5c1c53775d6d83ec92ae9c1..90fcc98e676f349239b66d9a6840502fcb0e33f0 100644 (file)
@@ -7,7 +7,6 @@
 #define _ATMCLIP_H
 
 #include <linux/netdevice.h>
-#include <linux/skbuff.h>
 #include <linux/atm.h>
 #include <linux/atmdev.h>
 #include <linux/atmarp.h>
@@ -18,6 +17,7 @@
 #define CLIP_VCC(vcc) ((struct clip_vcc *) ((vcc)->user_back))
 #define NEIGH2ENTRY(neigh) ((struct atmarp_entry *) (neigh)->primary_key)
 
+struct sk_buff;
 
 struct clip_vcc {
        struct atm_vcc  *vcc;           /* VCC descriptor */
index 6c196a5baf24bda85e3789163ebe4a6cdf74eb31..bee8b84d329db3522f0e9fc7f3991e4579f7963c 100644 (file)
@@ -9,6 +9,7 @@
 #define _NET_DST_H
 
 #include <linux/config.h>
+#include <linux/netdevice.h>
 #include <linux/rtnetlink.h>
 #include <linux/rcupdate.h>
 #include <linux/jiffies.h>
index 6cdebeee5f961318bc5c8e942b1a2f92e4b276ce..e7c3f20fbafc6de85b683d41588f2d1646ca4989 100644 (file)
 
 #include <linux/config.h>
 #include <linux/icmp.h>
-#include <linux/skbuff.h>
 
-#include <net/sock.h>
-#include <net/protocol.h>
+#include <net/inet_sock.h>
 #include <net/snmp.h>
-#include <linux/ip.h>
 
 struct icmp_err {
   int          errno;
@@ -38,6 +35,10 @@ DECLARE_SNMP_STAT(struct icmp_mib, icmp_statistics);
 #define ICMP_INC_STATS_BH(field)       SNMP_INC_STATS_BH(icmp_statistics, field)
 #define ICMP_INC_STATS_USER(field)     SNMP_INC_STATS_USER(icmp_statistics, field)
 
+struct dst_entry;
+struct net_proto_family;
+struct sk_buff;
+
 extern void    icmp_send(struct sk_buff *skb_in,  int type, int code, u32 info);
 extern int     icmp_rcv(struct sk_buff *skb);
 extern int     icmp_ioctl(struct sock *sk, int cmd, unsigned long arg);
index 225fc751d46485101468be810298d020bb68e5fb..03b766afdc395cab12fe65f083714667627b4b78 100644 (file)
 #ifndef IEEE80211_CRYPT_H
 #define IEEE80211_CRYPT_H
 
-#include <linux/skbuff.h>
+#include <linux/types.h>
+#include <linux/list.h>
+#include <asm/atomic.h>
 
 enum {
        IEEE80211_CRYPTO_TKIP_COUNTERMEASURES = (1 << 0),
 };
 
+struct sk_buff;
+struct module;
+
 struct ieee80211_crypto_ops {
        const char *name;
        struct list_head list;
@@ -87,6 +92,8 @@ struct ieee80211_crypt_data {
        atomic_t refcnt;
 };
 
+struct ieee80211_device;
+
 int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops);
 int ieee80211_unregister_crypto_ops(struct ieee80211_crypto_ops *ops);
 struct ieee80211_crypto_ops *ieee80211_get_crypto_ops(const char *name);
index 91888967d3e3fd59ee49a99837828bf9715e102b..50234fa56a6843a16f803e2d22616e4489d8e7b6 100644 (file)
 #define _INET_CONNECTION_SOCK_H
 
 #include <linux/compiler.h>
-#include <linux/ip.h>
 #include <linux/string.h>
 #include <linux/timer.h>
+
+#include <net/inet_sock.h>
 #include <net/request_sock.h>
 
 #define INET_CSK_DEBUG 1
index b0c47e2eccf10849d7ca097eeeaf3b08c307837e..d599c6bfbb86bc5eb0e83f91f9f7fb417d4631f2 100644 (file)
@@ -3,6 +3,8 @@
 
 #include <linux/ip.h>
 #include <linux/skbuff.h>
+
+#include <net/inet_sock.h>
 #include <net/dsfield.h>
 
 enum {
index c83baa79f66ed6517f773ac16ac067107a26d0cb..135d80fd658ebf2c8d027440a1e9580f1c2b1ba3 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/wait.h>
 
 #include <net/inet_connection_sock.h>
+#include <net/inet_sock.h>
 #include <net/route.h>
 #include <net/sock.h>
 #include <net/tcp_states.h>
@@ -128,26 +129,6 @@ struct inet_hashinfo {
        kmem_cache_t                    *bind_bucket_cachep;
 };
 
-static inline unsigned int inet_ehashfn(const __u32 laddr, const __u16 lport,
-                              const __u32 faddr, const __u16 fport)
-{
-       unsigned int h = (laddr ^ lport) ^ (faddr ^ fport);
-       h ^= h >> 16;
-       h ^= h >> 8;
-       return h;
-}
-
-static inline int inet_sk_ehashfn(const struct sock *sk)
-{
-       const struct inet_sock *inet = inet_sk(sk);
-       const __u32 laddr = inet->rcv_saddr;
-       const __u16 lport = inet->num;
-       const __u32 faddr = inet->daddr;
-       const __u16 fport = inet->dport;
-
-       return inet_ehashfn(laddr, lport, faddr, fport);
-}
-
 static inline struct inet_ehash_bucket *inet_ehash_bucket(
        struct inet_hashinfo *hashinfo,
        unsigned int hash)
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h
new file mode 100644 (file)
index 0000000..883eb52
--- /dev/null
@@ -0,0 +1,193 @@
+/*
+ * INET                An implementation of the TCP/IP protocol suite for the LINUX
+ *             operating system.  INET is implemented using the  BSD Socket
+ *             interface as the means of communication with the user level.
+ *
+ *             Definitions for inet_sock
+ *
+ * Authors:    Many, reorganised here by
+ *             Arnaldo Carvalho de Melo <acme@mandriva.com>
+ *
+ *             This program is free software; you can redistribute it and/or
+ *             modify it under the terms of the GNU General Public License
+ *             as published by the Free Software Foundation; either version
+ *             2 of the License, or (at your option) any later version.
+ */
+#ifndef _INET_SOCK_H
+#define _INET_SOCK_H
+
+#include <linux/config.h>
+
+#include <linux/string.h>
+#include <linux/types.h>
+
+#include <net/flow.h>
+#include <net/sock.h>
+#include <net/request_sock.h>
+
+/** struct ip_options - IP Options
+ *
+ * @faddr - Saved first hop address
+ * @is_setbyuser - Set by setsockopt?
+ * @is_data - Options in __data, rather than skb
+ * @is_strictroute - Strict source route
+ * @srr_is_hit - Packet destination addr was our one
+ * @is_changed - IP checksum more not valid
+ * @rr_needaddr - Need to record addr of outgoing dev
+ * @ts_needtime - Need to record timestamp
+ * @ts_needaddr - Need to record addr of outgoing dev
+ */
+struct ip_options {
+       __u32           faddr;
+       unsigned char   optlen;
+       unsigned char   srr;
+       unsigned char   rr;
+       unsigned char   ts;
+       unsigned char   is_setbyuser:1,
+                       is_data:1,
+                       is_strictroute:1,
+                       srr_is_hit:1,
+                       is_changed:1,
+                       rr_needaddr:1,
+                       ts_needtime:1,
+                       ts_needaddr:1;
+       unsigned char   router_alert;
+       unsigned char   __pad1;
+       unsigned char   __pad2;
+       unsigned char   __data[0];
+};
+
+#define optlength(opt) (sizeof(struct ip_options) + opt->optlen)
+
+struct inet_request_sock {
+       struct request_sock     req;
+#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+       u16                     inet6_rsk_offset;
+       /* 2 bytes hole, try to pack */
+#endif
+       u32                     loc_addr;
+       u32                     rmt_addr;
+       u16                     rmt_port;
+       u16                     snd_wscale : 4, 
+                               rcv_wscale : 4, 
+                               tstamp_ok  : 1,
+                               sack_ok    : 1,
+                               wscale_ok  : 1,
+                               ecn_ok     : 1,
+                               acked      : 1;
+       struct ip_options       *opt;
+};
+
+static inline struct inet_request_sock *inet_rsk(const struct request_sock *sk)
+{
+       return (struct inet_request_sock *)sk;
+}
+
+struct ip_mc_socklist;
+struct ipv6_pinfo;
+struct rtable;
+
+/** struct inet_sock - representation of INET sockets
+ *
+ * @sk - ancestor class
+ * @pinet6 - pointer to IPv6 control block
+ * @daddr - Foreign IPv4 addr
+ * @rcv_saddr - Bound local IPv4 addr
+ * @dport - Destination port
+ * @num - Local port
+ * @saddr - Sending source
+ * @uc_ttl - Unicast TTL
+ * @sport - Source port
+ * @id - ID counter for DF pkts
+ * @tos - TOS
+ * @mc_ttl - Multicasting TTL
+ * @is_icsk - is this an inet_connection_sock?
+ * @mc_index - Multicast device index
+ * @mc_list - Group array
+ * @cork - info to build ip hdr on each ip frag while socket is corked
+ */
+struct inet_sock {
+       /* sk and pinet6 has to be the first two members of inet_sock */
+       struct sock             sk;
+#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+       struct ipv6_pinfo       *pinet6;
+#endif
+       /* Socket demultiplex comparisons on incoming packets. */
+       __u32                   daddr;
+       __u32                   rcv_saddr;
+       __u16                   dport;
+       __u16                   num;
+       __u32                   saddr;
+       __s16                   uc_ttl;
+       __u16                   cmsg_flags;
+       struct ip_options       *opt;
+       __u16                   sport;
+       __u16                   id;
+       __u8                    tos;
+       __u8                    mc_ttl;
+       __u8                    pmtudisc;
+       __u8                    recverr:1,
+                               is_icsk:1,
+                               freebind:1,
+                               hdrincl:1,
+                               mc_loop:1;
+       int                     mc_index;
+       __u32                   mc_addr;
+       struct ip_mc_socklist   *mc_list;
+       struct {
+               unsigned int            flags;
+               unsigned int            fragsize;
+               struct ip_options       *opt;
+               struct rtable           *rt;
+               int                     length; /* Total length of all frames */
+               u32                     addr;
+               struct flowi            fl;
+       } cork;
+};
+
+#define IPCORK_OPT     1       /* ip-options has been held in ipcork.opt */
+#define IPCORK_ALLFRAG 2       /* always fragment (for ipv6 for now) */
+
+static inline struct inet_sock *inet_sk(const struct sock *sk)
+{
+       return (struct inet_sock *)sk;
+}
+
+static inline void __inet_sk_copy_descendant(struct sock *sk_to,
+                                            const struct sock *sk_from,
+                                            const int ancestor_size)
+{
+       memcpy(inet_sk(sk_to) + 1, inet_sk(sk_from) + 1,
+              sk_from->sk_prot->obj_size - ancestor_size);
+}
+#if !(defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE))
+static inline void inet_sk_copy_descendant(struct sock *sk_to,
+                                          const struct sock *sk_from)
+{
+       __inet_sk_copy_descendant(sk_to, sk_from, sizeof(struct inet_sock));
+}
+#endif
+
+extern int inet_sk_rebuild_header(struct sock *sk);
+
+static inline unsigned int inet_ehashfn(const __u32 laddr, const __u16 lport,
+                                       const __u32 faddr, const __u16 fport)
+{
+       unsigned int h = (laddr ^ lport) ^ (faddr ^ fport);
+       h ^= h >> 16;
+       h ^= h >> 8;
+       return h;
+}
+
+static inline int inet_sk_ehashfn(const struct sock *sk)
+{
+       const struct inet_sock *inet = inet_sk(sk);
+       const __u32 laddr = inet->rcv_saddr;
+       const __u16 lport = inet->num;
+       const __u32 faddr = inet->daddr;
+       const __u16 fport = inet->dport;
+
+       return inet_ehashfn(laddr, lport, faddr, fport);
+}
+
+#endif /* _INET_SOCK_H */
index e396a65473d7369787ee1d4a105a849c516ce667..1da294c47522a31dce68280c2dd9b677c7c38bac 100644 (file)
 
 #include <linux/config.h>
 
-#include <linux/ip.h>
 #include <linux/list.h>
 #include <linux/module.h>
 #include <linux/timer.h>
 #include <linux/types.h>
 #include <linux/workqueue.h>
 
+#include <net/inet_sock.h>
 #include <net/sock.h>
 #include <net/tcp_states.h>
 #include <net/timewait_sock.h>
index 4d6294ba038efb975d9fb7757323feb6e6eb49c4..f7e7fd728b67049a42f6e6f8a2b82bd4dd7b7c2e 100644 (file)
 
 #include <linux/config.h>
 #include <linux/types.h>
-#include <linux/socket.h>
 #include <linux/ip.h>
 #include <linux/in.h>
-#include <linux/netdevice.h>
-#include <linux/inetdevice.h>
-#include <linux/in_route.h>
-#include <net/route.h>
-#include <net/arp.h>
+
+#include <net/inet_sock.h>
 #include <net/snmp.h>
 
 struct sock;
@@ -75,6 +71,13 @@ extern rwlock_t ip_ra_lock;
 
 #define IP_FRAG_TIME   (30 * HZ)               /* fragment lifetime    */
 
+struct msghdr;
+struct net_device;
+struct packet_type;
+struct rtable;
+struct sk_buff;
+struct sockaddr;
+
 extern void            ip_mc_dropsocket(struct sock *);
 extern void            ip_mc_dropdevice(struct net_device *dev);
 extern int             igmp_mc_proc_init(void);
@@ -184,6 +187,8 @@ extern int sysctl_ip_dynaddr;
 extern void ipfrag_init(void);
 
 #ifdef CONFIG_INET
+#include <net/dst.h>
+
 /* The function in 2.2 was invalid, producing wrong result for
  * check=0xFEFF. It was noticed by Arthur Skawina _year_ ago. --ANK(000625) */
 static inline
index 14de4ebd12113f4b31b05991159428d842cd78cf..e000fa2cd5f62824059afb171439120e573bab74 100644 (file)
@@ -238,6 +238,8 @@ extern int fib_validate_source(u32 src, u32 dst, u8 tos, int oif,
                               struct net_device *dev, u32 *spec_dst, u32 *itag);
 extern void fib_select_multipath(const struct flowi *flp, struct fib_result *res);
 
+struct rtentry;
+
 /* Exported by fib_semantics.c */
 extern int ip_fib_check_default(u32 gw, struct net_device *dev);
 extern int fib_sync_down(u32 local, struct net_device *dev, int force);
index 3b5559a023a4603eff8723ca92eda35c9016eba9..7d2674fde19a87020a225ada56b64a97c118ff44 100644 (file)
@@ -251,16 +251,15 @@ struct ip_vs_daemon_user {
 #include <linux/config.h>
 #include <linux/list.h>                 /* for struct list_head */
 #include <linux/spinlock.h>             /* for struct rwlock_t */
-#include <linux/skbuff.h>               /* for struct sk_buff */
-#include <linux/ip.h>                   /* for struct iphdr */
 #include <asm/atomic.h>                 /* for struct atomic_t */
-#include <linux/netdevice.h>           /* for struct neighbour */
-#include <net/dst.h>                   /* for struct dst_entry */
-#include <net/udp.h>
 #include <linux/compiler.h>
+#include <linux/timer.h>
 
+#include <net/checksum.h>
 
 #ifdef CONFIG_IP_VS_DEBUG
+#include <linux/net.h>
+
 extern int ip_vs_get_debug_level(void);
 #define IP_VS_DBG(level, msg...)                       \
     do {                                               \
@@ -429,8 +428,11 @@ struct ip_vs_stats
        spinlock_t              lock;           /* spin lock */
 };
 
+struct dst_entry;
+struct iphdr;
 struct ip_vs_conn;
 struct ip_vs_app;
+struct sk_buff;
 
 struct ip_vs_protocol {
        struct ip_vs_protocol   *next;
index 11a725662c3628779f5c40bbc1215dc27458c38f..860bbac4c4ee37dd0d3431c120f9ddf5a8fd3746 100644 (file)
@@ -541,6 +541,9 @@ extern int sysctl_ip6frag_secret_interval;
 extern const struct proto_ops inet6_stream_ops;
 extern const struct proto_ops inet6_dgram_ops;
 
+struct group_source_req;
+struct group_filter;
+
 extern int ip6_mc_source(int add, int omode, struct sock *sk,
                         struct group_source_req *pgsr);
 extern int ip6_mc_msfilter(struct sock *sk, struct group_filter *gsf);
index f85d6e4b74426b97f75b472403c6e5c82ca9cdb2..bbac87eeb422603a91377918f0e4b3bd9acc4689 100644 (file)
@@ -35,11 +35,20 @@ enum {
 
 #ifdef __KERNEL__
 
-#include <linux/skbuff.h>
-#include <linux/netdevice.h>
+#include <linux/config.h>
+#include <linux/compiler.h>
 #include <linux/icmpv6.h>
+#include <linux/in6.h>
+#include <linux/types.h>
+
 #include <net/neighbour.h>
-#include <asm/atomic.h>
+
+struct ctl_table;
+struct file;
+struct inet6_dev;
+struct net_device;
+struct net_proto_family;
+struct sk_buff;
 
 extern struct neigh_table nd_tbl;
 
@@ -108,7 +117,7 @@ extern int                  igmp6_event_report(struct sk_buff *skb);
 extern void                    igmp6_cleanup(void);
 
 #ifdef CONFIG_SYSCTL
-extern int                     ndisc_ifinfo_sysctl_change(ctl_table *ctl,
+extern int                     ndisc_ifinfo_sysctl_change(struct ctl_table *ctl,
                                                           int write,
                                                           struct file * filp,
                                                           void __user *buffer,
index 34c07731933db95b38cbb05a4db4ccefde2d6d7e..6fa9ae1907417f2a113c6509ee4031ce169c43e3 100644 (file)
@@ -49,8 +49,8 @@
 #ifdef __KERNEL__
 
 #include <asm/atomic.h>
-#include <linux/skbuff.h>
 #include <linux/netdevice.h>
+#include <linux/skbuff.h>
 #include <linux/rcupdate.h>
 #include <linux/seq_file.h>
 
index bd08964b72c085b76b88d578af328f4efeab9435..b225d8472b7e7536fbf4baa610eeec139ee59a4e 100644 (file)
@@ -15,7 +15,6 @@
 #include <linux/in.h>
 #include <linux/errno.h>
 #include <linux/interrupt.h>
-#include <linux/netdevice.h>
 #include <linux/skbuff.h>
 #include <linux/rtnetlink.h>
 #include <linux/module.h>
index f47917469b12121c9b3d770514f474ae5bf7a9d7..e67b28a0248c3ce5c8c831634a475ae9017eeafc 100644 (file)
@@ -19,6 +19,8 @@
 
 #include <linux/config.h>
 
+#include <net/protocol.h>
+
 extern struct proto raw_prot;
 
 extern void    raw_err(struct sock *, struct sk_buff *, u32 info);
index 107b9d791a1f1d31fc478bc31b7fedbe25c2ba22..766fba1369ce5a45262d78521a63e59980c1f832 100644 (file)
@@ -22,9 +22,8 @@
 #ifndef _UDP_H
 #define _UDP_H
 
-#include <linux/udp.h>
-#include <linux/ip.h>
 #include <linux/list.h>
+#include <net/inet_sock.h>
 #include <net/sock.h>
 #include <net/snmp.h>
 #include <linux/seq_file.h>
@@ -62,6 +61,7 @@ static inline int udp_lport_inuse(u16 num)
 
 extern struct proto udp_prot;
 
+struct sk_buff;
 
 extern void    udp_err(struct sk_buff *, u32);
 
index 487abca3ca6fd1e04a625a58cd054331005d2557..07d7b50cdd76fc9ed52d1f98609898703e807161 100644 (file)
@@ -2,11 +2,12 @@
 #define _NET_XFRM_H
 
 #include <linux/compiler.h>
+#include <linux/in.h>
 #include <linux/xfrm.h>
 #include <linux/spinlock.h>
 #include <linux/list.h>
 #include <linux/skbuff.h>
-#include <linux/netdevice.h>
+#include <linux/socket.h>
 #include <linux/crypto.h>
 #include <linux/pfkeyv2.h>
 #include <linux/in6.h>
index 23422bd53a5e04192d9f452ed3bd36cd0f54ac71..223f8270daeef94bb139f7c8df6d2efa99c41a77 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/ip.h>
 #include <linux/netdevice.h>
 #include <linux/skbuff.h>
+#include <linux/if_arp.h>
 #include <linux/if_ether.h>
 #include <linux/if_vlan.h>
 #include <linux/netfilter_bridge.h>
 #include <linux/netfilter_ipv6.h>
 #include <linux/netfilter_arp.h>
 #include <linux/in_route.h>
+
 #include <net/ip.h>
 #include <net/ipv6.h>
+#include <net/route.h>
+
 #include <asm/uaccess.h>
 #include <asm/checksum.h>
 #include "br_private.h"
index c436e6c6242b1f78f7de9823dbeebf9ada7ce4f5..9f6e0193ae100cef83b4952b7a3fc20c70b7a1ae 100644 (file)
@@ -9,6 +9,7 @@
  *
  */
 
+#include <linux/in.h>
 #include <linux/netfilter_bridge/ebtables.h>
 #include <linux/netfilter_bridge/ebt_log.h>
 #include <linux/netfilter.h>
index 49424a42a2c0385b2924510a11ff89dfdfcfcf2f..281a632fa6a6eaf37085797076177f394b55327a 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
 #include <linux/string.h>
+#include <linux/if_arp.h>
 #include <linux/inetdevice.h>
 #include <linux/inet.h>
 #include <linux/interrupt.h>
index c37eeeaf5c6e21982c341391d8d8db1a9929bdb9..de681c6ad081307c8fd1069eb6c370b4854177cd 100644 (file)
@@ -21,6 +21,8 @@
 
 #define CCID_MAX 255
 
+struct tcp_info;
+
 struct ccid {
        unsigned char   ccid_id;
        const char      *ccid_name;
index 99e8afa7ba1ec9e80c9c3b692300e5badc526d57..3f244670764ae94fad1826439a748f860d1b808c 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <net/icmp.h>
 #include <net/inet_hashtables.h>
+#include <net/inet_sock.h>
 #include <net/sock.h>
 #include <net/timewait_sock.h>
 #include <net/tcp_states.h>
index 2e194c8f9953541d0af875190fa51262237e63e0..c609dc78f4871382ac582949497cdeef3b5cc312 100644 (file)
@@ -20,6 +20,7 @@
 #include <net/addrconf.h>
 #include <net/inet_common.h>
 #include <net/inet_hashtables.h>
+#include <net/inet_sock.h>
 #include <net/inet6_connection_sock.h>
 #include <net/inet6_hashtables.h>
 #include <net/ip6_route.h>
index 95a3c2c6a3ce726fe4a1c7c8354ceebe265e8e93..efd7ffb903a149a46d38d57e691b20bfba416c67 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/kernel.h>
 #include <linux/skbuff.h>
 
+#include <net/inet_sock.h>
 #include <net/sock.h>
 
 #include "ackvec.h"
index e4e629ed9bf72e78c2c82edd343f232e3a0900bd..65b11ea90d858818db105a4855b2a285aacf7ab2 100644 (file)
@@ -24,7 +24,7 @@
 #include <net/checksum.h>
 
 #include <net/inet_common.h>
-#include <net/ip.h>
+#include <net/inet_sock.h>
 #include <net/protocol.h>
 #include <net/sock.h>
 #include <net/xfrm.h>
@@ -34,7 +34,6 @@
 #include <linux/timer.h>
 #include <linux/delay.h>
 #include <linux/poll.h>
-#include <linux/dccp.h>
 
 #include "ccid.h"
 #include "dccp.h"
index ff58f49c8b4aee0e61be4726e5bfcf7ce8b54a69..70fb2b88da652f9b8b48894deafb46771c183ab4 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/if_arp.h>
 #include <linux/wireless.h>
 #include <linux/skbuff.h>
+#include <linux/udp.h>
 #include <net/sock.h>
 #include <net/inet_common.h>
 #include <linux/stat.h>
index 4ed8a814c6cbc73214897bae499ab0949651d4d8..36a6306ca5a3a690bfafe5f8e27f284bb7c6b967 100644 (file)
@@ -93,6 +93,7 @@
 #include <linux/smp_lock.h>
 #include <linux/inet.h>
 #include <linux/igmp.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <net/ip.h>
 #include <net/protocol.h>
index 035ad2c9e1bad3cdc9fd1382004bfcca2da966eb..aed537fa2c88507440c68daf87076c6a56332cb6 100644 (file)
@@ -6,6 +6,7 @@
 #include <linux/crypto.h>
 #include <linux/pfkeyv2.h>
 #include <net/icmp.h>
+#include <net/protocol.h>
 #include <asm/scatterlist.h>
 
 
index b425748f02d7cbc1a088fcfb4bcecb1e68fc34cf..37432088fe6d3d97c353d6491d31e6bd404d7862 100644 (file)
@@ -86,6 +86,7 @@
 #include <linux/in.h>
 #include <linux/mm.h>
 #include <linux/inet.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
 #include <linux/fddidevice.h>
index 04a6fe3e95a2629c3421b8a247672c330a4c3346..7b9bb28e2ee9587a7c287f616f36f93d80b2b7cb 100644 (file)
@@ -58,6 +58,7 @@
 #endif
 #include <linux/kmod.h>
 
+#include <net/arp.h>
 #include <net/ip.h>
 #include <net/route.h>
 #include <net/ip_fib.h>
index 1b18ce66e7b7ac1781c8c334c9f44d3dbac017a2..73bfcae8af9c367b3d88ffdf9f8e14afa476e927 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/pfkeyv2.h>
 #include <linux/random.h>
 #include <net/icmp.h>
+#include <net/protocol.h>
 #include <net/udp.h>
 
 /* decapsulation data for use when post-processing */
index 19b1b984d68743cd22d935421cbbe44b6360b5fc..18f5e509281a29f2b52e296a7622bc7d934c45c9 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/errno.h>
 #include <linux/in.h>
 #include <linux/inet.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <linux/if_arp.h>
 #include <linux/skbuff.h>
index 7ea0209cb1697ddd50bbf5a98b4cf8f89a5d484a..e2890ec8159ec39edabd8e9d463c20aa88defdaa 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/errno.h>
 #include <linux/in.h>
 #include <linux/inet.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <linux/if_arp.h>
 #include <linux/proc_fs.h>
index 0b298bbc1518139d4dec18e6a8ebed9eb99a020e..0dd4d06e456d7e3d56ee44482db85e882ff2e1c7 100644 (file)
@@ -33,6 +33,7 @@
 #include <linux/errno.h>
 #include <linux/in.h>
 #include <linux/inet.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <linux/if_arp.h>
 #include <linux/proc_fs.h>
index 6d2a6ac070e35d035a7401ca89cc8f8b53449743..ef4724de7350ad3ccf613b19a55afe4c662b0ab7 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/errno.h>
 #include <linux/in.h>
 #include <linux/inet.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <linux/if_arp.h>
 #include <linux/proc_fs.h>
@@ -36,6 +37,7 @@
 #include <linux/netlink.h>
 #include <linux/init.h>
 
+#include <net/arp.h>
 #include <net/ip.h>
 #include <net/protocol.h>
 #include <net/route.h>
index 92e23b2ad4d211c810341bc74389bc9ce32381cb..be5a519cd2f8737c12659dbd2b76ee480a11eb68 100644 (file)
@@ -73,6 +73,7 @@
 #include <linux/socket.h>
 #include <linux/in.h>
 #include <linux/inet.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <linux/string.h>
 #include <linux/netfilter_ipv4.h>
index 4a195c724f012df7b4c1e036a310b71747f34362..34758118c10ca4a791ab80764b003bec60f50707 100644 (file)
@@ -91,6 +91,8 @@
 #include <linux/if_arp.h>
 #include <linux/rtnetlink.h>
 #include <linux/times.h>
+
+#include <net/arp.h>
 #include <net/ip.h>
 #include <net/protocol.h>
 #include <net/route.h>
index 473d0f2b2e0d6b5a4252f7c825ea870a2afc2c91..e45846ae570bba9c3b3da568e5e8b7e46598e7f3 100644 (file)
 #include <linux/sockios.h>
 #include <linux/in.h>
 #include <linux/inet.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
 
index dbe12da8d8b3960fe7dc796de97eae2546e1528d..d3f6c468faf43ac20e4a8e56e1d5325ca96f14e0 100644 (file)
@@ -22,6 +22,7 @@
 #include <net/sock.h>
 #include <net/ip.h>
 #include <net/icmp.h>
+#include <net/route.h>
 
 /* 
  * Write options to IP header, record destination address to
index add019c746f8ba4c64ab163be7c380f6606dfb39..6986e11d65cca0fb6f94383076e902ac8eb23a78 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/skbuff.h>
 #include <linux/ip.h>
 #include <linux/icmp.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <net/sock.h>
 #include <net/ip.h>
index fc718df17b40d9b1a0719d39798331cf30a2fca3..d64e2ec8da7b454f0bd6bc273c9b4fde707fcb9e 100644 (file)
@@ -28,6 +28,7 @@
 #include <net/xfrm.h>
 #include <net/icmp.h>
 #include <net/ipcomp.h>
+#include <net/protocol.h>
 
 struct ipcomp_tfms {
        struct list_head list;
index e8674baaa8d99034ee0d56a7fdbdfc66d205abf6..bb3613ec448c59438158fbf72c95116810fbd659 100644 (file)
@@ -42,6 +42,7 @@
 #include <linux/in.h>
 #include <linux/if.h>
 #include <linux/inet.h>
+#include <linux/inetdevice.h>
 #include <linux/netdevice.h>
 #include <linux/if_arp.h>
 #include <linux/skbuff.h>
@@ -58,6 +59,7 @@
 #include <net/arp.h>
 #include <net/ip.h>
 #include <net/ipconfig.h>
+#include <net/route.h>
 
 #include <asm/uaccess.h>
 #include <net/checksum.h>
index 302b7eb507c97ebae6365f6b99122650174e95b5..caa3b7d2e48a04db0b05b08c0df3e357f8cb7386 100644 (file)
@@ -52,6 +52,7 @@
 #include <net/ip.h>
 #include <net/protocol.h>
 #include <linux/skbuff.h>
+#include <net/route.h>
 #include <net/sock.h>
 #include <net/icmp.h>
 #include <net/udp.h>
index 2a3a8c59c6551f087e73d4007963055969fe8f7c..d35cea31cb55fa5bef4340ff02fde9ac82fa32db 100644 (file)
@@ -24,7 +24,9 @@
  *
  */
 
+#include <linux/in.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/vmalloc.h>
 #include <linux/proc_fs.h>             /* for proc_net_* */
 #include <linux/seq_file.h>
index 9bdcf31b760eee5a35a0cba61c69f734b056f02c..fe2c39d2a002feeb575eeb9e2f66031993803bcb 100644 (file)
@@ -35,6 +35,7 @@
 #include <linux/netfilter_ipv4.h>
 
 #include <net/ip.h>
+#include <net/route.h>
 #include <net/sock.h>
 
 #include <asm/uaccess.h>
index f3bc320dce93a66e5902f4032d2ee05cf2a1f41f..9fee19c4c6179958f5ea5eb39c4a550e67b314ee 100644 (file)
  *
  */
 
+#include <linux/ip.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
+#include <linux/skbuff.h>
 
 #include <net/ip_vs.h>
 
index 67b3e2fc1fa142afb5e0cfcf0e77480fd8caf09b..e7004741ac73ca0bd3b661c436e2de54b03a380d 100644 (file)
  * Changes:
  *
  */
+#include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/jiffies.h>
+#include <linux/slab.h>
 #include <linux/types.h>
 
 #include <net/ip_vs.h>
index b6dad7e3710c2cafae76e1360770414ffeb44f3d..6e5cb92a5c83b114d4751093f13e6691c323a15f 100644 (file)
  * me to write this module.
  */
 
+#include <linux/ip.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
+#include <linux/skbuff.h>
 
 /* for sysctl */
 #include <linux/fs.h>
index 8c78ef76c121cc9ee9f7bfe9fa00549070686430..32ba37ba72d855cadbd92979df7edf1734f388ca 100644 (file)
  *
  */
 
+#include <linux/ip.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
+#include <linux/skbuff.h>
 
 /* for sysctl */
 #include <linux/fs.h>
index 453e94a0bbd7330cb58d26dcb607260751d46770..8b0505b093170af4839c0bba98d115b552772d0a 100644 (file)
@@ -12,6 +12,8 @@
  *
  */
 
+#include <linux/in.h>
+#include <linux/ip.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/netfilter.h>
index 478e5c7c7e8e1801fb010ebf7055c10c709434c0..c36ccf057a19fe53942de7a387b7c328fcd24664 100644 (file)
@@ -12,6 +12,8 @@
  *
  */
 
+#include <linux/in.h>
+#include <linux/ip.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/netfilter.h>
index 8ae5f2e0aefa259ba17a5de3540aed4738ec0178..89d9175d8f288360463fde69a0248acc763abba4 100644 (file)
  *
  */
 
+#include <linux/in.h>
+#include <linux/ip.h>
 #include <linux/kernel.h>
 #include <linux/netfilter_ipv4.h>
+#include <linux/udp.h>
 
 #include <net/ip_vs.h>
 
index 6f7c50e44a39c8ff602bfcb30c0ac7c3245f6635..7775e6cc68be3a4597dc94b4d5ab0fc5e928a614 100644 (file)
  *
  */
 
+#include <linux/ip.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
+#include <linux/skbuff.h>
 
 #include <net/ip_vs.h>
 
index 2e5ced3d80622b77577826da486e721da6bed560..1bca714bda3d63c244afea44b39a9d26bb0814a9 100644 (file)
 
 #include <linux/module.h>
 #include <linux/slab.h>
+#include <linux/inetdevice.h>
 #include <linux/net.h>
 #include <linux/completion.h>
 #include <linux/delay.h>
 #include <linux/skbuff.h>
 #include <linux/in.h>
 #include <linux/igmp.h>                 /* for ip_mc_join_group */
+#include <linux/udp.h>
 
 #include <net/ip.h>
 #include <net/sock.h>
index e52847fa10f5d5ca61bf46107ae5212c25f541cc..0366eedb4d7056ce322098129894201798b1e76e 100644 (file)
  *
  */
 
+#include <linux/in.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/netfilter.h>
 #include <linux/ip.h>
 #include <linux/moduleparam.h>
+#include <linux/udp.h>
 #include <net/checksum.h>
 #include <net/udp.h>
 
index 744abb9d377a4399463261d759f5f7e83acae2dd..57956dee60c8d354861debd7c1e8f75c97e59e52 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/ip.h>
 #include <linux/in.h>
 #include <linux/list.h>
+#include <linux/seq_file.h>
 
 static DEFINE_RWLOCK(ip_ct_gre_lock);
 #define ASSERT_READ_LOCK(x)
index f2dcac7c76607830e28c092494238b9ea548e2ae..46becbe4fe58d5474fda87efbc0635f3c2cbee4a 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/timer.h>
 #include <linux/netfilter.h>
 #include <linux/in.h>
+#include <linux/ip.h>
 #include <linux/udp.h>
 #include <linux/seq_file.h>
 #include <net/checksum.h>
index dd476b191f4b5c135802839a840aa6bb34f88ed6..a88bcc551244129ae5df46681374c47f9d07b106 100644 (file)
@@ -27,6 +27,7 @@
 #endif
 #include <net/checksum.h>
 #include <net/ip.h>
+#include <net/route.h>
 
 #define ASSERT_READ_LOCK(x)
 #define ASSERT_WRITE_LOCK(x)
index 8acb7ed40b47f7c5e25adae81f774601ffaa15ba..4f95d477805c051628ac2ee2fdf440d37f0b6e1c 100644 (file)
@@ -44,6 +44,7 @@
  *
  */
 #include <linux/config.h>
+#include <linux/in.h>
 #include <linux/module.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
@@ -53,6 +54,7 @@
 #include <linux/netfilter_ipv4/ip_conntrack_helper.h>
 #include <linux/netfilter_ipv4/ip_nat_helper.h>
 #include <linux/ip.h>
+#include <linux/udp.h>
 #include <net/checksum.h>
 #include <net/udp.h>
 #include <asm/uaccess.h>
index 275a174c6fe69c56bf2296cb33323d910a34c49e..27860510ca6dacb4464f65352b5f4e9c917c9921 100644 (file)
@@ -11,6 +11,7 @@
 
 #include <linux/config.h>
 #include <linux/types.h>
+#include <linux/inetdevice.h>
 #include <linux/ip.h>
 #include <linux/timer.h>
 #include <linux/module.h>
@@ -18,6 +19,7 @@
 #include <net/protocol.h>
 #include <net/ip.h>
 #include <net/checksum.h>
+#include <net/route.h>
 #include <linux/netfilter_ipv4.h>
 #include <linux/netfilter_ipv4/ip_nat_rule.h>
 #include <linux/netfilter_ipv4/ip_tables.h>
index 1a53924041fce975327d0f12b3b90d99d53cfb07..03f554857a4d935fdda0398af1f92d12db0e98f3 100644 (file)
@@ -9,6 +9,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/netdevice.h>
 #include <linux/skbuff.h>
 #include <linux/netfilter_ipv4/ipt_physdev.h>
 #include <linux/netfilter_ipv4/ip_tables.h>
index 0d7dc668db46f53ae7cd4430c047233c00ae950e..39d49dc333a7f0dc47e1bbd1f8d7a7c02c3f2cfb 100644 (file)
@@ -38,6 +38,7 @@
 #include <net/protocol.h>
 #include <net/tcp.h>
 #include <net/udp.h>
+#include <linux/inetdevice.h>
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <net/sock.h>
index dbf82955aabec4e494371a4d464d0571907f3800..16984d4a8a065b26a48d51a5bd08c80781d2f21a 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/sysctl.h>
 #include <linux/config.h>
 #include <linux/igmp.h>
+#include <linux/inetdevice.h>
 #include <net/snmp.h>
 #include <net/icmp.h>
 #include <net/ip.h>
index 67c036384e77e967b54951566372db140ea4f7f2..223abaa72bc53b24b0e39356582cacf86c18e988 100644 (file)
@@ -86,6 +86,7 @@
 #include <linux/module.h>
 #include <linux/socket.h>
 #include <linux/sockios.h>
+#include <linux/igmp.h>
 #include <linux/in.h>
 #include <linux/errno.h>
 #include <linux/timer.h>
index f3629730eb157950c9adc0caec507d1a28379e15..13cc7f89558373994ef23d8cf3dd2d09884c003a 100644 (file)
@@ -33,6 +33,7 @@
 #include <linux/string.h>
 #include <net/icmp.h>
 #include <net/ipv6.h>
+#include <net/protocol.h>
 #include <net/xfrm.h>
 #include <asm/scatterlist.h>
 
index 8bfbe9970793cba6ed493d103d37627517dec2bd..6de8ee1a5ad9ec85227d9527b9b1374ca73e8952 100644 (file)
@@ -36,6 +36,7 @@
 #include <linux/random.h>
 #include <net/icmp.h>
 #include <net/ipv6.h>
+#include <net/protocol.h>
 #include <linux/icmpv6.h>
 
 static int esp6_output(struct xfrm_state *x, struct sk_buff *skb)
index 55917fb170949cfdcd5dd427dc8baf7201c14a17..626dd39685f2c43675871206fb1d7d360b273359 100644 (file)
@@ -47,6 +47,7 @@
 #include <linux/rtnetlink.h>
 #include <net/icmp.h>
 #include <net/ipv6.h>
+#include <net/protocol.h>
 #include <linux/ipv6.h>
 #include <linux/icmpv6.h>
 
index dd80020d874035cfbcd058e035d5641b018d2fe2..ea43ef1d94a75de4f9278c00b2c5347cd28b6399 100644 (file)
@@ -15,6 +15,7 @@
  *      - new extension header parser code
  */
 #include <linux/config.h>
+#include <linux/in.h>
 #include <linux/skbuff.h>
 #include <linux/kmod.h>
 #include <linux/vmalloc.h>
index 0cd1d1bd9033ced7e87f26ef5193983e24951159..ae4653bfd65462fe31340bf6cf46324d8cf93385 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/skbuff.h>
+#include <linux/if_arp.h>
 #include <linux/ip.h>
 #include <linux/spinlock.h>
 #include <linux/icmpv6.h>
index dde37793d20b00a2a7dbad7cc374873c43032f5e..268918d5deea174ec27d03e3d96d4d5ea2288a92 100644 (file)
@@ -9,6 +9,7 @@
 
 #include <linux/module.h>
 #include <linux/skbuff.h>
+#include <linux/ip.h>
 #include <linux/ipv6.h>
 #include <linux/types.h>
 #include <net/checksum.h>
index 24bc0cde43a174d4090d4b6d5897c68246e5c966..65937de1b58c5af723a4732e9ee11eb4b611c849 100644 (file)
@@ -9,6 +9,7 @@
 
 #include <linux/module.h>
 #include <linux/skbuff.h>
+#include <linux/ip.h>
 #include <linux/ipv6.h>
 #include <linux/types.h>
 #include <net/checksum.h>
index 6cf0342706b5bd489b305085dee76e81d3ce0648..c4a2a8c4c339b38c75d4c67caf10fbcc6ac5d8ca 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/in.h>
 #include <linux/errno.h>
 #include <linux/interrupt.h>
+#include <linux/if_arp.h>
 #include <linux/if_ether.h>
 #include <linux/inet.h>
 #include <linux/netdevice.h>
index d1b0747a5b9daa863df196cb3a3136fe0e1db276..de693b43c8eae08c18db0cbd2adf357a218e8eb3 100644 (file)
@@ -54,6 +54,7 @@
 #include <net/protocol.h>
 #include <net/ip.h>
 #include <net/ipv6.h>
+#include <net/route.h>
 #include <net/sctp/sctp.h>
 #include <net/addrconf.h>
 #include <net/inet_common.h>