What is rcv_space in the 'ss --info' output, and why it's value is larger than net.core.rmem_max

Latest response

Hi,
can anyone help me understand what is rcv_space in the 'ss --info output', e.g.:

#  ss --info dst 1.1.1.1
State      Recv-Q Send-Q                                            Local Address:Port                                                Peer Address:Port   
ESTAB      0      0                                                 2.2.2.2:39464                                              1.1.1.1:ssh     
         cubic wscale:7,0 rto:204 rtt:7.5/3 ato:40 cwnd:10 ssthresh:15 send 15.4Mbps rcv_rtt:4 rcv_space:517488

Second question is what units rcv_space is measured in. I noticed that that it value is always devidable by 8.

Third question is why is rcv_space larger than the limits net.core.rmem_max and net.ipv4.tcp_rmem

net.core.wmem_max = 131071
net.core.rmem_max = 13107
net.core.wmem_default = 229376
net.core.rmem_default = 229376
net.ipv4.tcp_mem = 7270 9693    14540
net.ipv4.tcp_wmem = 4096        16384   4194304
net.ipv4.tcp_rmem = 4096        8192    16384

Fourth question is how can one verify that the above sysctl parameters take effect. I thought ss would do it, but now I am not so sure.

Thanks!

References:
TCP(7)
/usr/share/doc/kernel-doc-2.6.32/Documentation/networking/ip-sysctl.txt
/usr/share/doc/kernel-doc-2.6.32/Documentation/sysctl/net.txt
/usr/include/netinet/tcp.h

Responses