Re: TCP congestion window

From: Pekka Pietikainen (pp@netppl.fi)
Date: Tue Jul 22 2003 - 01:26:44 EST


On Mon, Jul 21, 2003 at 05:07:02PM -0500, yi wrote:
> I have some questions. I made the following system call for getting tcp
> cwnd size of ongoing connection. However, I am always getting the value
> of "2", which is the initial tcp cwnd size, I think. What I really want
> to do is to trace tcp cwnd size when I download some big file using
> "wget"'s http file downloader. For it, I added a new system call shown
> below and modified the wget source code.
Also what you want already exists, so no need to modify the kernel,
the TCP_INFO socket option (netinet/tcp.h should have the required
definitions in recent glibc)

  struct tcp_info info;
  int optlen=sizeof(struct tcp_info);
  if(getsockopt(sk->fd,SOL_TCP,TCP_INFO,(void *)&info,&optlen) < 0)
    return;
  printf("unacked: %d sacked: %d lost: %d retrans: %d fackets: %d\n",
                info.tcpi_unacked,info.tcpi_sacked,info.tcpi_lost,
                info.tcpi_retrans,info.tcpi_fackets);
  printf("pmtu: %d rcv_ssthresh: %d rtt: %d rttvar: %d snd_ssthresh:
        %d\nsnd_cwnd: %d advmss: %d reordering: %d\n",info.tcpi_pmtu,info.tcpi_rcv_ssthresh,
  info.tcpi_rtt,info.tcpi_rttvar,info.tcpi_snd_ssthresh,info.tcpi_snd_cwnd,info.tcpi_advmss,
          info.tcpi_reordering)

There's a few more that I don't print there, see the header file.

-- 
Pekka Pietikainen

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:45 EST