Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Mar 2005 20:39:33 -0800
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        jim song <jingmin.song@gmail.com>
Cc:        freebsd-ipfw@freebsd.org
Subject:   Re: why my dummynet queue not work?
Message-ID:  <20050311043933.GA28686@odin.ac.hmc.edu>
In-Reply-To: <d018391a050310200327a01c48@mail.gmail.com>
References:  <d018391a050310200327a01c48@mail.gmail.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help

--HlL+5n6rz5pIUxbD
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 11, 2005 at 12:03:01PM +0800, jim song wrote:
> Hi,=20
> I encounter a problem when using dummynet to test tcp throughputs.
>=20
> I used a freebsd box running dummynet as an router. And all my testing
> machines are attached to giga switch.
>=20
> On the router, I use dummynet to emulate a long-fat network which has=20
> high bandwidth but long delays. The setting is as attached. I have modifi=
ed
> related configuration and source files and reinstall the kernel.
>=20
> The problem is that the tcp throughput through this router could not=20
> 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=20
> bandwidth limitation.

Why are you using the queue parameter at all?  If you just want to
emulate a pipe there is usually no need to do that.  Have you adjusted
your socket buffers in addition to your max TCP window size?

-- Brooks

> Could somebody tell me why?
>=20
> Thanks,
> --Jim
>=20
>=20
>=20
> --------------------------------------------------
> 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
>=20
> # 1. compiling Kernel Options
> # options IPFIREWALL
> # options IPFIREWALL_DEFAULT_TO_ACCEPT
> # options DUMMYNET
> # options HZ=3D1000
> # options NMBCLUSTERS=3D131072
> # options DEVICE_POLLING
>=20
> # 2. Add the following lines into /etc/sysctl.conf
> # kern.polling.enable=3D1
> # kern.polling.user_frac=3D5
> # kern.polling.burst_max=3D400
> # kern.polling.each_burst=3D15
> # net.inet.ip.intr_queue_maxlen=3D3000
>=20
> # 3. Modify source code of ipfw and dummynet to support larger queue size
>=20
> # 4. Increase NIC buffer by setting EM_MAX_RXD to 4096 in
> /usr/src/sys/dev/em/if_em.h
>=20
> --------------------------------------------------------------------
> _______________________________________________
> freebsd-ipfw@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
> To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe@freebsd.org"
--=20
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

--HlL+5n6rz5pIUxbD
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFCMSEFXY6L6fI4GtQRAjBQAJ4rXKZqzNH59uNEyAOCns//crx0NACg0jrz
kGEUzzaVKQx3K6DlAcTsEb4=
=/lNG
-----END PGP SIGNATURE-----

--HlL+5n6rz5pIUxbD--



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?20050311043933.GA28686>