[Click] using DelayShaper

Eddie Kohler kohler at CS.UCLA.EDU
Wed Sep 15 17:17:50 EDT 2004


Hi Lan,

Sorry for not replying to you earlier.  Did you ever analyze this 
problem further?

I think that 128ms latencies might be due to ARP queries.  Machine A 
sends a ping; to get the right Ethernet address, it sends an ARP query; 
the "router" delays that ARP query by 64ms, then responds; so after 
64ms, the ping packet is sent; it is delayed an additional 64ms, for a 
total of 128ms; and there you go.  You could avoid this by moving the 
DelayShaper inside the IP path.

But I don't immediately see why you'd ever see a latency lower than 
64ms.

Eddie


On Aug 17, 2004, at 12:19 AM, Lan Xue wrote:

> 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);
>
> ...
> ...
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list