[OpenAFS-devel] dcerpc.net - freedce

Jeffrey Hutzelman jhutz@cmu.edu
Thu, 16 Aug 2001 17:51:19 -0400 (EDT)


On Thu, 16 Aug 2001, Marcus Watts wrote:

> Luke Kenneth Casson Leighton <lkcl@samba-tng.org> writes:
> 
> ...
> > the PDU size is negotiated.  typically, NT negotiates
> > 0x1630 bytes, AS/U negotiates 0x0800, freedce / dce
> > 1.1 negotiates 0x1000.  this can be easily changed,
> > i should imagine, to suit the network conditions etc.,
> > however i seem to recall vaguely seeing some comments
> > that said 'this would be nice to implement' :)
> 
> Figuring out the MTU for TCP/IP is tricky.  Actually, for RX (and I
> assume DCE RPC) this would most likely be UDP/IP.  TCP does path MTU
> discovery by sending various sized packets with "DF" set, looking for
> the ICMP returns, and downsizing and re-transmitting, all inside the
> kernel.  RX is screwed 2 ways: (1) there's no good portable way (I
> think) to capture ICMP responses to UDP packets that bounce, and (2) RX
> packages things up in "packet" units, so if it has to retransmit in
> smaller pieces, it's screwed.

Rx actually does do path MTU discovery.  IIRC, it's a bit broken, in that
having discovered the MTU, it proceeds to send packets that are 4 bytes
larger, which really sucks if you have a gateway that does the wrong thing
in that case.  I seem to remember coming up with a fix for this bug, but I
don't remember if it was ever merged in.

-- Jeff