aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorGlenn Griffin <ggriffin.kernel@gmail.com>2008-02-08 00:49:26 -0500
committerYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2008-03-04 01:18:21 -0500
commitc6aefafb7ec620911d46174eed514f9df639e5a4 (patch)
tree626e3d47a7bb31f586935c480bed09f342f2fbca /include/net
parent11baab7ac34723ad481e0f97fca733272ef364d4 (diff)
[TCP]: Add IPv6 support to TCP SYN cookies
Updated to incorporate Eric's suggestion of using a per cpu buffer rather than allocating on the stack. Just a two line change, but will resend in it's entirety. Signed-off-by: Glenn Griffin <ggriffin.kernel@gmail.com> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/tcp.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index ae9774b478f5..11119e33acfe 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -29,6 +29,7 @@
29#include <linux/skbuff.h> 29#include <linux/skbuff.h>
30#include <linux/dmaengine.h> 30#include <linux/dmaengine.h>
31#include <linux/crypto.h> 31#include <linux/crypto.h>
32#include <linux/cryptohash.h>
32 33
33#include <net/inet_connection_sock.h> 34#include <net/inet_connection_sock.h>
34#include <net/inet_timewait_sock.h> 35#include <net/inet_timewait_sock.h>
@@ -434,11 +435,17 @@ extern int tcp_disconnect(struct sock *sk, int flags);
434extern void tcp_unhash(struct sock *sk); 435extern void tcp_unhash(struct sock *sk);
435 436
436/* From syncookies.c */ 437/* From syncookies.c */
438extern __u32 syncookie_secret[2][16-3+SHA_DIGEST_WORDS];
437extern struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, 439extern struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,
438 struct ip_options *opt); 440 struct ip_options *opt);
439extern __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb, 441extern __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb,
440 __u16 *mss); 442 __u16 *mss);
441 443
444/* From net/ipv6/syncookies.c */
445extern struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb);
446extern __u32 cookie_v6_init_sequence(struct sock *sk, struct sk_buff *skb,
447 __u16 *mss);
448
442/* tcp_output.c */ 449/* tcp_output.c */
443 450
444extern void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss, 451extern void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss,
@@ -1332,6 +1339,7 @@ extern int tcp_proc_register(struct tcp_seq_afinfo *afinfo);
1332extern void tcp_proc_unregister(struct tcp_seq_afinfo *afinfo); 1339extern void tcp_proc_unregister(struct tcp_seq_afinfo *afinfo);
1333 1340
1334extern struct request_sock_ops tcp_request_sock_ops; 1341extern struct request_sock_ops tcp_request_sock_ops;
1342extern struct request_sock_ops tcp6_request_sock_ops;
1335 1343
1336extern int tcp_v4_destroy_sock(struct sock *sk); 1344extern int tcp_v4_destroy_sock(struct sock *sk);
1337 1345