[Click] CPUQueue bug and fix

Beyers Cronje bcronje at gmail.com
Sun Feb 27 17:11:49 EST 2005


Hi,

I'm running a simple etherswitch config :

sw :: EtherSwitch;
out0 :: CPUQueue -> ToDevice(eth0);
out1 :: CPUQueue -> ToDevice(eth1);
PollDevice(eth0, PROMISC true) -> [0]sw;
PollDevice(eth1, PROMISC true) -> [1]sw;
sw[0] -> out0; 
sw[1] -> out1;

I've compiled Click with mutliuthreading enabled and using
click-install with the -t option.
(The EtherSwitch element is the standard etherswitch element with
added locking for MT)

I get a NULL pointer dereference as soon as the CPUQueue's pull
function is called when all cpu queues are empty.

Adding a "return 0" at the end of pull - execution to this point
implies empty queues - seems to fix the problem.

Regards

Beyers


More information about the click mailing list