[Click] question on element scheduling

Beyers Cronje bcronje at gmail.com
Sat May 21 17:47:29 EDT 2005


Hi IM,

See comments below. 

Beyers

On 5/20/05, Indian Mogul <indian_mogul at yahoo.com> wrote:
> Hi,
>    I have a simple question for which I have been
> laboring for quite some time.
> In my router config file, I want one of my click
> element to periodically check for the value of TTL in
> the table irrespective of whether packets are recvd or
> not? The name of the element is check_ttl() and the
> path where it is introduced is:
> //Fromdevice()->classifier->get_flow_id()
>   ->check_ttl()->//
> 
> so, inside the element I have code that does:
> // Check current time.
> // If (current_time > expiry time)
> //    flush_the _entry
> //   else
> //     do nothing.
> 
> 1. Now, my question is, will the element "check_ttl()"
> get automatically scheduled at the right time
> irrespective of whether packets are there or not?

The short answer is no. 

My understading is only schedulable tasks and timers are processed by
the scheduler. All schedulable elements such as PollDevice/FromDevice
implements a task, the scheduler calls the element's run_task method
when scheduled. Unschedulable elements are called implicitly through
the push/pull interfaces from the schedulable element.

For your requirements a timer might be the way to go, maybe inside an
information element, which does not sit in packet flow path, in other
words it does not implement and push/pull interfaces. Look at the
existing elements on implementing timers.

Have another look in the programming manual for TASKS and TIMERS.

For your scenarion an informational element  

> 2. Since click is single threaded, how do I schedule
> the check_ttl() if ans to (1) is false?

See above.

> 
> Thanks?
> IM
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>



More information about the click mailing list