Query regarding large slowstart threshold value in tcp_ipv4.c and parameters returned by getsockopt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I opened a tcp connection and after a few bytes were sent I got the
tcp_info structure using the getsockopt call. The contents of the
structure returned were:

1, 0, 0, 0, 0, 7, 119, 201000, 40000, 1448, 536, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1500, 5792, 1000, 750, 2147483647, 4, 1448, 3, 0, 5792, 0

The interpretation of some of the values according to the linux/tcp.h
file is

tcpi_rto;            21000
tcpi_ato;           40000
tcpi_snd_mss;   1448
tcpi_rcv_mss;    536
tcpi_pmtu;               1500
tcpi_rcv_ssthresh;   5792
tcpi_rtt;                    1000
tcpi_rttvar;               750
tcpi_snd_ssthresh;   2147483647
tcpi_snd_cwnd;         4
tcpi_advmss;            1448
119 is 0111 0111 in binary, hence
tcpi_snd_wscale : 4,     0111 =>  7
tcpi_rcv_wscale : 4;     0111  => 7


I have the following doubts.

1. Why is the tcpi_snd_ssthresh so large? I noticed in function
tcp_v4_init_sock
[http://lxr.linux.no/linux+v2.6.32/net/ipv4/tcp_ipv4.c#L1789], the
snd_ssthresh  is set to a value TCP_INFINITE_SSTHRESH which is
according to draft-stevens-tcpca-spec-01 however, RFC 2001 (page 2)
[http://tools.ietf.org/html/rfc2001]  that the snd_ssthresh be set to
65535.

3. What does the tcpi_rcv_ssthresh stand for?

4. What is the unit for rto? Is it in seconds/milliseconds/microseconds?

Further I did a getsockopt before a send of 1380 bytes and just after
a send. The tcp_info before the send was:

1, 0, 0, 0, 0, 7, 119, 203000, 40000, 1448, 536, 0, 0, 0, 0, 0, 248,
0, 244, 244, 1500, 5792, 3250, 3000, 2147483647, 4, 1448, 3, 0, 5792,
0

and after the send was

1, 0, 0, 0, 0, 7, 119, 203000, 40000, 1448, 536, 1, 0, 0, 0, 0, 1, 0,
245, 245, 1500, 5792, 3250, 3000, 2147483647, 3, 1448, 3, 0, 5792, 0.

This value after the send shows that one packet in unacked (field
after value 536) however the window size is now reduced to 3. I am not
able to figure out why this happens.

Regards,
Ashwin

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux