Re: Why is MTU an issue? (RE: Please read - proposed WG termination)

"H.K. Jerry Chu" <[email protected]> Fri, 2 Sep 2005 13:32:03 -0700 (PDT)
Newsgroups gmane.ietf.ipoib
Message-ID <[email protected]>
>> What's more hairy to the OS stack is the per-destination MTU and different
>> MTU for multicast than for unicast inherited in IPoIB CM.
>
>I don't quite understand why this should be an issue.

I was talking about link MTU, not PMTU.

Most stacks I know of make an assumption that there is a single
link MTU value per subnet. It uses this value as the default
MTU size for both unicast and multicast traffic. When it talks with
a remote link of a smaller MTU, setting the DF bit and relying
on ICMP fragmentation needed msg, PMTU discovery works nicely.

But IPoIB CM mode allows two nodes on the same IP subnet to negotiate
an optional IB connection upon which a much larger (than the native IB
UD MTU of 2KB or 4KB) msg size can be use. The trouble is that this
feature may not work between all node-pairs of the same subnet, and
it only applies to unicast not multicast. Yes we can mandate all nodes
joining an IPoIB-CM link must support IPoIB-CM but that simply adds
more road blocks for the adoption of IPoIB-CM. Also the IP stack still
has to know to use a different MTU for mulitcast than unicast.

We actually may already have a similar scenario in Ethernet when NICs
supporting jumboframes are mixed with those which don't in the same
subnet. I don't know how people handle this type of configuration,
or perhaps simply outlaw it outright?

PMTUD doesn't help here because there is no router in between nodes
from the same subnet. I guess Matt Mathis' new PMTUD, which no longer
relies on DF and ICMP, can be handy here.

Jerry

>At the moment, TCP/IPv4 stacks have 3 options:
>
>- Set MTU to 576 bytes (not b* likely)
>- Set MTU to physical interface MTU and depend on fragmentation in the 
>network to save their bacon in the case of smaller MTUs (*curse* PPPoE)
>- Set initial MTU to physical interface MTU, set DF bit, and support Path 
>MTU discovery
>
>I *think* all "modern" IP stacks take the last choice. Which means that 
>they have built-in support for variable MTU already.
>Setting the initial MTU for the connection depending on info from the 
>underlying infrastructure retrieved before connection startup may be a bit 
>hairy. But there SHOULD be quite a bit of "variable MTU" support there 
>already.
>
>                    Harald