ipvs: replace the SCTP state machine
authorJulian Anastasov <ja@ssi.bg>
Tue, 18 Jun 2013 07:08:07 +0000 (10:08 +0300)
committerSimon Horman <horms@verge.net.au>
Wed, 26 Jun 2013 09:01:46 +0000 (18:01 +0900)
commit61e7c420b4b2a797ac209106ba743ab6ebe984d8
tree0d3b725153fad4a82eb488085e9b01de3c14d2d9
parentc6c96c188336b2b95d5f14facd101f1e4165a9d3
ipvs: replace the SCTP state machine

Convert the SCTP state table, so that it is more readable.
Change the states to be according to the diagram in RFC 2960
and add more states suitable for middle box. Still, such
change in states adds incompatibility if systems in sync
setup include this change and others do not include it.

With this change we also have proper transitions in INPUT-ONLY
mode (DR/TUN) where we see packets only from client. Now
we should not switch to 10-second CLOSED state at a time
when we should stay in ESTABLISHED state.

The short names for states are because we have 16-char space
in ipvsadm and 11-char limit for the connection list format.
It is a sequence of the TCP implementation where the longest
state name is ESTABLISHED.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
include/net/ip_vs.h
net/netfilter/ipvs/ip_vs_proto_sctp.c
net/netfilter/ipvs/ip_vs_sync.c