[DCCP]: Perform SHUT_RD and SHUT_WR on receiving close
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Thu, 13 Dec 2007 13:28:43 +0000 (11:28 -0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:57:45 +0000 (14:57 -0800)
commit69567d0b63b7f4ffeb53fe746c87bd6efe1c284b
treed2ce8ff37ecc6481684cddd386bc302f47a0a468
parent96eba69dbac767f4e287df39e6fa489d37f1aa7b
[DCCP]: Perform SHUT_RD and SHUT_WR on receiving close

This patch performs two changes:

1) Close the write-end in addition to the read-end when a fin-like segment
  (Close or CloseReq) is received by DCCP. This accounts for the fact that DCCP,
  in contrast to TCP, does not have a half-close. RFC 4340 says in this respect
  that when a fin-like segment has been sent there is no guarantee at all that
  any   further data will be processed.
  Thus this patch performs SHUT_WR in addition to the SHUT_RD when a fin-like
  segment is encountered.

2) Minor change: I noted that code appears twice in different places and think it
   makes sense to put this into a self-contained function (dccp_enqueue()).

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>
net/dccp/input.c