Linux Kernel
3.7.1
|
#include <tcp.h>
Data Fields | |
struct kref | kref |
u8 | cookie_pair [TCP_COOKIE_PAIR_SIZE] |
u8 | cookie_pair_size |
u8 | cookie_desired |
u16 | s_data_desired:11 |
u16 | s_data_constant:1 |
u16 | s_data_in:1 |
u16 | s_data_out:1 |
u16 | s_data_unused:2 |
u8 | s_data_payload [0] |
struct tcp_cookie_values - each socket needs extra space for the cookies, together with (optional) space for any SYN data.
A tcp_sock contains a pointer to the current value, and this is cloned to the tcp_timewait_sock.
: variable data from the option exchange.
: user specified tcpct_cookie_desired. Zero indicates default (sysctl_tcp_cookie_size). After cookie sent, remembers size of cookie. Range 0, TCP_COOKIE_MIN to TCP_COOKIE_MAX.
: user specified tcpct_s_data_desired. When the constant payload is specified (), holds its length instead. Range 0 to TCP_MSS_DESIRED.
: constant data that is to be included in the payload of SYN or SYNACK segments when the cookie option is present.
u8 cookie_pair[TCP_COOKIE_PAIR_SIZE] |