Date: Fri, 11 Mar 2005 12:03:01 +0800 From: jim song <jingmin.song@gmail.com> To: freebsd-ipfw@freebsd.org Subject: why my dummynet queue not work? Message-ID: <d018391a050310200327a01c48@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, 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? Thanks, --Jim -------------------------------------------------- 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 IPFIREWALL_DEFAULT_TO_ACCEPT # options DUMMYNET # options HZ=1000 # options NMBCLUSTERS=131072 # options DEVICE_POLLING # 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 /usr/src/sys/dev/em/if_em.h --------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d018391a050310200327a01c48>