[Click] Queue: overflow blocks click

Eddie Kohler kohler at CS.UCLA.EDU
Thu Oct 14 14:36:11 EDT 2004


Frederic,

What happens if you get rid of the PrioScheds?  Please try that and let 
us know.  (That is, have one Queue per output device.)

Eddie


On Oct 14, 2004, at 9:26 AM, Frederic Van Quickenborne wrote:

> Hi all,
>
> Im testing click, especially the PrioSchedulers and Queues in 
> combination with the vlan-prio classes (CoS classes).
>
> This is the used config file: (I left out the EthernetSwitch elements 
> because I thought that element could be the reason of my problem)
>
> PollDevice1 :: PollDevice(eth1,1);
> PollDevice2 :: PollDevice(eth2,1);
> ToHostSniffer1 :: ToHostSniffers(eth1); // used for GVRP support - not 
> relevant
> ToHostSniffer2 :: ToHostSniffers(eth2);
> ToDevice1 :: ToDevice(eth1);
> ToDevice2 :: ToDevice(eth2);
> Classifier1 :: Classifier(0/0180C2000000,0/0180C2000020%111111111110, 
> -); // used for GVRP support - not relevant
> Classifier2 :: Classifier(0/0180C2000000,0/0180C2000020%111111111110, 
> -);
> w0 :: Queue();
> w1 :: Queue();
> in :: Suppressor();
> out :: Suppressor();
> Classifiereth1_prios :: Classifier(14/00%E0,14/20%E0,-);
> Classifiereth2_prios :: Classifier(14/00%E0,14/20%E0,-);
> qeth1_prio0 :: Queue();
> qeth1_prio1 :: Queue();
> qeth1_prio2 :: Queue();
> qeth2_prio0 :: Queue();
> qeth2_prio1 :: Queue();
> qeth2_prio2 :: Queue();
> PrioSchedeth1 :: PrioSched();
> PrioSchedeth2 :: PrioSched();
> PollDevice1[0] -> [0]Classifier1;
> PollDevice2[0] -> [0]Classifier2;
> Classifier1[0] -> [0]w0;
> Classifier1[1] -> [0]ToHostSniffer1;
> Classifier1[2] -> [0]in;
> Classifier2[0] -> [0]w1;
> Classifier2[1] -> [0]ToHostSniffer2;
> Classifier2[2] -> [1]in;
> w0[0] -> [0]PrioSchedeth1;
> w1[0] -> [0]PrioSchedeth2;
> in[0] -> [1]out;
> in[1] -> [0]out;
> out[0] -> [0]Classifiereth1_prios;
> out[1] -> [0]Classifiereth2_prios;
> Classifiereth1_prios[0] -> [0]qeth1_prio0;
> Classifiereth1_prios[1] -> [0]qeth1_prio1;
> Classifiereth1_prios[2] -> [0]qeth1_prio2;
> Classifiereth2_prios[0] -> [0]qeth2_prio0;
> Classifiereth2_prios[1] -> [0]qeth2_prio1;
> Classifiereth2_prios[2] -> [0]qeth2_prio2;
> qeth1_prio0[0] -> [1]PrioSchedeth1;
> qeth1_prio1[0] -> [2]PrioSchedeth1;
> qeth1_prio2[0] -> [3]PrioSchedeth1;
> qeth2_prio0[0] -> [1]PrioSchedeth2;
> qeth2_prio1[0] -> [2]PrioSchedeth2;
> qeth2_prio2[0] -> [3]PrioSchedeth2;
> PrioSchedeth1[0] -> [0]ToDevice1;
> PrioSchedeth2[0] -> [0]ToDevice2;
>
> When I send a flow of about 70Mbit/s through this machine (from eth1 
> to eth2), several (due to the several CoS classes) queues overflows: 
> (from syslog)
>
> Oct 14 18:08:53 nike7 kernel: chatter: qeth2_prio1 :: Queue: overflow
> Oct 14 18:08:53 nike7 kernel: chatter: qeth2_prio2 :: Queue: overflow
> Oct 14 18:08:53 nike7 kernel: chatter: qeth2_prio0 :: Queue: overflow
>
> And click blocks completely, I have to quit it and restart it (by 
> removing the config file, rmmod click and back insmod click). When 
> click blocks, I can see that the ToDevices don't pull any packet 
> anymore.
>
> While quiting, I get the following in the syslog:
>
> Oct 14 18:09:25 nike7 kernel: device eth2 left promiscuous mode
> Oct 14 18:09:25 nike7 kernel: device eth1 left promiscuous mode
> Oct 14 18:09:25 nike7 kernel: click: stopping router thread pid 162
> Oct 14 18:09:25 nike7 kernel: poll d0937540: 2947/1676447 freed, 
> 3040/1676354 allocated
> Oct 14 18:09:25 nike7 kernel: click module exiting
> Oct 14 18:09:30 nike7 kernel: NETDEV WATCHDOG: eth2: transmit timed out
>
> How can I prevent that an overflow blocks the system? Is this a bug or 
> do I just have to make the queues bigger?
>
> (click used as a linuxmodule and using the tulip driver for the 
> polldevices)
>
> Many regards,
> Frederic.
>
>
> ==================================================================
> Frederic Van Quickenborne
> Department of Information Technology (INTEC)
> Ghent University - IMEC
> Sint-Pietersnieuwstraat 41, B-9000 Gent, Belgium
> tel.: +32 (0)9-264 9957; tel. secr.: +32 (0)9-264 9970
> fax: +32 (0)9-264 9960
> Frederic.VanQuickenborne at intec.ugent.be
> http://www.ibcn.intec.ugent.be
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list