diff options
author | Glenn Griffin <ggriffin.kernel@gmail.com> | 2008-02-08 00:49:26 -0500 |
---|---|---|
committer | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-03-04 01:18:21 -0500 |
commit | c6aefafb7ec620911d46174eed514f9df639e5a4 (patch) | |
tree | 626e3d47a7bb31f586935c480bed09f342f2fbca /include/net/tcp.h | |
parent | 11baab7ac34723ad481e0f97fca733272ef364d4 (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/tcp.h')
-rw-r--r-- | include/net/tcp.h | 8 |
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); | |||
434 | extern void tcp_unhash(struct sock *sk); | 435 | extern void tcp_unhash(struct sock *sk); |
435 | 436 | ||
436 | /* From syncookies.c */ | 437 | /* From syncookies.c */ |
438 | extern __u32 syncookie_secret[2][16-3+SHA_DIGEST_WORDS]; | ||
437 | extern struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, | 439 | extern struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, |
438 | struct ip_options *opt); | 440 | struct ip_options *opt); |
439 | extern __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb, | 441 | extern __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 */ | ||
445 | extern struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb); | ||
446 | extern __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 | ||
444 | extern void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss, | 451 | extern 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); | |||
1332 | extern void tcp_proc_unregister(struct tcp_seq_afinfo *afinfo); | 1339 | extern void tcp_proc_unregister(struct tcp_seq_afinfo *afinfo); |
1333 | 1340 | ||
1334 | extern struct request_sock_ops tcp_request_sock_ops; | 1341 | extern struct request_sock_ops tcp_request_sock_ops; |
1342 | extern struct request_sock_ops tcp6_request_sock_ops; | ||
1335 | 1343 | ||
1336 | extern int tcp_v4_destroy_sock(struct sock *sk); | 1344 | extern int tcp_v4_destroy_sock(struct sock *sk); |
1337 | 1345 | ||