netdev
[Top] [All Lists]

Re: [RFC] batched tc to improve change throughput

To: jamal <hadi@xxxxxxxxxx>
Subject: Re: [RFC] batched tc to improve change throughput
From: Thomas Graf <tgraf@xxxxxxx>
Date: Tue, 18 Jan 2005 14:44:06 +0100
Cc: Patrick McHardy <kaber@xxxxxxxxx>, Stephen Hemminger <shemminger@xxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <1106002197.1046.19.camel@xxxxxxxxxxxxxxxx>
References: <20050117152312.GC26856@xxxxxxxxxxxxxx> <1105976711.1078.1.camel@xxxxxxxxxxxxxxxx> <20050117160539.GD26856@xxxxxxxxxxxxxx> <1105979807.1078.16.camel@xxxxxxxxxxxxxxxx> <20050117165626.GE26856@xxxxxxxxxxxxxx> <1106002197.1046.19.camel@xxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
* jamal <1106002197.1046.19.camel@xxxxxxxxxxxxxxxx> 2005-01-17 17:49
> On Mon, 2005-01-17 at 11:56, Thomas Graf wrote:
> > /**
> >  * filter dla_fp
> >  * match DLA traffic at lower watermark
> >  */
> > tc filter add
> >     dev %DEV
> >     parent 1:12
> >     prio 40
> >     protocol all
> >     basic match meta(nfmark eq %LOW_WATERMARK)
> >                 and (
> >                     nbyte("\x0\x1\x2\x3\x4" at 4 layer 2) /* 00 01 02 03 04 
> > (dla fp) */
> >                     or u32(ip src 10.0.0.0/8)
> >                 )
> >     flowid 1:20
> > 
> > 
> 
> It does look clean. - btw look at Werners approach on tcng as well.

I'm aware of it but naturally it always lags behind a bit and keeping
it up to date requires quite some work and I already have problems
finding the time for my own changes ;->

> Another thing that would be really neat is to have a iso like cli
> (something like what zebra has) so you can go down the parse tree to
> say the ematch level and just start typing away these commands.
> Should probably be easy to rip off the vtysh stuff off zebra or
> use libio or something along those lines to do this.

I wouldn't call it easy but it's doable. I'm not sure if
entering/leaving subsystem features makes any sense. I find a context
help by pressing '?' and normal completion most useful. It's not
that I dislike your idea but I think it's not worth it. Actualy,
I've been working on such a thing (called netsh) being a frontend
to iproute2 + tc + ... with 3 modes:
 - batched mode (-f)
 - interactive shell supporting context help + completion
 - call over arguments

It includes a quite easy to use API to define the grammar which
can be used by readline to do the completion and print context
aware help. It could be easly ported to iproute2 but every
module needs to be changed, luckly this can happen step by
step. I will port it to iproute2 and transform one of the
easier modules like neighbour to it and we can see if we like
it.

<Prev in Thread] Current Thread [Next in Thread>