tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: IPV6_USE_MIN_MTU



    Date:        Fri, 18 Dec 2015 15:11:13 +0100
    From:        Wolfgang Solfrank <Wolfgang%Solfrank.net@localhost>
    Message-ID:  <56741401.8050407%Solfrank.net@localhost>

  | The net result is that the use of the IPV6_USE_MIN_MTU option,
  | meant to avoid fragmentation,

That's not actually its purpose.   The idea is to guarantee packet arrival,
when the Path MTU is not known - and as you said earlier in the message,
because DNS TCP connections, when needed at all (other than when doing zone
transfers) are typically not suited to PMTUD.   Avoiding fragmentation
isn't actually the objective, just ensuring that packets don't cause
"packet too big" replies from somewhere in the path.

But ..

  | actually ensures that the packets
  | are fragmented (at least most of the time).

this is still not good,  fragmentation is mostly evil, and should be
avoided wherever possible.   TCP (with sufficient info) should always
be able to avoid it.

  | To fix this we need to make tcp_output aware of the option so it
  | can use the same value for mtu as is later used by ip6_output.

Seems reasonable to me, though I'm not sure the packet option that's
being used is the overall best solution to the problem.  For these
short TCP connections, a TCP socket option to set the max outgoing
seg size would seem like a better idea.   Even just the initial outgoing
seg size, with PMTUD allowed to adjust it up (DNS query/response connections
would be finished before PMTUD decides to start probing for bigger...)

kre




Home | Main Index | Thread Index | Old Index