[Click] using DelayShaper

Lan Xue lanxue at soe.ucsc.edu
Tue Aug 17 01:19:33 EDT 2004


Hi,

I found this very confusing problem regarding to DelayShaper element. I 
used it to inject latencies to traffic passing through the router. Please 
see the click configuration file below. Most of the time, ping-ing two 
machines interconnected by click gives response time as desired. However, 
it happens(not very rarely) that the response time is far away different 
from what is set. For example, I set a 64ms latency injected into all 
packets receiving from eth0, which connected to machine A, and no 
latency to traffic from eth1. NOrmally, ping 
machine A and B would return 64ms roundtrip time. But it does happen that 
ping time is just a few ms(2.xms, or sometimes 128ms) between A and B with 
the same config file.

Please help, thanks!

Lan 

================= CONFIG FILE
// eth0 connects to 10.1.4.10
// eth1 connects to 10.1.3.10 

tol :: Discard;

rt :: StaticIPLookup(10.1.4.10/32 10.1.4.1 1,
		    10.1.3.10/32 10.1.3.1 2,
		    10.1.4.255/32 0,
		    10.1.3.255/32 0,
		    10.1.4.1/24 10.1.4.1 0,
		    10.1.3.1/24 10.1.3.1 0,
		    0.0.0.0/0 10.1.1.1 0); 

ip ::   Strip(14)
     //-> CheckIPHeader(0.0.0.0 255.255.255.255 127.0.0.0, VERBOSE true, 
DETAILS true) -> [0]rt;
     -> CheckIPHeader(0.0.0.0 255.255.255.255 127.0.0.0) -> [0]rt;

input0 :: FromDevice(eth0, FORCE_IP true)
input1 :: FromDevice(eth1, FORCE_IP true)


arp0 :: EtherEncap(0x0800, 00:02:55:C6:00:A8, 00:02:55:C6:A6:C2)
arp1 :: EtherEncap(0x0800, 00:02:55:C6:00:A9, 00:02:55:C6:A9:CC)

pt0 :: PullTee()
pt1 :: PullTee()

pt0[0] -> Discard;
pt1[0] -> Discard;

input0 -> Paint(1) -> SimpleQueue(200) -> DelayShaper(0.064) -> [0]pt0[1] 
-> ip;
input1 -> Paint(2) -> SimpleQueue(200) -> DelayShaper(0) -> [0]pt1[1] -> 
ip;
//input1 -> Paint(2) -> ip;


//discard the packets to the machine itself
rt[0] -> tol;

rt[1] -> DropBroadcasts
      -> cp1 :: PaintTee(1)
      -> dt1 :: DecIPTTL
      -> arp0 //add the ARP header

arp0 -> ToDevice(eth0);

rt[2] -> DropBroadcasts
      -> cp2 :: PaintTee(2)
      -> dt2 :: DecIPTTL
      -> arp1

arp1 -> ToDevice(eth1);

...
... 



More information about the click mailing list