[Click] how can i measure MLFFR

Eddie Kohler kohler at cs.ucla.edu
Thu Jun 29 11:03:26 EDT 2006


Hi,

The other thing you should do is add a "PollDevice(eth0)" to COMPUTER 1's
configuration.  You want Computer 1 to use polling, so you can ensure that
Computer 1 generates packets as fast as possible.  This might suffice:

PollDevice(eth0) -> Idle;

Also, I hope that your ethernets are gigabit.  100Mb/s Ethernet maxes out
somewhere around 70000 p/s.

Eddie


ˆÒ Ôø wrote:
> Hi everyone,
> I am experimenting in measuring the maximum loss-free forwarding rate(MLFFR).MLFFR measured in the paper "The Click Modular Router,ACM Transactions on Computer Systems, Vol. 18, No. 3,pp.263-297" is 330,000 packets/s.
> My experiement environment is like this:the computer 2 acts as a router.
>  computer 1<->computer 2<->computer 3
> computer 1 eth0:ip  192.168.18.11 ethernet Address:00:10:5c:cd:7b:88
> computer 2 eth0:ip  192.168.18.1  ethernet Address:00:02:2a:dc:44:d6
>     eth1:ip  192.168.0.1   ethernet Address:00:10:5c:cd:7b:f5
> computer 3 eth0:ip  192.168.0.11  ethernet Address:00:10:5c:cd:7b:9d
> and the configuration of computer 1 :
> /***********************************************/
> FastUDPSource(100000,1000000,64,00:10:5c:cd:7b:88,192.168.18.11,50,
>   00:10:5c:cd:7b:9d,192.168.0.11,50)
>  ->ctr::Counter
>  ->ToDevice(eth0);
>   s::Script(
>   label begin_loop,
>   wait 1,
>   read ctr.rate,
>   goto begin_loop $(lt 1 2),
>   stop);
> /***************************************/
> and the configuration of computer2 is:
> /***************************************************/
> // eth0, 00:02:2a:dc:44:d6, 192.168.18.1
> // eth1, 00:10:5c:cd:7b:f5, 192.168.0.1
> c0 :: Classifier(12/0806 20/0001,
>                   12/0806 20/0002,
>                   12/0800,
>                   -);
> c1 :: Classifier(12/0806 20/0001,
>                   12/0806 20/0002,
>                   12/0800,
>                   -);
>   FromDevice(eth0)->str1::Counter->c0;
> FromDevice(eth1)->c1;
>   q0::Queue(10000)-> ToDevice(eth0);
> q1::Queue(10000)->str2::Counter-> ToDevice(eth1);
>   arpr0 ::ARPResponder(192.168.0.1/24 00:10:5c:cd:7b:f5,
>        192.168.18.1/24 00:02:2a:dc:44:d6,
>        192.168.0.11/24 00:10:5c:cd:7b:9d,
>        192.168.18.11/24 00:10:5c:cd:7b:88)->q0;
> arpr1 ::ARPResponder(192.168.0.1/24 00:10:5c:cd:7b:f5,
>        192.168.18.1/24 00:02:2a:dc:44:d6,
>        192.168.0.11/24 00:10:5c:cd:7b:9d,
>        192.168.18.11/24 00:10:5c:cd:7b:88)->q1;
>   arpq0 ::ARPQuerier(192.168.18.1, 00:02:2a:dc:44:d6);
> arpq1 ::ARPQuerier(192.168.0.1, 00:10:5c:cd:7b:f5);
>   rt::StaticIPLookup(192.168.18.1/32 0,
>      192.168.18.255/32 0,
>      192.168.18.0/32 0,
>      192.168.0.1/32 0,
>      192.168.0.255/32 0,
>      192.168.0.0/32 0,
>      192.168.18.11/24 1,
>      192.168.0.11/24 2,
>      0.0.0.0/0 192.168.18.1 1);
>   strip0::Strip(14);
> strip1::Strip(14);
>   // Deliver ARP responses to ARP queriers as well as Linux.
> c0[0] -> arpr0;
> c1[0] -> arpr1; 
> t::Tee(2);
> c0[1] -> t;
> c1[1] -> t;
> t[0] -> [1]arpq0[0]->q0;
> t[1] -> [1]arpq1[0]->q1;
> c0[2] -> strip0;
> c1[2] -> strip1;
>   strip0->CheckIPHeader->GetIPAddress(16)->rt;
> strip1->CheckIPHeader->GetIPAddress(16)->rt;
>   rt[0]->Discard;
>   rt[1] -> DropBroadcasts
>       -> gio1 :: IPGWOptions(192.168.18.1)
>       -> dt1 :: DecIPTTL
>       -> [0]arpq0;
> rt[2] -> DropBroadcasts
>       -> gio2 :: IPGWOptions(192.168.0.1)
>       -> dt2 :: DecIPTTL
>       -> [0]arpq1;
>   
> dt1[1] -> ICMPError(192.168.18.1, timeexceeded) -> [0]rt;
> dt2[1] -> ICMPError(192.168.0.1, timeexceeded) -> [0]rt;
>   
> gio1[1] -> ICMPError(192.168.18.1, parameterproblem) -> [0]rt;
> gio2[1] -> ICMPError(192.168.0.1, parameterproblem) -> [0]rt;
>   
> c0[3] -> Discard;
> c1[3] -> Discard;
>    
>   s::Script( label begin_loop,
>   wait 1,
>   read str1.rate,
>   read str2.rate,
>   read str1.count,
>   read str2.count,
>   goto begin_loop $(lt 1 2),
>   stop);
> /****************************************************************/
>   my experiment result is that the maximum of the input rate of computer 2 is 70,000 packets/s. How can I deal with it?
> 
> 
>  __________________________________________________
> ¸Ï¿ì×¢²áÑÅ»¢³¬´óÈÝÁ¿Ãâ·ÑÓÊÏä?
> http://cn.mail.yahoo.com
>  __________________________________________________
> ¸Ï¿ì×¢²áÑÅ»¢³¬´óÈÝÁ¿Ãâ·ÑÓÊÏä?
> http://cn.mail.yahoo.com
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> 



More information about the click mailing list