Date: Tue, 12 Nov 2013 21:21:21 -0800 From: Julian Elischer <julian@freebsd.org> To: Ahmed Hamza <ahmed.hmz@gmail.com>, freebsd-ipfw@freebsd.org Cc: Luigi Rizzo <rizzo@iet.unipi.it> Subject: Re: Bursty data transfer with Dummynet Message-ID: <52830C51.6020403@freebsd.org> In-Reply-To: <CAL_s3F7GhrENW4d22h01wYF%2Bf2Kd6b=BomoZ6TP5jR1HQWAQ6g@mail.gmail.com> References: <CAL_s3F5Hx0XJ8Nct=urWGN72hrGQ2LT2nJfG3OxgWT5oxtjW9Q@mail.gmail.com> <52830502.30809@freebsd.org> <CAL_s3F7GhrENW4d22h01wYF%2Bf2Kd6b=BomoZ6TP5jR1HQWAQ6g@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
On 11/12/13, 9:06 PM, Ahmed Hamza wrote: > On Tue, Nov 12, 2013 at 8:50 PM, Julian Elischer <julian@freebsd.org> wrote: >> On 11/12/13, 6:35 PM, Ahmed Hamza wrote: >>> Hi All, >>> >>> I'm trying to use Dummynet to test the behaviour of my video streaming >>> application in various network conditions. Dummynet was compiled and >>> installed on an Ubuntu 12.04 box with a 2.6 Linux kernel. I'm >>> experiencing a strange behaviour when I reduce the bandwidth of the >>> link/path. >>> >>> For some reason, instead of having a slow download speed. It seems as >>> if the download is happening in bursts! A portion of the data is >>> downloaded at a high speed, then the data transfer stops for a period >>> of time and then resumes again (and so on). Does anyone have an idea >>> what could be the cause? Or is this even an expected behaviour? If so, >>> why? >> >> I can't really speak for dummynet on Linux but the granularity of the queues >> is dependent on the timer granularity of the kernel you have and to some >> extent will rely on the correct integration of dummynet into the timer >> facility of the kernel you are running it in. On freeBSD with a 1kHz 'tick' >> I'd' expect to see packets being release from the queue each mSec or so. >> if you are getting second sized chunks then it probably is a bug. Either >> dummynet is not compatible with that kind of kernel, something else has gone >> wrong. It COULD also be that you are catching the wrong packets.. I've seen >> similar behaviour when I was accidentally queuing all the acks instead of >> all the data going in the other direction, but I presume you have already >> checked to see what you are queuing. >> > Thanks Julian and Matthew for your replies. To clarify my settings, > below are the outputs from 'ipfw show' and 'ipfw pipe show'. I should > also mention that it seems the by default the Ubuntu kernel is > configured for 250Hz, not 1000Hz. I would expect that that would give a queue kick every 4 mSec or so so you should get a burst every 4mSec or so. but your queue is only doing 500kbit/sec or 1/2kbit /msec, or about 2kbit/4mSec or 250bytes per tick which is less than a packet. I'm afraid you'll have to talk to Luigi to know what happens in such a case.. > root@vm1:~/# ipfw pipe 1 config bw 500Kbit/s queue 500Kbyte > > root@nsl-vm1:~/# ipfw show > 00100 202247 105063701 pipe 1 ip from 192.168.56.4 to any > 65535 2245577 2648958386 allow ip from any to any > > root@nsl-vm1:~/# ipfw pipe show > 00001: 500.000 Kbit/s 0 ms 500 KB 1 queues (1 buckets) droptail > mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000 > BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp > 0 tcp 192.168.56.1/33547 192.168.56.4/80 238083 134515909 > 0 0 623 >home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52830C51.6020403>
