summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@ghostprotocols.net>2005-08-10 05:11:41 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2005-08-30 00:49:24 +0200
commit0a5578cf8e5e045aaa68643c17ce885426697c6b (patch)
tree1c58ba5c3236499ec5abeedcc43faa7bed816b07 /include/net
parent[ICSK]: Introduce inet_csk_clone (diff)
downloadlinux-0a5578cf8e5e045aaa68643c17ce885426697c6b.tar.xz
linux-0a5578cf8e5e045aaa68643c17ce885426697c6b.zip
[ICSK]: Generalise tcp_listen_{start,stop}
This also moved inet_iif from tcp to inet_hashtables.h, as it is needed by the inet_lookup callers, perhaps this needs a bit of polishing, but for now seems fine. Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/inet_hashtables.h6
-rw-r--r--include/net/sock.h1
-rw-r--r--include/net/tcp.h4
3 files changed, 9 insertions, 2 deletions
diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h
index f0c21c07f894..646b6ea7fe26 100644
--- a/include/net/inet_hashtables.h
+++ b/include/net/inet_hashtables.h
@@ -26,6 +26,7 @@
#include <linux/wait.h>
#include <net/inet_connection_sock.h>
+#include <net/route.h>
#include <net/sock.h>
#include <net/tcp_states.h>
@@ -280,6 +281,11 @@ out:
wake_up(&hashinfo->lhash_wait);
}
+static inline int inet_iif(const struct sk_buff *skb)
+{
+ return ((struct rtable *)skb->dst)->rt_iif;
+}
+
extern struct sock *__inet_lookup_listener(const struct hlist_head *head,
const u32 daddr,
const unsigned short hnum,
diff --git a/include/net/sock.h b/include/net/sock.h
index 48cc337a6566..8678313a22b4 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -558,6 +558,7 @@ struct proto {
kmem_cache_t *twsk_slab;
unsigned int twsk_obj_size;
+ atomic_t *orphan_count;
struct request_sock_ops *rsk_prot;
diff --git a/include/net/tcp.h b/include/net/tcp.h
index dd9a5a288f88..68f1ec1c583a 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -860,7 +860,7 @@ static __inline__ void tcp_update_wl(struct tcp_sock *tp, u32 ack, u32 seq)
tp->snd_wl1 = seq;
}
-extern void tcp_destroy_sock(struct sock *sk);
+extern void inet_csk_destroy_sock(struct sock *sk);
/*
@@ -987,7 +987,7 @@ static __inline__ void tcp_done(struct sock *sk)
if (!sock_flag(sk, SOCK_DEAD))
sk->sk_state_change(sk);
else
- tcp_destroy_sock(sk);
+ inet_csk_destroy_sock(sk);
}
static __inline__ void tcp_sack_reset(struct tcp_options_received *rx_opt)