On 11/06/2012 10:30 PM, Mark Andrews wrote:
> 
> Should setting IPV6_USE_MIN_MTU to one (1) result in fragmented TCP packets?

No. One would expect that IPV6_USE_MIN_MTU causes the TCP SMSS (TCP
Sender MSS) to be reduced, and hence TCP would segment its data to an
appropriate size, such that it doesn't result in fragmentation.

*However*, if an ICMPv6 PTB claiming an MTU<1280 bytes is received, then
the corresponding connection might end up employing fragmentation (i.e.,
it would employ IPv6 atomic fragments). (*)

(*) that's assuming IPV6_USE_MIN_MTU means "use an MTU of 1280 bytes"
rather than "use an MTU of *at most* 1280 bytes".


> Should setting IPV6_DONTFRAG to one (1) work on TCP sockets?

Yes. Without looking at the corresponding spec, I guess that for
TCP-based sockets, IPV6_DONTFRAG implicitly means that you should employ
Path-MTU Discovery (which in most stacks is "on" by default), and that
if an ICMPv6 PTB claiming an MTU smaller than 1280 is received, it
should be signaled to the upper layer, such that e.g. the TCP SMSS
(sender MSS) is reduced, and hence generation of IPv6 atomic fragments
is avoided.


Notes:

It has been reported a few times that some networks simply do not comply
with the minimum IPv6 MTU requirement. In such case,

* If IPV6_USE_MIN_MTU means "use an MTU of 1280 bytes" (as opposed to
"use an MTU of *at most* 1280 bytes) then IPV6_USE_MIN_MTU might still
result in fragmentation. If, OTOH, IPV6_USE_MIN_MTU means "use an MTU of
at most 1280 bytes", then fragmentation might be prevented by signaling
any received ICMPv6 PTB to the upper layer, such that the TCP SMSS is
reduced acordngly, and hence fragmentation is avoided.


* IPV6_DONTFRAG would not be affected by this, though.

Cheers,
-- 
Fernando Gont
SI6 Networks
e-mail: [email protected]
PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492




--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to