Define sysctl (tcp_cookie_size) to turn on and off the cookie option default globally, instead of a compiled configuration option. Define per socket option (TCP_COOKIE_TRANSACTIONS) for setting constant data values, retrieving variable cookie values, and other facilities. Redefine two TCP header functions to accept TCP header pointer. When subtracting, return signed int to allow error checking. Move inline tcp_clear_options() unchanged from net/tcp.h to linux/tcp.h, near its corresponding struct tcp_options_received (prior to changes). This is a straightforward re-implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley). The patch was previously reviewed: http://thread.gmane.org/gmane.linux.network/102586 These functions will also be used in subsequent patches that implement additional features. Signed-off-by: William.Allen.Simpson@gmail.com --- Documentation/networking/ip-sysctl.txt | 8 +++++ include/linux/tcp.h | 47 +++++++++++++++++++++++++++++++- include/net/tcp.h | 6 +--- net/ipv4/sysctl_net_ipv4.c | 8 +++++ net/ipv4/tcp_output.c | 8 +++++ 5 files changed, 71 insertions(+), 6 deletions(-)