OpenCloudOS-Kernel/net/sctp
Vlad Yasevich 2e3216cd54 sctp: Follow security requirement of responding with 1 packet
RFC 4960, Section 11.4. Protection of Non-SCTP-Capable Hosts

When an SCTP stack receives a packet containing multiple control or
DATA chunks and the processing of the packet requires the sending of
multiple chunks in response, the sender of the response chunk(s) MUST
NOT send more than one packet.  If bundling is supported, multiple
response chunks that fit into a single packet MAY be bundled together
into one single response packet.  If bundling is not supported, then
the sender MUST NOT send more than one response chunk and MUST
discard all other responses.  Note that this rule does NOT apply to a
SACK chunk, since a SACK chunk is, in itself, a response to DATA and
a SACK does not require a response of more DATA.

We implement this by not servicing our outqueue until we reach the end
of the packet.  This enables maximum bundling.  We also identify
'response' chunks and make sure that we only send 1 packet when sending
such chunks.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-06-19 16:08:18 -07:00
..
Kconfig [SCTP]: Use crc32c library for checksum calculations. 2008-01-28 14:58:20 -08:00
Makefile [SCTP]: Use crc32c library for checksum calculations. 2008-01-28 14:58:20 -08:00
associola.c sctp: Follow security requirement of responding with 1 packet 2008-06-19 16:08:18 -07:00
auth.c [SCTP]: Update AUTH structures to match declarations in draft-16. 2008-02-28 16:45:04 -05:00
bind_addr.c [SCTP]: "list_for_each()" -> "list_for_each_entry()" where appropriate. 2008-04-12 18:54:24 -07:00
chunk.c SCTP: fix wrong debug counting of datamsg 2008-04-10 01:57:24 -07:00
command.c [SCTP]: Remove sctp_add_cmd_sf wrapper bloat 2008-03-27 17:54:29 -07:00
debug.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
endpointola.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
input.c sctp: Validate Initiate Tag when handling ICMP message 2008-06-19 16:07:48 -07:00
inqueue.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
ipv6.c sctp: Fix ECN markings for IPv6 2008-06-04 12:40:15 -07:00
objcnt.c [NET]: Fix heavy stack usage in seq_file output routines. 2008-04-24 01:02:16 -07:00
output.c sctp: Follow security requirement of responding with 1 packet 2008-06-19 16:08:18 -07:00
outqueue.c sctp: Follow security requirement of responding with 1 packet 2008-06-19 16:08:18 -07:00
primitive.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
proc.c sctp: add sctp/remaddr table to complete RFC remote address table OID 2008-05-09 15:14:50 -07:00
protocol.c sctp: fix error path in sctp_proc_init 2008-06-17 15:54:14 -07:00
sm_make_chunk.c sctp: Fix use of uninitialized pointer 2008-05-13 23:25:00 -07:00
sm_sideeffect.c sctp: Follow security requirement of responding with 1 packet 2008-06-19 16:08:18 -07:00
sm_statefuns.c sctp: Follow security requirement of responding with 1 packet 2008-06-19 16:08:18 -07:00
sm_statetable.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
socket.c net: change proto destroy method to return void 2008-06-14 17:04:49 -07:00
ssnmap.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
sysctl.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
transport.c sctp: Start T3-RTX timer when fast retransmitting lowest TSN 2008-06-04 12:39:11 -07:00
tsnmap.c [SCTP]: Stop claiming that this is a "reference implementation" 2008-02-05 10:59:07 -05:00
ulpevent.c [SCTP]: Fix compiler warning about const qualifiers 2008-04-12 18:40:06 -07:00
ulpqueue.c [SCTP]: Correctly reap SSNs when processing FORWARD_TSN chunk 2008-02-06 21:26:26 -05:00