diff options
author | Max Matveev <makc@redhat.com> | 2011-08-29 17:02:24 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-09-16 17:17:22 -0400 |
commit | d5ccd496601b8776a516d167a6485754575dc38f (patch) | |
tree | f5c92cd4b9a20470bd083ab840cf27821ad68de6 /include | |
parent | fb82fd204b6e6c67661bbd37df032edafb2da56e (diff) |
sctp: deal with multiple COOKIE_ECHO chunks
Attempt to reduce the number of IP packets emitted in response to single
SCTP packet (2e3216cd) introduced a complication - if a packet contains
two COOKIE_ECHO chunks and nothing else then SCTP state machine corks the
socket while processing first COOKIE_ECHO and then loses the association
and forgets to uncork the socket. To deal with the issue add new SCTP
command which can be used to set association explictly. Use this new
command when processing second COOKIE_ECHO chunk to restore the context
for SCTP state machine.
Signed-off-by: Max Matveev <makc@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/sctp/command.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/sctp/command.h b/include/net/sctp/command.h index 6506458ccd33..712b3bebeda7 100644 --- a/include/net/sctp/command.h +++ b/include/net/sctp/command.h | |||
@@ -109,6 +109,7 @@ typedef enum { | |||
109 | SCTP_CMD_SEND_MSG, /* Send the whole use message */ | 109 | SCTP_CMD_SEND_MSG, /* Send the whole use message */ |
110 | SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */ | 110 | SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */ |
111 | SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/ | 111 | SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/ |
112 | SCTP_CMD_SET_ASOC, /* Restore association context */ | ||
112 | SCTP_CMD_LAST | 113 | SCTP_CMD_LAST |
113 | } sctp_verb_t; | 114 | } sctp_verb_t; |
114 | 115 | ||