you should be able to see where the packets are getting dropped. Look for error counters from ifconfig, and look at the drops handlers of each different element. If any of those is going up, that can point to what the problem is.
you can actually try just running 'grep . /click/.e/*/drops' to quickly print out the drops handler result for all of your elements. If it is somehow from polldevice, then I'm less sure. I don't have any direct experience with PollDevice. Cliff On Fri, Dec 2, 2011 at 9:14 PM, Bingyang LIU <[email protected]> wrote: > Hi all, > > I'm trying to evaluate packet forwarding speed of Click. I found that the > router can forward up to 1200kpps (64B packets). But it was strange that at > low packet sending rate (200kpps), the router dropped some packet (0.05%). > Is there any problem with my router configuration or scheduling issue? > > * Hardware: CPU Inter Xeon X3210 (quad core at 2.13Ghz), 4GB RAM. (a server > on deterlab) > * Software: Ubuntu8.04 + Click1.8, with PollDevice and multi-thread > enabled. > * Configuration: ./configure --with-linux=/usr/src/linux-2.6.24.7 > --enable-ipsec --enable-warp9 --enable-multithread=4 > * Installation: sudo click-install --thread=4 site7_router1.click > > The router config file is as follows: > ========================== > AddressInfo(router1-w1 10.0.1.1 00:15:17:57:c7:4d, > //eth1 > router1-w2 10.0.2.1 00:15:17:57:c7:4f, > //eth3 > router1-w3 10.0.3.1 00:15:17:57:c7:4c, > //eth0 > router1-w4 10.0.4.1 00:15:17:57:c7:4e, > //eth2 > user1-w1 10.0.1.2 00:15:17:57:c8:06, > //eth2 > user2-w2 10.0.2.2 00:15:17:57:c2:1a, > //eth2 > user3-w3 10.0.3.2 00:15:17:57:c6:7a, > //eth2 > user4-w4 10.0.4.2 00:15:17:57:c7:d6); > //eth2 > > c1 :: Classifier(12/0806 20/0001, > 12/0806 20/0002, > 12/0800, > -); > c2 :: Classifier(12/0806 20/0001, > 12/0806 20/0002, > 12/0800, > -); > c3 :: Classifier(12/0806 20/0001, > 12/0806 20/0002, > 12/0800, > -); > c4 :: Classifier(12/0806 20/0001, > 12/0806 20/0002, > 12/0800, > -); > > q0 :: ToHost; > q1 :: Queue(10000) -> EtherEncap(0x0800, router1-w1, user1-w1) -> td1 :: > ToDevice(eth1); > q2 :: Queue(10000) -> EtherEncap(0x0800, router1-w2, user2-w2) -> td2 :: > ToDevice(eth3); > q3 :: Queue(10000) -> EtherEncap(0x0800, router1-w3, user3-w3) -> td3 :: > ToDevice(eth0); > q4 :: Queue(10000) -> EtherEncap(0x0800, router1-w4, user4-w4) -> td4 :: > ToDevice(eth2); > > rt :: StaticIPLookup(10.0.1.0/32 0, 10.0.1.1/32 0, 10.0.1.255/32 0, > 10.0.2.0/32 0, 10.0.2.1/32 0, 10.0.2.255/32 0, > 10.0.3.0/32 0, 10.0.3.1/32 0, 10.0.3.255/32 0, > 10.0.4.0/32 0, 10.0.4.1/32 0, 10.0.4.255/32 0, > 10.0.1.0/24 1, 10.0.2.0/24 2, 10.0.3.0/24 3, > 10.0.4.0/24 4, 0.0.0.0/0 4); > rt[0] -> Discard; > rt[1] -> q1; > rt[2] -> q2; > rt[3] -> q3; > rt[4] -> q4; > > pd1 :: PollDevice(eth1) -> c1; > c1[0] -> q0; > c1[1] -> q0; > c1[2] -> Strip(14) -> CheckIPHeader() -> rt; > c1[3] -> Discard; > pd2 :: PollDevice(eth3) -> c2; > c2[0] -> q0; > c2[1] -> q0; > c2[2] -> Strip(14) -> CheckIPHeader() -> rt; > c2[3] -> Discard; > pd3 :: PollDevice(eth0) -> c3; > c3[0] -> q0; > c3[1] -> q0; > c3[2] -> Strip(14) -> CheckIPHeader() -> rt; > c3[3] -> Discard; > pd4 :: PollDevice(eth2) -> c4; > c4[0] -> q0; > c4[1] -> q0; > c4[2] -> Strip(14) -> CheckIPHeader() -> rt; > c4[3] -> Discard; > > StaticThreadSched(pd1 0, pd2 1, pd3 2, pd4 3, > td2 0, td1 1, td4 2, td3 3); > > > -- > Bingyang Liu > Network Architecture Lab, Network Center,Tsinghua Univ. > Beijing, China > Home Page: http://netarchlab.tsinghua.edu.cn/~liuby > _______________________________________________ > click mailing list > [email protected] > https://amsterdam.lcs.mit.edu/mailman/listinfo/click > _______________________________________________ click mailing list [email protected] https://amsterdam.lcs.mit.edu/mailman/listinfo/click
