Darren.Reed at Sun.COM writes:
> >It'd be nice if ifconfig could report what the maximum settable MTU
> >might be. That'd probably be pretty helpful. I don't see how that
> >influences whether dladm should report the datalink layer's maximum
> >SDU. That's an important property, and remains important even if
> >you're not using IP (and thus, on Solaris, not using ifconfig)
> >
>
> It just seems odd that the same property, at two different places
> in our stack, has the very same value.
It's odd, but it's just the default.
The value coming from the link layer is a limit exposed to the network
layer protocols. They can use less, if they want, but they cannot use
more.
In other words, if the link layer advertises a maximum client SDU size
("MTU") of 1500, then the network layer (IP in this case) may use
anything up to and including 1500, but no greater.
Thus, you can, in fact, set the MTU via ifconfig and _not_ actually
change the restrictions of the link layer.
> Maybe the concept of IP having its own MTU is lost, for surely if
> we say the MTU of ethernet is 1500 (exclude headers, etc), should
> it not be 1480 for IP by way of the same calculation?
No.
The SDU limit from the transport layer down to IP would in fact be
1480 (or 1480 minus whatever IP options are in use). That's not
what's commonly referred to as the "MTU," nor is it really an
administratively interesting value. It's not like any IP transport
layer has a configurable maximum SDU size into IP.
In other words, it's just common practice to talk about the "Ethernet
MTU of 1500," when what one really means is that Ethernet's maximum
SDU size is 1500 and thus this is the limit on network layer
protocols, and to speak of the "IP MTU of 1500," when what's really
meant is that the maximum IP datagram length sent [in this case] is
1500.
Whether that's actually a good thing or not may be up to some debate,
but it really has nothing to do (as best I can tell) with the design
of dladm, which is what I thought we were talking about here. The key
issue with a user interface is that it must not be confusing.
I think having ifconfig talk about the IP SDU of "roughly" 1480 would
lead to madness, and having dladm refer to the rarely-used Ethernet
maxUntaggedFrameSize would be obscurantism in the extreme. (And a
potential pitfall if we were to extend dladm to something other than
Ethernet.)
> It seems like something should be different but perhaps this is a
> lost cause now...
If you have a compact and non-confusing term for the SDU limit imposed
by the datalink layer as seen by dladm, please do share. I think
"MTU" actually works pretty well here by convention, but I'm sure
anything -- so long as it's not likely to make things yet more
confusing -- would be possible.
The rest sounds like fodder for a man page or a blog entry.
--
James Carlson, Solaris Networking <james.d.carlson at sun.com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677