linux/net/sctp
Marcelo Ricardo Leitner a02d036c02 sctp: adjust ssthresh when transport is idle
RFC 4960 Errata 3.27 identifies that ssthresh should be adjusted to cwnd
because otherwise it could cause the transport to lock into congestion
avoidance phase specially if ssthresh was previously reduced by some
packet drop, leading to poor performance.

The Errata says to adjust ssthresh to cwnd only once, though the same
goal is achieved by updating it every time we update cwnd too. The
caveat is that we could take longer to get back up to speed but that
should be compensated by the fact that we don't adjust on RTO basis (as
RFC says) but based on Heartbeats, which are usually way longer.

See-also: https://tools.ietf.org/html/draft-ietf-tsvwg-rfc4960-errata-01#section-3.27
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-06-25 14:43:53 -04:00
..
Kconfig sctp: add the sctp_diag.c file 2016-04-15 17:29:36 -04:00
Makefile sctp: prepare asoc stream for stream reconf 2017-01-06 21:07:26 -05:00
associola.c sctp: handle errors when updating asoc 2017-06-20 15:32:55 -04:00
auth.c sctp: use IS_ENABLED() instead of checking for built-in or module 2016-09-10 21:19:11 -07:00
bind_addr.c sctp: not copying duplicate addrs to the assoc's bind address list 2016-12-20 14:15:45 -05:00
chunk.c sctp: define the member stream as an object instead of pointer in asoc 2017-06-02 13:56:26 -04:00
debug.c net: sctp: fix array overrun read on sctp_timer_tbl 2017-01-24 15:24:35 -05:00
endpointola.c sctp: ensure ep is not destroyed before doing the dump 2017-06-19 15:13:43 -04:00
input.c sctp: fix ICMP processing if skb is non-linear 2017-05-26 14:40:46 -04:00
inqueue.c sctp: rename WORD_TRUNC/ROUND macros 2016-09-22 03:13:26 -04:00
ipv6.c sctp: do not inherit ipv6_{mc|ac|fl}_list from parent 2017-05-18 10:24:08 -04:00
objcnt.c sctp: prepare asoc stream for stream reconf 2017-01-06 21:07:26 -05:00
offload.c net: use skb->csum_not_inet to identify packets needing crc32c 2017-05-19 19:21:29 -04:00
output.c networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04:00
outqueue.c sctp: define the member stream as an object instead of pointer in asoc 2017-06-02 13:56:26 -04:00
primitive.c sctp: add stream reconf primitive 2017-01-18 14:55:10 -05:00
probe.c net: sctp: Convert log timestamps to be y2038 safe 2016-03-01 17:18:44 -05:00
proc.c sctp: use read_lock_bh in sctp_eps_seq_show 2017-06-10 16:22:26 -04:00
protocol.c net: Work around lockdep limitation in sockets that use sockets 2017-03-09 18:23:27 -08:00
sctp_diag.c sctp: ensure ep is not destroyed before doing the dump 2017-06-19 15:13:43 -04:00
sm_make_chunk.c net: manual clean code which call skb_put_[data:zero] 2017-06-20 13:30:15 -04:00
sm_sideeffect.c sctp: handle errors when updating asoc 2017-06-20 15:32:55 -04:00
sm_statefuns.c networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04:00
sm_statetable.c sctp: add reconf chunk event 2017-02-19 18:17:59 -05:00
socket.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-06-21 17:35:22 -04:00
stream.c sctp: merge sctp_stream_new and sctp_stream_init 2017-06-02 13:56:26 -04:00
sysctl.c sctp: add get and set sockopt for reconf_enable 2017-03-12 23:22:24 -07:00
transport.c sctp: adjust ssthresh when transport is idle 2017-06-25 14:43:53 -04:00
tsnmap.c sctp: Fix FSF address in file headers 2013-12-06 12:37:56 -05:00
ulpevent.c networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04:00
ulpqueue.c sctp: define the member stream as an object instead of pointer in asoc 2017-06-02 13:56:26 -04:00