FreeBSD max pipe size?

Jack Barber jack at nyi.net
Mon Oct 13 21:53:28 UTC 2014


I am trying to set up dummynet with FreeBSD 9.3 and a 10 GB Fibre over
ethernet NIC (ix drivers).

Dummynet appears to have a limit of 1.25 gigabits a second, and when I
start setting extremely large pipe values I start running into:

ipfw: bandwidth too large

It doesn't like(in /etc/ipfw.rules)
    $IPFWcmd pipe 10 config bw 8000Mbits
but for some reason it likes
    $IPFWcmd pipe 20 config bw 100000Mbits
and
    $IPFWcmd pipe 10 config bw 10000Mbits

even if there is no notcable performance diffrence betwen them

$ iperf -c load-server2
------------------------------------------------------------
Client connecting to load-server2, TCP port 5001
TCP window size:  434 KByte (default)
------------------------------------------------------------
[  3] local 192.168.20.25 port 56122 connected with 192.168.20.20 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.57 GBytes  1.35 Gbits/sec

$ iperf -c load-server1
------------------------------------------------------------
Client connecting to load-server1, TCP port 5001
TCP window size:  459 KByte (default)
------------------------------------------------------------
[  3] local 192.168.20.20 port 49028 connected with 192.168.20.25 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.36 GBytes  1.17 Gbits/sec


testing is done on a private subnet which houses nothing more than two
loading servers and a FreeBSD bridge in between. All machines have 10
GB/sec ix driver cards.

Now, same set up, but commenting out all dummynet refrences in ipfw.rules:
$ iperf -c load-server1
------------------------------------------------------------
Client connecting to load-server1, TCP port 5001
TCP window size:  459 KByte (default)
------------------------------------------------------------
[  3] local 192.168.20.20 port 49029 connected with 192.168.20.25 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  8.44 GBytes  7.24 Gbits/sec

$ iperf -c load-server2
------------------------------------------------------------
Client connecting to load-server2, TCP port 5001
TCP window size:  434 KByte (default)
------------------------------------------------------------
[  3] local 192.168.20.25 port 56123 connected with 192.168.20.20 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  7.89 GBytes  6.78 Gbits/sec



More information about the freebsd-ipfw mailing list