(Trying to think about something OTHER than hashing!)
The recent message about something in conntrack that does not have to be atomic reminds me of a question. I'm about to implement something that cannot afford to lose track of connections. Is conntrack now suitable for such a thing? If not, is the reason well understood and easy to fix? Or should I just start from scratch? It seems to me that nat already has this character, but maybe the nat tables data is sufficiently independent of conntrack so that you can afford to lose conntrack data as long as you don't lose nat data? In that case, perhaps I can do the same sort of thing. Also, I thought that recent changes to conntrack tcp did window checking, and window scaling can't be recovered from the middle of a tcp connection. So is connection pickup just never supposed to happen? Or under the circumstances where it does any good all sorts of other things will break?