[Click] how can i measure MLFFR
Beyers Cronje
bcronje at gmail.com
Thu Jun 29 08:46:10 EDT 2006
Try using PollDevice instead of FromDevice.
On 6/29/06, Ò Ôø <zengkun301 at yahoo.com.cn> 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