Eric Dumazet wrote:
I am a bit unsure why we need to add yet another field in TCP timewait
structure, since :
1) flowlabel can vary during a TCP flow lifetime.
2) flowlabel is different unde synflood (each syncookie gets a random
flowlabel), and if 3rd packet comes back from the client to finish 3WHS,
the flowlabel will again be different from the one that SYNACK used.
Actually, there is already a field for flowlabel in TCP timewait
structure (see commit 1d13a96c74). At least for "stateful" flow labels
(set with setsockopt(), and not randomly generated by kernel), it should
work (if not, this is a regression).
The solution is perhaps to store the random generated value in the same
place than standard flowlabels, instead to store the hash.