Date: Fri, 9 Sep 2005 23:38:31 -0400 (EDT) From: Charles Sprickman <spork@bway.net> To: freebsd-net@freebsd.org Subject: PPPoE and UDP fragmentation Message-ID: <Pine.OSX.4.61.0509092325280.361@gee5.nat.fasttrackmonkey.com>
next in thread | raw e-mail | index | archive | help
Hello, I just recently "fixed" a problem with getting an amanda server to backup some remote hosts over a DSL line (6Mb/s down, so it actually works well). A summation of that is here: http://groups.yahoo.com/group/amanda-users/message/56264 The gist is setting the backup server's ethernet mtu to 1492 makes things work. The server is connected to the internet via a Netopia/Cayman DSL router. It does use PPPoE even though it has a routed subnet. Linked in some of those messages are two tcpdumps showing the failure: http://www.bway.net/~spork/amanda-tcpdump.txt http://www.bway.net/~spork/amanda-tcpdump2.txt I'm just trying to understand the problem since it's now hackishly "fixed". I get the whole PMTUD thing for TCP, but I've not been able to really grasp how UDP fragmentation works, especially when a cheap-o router is involved. Some of the comments in the amanda-users thread piqued my interest, like: "I believe you have a UDP fragementation network problem somewhere inbetween the two hosts, or maybe the devel2 host itself. Compare these two lines (first: view on devel2, second: view on h13): 00:07:40.444231 devel2.945 > h13.amanda: udp 1465 (ttl 64, id 45642, len 1493) 00:07:40.484232 devel2.945 > h13.amanda: udp 1465 (frag 45642:1472@0+) (ttl 51, len 1492) The host devel2, sends a packet, claiming length 1493 bytes. (1465 real payload + 28 bytes UDP packet header = 1493 bytes). It also seems to be split over many UDP packets, but the following packet is never seen in the trace. THe packet that is shown is only 1486 bytes long. There should be a second packet with the rest of 7 bytes, but that is missing from the trace. >From the content of the first packet, that second packet should contain "index"+newline, indeed 7 bytes." Questions: -In the second trace I do see fragments arriving (if I'm reading that tcpdump correctly), but it seems like they don't make it to the application. -Who fragments? -What happens to the checksum when something is fragmented? -Are there any tunables at either end (both hosts are FreeBSD 4.11 p11) to alter how fragmented packets are re-assembled? Thanks, Charles ___ Charles Sprickman NetEng/SysAdmin Bway.net - New York's Best Internet - www.bway.net spork@bway.net - 212.655.9344
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.OSX.4.61.0509092325280.361>