FreeBSD Traffic Shaping?

Dan Pelleg daniel+bsd at pelleg.org
Fri Feb 6 07:08:13 PST 2004


Vincent Poy <vince at oahu.WURLDLINK.NET> writes:

> Greetings all:
> 
> 	I have a ADSL connection where the upstream pipe is smaller than
> the downstream with it at 1.5Mbps/384kbps now and will be upgrading to
> 6Mbps/608kbps soon.  The issue I'm having is that whenever I upload, it
> fills the upstream to full capacity and the downstream would lag as the
> ACKs can't be send back in time.  I was told that with traffic shaping or
> fair queue routing would solve this issue but I only have one NIC
> interface as I am running FreeBSD on a fully loaded notebook with a
> Pentium 4M-2.6Ghz CPU, 2GB RAM and 60GB 7200RPM HDD with a 10/100 3COM xl0
> built in NIC.  The problem is that I have 8 static IP's with my ISP so
> that the LAN IP's, x.x.x.224-.231 netmask 255.255.255.0 are all locally on
> the LAN so I want those to use the full speed of the connection without
> traffic shaping.  The NIC also has the 192.168.x.x netmask 255.255.0.0
> addresses for the local LAN as well so how do I setup traffic shaping in
> this scenario so that only traffic that actually uses x.x.x.1 from the
> x.x.x.224 IP that isn't local LAN traffic actually use traffic shaping or
> fair queue routing while LAN traffic will just use the full speed.  I
> already have these options in the KERNEL config.
> 
> options         IPFIREWALL
> options         IPDIVERT
> options         DUMMYNET
> options         BRIDGE
> 
> 	Thanks for your help in advance!
> 
> 

See ipfw(8). You can match rules by interface or address mask, so you don't
need to touch LAN traffic.

Correct, the problem when you upload on an assymetric link has to do with
acknowledgment packets that downloading apps need to send back to the
remote server, and they have to wait in the upload queue (which is
saturated). You need to prioritize those. One way to do this is to filter
on small iplen. This has been discussed in the mailing lists in the past
(try the archive of the ipfw@ list). Just remember you can only shape
outbound packets (ie, leaving your computer). Doesn't matter if they're up
or down the DSL line, just that they go out (shaping incoming traffic makes
no sense).

-- 

  Dan Pelleg


More information about the freebsd-questions mailing list