sctp: Update SWS avaoidance receiver side algorithm
We currently send window update SACKs every time we free up 1 PMTU worth of data. That a lot more SACKs then necessary. Instead, we'll now send back the actuall window every time we send a sack, and do window-update SACKs when a fraction of the receive buffer has been opened. The fraction is controlled with a sysctl. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
This commit is contained in:
@@ -231,6 +231,11 @@ extern struct sctp_globals {
|
||||
/* Flag to indicate whether computing and verifying checksum
|
||||
* is disabled. */
|
||||
int checksum_disable;
|
||||
|
||||
/* Threshold for rwnd update SACKS. Receive buffer shifted this many
|
||||
* bits is an indicator of when to send and window update SACK.
|
||||
*/
|
||||
int rwnd_update_shift;
|
||||
} sctp_globals;
|
||||
|
||||
#define sctp_rto_initial (sctp_globals.rto_initial)
|
||||
@@ -267,6 +272,7 @@ extern struct sctp_globals {
|
||||
#define sctp_prsctp_enable (sctp_globals.prsctp_enable)
|
||||
#define sctp_auth_enable (sctp_globals.auth_enable)
|
||||
#define sctp_checksum_disable (sctp_globals.checksum_disable)
|
||||
#define sctp_rwnd_upd_shift (sctp_globals.rwnd_update_shift)
|
||||
|
||||
/* SCTP Socket type: UDP or TCP style. */
|
||||
typedef enum {
|
||||
|
Reference in New Issue
Block a user