about "profile" in IPFW/dummynet

Nuno Diogo nuno at diogonet.com
Sat Feb 12 05:00:18 UTC 2011


Just wanted to highlight Luigis point that the profile method of
adding delay, refers to MAC overhead delay not latency/RTT.
I asked him about this a while ago when I was trying to do doing what
you are doing, and what you'll find is that application performance
with 200-1300ms profile delay will be MUCH worse than with 200-1300
propagation delay.  This is because with profile, the delay is applied
before the packet gets queued in the pipe, making the hop unavailable
for that amount of time, while the 'normal' delay setting is applied
after the packet is queued in the pipe, simulating delays that occur
after the packet leaves the bottleneck.

Unfortunately I still haven't found a good way to emulate variable RTT
with dummynet.


On Thu, Feb 10, 2011 at 9:35 AM, nangergong <nangergong at gmail.com> wrote:
> thank you!
> I add "bw" in the distribution.txt. However, the problem remains.
> when I ping 9.161.148.72 from 9.161.150.55, the RTT<1ms
> are there any other problems?
>
>
> -----------------------------------------------------------
> name    distribution
> bw 2Mbit/s
> samples 100
> loss-level 0.86
> prob    delay
> 0       200     # minimum overhead is 200ms
> 0.5     200
> 0.5     300
> 0.8     1000
> 0.9     1300
> 1       1300
> #configuration file end
>
>
>
>
> On Thu, Feb 10, 2011 at 7:28 AM, Luigi Rizzo <rizzo at iet.unipi.it> wrote:
>
>> On Thu, Feb 10, 2011 at 12:09:09AM +0000, nangergong wrote:
>> > Hi, all:
>> >
>> >    I want to use "profile" to simulate delays according to a empirical
>> delay
>> > distribution ( the "profile" argument can be found in
>> > http://fuse4bsd.creo.hu/localcgi/man-cgi.cgi?ipfw+8)
>> > I use the following command lines and distribution.txt, and find that
>> these
>> > command lines seem not to  function. when I ping 9.161.148.72, the
>> RTT<1ms
>> >
>> > My question is
>> > 1) can "profile" be used in windows platform
>> > 2) are there any problems in my procedures?
>>
>> you need a non-zero bandwidth if you want to use "profile".
>> Also, "profile" emulates an additional transmission time
>> (think of channel arbitration and mac overheads)
>> not propagation delay.
>>
>> Finally I believe profile works on all supported platforms.
>> In general, the differences between FreeBSD/linux/windows are
>> only in areas where certain kernel features are implemented
>> in different ways on different platforms -- e.g. sysctl,
>> reinjection, matching on pid/gid or other credentials, divert.
>>
>> cheers
>> luigi
>> >
>> >
>> > my command lines are:
>> >
>> > ipfw pipe 1 config profile distribution.txt
>> > ipfw add 100 pipe 1 ip from 9.161.150.55 to 9.161.148.72
>> >
>> --------------------------------------------------------------------------------------
>> > if I input: ipfw pipe show
>> >
>> > the result is:
>> >
>> > 00001: unlimited         0 ms burst 0
>> >          profile: name "distribution" loss 0.850000 samples 100
>> > q131073  50 sl. 0 flows (1 buckets) sched 65537 weight 0 lmax 0 pri 0
>> > droptail
>> >  sched 65537 type FIFO flags 0x0 0 buckets 0 active
>> >
>> >
>> > the content of distribution.txt is:
>> >
>> > name    distribution
>> > samples 100
>> > loss-level    0.86
>> > prob    delay
>> > 0       200     # minimum overhead is 200ms
>> > 0.5     200
>> > 0.5     300
>> > 0.8     1000
>> > 0.9     1300
>> > 1       1300
>> > #configuration file end
>> > _______________________________________________
>> > freebsd-ipfw at freebsd.org mailing list
>> > http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
>> > To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe at freebsd.org"
>>
> _______________________________________________
> freebsd-ipfw at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
> To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe at freebsd.org"
>



-- 
-------------------------------------------------------------------------------------------------

Nuno Diogo


More information about the freebsd-ipfw mailing list