[Click] how can i measure MLFFR
Roman Chertov
rchertov at purdue.edu
Fri Jun 30 11:18:37 EDT 2006
Eddie Kohler wrote:
> 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.
I have successfully done 150 Kpackets/sec on 100 Mbit Ethernet using
Intel Pro cards.
Roman
>
> 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
>>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
More information about the click
mailing list