]> git.baikalelectronics.ru Git - kernel.git/commit
sctp: deal with multiple COOKIE_ECHO chunks
authorMax Matveev <makc@redhat.com>
Mon, 29 Aug 2011 21:02:24 +0000 (21:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 16 Sep 2011 21:17:22 +0000 (17:17 -0400)
commitce2a6cad1527d8af43db0f300f3fc9f9e9e69dd3
treef5c92cd4b9a20470bd083ab840cf27821ad68de6
parent7a57d0ebc810356956a75e73e84eaeb372d54693
sctp: deal with multiple COOKIE_ECHO chunks

Attempt to reduce the number of IP packets emitted in response to single
SCTP packet (ec9b0348) 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>
include/net/sctp/command.h
net/sctp/sm_sideeffect.c
net/sctp/sm_statefuns.c