aboutsummaryrefslogtreecommitdiff
path: root/net/tipc/sysctl.c
AgeCommit message (Collapse)AuthorFilesLines
2013-06-17tipc: change socket buffer overflow control to respect sk_rcvbufYing Xue1-0/+64
As per feedback from the netdev community, we change the buffer overflow protection algorithm in receiving sockets so that it always respects the nominal upper limit set in sk_rcvbuf. Instead of scaling up from a small sk_rcvbuf value, which leads to violation of the configured sk_rcvbuf limit, we now calculate the weighted per-message limit by scaling down from a much bigger value, still in the same field, according to the importance priority of the received message. To allow for administrative tunability of the socket receive buffer size, we create a tipc_rmem sysctl variable to allow the user to configure an even bigger value via sysctl command. It is a size of three (min/default/max) to be consistent with things like tcp_rmem. By default, the value initialized in tipc_rmem[1] is equal to the receive socket size needed by a TIPC_CRITICAL_IMPORTANCE message. This value is also set as the default value of sk_rcvbuf. Originally-by: Jon Maloy <[email protected]> Cc: Neil Horman <[email protected]> Cc: Jon Maloy <[email protected]> [Ying: added sysctl variation to Jon's original patch] Signed-off-by: Ying Xue <[email protected]> [PG: don't compile sysctl.c if not config'd; add Documentation] Signed-off-by: Paul Gortmaker <[email protected]> Signed-off-by: David S. Miller <[email protected]>