[Click] question on element scheduling
Indian Mogul
indian_mogul at yahoo.com
Sun May 22 15:54:46 EDT 2005
Thanks Nikitas & Beyers. In brief, it means I'll have
to play with the click scheduler. In the meantime let
me read the section on TASKS and TIMERS; before I
shoot in further questions.
Cheers!!
IM
--- Nikitas Liogkas <nikitas at CS.UCLA.EDU> wrote:
> What Beyers is saying is correct, just bear in mind
> that timers have
> coarse granularity; they get processed every 32
> (default) scheduling
> epochs. So, for example, if you want your code to
> run at time t, you
> should schedule the timer for time t-dt, in order to
> maximize the
> probability that it WILL actually run at time t. If
> this is confusing,
> let me know and I can elaborate more.
>
> Hope this helps!
>
> nikitas
>
> Beyers Cronje wrote:
> > 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
> >>
> >
> >
> > _______________________________________________
> > click mailing list
> > click at amsterdam.lcs.mit.edu
> >
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>
Discover Yahoo!
Stay in touch with email, IM, photo sharing and more. Check it out!
http://discover.yahoo.com/stayintouch.html
More information about the click
mailing list