Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Mar 2005 12:03:01 +0800
From:      jim song <>
Subject:   why my dummynet queue not work?
Message-ID:  <>

Next in thread | Raw E-Mail | Index | Archive | Help
I encounter a problem when using dummynet to test tcp throughputs.

I used a freebsd box running dummynet as an router. And all my testing
machines are attached to giga switch.

On the router, I use dummynet to emulate a long-fat network which has 
high bandwidth but long delays. The setting is as attached. I have modified
related configuration and source files and reinstall the kernel.

The problem is that the tcp throughput through this router could not 
reach reasonable value. I can only get 5Mbps throughputs. (I have set the tcp
window to 5MBytes already). It seems like that the queue parameter
doesnot work. Because if it works, the throughputs will go up to the 
bandwidth limitation.

Could somebody tell me why?


ipfw -f -q flush
ipfw -f -q pipe flush
ipfw add pipe 1 ip from any to any in recv em0
ipfw add pipe 2 ip from any to any out xmit em0
ipfw pipe 1 config bw 200Mbit/s delay 25ms queue 1000
ipfw pipe 2 config bw 200Mbit/s delay 25ms queue 1000

# 1. compiling Kernel Options
# options IPFIREWALL
# options DUMMYNET
# options HZ=1000
# options NMBCLUSTERS=131072

# 2. Add the following lines into /etc/sysctl.conf
# kern.polling.enable=1
# kern.polling.user_frac=5
# kern.polling.burst_max=400
# kern.polling.each_burst=15
# net.inet.ip.intr_queue_maxlen=3000

# 3. Modify source code of ipfw and dummynet to support larger queue size

# 4. Increase NIC buffer by setting EM_MAX_RXD to 4096 in


Want to link to this message? Use this URL: <>