[Click] how can i measure MLFFR

=?gb2312?q?=88=D2=20=D4=F8?= zengkun301 at yahoo.com.cn
Thu Jun 29 07:25:09 EDT 2006


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


More information about the click mailing list