Subject: Re: [RFC PATCH 1/4] net: port mirroring: add tracepoints to appropriate network paths

From: Stephen Hemminger <[email-masked]>
Date: Tue, 15 Dec 2009 13:50:53 -0800

On Tue, 15 Dec 2009 15:41:55 -0500
Neil Horman <[email-masked]> wrote:

> On Tue, Dec 15, 2009 at 09:54:06AM -0800, Stephen Hemminger wrote:
> > On Tue, 15 Dec 2009 12:49:56 -0500
> > Neil Horman <[email-masked]> wrote:
> > 
> > > On Tue, Dec 15, 2009 at 09:22:22AM -0800, Stephen Hemminger wrote:
> > > > On Tue, 15 Dec 2009 12:02:49 -0500
> > > > Neil Horman <[email-masked]> wrote:
> > > > 
> > > > > On Tue, Dec 15, 2009 at 08:44:24AM -0800, Stephen Hemminger wrote:
> > > > > > On Tue, 15 Dec 2009 11:36:04 -0500
> > > > > > Neil Horman <[email-masked]> wrote:
> > > > > > 
> > > > > > > Add net_dev_xmit & net_dev_receive tracepoints
> > > > > > > 
> > > > > > > Add tracepoints at the end of the network stack xmit path and the start of the
> > > > > > > stack receive path.  Among other uses, these tracepoints can be used to tap the
> > > > > > > raw input and output streams for any given network device for the purposes of
> > > > > > > mirroring that traffic to other ports.
> > > > > > > 
> > > > > > 
> > > > > > There already is a mirroring solution but people don't know how to use it.
> > > > > > Using mirred on ingress qdisc does that.
> > > > > > 
> > > > > I wish that had been easier to find.  That only appears to mirror inbound frames
> > > > > though, what about outbound frames? can you attach mirred to an outbound qdisc?
> > > > 
> > > > It works for outbound frames as well.
> > > *Sigh*, well there goes a weeks worth of tinkering.  Stupid of me.  Rescinded
> > > Thanks
> > > Neil
> > 
> > The tracepoints are still useful, and all is not wasted.
> Yeah, but it would be nice to have a recognized feature to go with them, so we
> don't just have random tracepoints laying about.  Can you think of a good
> alternative use for them?
> Regards
> Neil
> 

Harald had some stuff with tracking packets through the system that
seems like a natural for using tracepoints.

--