History

tcp: add backup TFO key infrastructure

We would like to be able to rotate TFO keys while minimizing the number of client cookies that are rejected. Currently, we have only one key which can be used to generate and validate cookies, thus if we simply replace this key clients can easily have cookies rejected upon rotation. We propose having the ability to have both a primary key and a backup key. The primary key is used to generate as well as to validate cookies. The backup is only used to validate cookies. Thus, keys can be rotated as: 1) generate new key 2) add new key as the backup key 3) swap the primary and backup key, thus setting the new key as the primary We don't simply set the new key as the primary key and move the old key to the backup slot because the ip may be behind a load balancer and we further allow for the fact that all machines behind the load balancer will not be updated simultaneously. We make use of this infrastructure in subsequent patches.

Jason Baron committed 7 years ago

Commit 9092a761 parent 483642e6 files · +162 −58Browse files

Showing the changes to include/uapi/linux (1 of 6 files). Show all

Unified · Split

include/uapi/linux/snmp.h+1−0
@@ -283,6 +283,7 @@ enum · 282 unmodified lines
283 LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */283 LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */
284 LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */284 LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */
285 LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */285 LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */
286 LINUX_MIB_TCPFASTOPENPASSIVEALTKEY, /* TCPFastOpenPassiveAltKey */
286 __LINUX_MIB_MAX287 __LINUX_MIB_MAX
287};288};
288 289