Subject: Re: fragmentation by NetBSD routers vs. reassembly on other systems....
To: NetBSD Networking Technical Discussion List <tech-net@NetBSD.ORG>
From: None <itojun@iijlab.net>
List: tech-net
Date: 09/02/2000 13:17:02
>Not too many days later I noticed that I was not able to send any e-mail
>to a select few sites if it was over ~1KB (i.e. if it caused a
>fragmented packet).  I contacted a few of the admins of the sites in
>question, and was contacted by at least one who had noticed my system's
>failing SMTP connects.  Various experiments proved that it was not
>Path-MTU-discovery or firewalls on their end causing any problems, and
>indeed tcpdumps on my router showed that my system was simply getting
>stuck retranmitting the larger packets without getting any kind of
>response from anyone at all.

	i experienced a similar symptom.  not sure if it is the same
	as the problem you are having.

	it was under the following configuration,

	destination (always do path MTU discovery)
	  | MTU == 1500
	router 2
	  | MTU < 1500 due to some VLAN
	router 1
	  | MTU == 1500
	source (netbsd 1.4.2)

	and the symptom was:
	- if the source node use path MTU discovery, TCP between source and
	  destination goes fine
	- if the source node turns off path MTU discovery (which was the
	  default setting on 1.4.2), source node keep retransmitting large
	  packet

	in my case, i had enough access to the intermediate router (as it
	was laboratory setting).

	router 1 was broken from DF bit manipulation.  it behaved like this:
	- if DF bit is raised on a packet, it worked fine.  it transmits
	  icmp "too big" as necessary toward source, if the source node sends
	  1500byte-packets.
	- if DF bit is off, it behaved wrong.  if the source node sends
	  1500byte-packets, it drops the packet onto the floor.  router 1
	  should have fragmented the packet on its own and relay it to router 2
	  (VLAN side), but it did not.

	i guess there is some broken device, somewhere between you and the
	destination.  i'm not sure if turning path MTU discovery on
	always helps, as there are stupid admins who filters out all icmp
	packets at their firewall (and preventing path MTU discovery from
	working).

itojun