No subject

Eddie Kohler eddietwo at cag.lcs.mit.edu
Sun Apr 30 16:53:03 EDT 2000


Yo Smenjie et al,

I made many changes and I'd like to run a test to see if they work. They
will hopefully get rid of the following bugs and issues,

(1) click-install and/or click-uninstall sometimes hangs -- was scheduler
    bug.

(2) TimedSource didn't work at user level -- hack was to give it tickets,
    fixed it properly (as well as analogous elements TimedSink, IPRewriter,
    ARPQuerier) by using a new schedule_immediately() function in
    Timer::element_timer().

(3) RatedSource had to keep rescheduling a timer 0ms in the future -- user
    level wait() now returns immediately if the work list is nonempty.

(4) TimedSource didn't work in kernel -- kernel driver formerly returned if
    nothing was scheduled. Now it does not return until the driver is
    stopped explicitly with please_stop_driver().

Click should probably run in a kernel thread even if HAVE_POLLING is not
defined. The reason is that the no-HAVE_POLLING code was already rotting,
and would only get worse. I implemented this change, but I'm not sure it
totally works. In particular, ToDevice might be broken when HAVE_POLLING is
not defined.

I also added the ability to hot-swap install a configuration. This is where
you install a new configuration, but if it fails, the old configuration
continues uninterrupted. If it initializes successfully, though, packets
from the old configuration are moved into the new Queues.

love,
ed



More information about the click mailing list