tcp: consolidate paws check
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Sat, 14 Mar 2009 14:23:03 +0000 (14:23 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Mar 2009 03:09:52 +0000 (20:09 -0700)
commitc887e6d2d9aee56ee7c9f2af4cec3a5efdcc4c72
treeee267baadce309166ceea5649292f221cd9a6766
parentc43d558a5139a3b22dcac3f19f64ecb39130b02e
tcp: consolidate paws check

Wow, it was quite tricky to merge that stream of negations
but I think I finally got it right:

check & replace_ts_recent:
(s32)(rcv_tsval - ts_recent) >= 0                  => 0
(s32)(ts_recent - rcv_tsval) <= 0                  => 0

discard:
(s32)(ts_recent - rcv_tsval)  > TCP_PAWS_WINDOW    => 1
(s32)(ts_recent - rcv_tsval) <= TCP_PAWS_WINDOW    => 0

I toggled the return values of tcp_paws_check around since
the old encoding added yet-another negation making tracking
of truth-values really complicated.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/tcp_input.c
net/ipv4/tcp_minisocks.c