netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* TCP event tracking via netlink...
@ 2007-12-05 13:30 David Miller
  2007-12-05 14:11 ` John Heffner
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: David Miller @ 2007-12-05 13:30 UTC (permalink / raw)
  To: ilpo.jarvinen; +Cc: netdev


Ilpo, I was pondering the kind of debugging one does to find
congestion control issues and even SACK bugs and it's currently too
painful because there is no standard way to track state changes.

I assume you're using something like carefully crafted printk's,
kprobes, or even ad-hoc statistic counters.  That's what I used to do
:-)

With that in mind it occurred to me that we might want to do something
like a state change event generator.

Basically some application or even a daemon listens on this generic
netlink socket family we create.  The header of each event packet
indicates what socket the event is for and then there is some state
information.

Then you can look at a tcpdump and this state dump side by side and
see what the kernel decided to do.

Now there is the question of granularity.

A very important consideration in this is that we want this thing to
be enabled in the distributions, therefore it must be cheap.  Perhaps
one test at the end of the packet input processing.

So I say we pick some state to track (perhaps start with tcp_info)
and just push that at the end of every packet input run.  Also,
we add some minimal filtering capability (match on specific IP
address and/or port, for example).

Maybe if we want to get really fancy we can have some more-expensive
debug mode where detailed specific events get generated via some
macros we can scatter all over the place.  This won't be useful
for general user problem analysis, but it will be excellent for
developers.

Let me know if you think this is useful enough and I'll work on
an implementation we can start playing with.

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2008-01-03  9:26 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-05 13:30 TCP event tracking via netlink David Miller
2007-12-05 14:11 ` John Heffner
2007-12-05 14:48   ` Evgeniy Polyakov
2007-12-05 15:12     ` Samir Bellabes
2007-12-06  5:03     ` David Miller
2007-12-06 10:58       ` Evgeniy Polyakov
2007-12-06  5:00   ` David Miller
2007-12-05 16:53 ` Joe Perches
2007-12-05 21:33   ` Stephen Hemminger
2007-12-05 22:15     ` Ilpo Järvinen
2007-12-06  4:06       ` Stephen Hemminger
2007-12-06 10:20     ` David Miller
2007-12-06 13:28       ` Arnaldo Carvalho de Melo
2007-12-05 23:18 ` Ilpo Järvinen
2007-12-06 10:33   ` David Miller
2007-12-06 17:23     ` Stephen Hemminger
2007-12-07  6:51       ` David Miller
2008-01-02  8:22       ` David Miller
2008-01-02 11:05         ` Ilpo Järvinen
2008-01-03  9:26           ` David Miller
2007-12-07 16:43     ` Ilpo Järvinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).