aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/sysctl
diff options
context:
space:
mode:
authorYing Xue <ying.xue@windriver.com>2013-06-17 10:54:37 -0400
committerDavid S. Miller <davem@davemloft.net>2013-06-17 18:53:00 -0400
commitcc79dd1ba9c1021c2ac6ae200a65ec38ee8db351 (patch)
tree86ffd4e43a1fb2d833a750ea713ce81b0af5df63 /Documentation/sysctl
parent8941bbcd572a8860ad03c76e2f3d1dafa820b842 (diff)
tipc: change socket buffer overflow control to respect sk_rcvbuf
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 <jon.maloy@ericsson.com> Cc: Neil Horman <nhorman@tuxdriver.com> Cc: Jon Maloy <jon.maloy@ericsson.com> [Ying: added sysctl variation to Jon's original patch] Signed-off-by: Ying Xue <ying.xue@windriver.com> [PG: don't compile sysctl.c if not config'd; add Documentation] Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/sysctl')
-rw-r--r--Documentation/sysctl/net.txt17
1 files changed, 16 insertions, 1 deletions
diff --git a/Documentation/sysctl/net.txt b/Documentation/sysctl/net.txt
index 85ab72dcdc3c..5369879eafe2 100644
--- a/Documentation/sysctl/net.txt
+++ b/Documentation/sysctl/net.txt
@@ -26,7 +26,7 @@ Table : Subdirectories in /proc/sys/net
26 ipv4 IP version 4 x25 X.25 protocol 26 ipv4 IP version 4 x25 X.25 protocol
27 ipx IPX token-ring IBM token ring 27 ipx IPX token-ring IBM token ring
28 bridge Bridging decnet DEC net 28 bridge Bridging decnet DEC net
29 ipv6 IP version 6 29 ipv6 IP version 6 tipc TIPC
30.............................................................................. 30..............................................................................
31 31
321. /proc/sys/net/core - Network core options 321. /proc/sys/net/core - Network core options
@@ -207,3 +207,18 @@ IPX.
207The /proc/net/ipx_route table holds a list of IPX routes. For each route it 207The /proc/net/ipx_route table holds a list of IPX routes. For each route it
208gives the destination network, the router node (or Directly) and the network 208gives the destination network, the router node (or Directly) and the network
209address of the router (or Connected) for internal networks. 209address of the router (or Connected) for internal networks.
210
2116. TIPC
212-------------------------------------------------------
213
214The TIPC protocol now has a tunable for the receive memory, similar to the
215tcp_rmem - i.e. a vector of 3 INTEGERs: (min, default, max)
216
217 # cat /proc/sys/net/tipc/tipc_rmem
218 4252725 34021800 68043600
219 #
220
221The max value is set to CONN_OVERLOAD_LIMIT, and the default and min values
222are scaled (shifted) versions of that same value. Note that the min value
223is not at this point in time used in any meaningful way, but the triplet is
224preserved in order to be consistent with things like tcp_rmem.