TCP information

Dan Nelson dnelson at allantgroup.com
Thu Sep 18 08:03:14 PDT 2003


In the last episode (Sep 18), Terry Lambert said:
> Deepak Jain wrote:
> > Is there a utility/hack/patch that would allow a diligent sysadmin
> > to obtain which specific TCP connections are generating retransmits
> > and receiving packet drops? netstat will show me drops on an
> > interface, but not on a specific source/dest pair?
> 
> These types of statistics aren't kept.
> 
> They usually do not make it into commercial product distributions for
> performance reasons, and because every byte added to a tcpcb
> structure is one byte less that can be used for something else. In
> practice, adding 134 bytes of statistics to a tcpcb would double its
> size and halve the number of simultaneous connections you would be
> able to support with the same amount of RAM in a given machine (as
> one example), if all of that memory had to come out of the same
> space, all other things being equal.

tcpcb is currently 236 bytes though, and I don't imagine adding another
8 bytes for an unsigned long "dropped packets" counter is going to kill
him.

Deepak: if you really want stats, try adding a struct tcpstat to tcpcb
and hack all the netinet/tcp* code to update those whenever the global
tcpstat gets updated.  You'll get all the info that netstat -s prints,
for each socket.  *That* will definitely double the size of struct tcpcb :)

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-hackers mailing list