diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2007-11-20 21:56:37 -0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 14:54:44 -0800 |
commit | 9b91ad2747891767c0efb4fb965c5dfed8d4f88e (patch) | |
tree | 010b946c201fab39f3417ffd0abbdc74dbe62cdb | |
parent | c3ada46a009001e144b29736880962f24ee2afdf (diff) | |
download | op-kernel-dev-9b91ad2747891767c0efb4fb965c5dfed8d4f88e.zip op-kernel-dev-9b91ad2747891767c0efb4fb965c5dfed8d4f88e.tar.gz |
[DCCP]: Make PARTOPEN an autonomous state
This decouples PARTOPEN from TCP-specific stream-states.
It thus addresses the FIXME.
The code has been checked with regard to dependency on PARTOPEN and FIN_WAIT1
states (to which PARTOPEN previously was mapped): there is no difference, as
PARTOPEN is always referred to directly (i.e. not via the mapping to TCP
state).
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/dccp.h | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/include/linux/dccp.h b/include/linux/dccp.h index 333c3ea..a007326 100644 --- a/include/linux/dccp.h +++ b/include/linux/dccp.h @@ -229,21 +229,13 @@ struct dccp_so_feat { enum dccp_state { DCCP_OPEN = TCP_ESTABLISHED, DCCP_REQUESTING = TCP_SYN_SENT, - DCCP_PARTOPEN = TCP_FIN_WAIT1, /* FIXME: - This mapping is horrible, but TCP has - no matching state for DCCP_PARTOPEN, - as TCP_SYN_RECV is already used by - DCCP_RESPOND, why don't stop using TCP - mapping of states? OK, now we don't use - sk_stream_sendmsg anymore, so doesn't - seem to exist any reason for us to - do the TCP mapping here */ DCCP_LISTEN = TCP_LISTEN, DCCP_RESPOND = TCP_SYN_RECV, DCCP_CLOSING = TCP_CLOSING, DCCP_TIME_WAIT = TCP_TIME_WAIT, DCCP_CLOSED = TCP_CLOSE, - DCCP_MAX_STATES = TCP_MAX_STATES, + DCCP_PARTOPEN = TCP_MAX_STATES, + DCCP_MAX_STATES }; #define DCCP_STATE_MASK 0xf @@ -252,12 +244,12 @@ enum dccp_state { enum { DCCPF_OPEN = TCPF_ESTABLISHED, DCCPF_REQUESTING = TCPF_SYN_SENT, - DCCPF_PARTOPEN = TCPF_FIN_WAIT1, DCCPF_LISTEN = TCPF_LISTEN, DCCPF_RESPOND = TCPF_SYN_RECV, DCCPF_CLOSING = TCPF_CLOSING, DCCPF_TIME_WAIT = TCPF_TIME_WAIT, DCCPF_CLOSED = TCPF_CLOSE, + DCCPF_PARTOPEN = 1 << DCCP_PARTOPEN, }; static inline struct dccp_hdr *dccp_hdr(const struct sk_buff *skb) |