Dummynet fragmenting packets

Bill Moran wmoran at collaborativefusion.com
Tue Dec 12 05:49:47 PST 2006


In response to "Mike Murphree" <mike at tropo.org>:
> 
> Having an issue on a 5.3 system using ipfw and dummynet to create a
> bandwidth limited and large latency pipe for a mpeg video stream.  If I
> pass the packets between the two NICs without routing through a dummynet
> pipe, it's fine.  If I route it through a pipe, it's fragmenting each
> packet (client requested 1468 byte packets) into two packets, the second
> packet with an offset of 1440 bytes.  Does anyone have any idea why it's
> doing this, and have a solution to this problem?

As a general rule, fragmenting occurs when packets move between different
networks with different MTUs.  I.e. the originating network has a larger
MTU, so the packet must be broken up in order to pass it on to the network
with the smaller MTU.

Now that that's out of the way, I can see 3 possibilities as to why
dummynet is fragmenting packets:
1) Dummynet has the wrong information about what the MTUs are on your
   networks and is fragmenting the packets needlessly.
2) Dummynet is altering the packets, they become larger and then no
   longer fit in the MTU.
3) The endpoints are doing path-MTU-discovery, but when you put
   dummynet between them you somehow break PMTUD.

To narrow this down, you'll need to determine what the MTUs are on each
network and whether they're being respected, is the total size of the
reassembled fragments the same as when the packet came in, and whether
or not PMTUD is in use, and whether something in dummynet or any
related filtering rules is breaking it.

-- 
Bill Moran
Collaborative Fusion Inc.


More information about the freebsd-questions mailing list