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 --------------------------------------------------------------------
