Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Dec 2006 17:31:53 -0800 (PST)
From:      Looza <>
Subject:   problem simulating a LFN
Message-ID:  <>

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


I'm trying to simulate a LFN(Long Fat Network) to test various TCP versions.
I am using iperf on the end PCs. I'm trying to use FreeBSD's ipfw to
simulate a LFN.
ex. throughput=1 Gbit/s and delay=100ms, trhoughput=100 Mbit/s and delay=1s

This is how my hardware is connected.

|Linux PC|--Gigabit--| FreeBSD box |--Gigabit--|Linux PC|

With this configuration:

>ipfw 500 add allow ip from any to any

I get speeds of about 200 to 300 Mbit/s and the CPU usage goes up to 99%.
I've googled this problem and it seems that some good quality NIC do most of
the processing so that the CPU doesn't have to. Unfortunately I have bad
quality NICs so the CPU does all the processing, stoping the throughput at
these speeds.

With this configuration:

>ipfw 100 pipe 1 add ip from to
>ipfw 500 add allow ip from any to any
>ipfw pipe 1 config delay 100ms

I get speed of just 10 Mbit/s. I've do some testing and increasing the delay
will lower the troughput, decreasing th delay will boost the throughput.
I've tested the queue and the bw option and it seems it makes no difference.
PIng will show 200ms RTT(Round Trip Time) wich is what I'd expect except for
the troughput.

My first question is if anyone knows off some way to get the processing out
of the CPU so that I can achieve gigabit speeds without ?

My sencond question is  if there is a way of setting the ipfw delay option
so that it does not alter the troughput?

PS - I hope I can be understood.
View this message in context:
Sent from the freebsd-ipfw mailing list archive at

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