summaryrefslogtreecommitdiff
path: root/include/linux/dccp.h
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2007-11-20 21:56:37 -0200
committerDavid S. Miller <davem@davemloft.net>2008-01-28 14:54:44 -0800
commit9b91ad2747891767c0efb4fb965c5dfed8d4f88e (patch)
tree010b946c201fab39f3417ffd0abbdc74dbe62cdb /include/linux/dccp.h
parentc3ada46a009001e144b29736880962f24ee2afdf (diff)
downloadlwn-9b91ad2747891767c0efb4fb965c5dfed8d4f88e.tar.gz
lwn-9b91ad2747891767c0efb4fb965c5dfed8d4f88e.zip
[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>
Diffstat (limited to 'include/linux/dccp.h')
-rw-r--r--include/linux/dccp.h14
1 files changed, 3 insertions, 11 deletions
diff --git a/include/linux/dccp.h b/include/linux/dccp.h
index 333c3ea82a5d..a0073268808f 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)