Global state variables in Click??

Brecht Vermeulen brecht.vermeulen at rug.ac.be
Wed Jan 8 12:44:30 EST 2003


Hi,

> I studied Click architecture, and now I want to realize a real time classifier
> with it...but for this purpose I need global state variables to memorize already
> classified flows, so when a new packet of this flow arrive at the router it can
> take prioritary queue...

I don't think you need a global variable for this. If the classifier
element saves this state then it can look in its own data for this.

> Further more I have to memorize SLA (Service Level Agreement) because I think my
> router is inserted like Edge Router in a Differentiated Service architecture.
> Is it possible to write a new Click element that memorize all this information,
> like a table at wich all other elements can access??
> Thanks in advantage.
> 

I think SLAs and so have to be dealt with in higher level components
instead of kernel level because of the complexity (databases and so on).
Click is mostly meant for pure handling of packets (however you can
extend as you want of course as it is pure software). Think about it
when you would use a Cisco router e.g. and have also a look at the
DiffServ MIB.

For DiffServ most components are present (classifiers, schedulers,
queues), but we have management components (CORBA based) which configure
those elements in click (according SLAs, reservations, ...). Therefore
we didn't need any new elements in Click itself.

But to answer your question I don't think there are global variables
possible. The mechanism used in click is to use packet annotations to
transfer state (per packet) from one element to an other, but this is
per packet.
However, the experts will correct me if I'm wrong :-).

regards,
Brecht




More information about the click mailing list