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
283283 LINUX_MIB_TCPACKCOMPRESSED, /* TCPAckCompressed */
284284 LINUX_MIB_TCPZEROWINDOWDROP, /* TCPZeroWindowDrop */
285285 LINUX_MIB_TCPRCVQDROP, /* TCPRcvQDrop */
286+ LINUX_MIB_TCPFASTOPENPASSIVEALTKEY, /* TCPFastOpenPassiveAltKey */
286287 __LINUX_MIB_MAX
287288 };
288289